4247ec86abf93812294ff4317bb304b99be1c3eb
[gnulib.git] / ChangeLog
1 2013-07-07  Paul Eggert  <eggert@cs.ucla.edu>
2
3         stdalign, verify: port to FreeBSD 9.1, to C11, and to C++11
4         Problem reported by Ulrich Mueller in <http://bugs.gnu.org/14812>.
5         * lib/stdalign.in.h (_Alignas, _Alignof):
6         Port to FreeBSD 9.1, and to C11 and C++11.
7         (_Alignas): Also support ICC.
8         * lib/verify.h (_Static_assert): Undef if <stddef.h> defines it.
9         * m4/stdalign.m4 (gl_STDALIGN_H): Port to ICC and to C++11.
10
11 2013-07-06  Paul Eggert  <eggert@cs.ucla.edu>
12
13         fnmatch: don't goto over declaration
14         * lib/fnmatch_loop.c (FCT): Hoist local up one level, to avoid
15         undefined behavior for goto over a declaration.
16         Problem reported by Charlie Brown in
17         <http://lists.gnu.org/archive/html/bug-gnulib/2013-07/msg00009.html>.
18
19         pipe2: decouple from binary-io a bit
20         This is for Emacs, which needs pipe2 but not binary-io.
21         * lib/pipe2.c [!GNULIB_BINARY_IO]: Don't include binary-io.h.
22         * modules/binary-io (Depends-on): Add module indicator.
23
24 2013-07-03  Eric Blake  <eblake@redhat.com>
25
26         mgetgroups: relax license to LGPLv2+
27         * modules/getugroups (License): Change from GPLv3+.
28         * modules/mgetgroups (License): Likewise.
29         * modules/getgroups (License): Change from LGPLv3+.
30
31         xalloc-oversized: relax license to LGPLv2+
32         * modules/xalloc-oversized (License): Change from GPLv3+.
33
34         nproc: relax license to LGPLv2+
35         * modules/nproc (License): Change from LGPLv3+.
36
37         bootstrap: honor --no-git
38         * build-aux/bootstrap: Don't even try to use git when user is
39         pointing to a static checkout.
40
41 2013-06-23  Paul Eggert  <eggert@cs.ucla.edu>
42
43         ignore-value: port to gcc -pedantic
44         * lib/ignore-value.h (ignore_value):
45         Port to gcc -pedantic, by using __extension__.
46         Reindent as per usual gnulib style nowadays.
47         Simplify GCC version check.
48
49 2013-06-21  Paul Eggert  <eggert@cs.ucla.edu>
50
51         extern-inline: port to gcc -std=c89
52         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
53         Do not use __gnu_inline__ if pedantic and pre-C99.
54
55 2013-06-18  Paul Eggert  <eggert@cs.ucla.edu>
56
57         doc: document extern-inline
58         * doc/extern-inline.texi: New file.
59         * doc/gnulib.texi (alloca-opt): Include it.
60         * m4/extern-inline.m4: Move some comments to documentation,
61         and others closer to what they describe.
62
63         doc: chatter less
64         * doc/Makefile (NEWEST_GNULIB_TEXI_FILE): New macro.
65         (updated-stamp): Use it.  This causes 'make' to output just
66         one file name rather than zillions.
67
68         fflush, fseeko: port to musl cross-compiles
69         * lib/fseeko.c (fseeko): Assume that fflushing stdin works if
70         on some implementation that (1) is not known to be buggy,
71         (2) claims conformance to POSIX.1-2008 or later, and (3) is being
72         cross-compiled to so we can't easily check for lack of
73         conformance.  This is for cross-compiling to musl.
74         Reported by Rich Felker in
75         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00043.html>.
76         * m4/fclose.m4 (gl_FUNC_FCLOSE):
77         * m4/fflush.m4 (gl_FUNC_FFLUSH):
78         * m4/fseeko.m4 (gl_FUNC_FSEEKO):
79         Adjust to above change.
80         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): Set gl_cv_func_fflush_stdin
81         to 'cross', not to 'no', when cross-compiling.  AC_DEFINE
82         FUNC_FFLUSH_STDIN to 1, 0, -1 if fflushing stdin is known to work,
83         known not to work, or unknown.
84
85 2013-06-15  Paul Eggert  <eggert@cs.ucla.edu>
86
87         msvc-inval: port to mingw-w64
88         * lib/msvc-inval.c (gl_msvc_invalid_parameter_handler):
89         Use __cdecl, not cdecl, for mingw-w64.  Reported by LRN in
90         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00039.html>.
91
92 2013-06-11  Paul Eggert  <eggert@cs.ucla.edu>
93
94         getcwd-lgpl: port to Tru64
95         * lib/getcwd-lgpl.c: Include <stdlib.h>, for malloc etc.
96         Problem reported by Steven M. Schweda in
97         <http://lists.gnu.org/archive/html/bug-gzip/2013-06/msg00010.html>.
98
99         tests: port large-fd POSIX spawn tests to OS X
100         Problem reported by Daiki Ueno in
101         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00031.html>.
102         * tests/test-posix_spawn_file_actions_addclose.c:
103         * tests/test-posix_spawn_file_actions_adddup2.c:
104         * tests/test-posix_spawn_file_actions_addopen.c:
105         Include <limits.h>, for OPEN_MAX, if available.
106         (big_fd): New static function.
107         (main): Use it.
108
109 2013-06-04  Bernhard Voelker  <mail@bernhard-voelker.de>
110
111         tests/nap.h: use an adaptive delay to avoid ctime update issues
112         The recent change in nap.h (5191133e) decreased the probability of lost
113         races to about a third, however such problems could still be observed
114         in virtual machines and openSUSE's OBS.
115         Before, nap() detected the needed time once empirically and then used
116         that delay (together with a small correction multiplier) in further
117         calls.  This problem has been reported and discussed several times,
118         including guesses about possible kernel issues:
119         https://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html
120         http://lists.gnu.org/archive/html/coreutils/2012-03/msg00088.html
121         https://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00226.html
122         http://bugs.gnu.org/12820
123         https://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html
124         https://lists.gnu.org/archive/html/bug-gnulib/2009-11/msg00007.html
125         Now, nap() avoids the race alltogether by verifying on a reference
126         file whether a timestamp difference has happened.
127         * tests/nap.h (nap_fd): Define file descriptor variable for the
128         witness file.
129         (nap_works): Change return value to bool.  Change passing
130         the old file's status by value instead of by reference as this function
131         does no longer update that timestamp; rename the function argument from
132         st to old_st.  Remove the local variables cdiff and mdiff because that
133         function now returns true/false instead of the precise delay.
134         (guess_delay): Remove function.
135         (clear_tmp_file): Add new function to close and unlink the witness file.
136         (nap): Instead of re-using the delay which has been calculated during
137         the first call, avoid the race by actually verifying that a timestamp
138         difference can be observed on the current file system.  Use an adaptive
139         approach for the delay to minimize execution time.  Assert that the
140         maximum delay is <= ~2 seconds, more precisely sum(2^n) from 0 to 30
141         = 2^31 - 1 = 2.1s.
142         Use atexit to call clear_tmp_file when the process terminates.
143
144 2013-06-02  Paul Eggert  <eggert@cs.ucla.edu>
145
146         sig2str: port to C++
147         * lib/sig2str.h (sig2str, str2sig): Declare as extern "C".
148         Reported by Daniel J Sebald in
149         <http://lists.gnu.org/archive/html/bug-gnulib/2013-06/msg00000.html>.
150
151 2013-05-30  Eric Blake  <eblake@redhat.com>
152
153         docs: mention cygwin shortcoming in <sys/un.h>
154         * doc/posix-headers/sys_un.texi (sys/un.h): Mention problem.
155
156         vasnprintf: silence mingw compiler warning
157         * lib/vasnprintf.c (VASNPRINTF): Avoid unused variable warning.
158
159 2013-05-29  Paul Eggert  <eggert@cs.ucla.edu>
160
161         c-ctype, regex, verify: port to gcc -std=c90 -pedantic
162         Avoid constructions that are rejected by gcc -std=c90 -pedantic.
163         This fixes a porting bug I recently reintroduced in regex, and
164         some other instances that I discovered while testing the fix.
165         * lib/c-ctype.h [__STRICT_ANSI__]: Avoid ({ ... }).
166         * lib/regcomp.c (utf8_sb_map) [__STRICT_ANSI__]: Avoid [0 ... N] = E.
167         * lib/regex_internal.h [!_LIBC && GNULIB_LOCK]: Do not use a macro
168         with an empty argument if this is a pedantic pre-C99 GCC.
169         * lib/verify.h: Do not use _Static_assert if this is a pedantic
170         pre-C11 GCC.
171
172         regex: adapt to locking regime instead of depending on pthread
173         Instead of depending on pthread, adapt to whatever thread
174         modules are in use.  Problem reported by Ludovic Courtès in
175         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00082.html>
176         and by Mats Erik Andersson in
177         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00100.html>.
178         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
179         Support either the 'lock' module, or the 'pthread' module, or
180         no module.
181         (lock_lock, lock_unlock): New macros.
182         * lib/regexec.c (regexec, re_search_stub): Use the new macros.
183         * modules/lock, modules/pthread (configure.ac): Add module indicator.
184         * modules/regex (Depends-on): Remove pthread.
185
186 2013-05-22  Eric Blake  <eblake@redhat.com>
187
188         getgroups: document portability issues
189         * doc/glibc-functions/initgroups.texi (initgroups): Mention
190         multithread safety.
191         * doc/posix-functions/getpwuid.texi (getpwuid): Likewise.
192         * doc/posix-functions/getpwuid_r.texi (getpwuid_r): Likewise.
193         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Mention
194         getugroups.
195         * doc/posix-functions/getgroups.texi (getgroups): Mention
196         multithread safety and mgetgroups.
197
198 2013-05-22  Bernhard Voelker <mail@bernhard-voelker.de>
199
200         test-lchown, test-chown: also skip test if chown fails with EPERM
201         * tests/test-lchown.h (test_lchown): Add EPERM to the condition to
202         skip this test, to handle FAT file systems.
203         * tests/test-chown.h (test_chown): Likewise.
204
205 2013-05-19  Paul Eggert  <eggert@cs.ucla.edu>
206
207         regex: fix dfa race in multithreaded uses
208         Problem reported by Ludovic Courtès in
209         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00058.html>.
210         * lib/regex_internal.h (lock_define, lock_init, lock_fini):
211         New macros.  All uses of __libc_lock_define, __libc_lock_init
212         changed to use the first two of these.
213         (__libc_lock_lock, __libc_lock_unlock): New macros, for
214         non-glibc platforms.
215         (struct re_dfa_t): Define the lock unconditionally.
216         * lib/regexec.c (regexec, re_search_stub): Remove some now-incorrect
217         '#ifdef _LIBC"s.
218         * modules/regex (Depends-on): Add pthread, if we use the
219         included regex.
220
221         * lib/regcomp.c: Do actions that are not needed for glibc,
222         but may be needed elsewhere.
223         (regfree, re_compile_internal): Destroy the lock.
224         (re_compile_internal): Check for lock-initialization failure.
225
226         malloca: port to compilers that reject size-zero arrays
227         This fixes a bug introduced in my previous patch.
228         * lib/malloca.c (struct preliminary_header): Use an int
229         rather than a character array of size int; that's simpler.
230         (struct header): Remove, replacing with ...
231         (union header): New type.  This avoids the need for declaring a
232         character array of size zero, which is not allowed on some platforms.
233         All uses changed.
234
235 2013-05-18  Paul Eggert  <eggert@cs.ucla.edu>
236
237         parse-datetime, tests: don't use "string" + int
238         Recent versions of 'clang' complain about C source code that
239         uses expressions of the form '"string literal" + integer',
240         I guess on the theory that it's confusing for readers who are
241         used to C++.  On those grounds I suppose it's OK to make this
242         minor style change.
243         * lib/parse-datetime.y (parse_datetime):
244         * tests/test-fchdir.c (main):
245         * tests/test-snprintf-posix.h (test_function):
246         * tests/test-snprintf.c (main):
247         * tests/test-vasnprintf-posix.c (test_function):
248         * tests/test-vasnprintf.c (test_function):
249         * tests/test-vsnprintf.c (main):
250         * tests/unistdio/test-ulc-asnprintf1.h (test_function):
251         Rewrite '"str" + E' to '&"str"[E]'.
252
253 2013-05-17  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
254
255         argmatch: port to C++
256         * lib/argmatch.h [__cplusplus]: Add extern "C".
257
258         argp: typo fix
259         * lib/argp-help.c: Typo in comment.
260
261 2013-05-15  Paul Eggert  <eggert@cs.ucla.edu>
262
263         manywarnings: update for GCC 4.8.0
264         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC):
265         Add -Waggressive-loop-optimizations, -Wreturn-local-addr, which
266         are new to GCC 4.8.  Remove -Wformat=2, -Wmissing-format-attribute,
267         -Wmissing-noreturn, as they are duplicates of other warnings.
268         Remove -Wunreachable-code, as it is removed in GCC 4.8 and
269         was documented to be flaky in earlier versions of GCC.
270
271         spawn-tests, sys_socket-tests, sys_wait-tests: port to clang
272         * tests/test-spawn.c (main):
273         * tests/test-sys_socket.c (main):
274         * tests/test-sys_wait.c (main):
275         Don't have a switch value that isn't covered by a case.
276
277         getaddrinfo-tests: port --enable-gcc-warnings to clang
278         * tests/test-getaddrinfo.c (simple):
279         Avoid casts from looser to stricter-aligned pointers.
280
281         thread: port --enable-gcc-warnings to clang
282         * lib/glthread/thread.h [__clang__ && USE_POSIX_THREADS_WEAK]:
283         Include <signal.h>, to pacify a warning about pthread_sigmask.
284
285         stdio: use __REDIRECT for fwrite, fwrite_unlocked
286         * lib/stdio.in.h (fwrite):
287         When working around bug 11959, use __REDIRECT rather than '#define
288         fwrite(...) ... fwrite (...) ...'.  This is a more-targeted way to
289         fix the -Wunused-value issue with clang, and it works with GCC too.
290         Problem with targeting reported by Eric Blake in
291         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00067.html>.
292         (fwrite_unlocked): Treat like fwrite.  I ran into this issue while
293         debugging the fwrite issue.
294
295         stdio: port --enable-gcc-warnings to clang
296         * lib/stdio.in.h (fwrite) [__clang__]: Ignore -Wunused-value entirely,
297         since the GCC workaround for fwrite does not pacify clang.
298
299         sig2str: port --enable-gcc-warnings to clang
300         * lib/sig2str.c (sig2str): Avoid warning about unused printf argument.
301
302         obstack: port --enable-gcc-warnings to clang
303         * lib/obstack.h (obstack_ptr_grow_fast, obstack_int_grow_fast):
304         Avoid casts from looser to stricter-aligned pointers.
305
306         memchr2: port --enable-gcc-warnings to clang
307         * lib/memchr2.c (memchr2):
308         Avoid casts from looser to stricter-aligned pointers.
309
310         mbsstr: port --enable-gcc-warnings to clang
311         * lib/mbsstr.c (knuth_morris_pratt_multibyte):
312         Avoid casts from looser to stricter-aligned pointers.
313
314         malloca: port --enable-gcc-warnings to clang
315         * lib/malloca.c (struct header): New member 'magic', to avoid casts.
316         (mmalloca): Avoid casts from looser to stricter-aligned pointers.
317
318         inttostr: port --enable-gcc-warnings to clang
319         * lib/anytostr.c [__clang__]: Ignore -Wtautological-compare.
320
321         warnings: port to clang
322         Problem reported by Daniel P. Berrange via Eric Blake in
323         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00055.html>.
324         * m4/warnings.m4 (gl_UNKNOWN_WARNINGS_ARE_ERRORS): New macro.
325         (gl_WARN_ADD): Use it.
326
327 2013-05-11  Jim Meyering  <meyering@fb.com>
328
329         quotearg: do not read beyond end of buffer
330         * lib/quotearg.c (quotearg_buffer_restyled): Do not read beyond the
331         end of an ARG for which no length was specified.  With an N-byte
332         quote string, (e.g., N is 3 in the fr_FR.UTF-8 locale), this function
333         would read N-2 bytes beyond ARG's trailing NUL.  This was triggered
334         via coreutils' misc/sort-debug-keys.sh test and detected by running
335         the test against a binary compiled with gcc-4.8.0's -fsanitize=address.
336         * tests/test-quotearg-simple.c (main): Add a test to trigger the bug.
337         * modules/quotearg-simple-tests (Files): Add tests/zerosize-ptr.h.
338         Introduced via the 2000-01-15 commit, c4b7f3f8, "Quote multibyte
339         characters correctly."
340
341 2013-05-11  Daiki Ueno  <ueno@gnu.org>
342
343         lock: work around pthread recursive mutexes bug in Mac OS X 10.6
344         * m4/lock.m4: Don't define HAVE_PTHREAD_MUTEX_RECURSIVE if the
345         compilation target is Mac OS X 10.6.
346         Problem reported by parafin and Andoni Morales in
347         <http://savannah.gnu.org/bugs/?37844> and
348         <http://lists.gnu.org/archive/html/bug-gettext/2013-05/msg00007.html>.
349
350 2013-05-11  Paul Eggert  <eggert@cs.ucla.edu>
351
352         mkdir-p: remove assumptions about umask and mode
353         * lib/mkdir-p.c (make_dir_parents): Do not assume that the current
354         umask is 0, or that MODE is a subset of MODE_BITS.
355
356 2013-05-10  Eric Blake  <eblake@redhat.com>
357
358         maint.mk: catch more abuse of HAVE_DECL in syntax-check
359         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Relax regex.
360
361 2012-05-10  Stefano Lattarini  <stefano.lattarini@gmail.com>
362
363         deps: require Automake >= 1.9.6 in generated Makefile fragments
364
365         That is the same minimal version required in the DEPENDENCIES file.
366         Moreover, the old code generated a requirement of Automake >= 1.5,
367         and that is an insanely outdated version.
368
369         * gnulib-tool: Bump minimal version requirement in AUTOMAKE_OPTIONS.
370         * tests/havelib/rpathlx/Makefile.am: Likewise.
371         * tests/havelib/rpathly/Makefile.am: Likewise.
372         * tests/havelib/rpathlyx/Makefile.am: Likewise.
373         * tests/havelib/rpathlz/Makefile.am: Likewise.
374         * tests/havelib/rpathlzyx/Makefile.am: Likewise.
375         * tests/havelib/rpathx/Makefile.am: Likewise.
376         * tests/havelib/rpathy/Makefile.am: Likewise.
377         * tests/havelib/rpathz/Makefile.am: Likewise.
378
379 2013-05-08  Eric Blake  <eblake@redhat.com>
380
381         bootstrap: AC_INIT may have more than four parameters
382         * build-aux/bootstrap (extract_package_name): Correctly extract
383         non-empty tarname field.  Avoid range in regex.
384         Based on a report by Sami Kerola <kerolasa@iki.fi>.
385
386 2013-05-07  Paul Eggert  <eggert@cs.ucla.edu>
387
388         qacl: port to MS-Windows port of GNU Emacs
389         * lib/acl-errno-valid.c (acl_errno_valid) [ENOTSUP == ENOSYS]:
390         Omit the duplicate ENOTSUP case.  Needed for the MS-Windows
391         port of GNU Emacs.  Problem reported by Eli Zaretskii in
392         <http://bugs.gnu.org/14295#14>.
393
394 2013-05-07  Mike Frysinger  <vapier@gentoo.org>
395
396         acl: include quote.h
397         * lib/copy-acl.c: Include quote.h.
398         * lib/set-acl.c: Likewise.
399
400 2013-05-06  Mike Frysinger  <vapier@gentoo.org>
401
402         fchownat, renameat, unlinkat: update statat dependencies
403         These modules use statat and lstatat, not fstatat; so depend on
404         the statat module, which was split out recently from fstatat.
405         * modules/fchownat, modules/unlinkat: Change fstatat to statat.
406         * modules/renameat: Likewise.  Also delete fstat.
407         URL: http://bugs.gentoo.org/468790
408
409 2012-05-04  Stefano Lattarini  <stefano.lattarini@gmail.com>
410
411         Assume gnulib is checked out from Git, not CVS
412
413         In fact, access to the gnulib repository through CVS has been
414         disabled, or more precisely, got broken and was never restored; see:
415         <http://lists.gnu.org/archive/html/bug-gnulib/2013-05/msg00008.html>
416
417         Note that support for CVS is not removed completely and unthinkingly
418         by this change: only support for CVS checkouts of gnulib itself is
419         removed.  For example, the 'bootstrap' script still cater to .cvsingore
420         files and CVS directories, for the benefit of those poor gnulib clients
421         still stuck with CVS.  Ditto for the 'gnulib-tool' script itself.
422
423         * gnulib-tool: Simplify accordingly.
424         * posix-modules: Likewise.
425         * MODULES.html.sh: Likewise.
426         * doc/gnulib.texi: No longer mention the decommissioned CVS gnulib
427         repository.
428         * doc/gnulib-intro.texi: Likewise.
429         * doc/gnulib-readme.texi: Likewise.
430         * doc/gnulib-tool.texi: In the examples and explanations, refer to a
431         sample '.gitignore' file rather than a sample '.cvsignore'.
432         * NEWS: Update.
433         * m4/extensions.m4: While at it, remove a comment mistakenly referring
434         to "CVS Autoconf" rather than "git Autoconf".
435
436 2013-04-30  Paul Eggert  <eggert@cs.ucla.edu>
437
438         utimensat-tests, etc.: try to fix some races
439         Problem reported by Bernhard Voelker in
440         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00071.html>.
441         I don't know whether this patch fixes that race condition, but it
442         fixes *some* race conditions, so it should be a win.
443         * modules/chown-tests (Depends-on):
444         * modules/fchownat-tests (Depends-on):
445         * modules/fdutimensat-tests (Depends-on):
446         * modules/futimens-tests (Depends-on):
447         * modules/lchown-tests (Depends-on):
448         * modules/stat-time-tests (Depends-on):
449         * modules/utimens-tests (Depends-on):
450         * modules/utimensat-tests (Depends-on):
451         Depend on nanosleep, not usleep.
452         * modules/chown-tests (test_chown_LDADD):
453         * modules/lchown-tests (test_lchown_LDADD):
454         * modules/stat-time-tests (test_stat_time_LDADD):
455         New macro.
456         * modules/fchownat-tests (test_fchownat_LDADD):
457         * modules/fdutimensat-tests (test_fdutimensat_LDADD):
458         * modules/futimens-tests (test_futimens_LDADD):
459         * modules/utimens-tests (test_utimens_LDADD):
460         * modules/utimensat-tests (test_utimensat_LDADD):
461         Add $(LIB_NANOSLEEP).
462         * modules/stat-time-tests (Files): Add tests/nap.h.
463         * tests/nap.h: Include <limits.h>, for INT_MAX.
464         (lt_mtime): Remove.
465         (diff_timespec): New function.
466         (get_stat): Rename from get_mtime.  All callers changed.
467         (nap_works): Determine the needed delay by inspecting the
468         file system's timestamp jumps; this should be more reliable.
469         Look at both mtime and ctime, and take the maximum of the two jumps.
470         (nap_works, guess_delay):
471         Return a nanosecond cound, not a microsecond count.
472         All callers changed.
473         (nap_works, nap): Use nanosleep, not usleep.  Check for nanosleep
474         failure.
475         (nap): Multiply the guess by 1.125, to accommodate the case where
476         the file system's clock is a bit slower than nanosleep's clock.
477         * tests/test-stat-time.c (BASE): New macro.
478         Include nap.h.
479         (nap): Remove; nap.h now defines this.  This removes a duplicate
480         implementation of 'nap'.
481
482         utimens, utimensat: work around Solaris UTIME_OMIT bug
483         Solaris 11.1 and Solaris 10 have the same UTIME_OMIT bug that
484         Linux kernel 2.6.32 does.  Work around it in the same way.
485         * doc/posix-functions/futimens.texi (futimens):
486         * doc/posix-functions/utimensat.texi (utimensat): Document the bug.
487         * lib/utimens.c (fdutimens, lutimens):
488         * lib/utimensat.c (rpl_utimensat): Work around the bug.
489
490         gettext: now it's your responsibility to add -I$(top_builddir)/intl
491         Formerly, it was your responsibility to do this for all Makefile.ams
492         other than Gnulib's.  Now it's your responsibility to do it for
493         Gnulib's Makefile.am, too.
494         * NEWS: Document this.
495         * modules/gettext (AM_CPPFLAGS): Don't append -$(top_builddir)/intl.
496
497         acl: include errno.h to get errno
498         Reported by Daiki Ueno in
499         <http://lists.gnu.org/archive/html/bug-gnulib/2013-04/msg00073.html>.
500         * lib/copy-acl.c, lib/set-acl.c: Include errno.h.
501
502 2013-04-29  Paul Eggert  <eggert@cs.ucla.edu>
503
504         tests: don't assume getdtablesize () <= 10000000
505         * modules/cloexec-tests:
506         * modules/dup2-tests:
507         * modules/dup3-tests:
508         * modules/nonblocking-tests:
509         * modules/posix_spawn_file_actions_addclose-tests:
510         * modules/posix_spawn_file_actions_adddup2-tests:
511         * modules/posix_spawn_file_actions_addopen-tests:
512         * modules/unistd-safer-tests:
513         Depend on the getdtablesize module.
514         * tests/test-cloexec.c:
515         * tests/test-dup-safer.c:
516         * tests/test-dup2.c:
517         * tests/test-dup3.c:
518         * tests/test-fcntl.c:
519         * tests/test-nonblocking.c:
520         * tests/test-posix_spawn_file_actions_addclose.c:
521         * tests/test-posix_spawn_file_actions_adddup2.c:
522         * tests/test-posix_spawn_file_actions_addopen.c:
523         Don't assume getdtablesize () <= 10000000.
524
525 2013-04-28  Paul Eggert  <eggert@cs.ucla.edu>
526
527         extern-inline: work around bug in Sun c99
528         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
529         Work around bug in Sun C 5.12 c99's implementation of 'inline'.
530
531 2013-04-27  Paul Eggert  <eggert@cs.ucla.edu>
532
533         qacl: new module, broken out from the acl module
534         This is for GNU Emacs, which wants the acl functions but does
535         not want 'error' invoked when they fail.
536         * lib/acl-internal.h: Do not include error.h, quote.h.
537         (ENOSYS, ENOTSUP): Remove; no longer needed.
538         (ACL_NOT_WELL_SUPPORTED): Remove; replaced by acl_errno_valid.
539         * lib/acl.h: Include <stdbool.h>.
540         (acl_errno_valid): New function.
541         * lib/copy-acl.c, lib/set-acl.c: Include errno,h, not acl-internal.h.
542         * lib/copy-acl.c (qcopy_acl): Move to lib/qcopy-acl.c.
543         * lib/set-acl.c: Rename from lib/set-mode-acl.c.
544         (chmod_or_fchmod, qset_acl): Move to lib/qset-acl.c.
545         (ACL_INTERNAL_INLINE): Remove; no longer needed.
546         * lib/file-has-acl.c (file_has_acl):
547         * lib/qcopy-acl.c (qcopy_acl):
548         * lib/qset-acl.c (qset_acl):
549         Use acl_errno_valid instead of ACL_NOT_WELL_SUPPORTED.
550         * modules/acl (Files): Move lib/acl.h, lib/acl-internal.h,
551         lib/acl_entries.c, lib/set-mode-acl.c (renamed to lib/set-acl.c),
552         lib/file-has-acl.c, m4/acl.m4 to qacl module.
553         Add lib/set-acl.c.
554         (Depends-on): Move extern-inline, fstat, sys_stat to qacl module.
555         Add qacl.
556         (configure.ac): Move gl_FUNC_ACL to qacl module.
557         (lib_SOURCES): Remove file-has-acl.c (moved to qacl module).
558         Rename set-mode-acl.c to set-acl.c.
559         * lib/acl-errno-valid.c: New file.
560         * lib/qcopy-acl.c: New file, moved from the old lib/copy-acl.c; the
561         copy_acl function remains in copy-acl.c.
562         * lib/qcopy-acl.c, lib/qset-acl.c: Do not include gettext.h.
563         (_): Remove; not needed.
564         * lib/qset-acl.c: New file, moved from the old lib/set-mode-acl.c; the
565         set_acl function remains in set-acl.c (renamed from set-mode-acl.c).
566         * modules/qacl: New file, moved from the old modules/acl.
567         (Files, lib_SOURCES): Add acl-errno-valid.c, qcopy-acl.c, qset-acl.c.
568         Remove set-mode-acl.c, copy-acl.c.
569         (Depends-on): Remove error, gettext-h, quote.  Add stdbool.
570
571         alignof, intprops, malloca: port better to IBM's C compiler
572         * lib/alignof.h (alignof_type) [__IBM_ALIGNOF__]: Use __alignof__.
573         * lib/intprops.h (_GL_HAVE___TYPEOF__) [__IBM_TYPEOF__]: Now 1.
574         * lib/malloca.h (sa_alignof): [__IBM_ALIGNOF__]: Use __alignof__.
575
576 2013-04-25  Daiki Ueno  <ueno@gnu.org>
577
578         wctype-h: fix gettext link error on mingw
579         Reported by Josue Andrade Gomes and Takayuki Tsunakawa in
580         <https://lists.gnu.org/archive/html/bug-gettext/2013-03/msg00086.html>.
581         * lib/wctype.in.h [__MINGW32__]: Include <ctype.h> before defining
582         rpl_towupper and rpl_towupper.
583
584 2013-04-11  Dmitry V. Levin  <ldv@altlinux.org>
585
586         regex-tests, regex: allow glibc re_search behavior
587         * tests/test-regex.c (main): In test for glibc bug 15078, reformat
588         re_search input data to make the multi-character collating element
589         in it clearly visible, and treat re_search return code 0 as valid.
590         * m4/regex.m4 (gl_REGEX): Likewise.
591
592 2013-03-30  Paul Eggert  <eggert@cs.ucla.edu>
593
594         stdalign: doc fix
595         * doc/posix-headers/stdalign.texi (stdalign.h):
596         Gnulib doesn't support '_Alignof expr'.
597
598 2013-03-29  Paul Eggert  <eggert@cs.ucla.edu>
599
600         stdalign: port to stricter ISO C11
601         ISO C11 says that _Alignof's operand must be a parenthesized type.
602         Problem reported by Eli Zaretskii in
603         <http://lists.gnu.org/archive/html/emacs-devel/2013-03/msg00960.html>.
604         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
605         * m4/stdalign.m4 (gl_STDALIGN_H): Don't use _Alignof (expr).
606
607 2013-03-21  Paul Eggert  <eggert@cs.ucla.edu>
608
609         sys_select, sys_time: port 2013-01-30 Solaris 2.6 fix to Cygwin
610         Problem reported by Marco Atzeri in
611         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00000.html>.
612         * lib/sys_select.in.h [HAVE_SYS_SELECT_H && _CYGWIN_SYS_TIME_H]:
613         Simply delegate to the system <sys/select.h> in this case too.
614         Also, pay attention to _GL_SYS_SELECT_H_REDIRECT_FROM_SYS_TIME_H only
615         if OSF/1, since otherwise Cygwin breaks, and it doesn't seem to
616         be needed on Solaris either.
617         * lib/sys_time.in.h [_CYGWIN_SYS_TIME_H]:
618         Simply delgate to the system <sys/time.h> in this case.
619
620 2013-03-19  Karl Berry  <karl@gnu.org>
621
622         * build-aux/gnupload: check for erroneous (with gnupload) use of
623         ftp-upload.gnu.org, tweak help.
624
625 2013-03-19  Paul Eggert  <eggert@cs.ucla.edu>
626
627         copy-file, rpmatch: fix problems found by cppcheck
628         Reported by Arno Onken in
629         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00069.html>.
630         * lib/rpmatch.c (try): Fix memory leak.
631         * lib/copy-file.c: Include "ignore-value.h".
632         (qcopy_file_preserving): Ignore chown value.
633         * modules/copy-file (Depends-on): Add ignore-value.
634
635 2013-01-27  Jim Meyering  <jim@meyering.net>
636
637         prefix-gnulib-mk: give better diagnostics
638         * build-aux/prefix-gnulib-mk: Don't just "die".
639         Give better diagnostics upon failure.
640
641 2013-03-13  Paul Eggert  <eggert@cs.ucla.edu>
642
643         putenv: port to Solaris 10
644         * lib/putenv.c (_unsetenv, putenv): Use HAVE_DECL__PUTENV, not
645         HAVE__PUTENV.  Solaris 10 has a _putenv that's not declared and
646         is not what is wanted here.
647         * m4/putenv.m4 (gl_PREREQ_PUTENV): Check for _putenv's
648         declaration, not for its existence.
649
650 2013-03-12  Paul Eggert  <eggert@cs.ucla.edu>
651
652         mktime: fix configure typo
653         * m4/mktime.m4 (gl_FUNC_MKTIME): Fix typo in previous change.
654
655 2013-03-12  Eric Blake  <eblake@redhat.com>
656
657         regex-tests: skip UTF-8 test on mingw
658         * modules/regex-tests (Depends-on): Add localcharset.
659         * tests/test-regex.c (main): Use it to skip test on mingw.
660
661 2013-03-11  Eric Blake  <eblake@redhat.com>
662
663         tests: make it easier to bypass alarm time in debugger
664         * tests/test-file-has-acl.c (main): Allow gdb to override alarm.
665         * tests/test-memmem.c (main): Likewise.
666         * tests/test-passfd.c (main): Likewise.
667         * tests/test-ptsname.c (main): Likewise.
668         * tests/test-ptsname_r.c (main): Likewise.
669         * tests/test-strcasestr.c (main): Likewise.
670         * tests/test-strstr.c (main): Likewise.
671
672         regex: port to mingw's recent addition of undeclared alarm
673         * doc/posix-functions/alarm.texi (alarm): Document that alarm
674         exists but still doesn't work in newer mingw.
675         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm declaration,
676         not existence.  Ensure SIGALRM is not trapped.
677         * m4/mktime.m4 (gl_FUNC_MKTIME): Likewise.
678         * m4/regex.m4 (gl_REGEX): Likewise.
679         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): Likewise.
680         * tests/test-regex.c (main): Use correct probe for alarm.
681
682         putenv: avoid compilation warning on mingw
683         * lib/putenv.c (_unsetenv): Protect variable declaration.
684         (putenv): Fix indentation.
685
686 2013-03-11  Gary V. Vaughan  <gary@gnu.org>
687
688         unistd: don't prevent Tru64 Unix from using gnulib strtod.
689         * lib/unistd.in.h: be careful not to include un-needed system
690         stdlib.h from here, because that prevents gnulib stdlib.h from
691         defining rpl_strtod correctly.
692
693 2013-03-09  Gary V. Vaughan  <gary@gnu.org>
694
695         vasprintf-posix-tests: allow rounding 1.51 to 1, per the previous
696         changesets, but for the 'precision 0' test.
697         * tests/test-vasprintf-posix.c (test_function): Don't insist on
698         round-to-even, since POSIX says rounding is implementation-defined
699         and OS X 10.8.2 rounds 1.51 to 1 here.
700
701         vasprintf-posix-tests: allow rounding 1.5 to 1, per the previous
702         changeset.
703         * tests/test-vasprintf-posix.c (test_function): Don't insist on
704         round-to-even, since POSIX says rounding is implementation-defined
705         and OS X 10.8.2 rounds 1.5 to 1 here.
706
707 2013-03-08  Paul Eggert  <eggert@cs.ucla.edu>
708
709         vasnprintf-posix-tests: allow rounding 1.5 to 1
710         * tests/test-vasnprintf-posix.c (test_function): Don't insist on
711         round-to-even, since POSIX says rounding is implementation-defined
712         and OS X 10.8.2 rounds 1.5 to 1 here.  Reported by Gary V. Vaughan in
713         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00019.html>.
714
715         bootstrap: port to FreeBSD
716         * build-aux/bootstrap (bootstrap_sync): Port sh -c usage to shells
717         that treat '--' differently.  Reported by Mats Erik Andersson in
718         <http://lists.gnu.org/archive/html/bug-gnulib/2013-03/msg00012.html>.
719
720 2013-03-08  Gary V. Vaughan  <gary@gnu.org>
721
722         regex: rename remaining __attribute calls to __attribute__.
723         2012-02-25 changed definition of __attribute, but left some uses
724         unchanged, preventing compilation of regex module on most non-gcc
725         environments.
726         * lib/regcomp.c (re_set_fastmap, seek_collating_symbol_entry)
727         (lookup_collation_sequence_value, build_range_exp)
728         (build_collating_symbol): Set attributes with newly renamed
729         __attribute__ decorator.
730         * lib/regex_internal.c (re_string_peek_byte_case)
731         (re_node_set_compare, re_node_set_contains): Likewise.
732         * lib/regexec.c (acquire_init_state_context): Likewise.
733
734 2013-03-06  Bruno Haible  <bruno@clisp.org>
735
736         execute: Revert last change, but use a different condition.
737         * lib/execute.c (nonintr_close, nonintr_open): Reintroduce, but only
738         on Windows.
739
740 2013-03-05  Eric Blake  <eblake@redhat.com>
741
742         execute: drop dead code
743         * lib/execute.c (nonintr_close, nonintr_open): Delete.
744
745 2013-03-04  Paul Eggert  <eggert@cs.ucla.edu>
746
747         non-recursive-gnulib-prefix-hack: port coreutils 8.21 to HP NonStop
748         * m4/non-recursive-gnulib-prefix-hack.m4
749         (gl_NON_RECURSIVE_GNULIB_PREFIX_HACK): Don't mess with ALLOCA.
750         Problem reported for HP NonStop + coreutils 8.21 by Joachim Schmitz in
751         <http://bugs.gnu.org/10305#237>.
752
753 2013-03-04  Eric Blake  <eblake@redhat.com>
754
755         test-getsockopt: avoid compiler warning
756         * tests/test-getsockopt.c (includes): Ensure close is declared.
757
758 2013-03-02  Bruno Haible  <bruno@clisp.org>
759
760         sys_types: Avoid autoconf warning about gl_SYS_TYPES_H.
761         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Define through AC_DEFUN_ONCE.
762
763 2013-03-02  Bruno Haible  <bruno@clisp.org>
764
765         gettext: Update to version 0.18.2.
766         * m4/intl.m4, m4/po.m4: Update from gettext-0.18.2. In particular:
767         2012-12-07  Stefano Lattarini  <stefano.lattarini@gmailcom>
768                 * intl.m4, po.m4: Bump requirement in AC_PREREQ to 2.60.
769
770 2013-02-25  Paul Eggert  <eggert@cs.ucla.edu>
771
772         regex: merge patches from libc
773
774         2013-02-26  Siddhesh Poyarekar  <siddhesh@redhat.com>
775         * lib/regex_internal.h (__attribute__): Rename from __attribute.
776         All uses changed.
777         (bitset_not, bitset_merge, bitset_mask, re_string_char_size_at)
778         (re_string_wchar_at, re_string_elem_size_at):
779         Mark function as possibly unused.
780
781         2013-02-12  Andreas Schwab  <schwab@suse.de>  [BZ #11561]
782         * lib/regcomp.c (parse_bracket_exp) [_LIBC]: When looking up collating
783         elements compare against the byte sequence of it, not its name.
784
785 2013-02-21  Paul Eggert  <eggert@cs.ucla.edu>
786
787         putenv: port better to native Windows
788         * lib/putenv.c [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
789         Define WIN32_LEAN_AND_MEAN and include <windows.h>.
790         (_unsetenv): Use _putenv if available.
791         (putenv): Temporarily set NAME=' ' rather than NAME='x' as that's
792         a bit less likely to cause damage.
793         (putenv) [(_WIN32 || __WIN32__) && ! __CYGWIN__]:
794         Fix the wrong value with SetEnvironmentVariable.
795         (putenv) [!HAVE__PUTENV]: Simplify and match the HAVE__PUTENV
796         code better.
797
798 2013-02-20  Paul Eggert  <eggert@cs.ucla.edu>
799
800         regex: ignore old-style-definition warnings
801         * lib/regex.c: Add pragma to ignore these warnings.
802         Problem reported for GNU tar by Pavel Raiskup.
803
804 2013-02-19  Paul Eggert  <eggert@cs.ucla.edu>
805
806         getcwd: support coreutils better
807         Like strtod, getcwd incorrectly referred to HAVE_RAW_DECL_GETCWD,
808         but this might not be correct in coreutils, which disables
809         the raw decl checks.  Problem reported by Nagendra in
810         <http://bugs.gnu.org/10305#192>.
811         * lib/getcwd.c (__getcwd): Do not depend on HAVE_RAW_DECL_GETCWD.
812         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
813         Test the getcwd function, not any macro, since getcwd.c wants the
814         function.
815         * m4/getcwd.m4 (gl_FUNC_GETCWD):
816         Don't define HAVE_MINIMALLY_WORKING_GETCWD if the code doesn't
817         compile, as might happen if there's a macro but no function.
818
819         strtod: support coreutils better
820         * lib/strtod.c (underlying_strtod): Just invoke the underlying strtod.
821         HAVE_RAW_DECL_STRTOD might not be correct in coreutils, which
822         disables the raw decl checks.  This assumes there is an underlying
823         strtod, but that's a safe assumption these days.
824         (HAVE_RAW_DECL_STRTOD): Remove; no longer used.
825
826         mountlist: port to HP NonStop
827         Reported by Joachim Schmitz in
828         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00084.html>.
829         * lib/mountlist.c (hasmntopt) [!HAVE_HASMNTOPT]: New function.
830         (MNT_IGNORE) [MNTOPT_IGNORE]: Use it.
831
832 2013-02-18  Paul Eggert  <eggert@cs.ucla.edu>
833
834         extern-inline: avoid compilation error with HP-UX cc
835         Reported by Richard Lloyd in
836         <http://lists.gnu.org/archive/html/bug-texinfo/2013-02/msg00030.html>.
837         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE):
838         Suppress extern inline with HP-UX cc.  This should be safe,
839         though it may hurt performance.  Perhaps someone with some HP-UX
840         experience can come up with a higher-performance fix.
841
842 2013-02-14  Paul Eggert  <eggert@cs.ucla.edu>
843
844         putenv: fix heap corruption with mixed putenv/_putenv
845         Problem reported by Michael Goffioul in
846         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00061.html>.
847         * lib/putenv.c (putenv) [HAVE__PUTENV]:
848         Rely on _putenv to allocate the new environment.
849         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
850         * modules/putenv (configure.ac): Use it.
851
852 2013-02-11  Paul Eggert  <eggert@cs.ucla.edu>
853
854         unsetenv etc.: port to Solaris 11 + GNU Emacs
855         * lib/canonicalize-lgpl.c, lib/getaddrinfo.c, lib/getdelim.c:
856         * lib/glob.c, lib/random_r.c, lib/setenv.c, lib/tsearch.c:
857         * lib/unsetenv.c (_GL_ARG_NONNULL): Define before including <config.h>.
858         GNU Emacs's <config.h> includes <stdlib.h> (which is not a great
859         idea but is too painful to fix right now), and without this gnulib
860         change <stdlib.h> was defining _GL_ARG_NONNULL incorrectly when
861         compiling unsetenv.c on Solaris 11.  Fix the problem for
862         unsetenv.c, and fix other similar occurrences.
863
864 2013-02-09  Paul Eggert  <eggert@cs.ucla.edu>
865
866         secure_getenv: fix C++ declaration typo
867         * lib/stdlib.in.h (secure_getenv): Fix typo with return type
868         in _GL_CXXALIAS_SYS macro.  Reported by John W. Eaton in
869         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00057.html>.
870
871 2013-02-08  Paul Eggert  <eggert@cs.ucla.edu>
872
873         careadlinkat: stop exporting careadlinkatcwd
874         Only Emacs used it directly, and Emacs no longer needs it.
875         * NEWS: Document this simplification.
876         * lib/areadlink.c (careadlinkatcwd): Move here from careadlinkat.c,
877         and make it static.  Include <stdlib.h>, for abort, and unistd.h,
878         for readlink.
879         * lib/careadlinkat.c (careadlinkatcwd): Move to areadlink.c.
880         Don't include stdlib.h; no longer needed.
881         * lib/careadlinkat.h (careadlinkatcwd): Remove decl.
882         * lib/relocwrapper.c: Adjust comment to match new dependencies.
883         * modules/areadlink (Depends-on): Add readlink.
884         (Maintainer): Add self.
885         * modules/careadlinkat (Depends-on): Remove readlink.
886
887         extensions: port better to HP-UX
888         This is merged from git Autoconf.
889         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
890         On hosts that need _XOPEN_SOURCE, define it when configuring, too,
891         so that it's compatible with the value used when compiling.
892
893         openpty: fix bug where HAVE_OPENPTY is mistakenly 1
894         Problem reported by Mats Erik Andersson in
895         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00051.html>.
896         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
897         openpty function exists, not merely when we intend to replace it.
898         This corrects the 2013-01-31 patch, which mistakenly defined
899         HAVE_OPENPTY even on hosts that lacked it.
900
901 2013-02-07  Paul Eggert  <eggert@cs.ucla.edu>
902
903         secure_getenv: fix include typo
904         * lib/secure_getenv.c: Include config.h.  Somehow I forgot!
905
906         secure_getenv: port better to FreeBSD and Solaris
907         * lib/secure_getenv.c [!HAVE___SECURE_GETENV]:
908         Include unistd.h if HAVE_ISSETUGID, otherwise define a dummy issetugid.
909         (secure_getenv) [!HAVE___SECURE_GETENV]: Use getenv if not issetugid.
910         This works better on BSDish platforms.
911         * m4/secure_getenv.m4 (gl_PREREQ_SECURE_GETENV):
912         Test for issetugid if __secure_getenv is missing.
913
914 2013-02-06  Paul Eggert  <eggert@cs.ucla.edu>
915
916         extensions: port better to MINIX 3, HP-UX, autoheader 2.62
917         Some of these changes are merged in from git Autoconf.
918         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
919         When deciding whether to define _XOPEN_SOURCE, inspect the
920         preprocessor macro __hpux instead of the more-heavyweight
921         operation of requiring AC_CANONICAL_HOST.  Define _NETBSD_HOST on
922         MINIX, for MINIX 3.  Use USE_SYSTEM_EXTENSIONS, not __EXTENSIONS__,
923         as the key for __EXTENSIONS__.
924
925         unistd: avoid namespace pollution on non-glibc systems
926         * lib/unistd.in.h: #define __need_getopt before including <getopt.h>.
927         This avoids namespace pollution on non-glibc systems, by causing
928         gnulib unistd.h to behave more like glibc unistd.h.  I also hope
929         that this fixes a bug on FreeBSD, reported by Mats Erik Andersson in
930         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00027.html>.
931
932 2013-02-04  Paul Eggert  <eggert@cs.ucla.edu>
933
934         tmpdir: use secure_getenv
935         * lib/tmpdir.c (__secure_getenv) [!LIBC]:
936         Define to secure_getenv, not getenv.
937         * m4/tmpdir.m4 (gt_TMPDIR): Don't check for __secure_getenv,
938         as that's now secure_getenv's job.
939         * modules/tmpdir (Depends-on): Add secure_getenv.
940
941         tempname: use secure_getenv
942         * lib/tempname.c (__secure_getenv) [!_LIBC]:
943         Define to secure_getenv, not getenv.
944         * modules/tempname (Depends-on):
945         Add secure_getenv.
946
947         secure_getenv: new module
948         * MODULES.html.sh (Extra functions based on ANSI C 89):
949         Add secure_getenv.
950         * doc/glibc-functions/secure_getenv.texi: New file.
951         * doc/gnulib.texi: Include it.
952         * lib/secure_getenv.c, m4/secure_getenv.m4, modules/secure_getenv:
953         New files.
954         * lib/stdlib.in.h (secure_getenv): New decl.
955         * m4/stdlib_h.m4 (gl_STDLIB_H, gl_STDLIB_H_DEFAULTS):
956         * modules/stdlib (stdlib.h):
957         Add secure_getenv checks.
958
959 2013-02-03  Paul Eggert  <eggert@cs.ucla.edu>
960
961         getcwd: break fdopendir + save_cwd recursive loop (Bug#13516)
962         Reported for OS X 10.8.2 by Assaf Gordon in
963         <http://bugs.gnu.org/13516>.
964         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Do not define if
965         !HAVE_OPENAT && !HAVE_FDOPENDIR.
966         * m4/getcwd-abort-bug.m4: Reformat to match test-getcwd.c
967         so that they can be kept in sync more easily.  Avoid PATH_MAX
968         test on the Hurd.  Sync from test-getcwd.c for errno tests after
969         mkdir or chdir failure.
970         * tests/test-getcwd.c (HAVE_OPENAT_SUPPORT): New macro, from
971         lib/getcwd.c.
972         (test_abort_bug): Do not test for the deep directory bug unless we
973         have openat support.  Avoid PATH_MAX test on the Hurd.
974
975         regex-tests, regex: fix bug: memset undeclared
976         * tests/test-regex.c: Don't include regex.h twice.  Include
977         string.h, to declare memset.  Christensen's report also mentioned
978         this issue.
979         * m4/regex.m4 (gl_REGEX): Keep test program more in sync with
980         test-regex.c, to avoid future problems like this.  Remove
981         AC_INCLUDES_DEFAULT.  Include <string.h>.  Don't include <regex.h>
982         twice.
983
984         regex-tests: fix link errors on older Solaris
985         These need to link with @LIBINTL@ to get libintl_gettext.
986         Problem reported by Tom G. Christensen in
987         <http://lists.gnu.org/archive/html/bug-gnulib/2013-02/msg00003.html>.
988         * modules/regex-tests (test_regex_LDADD): New macro.
989
990 2013-01-31  Paul Eggert  <eggert@cs.ucla.edu>
991
992         regex-tests: new module
993         * modules/regex-tests, tests/test-regex.c: New files.
994
995         regex: fix off-by-one error in configure test
996         * m4/regex.m4 (gl_REGEX): Test should return 21, not 20.
997
998 2013-01-31  Eric Blake  <eblake@redhat.com>
999
1000         regex: avoid infinite configure test
1001         * m4/regex.m4 (gl_REGEX): Add an alarm escape hatch.
1002
1003 2013-01-31  Reuben Thomas  <rrt@sc3d.org>
1004
1005         openpty: fix bug where HAVE_OPENPTY wasn't defined
1006         See the thread starting at:
1007         http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00185.html
1008         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when the
1009         openpty function exists, not merely when we intend to replace it.
1010
1011 2013-01-30  Paul Eggert  <eggert@cs.ucla.edu>
1012
1013         sys_time: port to Solaris 2.6
1014         There is a circularity problem on Solaris 2.6, where <time.h> includes
1015         <sys/time.h> for struct timespec.  The include nesting is gnulib
1016         <time.h>, system <time.h>, gnulib <sys/time.h>, system
1017         <sys/time.h>, gnulib <sys/types.h>, system <sys/types.h>, gnulib
1018         <sys/select.h>, gnulib <signal.h>, system <sys/signal.h>, system
1019         <sys/siginfo.h>; the last, innermost file needs struct
1020         timestruc_t, which is defined in <sys/time.h>, which has not been
1021         fully parsed.  Problem reported by Tom G. Christensen in
1022         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00113.html>.
1023         * lib/sys_select.in.h: Treat Solaris 2.6's problem with
1024         <sys/time.h> and <sys/types.h> like OSF/1's similar problem.
1025         * lib/sys_time.in.h: Redo to resemble sys_select.in.h, which
1026         uses split double-inclusion guards.
1027
1028 2013-01-29  Paul Eggert  <eggert@cs.ucla.edu>
1029
1030         regex: test for buffer overrun
1031         * m4/regex.m4 (gl_REGEX): Add test case, by Andreas Schwab,
1032         for the just-fixed regex bug.
1033
1034 2013-01-29  Andreas Schwab  <schwab@suse.de>
1035
1036         regex: fix buffer overrun in regexp matcher [BZ #15078]
1037         * lib/regexec.c (extend_buffers): Add parameter min_len.
1038         (check_matching): Pass minimum needed length.
1039         (clean_state_log_if_needed): Likewise.
1040         (get_subexp): Likewise.
1041
1042 2013-01-28  Pádraig Brady  <P@draigBrady.com>
1043
1044         mountlist: don't consider "devtmpfs" as dummy
1045         * lib/mountlist.c (ME_DUMMY_0): Remove "devtmpfs"
1046         as there is storage associcated with it.
1047
1048 2013-01-27  Paul Eggert  <eggert@cs.ucla.edu>
1049
1050         futimens-tests, utimens-tests: Depend on gettext.
1051         This works around a problem introduced in my 2013-01-12 patch,
1052         which added @LIBINTL@ to these modules.
1053         * modules/futimens-tests (Depends-on):
1054         * modules/utimens-tests (Depends-on): Add gettext.
1055
1056 2013-01-26  Eric Blake  <eblake@redhat.com>
1057
1058         test-getpeername: fix typo
1059         * tests/test-getpeername.c: Fix typo introduced in fd cleanup.
1060
1061 2013-01-20  Bernhard Voelker  <mail@bernhard-voelker.de>
1062
1063         bootstrap: remove the need for a sorted .gitignore file
1064         * build-aux/bootstrap (insert_sorted_if_absent): Adjust and
1065         rename to insert_if_absent(), so that we don't need or generate
1066         a sorted .gitignore file.  We do require a .gitignore with no
1067         existing duplicate entries and enforce that.
1068         (sort_patterns): Remove this function as we now use the simpler
1069         technigue of inserting blacklist entries at the top of the file,
1070         assuming gnulib won't be inserting !whitelist entries.
1071
1072 2013-01-23  Paul Eggert  <eggert@cs.ucla.edu>
1073
1074         readlinkat: don't depend on gl_FUNC_OPENAT
1075         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Don't require gl_FUNC_OPENAT.
1076         Perhaps a similar change needs to be made for linkat.m4, mkfifoat.m4,
1077         renameat.m4, symlinkat.m4; but one thing at a time.
1078
1079         statat: new module, split out from fstatat
1080         GNU Emacs needs the POSIX-specified fstatat, but not the
1081         gnulib-specified statat and lstat.  Split the latter two into a
1082         new module 'statat'.
1083         * lib/openat.h: Depend on GNULIB_STATAT, not GNULIB_FSTATAT.
1084         * lib/openat.h, lib/statat.c (STATAT_INLINE):
1085         Rename from FSTATAT_INLINE. All uses changed.
1086         * modules/fstatat (Files): Remove lib/statat.c.
1087         (gl_MODULE_INDICATOR([fstatat])): Remove.
1088         (lib_SOURCES): Remove.
1089         (Maintainer): Add self.
1090         * modules/statat, modules/statat-tests, tests/test-statat.c: New files.
1091         * tests/test-fstatat.c (BASE): Don't define if already defined.
1092         (do_stat, do_lstat) [!TEST_STATAT]: Test fstatat instead.
1093
1094 2013-01-22  Paul Eggert  <eggert@cs.ucla.edu>
1095
1096         tests: don't assume fd 99 is closed
1097         * tests/test-accept.c, tests/test-accept4.c, tests/test-bind.c:
1098         * tests/test-close.c, tests/test-connect.c, tests/test-dprintf.c:
1099         * tests/test-dup.c, tests/test-dup2.c, tests/test-faccessat.c:
1100         * tests/test-fchdir.c, tests/test-fchmod.c, tests/test-fchmodat.c:
1101         * tests/test-fchown.c, tests/test-fchownat.c, tests/test-fclose.c:
1102         * tests/test-fdatasync.c, tests/test-fdopen.c, tests/test-fdopendir.c:
1103         * tests/test-fflush.c, tests/test-fgetc.c, tests/test-fputc.c:
1104         * tests/test-fread.c, tests/test-freopen.c, tests/test-fseeko4.c:
1105         * tests/test-fstat.c, tests/test-fstatat.c, tests/test-fsync.c:
1106         * tests/test-ftello4.c, tests/test-ftruncate.c, tests/test-futimens.h:
1107         * tests/test-fwrite.c, tests/test-getpeername.c:
1108         * tests/test-getsockname.c, tests/test-getsockopt.c:
1109         * tests/test-grantpt.c, tests/test-ioctl.c, tests/test-isatty.c:
1110         * tests/test-linkat.c, tests/test-listen.c, tests/test-lseek.c:
1111         * tests/test-mkdirat.c, tests/test-mkfifoat.c, tests/test-openat.c:
1112         * tests/test-pread.c, tests/test-pwrite.c, tests/test-read.c:
1113         * tests/test-readlinkat.c, tests/test-recv.c, tests/test-recvfrom.c:
1114         * tests/test-renameat.c, tests/test-select.h, tests/test-send.c:
1115         * tests/test-sendto.c, tests/test-setsockopt.c, tests/test-shutdown.c:
1116         * tests/test-symlinkat.c, tests/test-ttyname_r.c:
1117         * tests/test-unlinkat.c, tests/test-unlockpt.c:
1118         * tests/test-utimensat.c, tests/test-vdprintf.c, tests/test-write.c:
1119         Close file descriptor 99, instead of assuming it's already closed.
1120
1121 2013-01-21  Paul Eggert  <eggert@cs.ucla.edu>
1122
1123         stpncpy: port to OS X 10.8
1124         * lib/stpncpy.c (__stpncpy): Parenthesize name when defining function.
1125         Problem reported by Assaf Gordon in <http://bugs.gnu.org/13495>.
1126
1127 2013-01-16  Paul Eggert  <eggert@cs.ucla.edu>
1128
1129         unistd: port to recent mingw
1130         * lib/unistd.in.h: Remove special invocation convention for mingw,
1131         which breaks for the latest mingw version.  See John W. Eaton in
1132         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00100.html>.
1133
1134         largefile: port better to Mac OS X 10.5
1135         This patch is backported from Autoconf git.
1136         * m4/largefile.m4 (AC_SYS_LARGEFILE): Use AC_DEFINE, not
1137         AH_VERBATIM, to define _DARWIN_USE_64_BIT_INODE, to avoid problems
1138         with ino_t size being different for configuration time versus
1139         build/run time.  Problem reported by PHO in
1140         <http://lists.gnu.org/archive/html/bug-autoconf/2013-01/msg00040.html>.
1141
1142 2013-01-15  Paul Eggert  <eggert@cs.ucla.edu>
1143
1144         doc: clarify -Werror
1145         * doc/warnings.texi (warnings): -Werror is not always a bad idea;
1146         clarify that it's intended for developers, not for ordinary builds,
1147         and mention --enable-gcc-warnings as one possible use.
1148
1149 2013-01-15  Andoni Morales Alastruey  <ylatuya@gmail.com>  (tiny change)
1150
1151         stdint: fix build with Android's Bionic fox x86
1152         * lib/stdint.in.h: fix check to test if included-fixed/sys/types.h
1153         was already included as _SSIZE_T_DEFINED_ might also be defined
1154         in include/machine/_types.h, which is included by stdio.h
1155
1156 2013-01-13  Paul Eggert  <eggert@cs.ucla.edu>
1157
1158         net_if-tests: port to Solaris 7 + GCC 3.4.6
1159         Problem reported by Tom G. Christensen in
1160         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00091.html>.
1161         * tests/test-net_if.c (ni): Move to next the code that uses it,
1162         so that it's declared only if needed.
1163
1164 2013-01-12  Paul Eggert  <eggert@cs.ucla.edu>
1165
1166         net_if-tests: port to older Solaris
1167         Problem reported by Tom G. Christensen in
1168         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
1169         * modules/net_if-tests (NET_IF_LIB): New substitution.
1170         (test_net_if_LDADD): New makefile macro, which uses NET_IF_LIB.
1171         (HAVE_IF_NAMEINDEX): New C macro.
1172         * tests/test-net_if.c: Bypass most of the test if !HAVE_IF_NAMEINDEX.
1173
1174         system-quote-tests: port to older Solaris
1175         Problem reported by Tom G. Christensen in
1176         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
1177         * tests/test-system-quote-child.c (fopen, fread): Undef.
1178
1179         c-xvasprintf etc.: fix link errors on older Solaris
1180         These need to link with @LIBINTL@ to get libintl_gettext.
1181         Problem reported by Tom G. Christensen in
1182         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00086.html>.
1183         * modules/c-xvasprintf-tests (test_c_xvasprintf_LDADD):
1184         * modules/readtokens-tests (test_readtokens_LDADD): New macros.
1185         * modules/futimens-tests (test_futimens_LDADD):
1186         * modules/utimens-tests (test_utimens_LDADD): Add @LIBINTL@.
1187
1188 2013-01-10  Paul Eggert  <eggert@cs.ucla.edu>
1189
1190         locale: port to Solaris 2.6 and 7 + GNU gettext
1191         * lib/locale.in.h: Just include_next <locale.h> when
1192         being invoked recursively.  This prevents problems on Solaris 2.6 and 7
1193         when combining the localename module with GNU gettext 0.18.2.
1194         Problem reported by Tom G. Christensen in
1195         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00084.html>.
1196
1197 2013-01-09  Paul Eggert  <eggert@cs.ucla.edu>
1198
1199         stdlib: port to Solaris 2.6
1200         Also, the code worked on Solaris 7 through 9 only by accident.
1201         Problem reported by Tom G. Christensen in
1202         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00059.html>.
1203         * lib/stdlib.in.h: If __need_system_stdlib_h is defined,
1204         simply include the system stdlib.h.
1205         * lib/getopt.in.h (__need_system_stdlib_h):
1206         * lib/pthread.in.h (__need_system_stdlib_h):
1207         * lib/unistd.in.h (__need_system_stdlib_h) [!__GLIBC__]:
1208         Define when including <stdlib.h>, to avoid problems at least for
1209         the pthread case on Solaris 2.6 and 7.  These .h files can get by
1210         with the system stdlib.h.
1211
1212 2013-01-06  Paul Eggert  <eggert@cs.ucla.edu>
1213
1214         doc: update main copyright year
1215         * doc/gnulib.texi: Update copyright date.
1216
1217         doc: improve ISO 8601 discussion
1218         * doc/parse-datetime.texi (Combined date and time of day items):
1219         Specify more carefully what formats are supported and what is
1220         done with excess precision.
1221
1222 2013-01-05  Paul Eggert  <eggert@cs.ucla.edu>
1223
1224         doc: avoid small caps
1225         * doc/parse-datetime.texi, doc/regex.texi: Don't use small caps;
1226         they're more trouble than they're worth.  Suggested by Karl Berry
1227         in <http://bugs.gnu.org/13360>.
1228
1229         regex: conform to strict C
1230         * lib/regcomp.c (parse_bracket_exp): Add cast to conform to strict C.
1231         From Aharon Robbins.
1232
1233         gnulib-tool: fix incompatibility with autopoint 0.18.2
1234         * gnulib-tool: Don't indent AM_GNU_GETTEXT_VERSION line.
1235         Problem reported by Tom G. Christensen in
1236         <http://lists.gnu.org/archive/html/bug-gnulib/2013-01/msg00053.html>.
1237
1238 2013-01-04  Paul Eggert  <eggert@cs.ucla.edu>
1239
1240         fprintftime: bring back and reword fwrite comment
1241         * lib/strftime.c (cpy) [FPRINTFTIME]: Re-add reworded comment.
1242
1243         stdio: remove now-unnecessary stdio.c
1244         Since stdio.in.h no longer uses inline functions, we no longer
1245         need to compile the extern versions.
1246         * lib/stdio.c: Remove.
1247         * modules/stdio (Files): Remove lib/stdio.c.
1248         (lib_SOURCES): Remove.
1249
1250         unicodeio: depend on stdio, not ignore-value
1251         * lib/unicodeio.c: Do not include ignore-value.h.
1252         (fwrite_success_callback): Use plain fwrite, not ignore_value + fwrite.
1253         * modules/unicodeio (Depends-on): Depend on stdio, not ignore-value.
1254
1255         fprintftime: depend on stdio, not ignore-value
1256         * lib/strftime.c [FPRINTFTIME]: Do not include ignore-value.h.
1257         (cpy) [FPRINTFTIME]: Use plain fwrite, not ignore_value of fwrite,
1258         since the stdio module arranges to silence that warning now.
1259         * modules/fprintftime (Depends-on): Depend on stdio, not ignore-value.
1260
1261 2012-10-04  Simon Josefsson  <simon@josefsson.org>
1262
1263         stdint-tests: Fix expanded-before-required-warning.
1264         * modules/stdint-tests (Depends-on): Use AC_REQUIRE.
1265
1266 2013-01-03  Paul Eggert  <eggert@cs.ucla.edu>
1267
1268         fwrite: silence __wur only for older glibc versions
1269         * lib/stdio.in.h (fwrite): Limit workaround to glibc 2.4 through 2.15.
1270         This will help us remove this workaround some time in the far future.
1271
1272 2013-01-03  Eric Blake  <eblake@redhat.com>
1273
1274         fwrite: silence __wur without using inline
1275         * lib/stdio.in.h (fwrite): Limit warn_unused_result workaround to
1276         just gcc, and in a way that avoids inline issues.
1277         * modules/stdio (Depends-on): Drop extern-inline.
1278
1279 2013-01-03  Jim Meyering  <jim@meyering.net>
1280
1281         update-copyright: avoid copyright notice date corruption
1282         Given a sequence of copyright year numbers in which the final
1283         one was a two-digit number that happened to be a substring of
1284         a preceding four-digit year number, we would mistakenly update
1285         the substring (from two- to four-digit) rather than the two-digit
1286         number at the end, which, combined with the addition of the current
1287         4-digit year number would yield two 5-digit year numbers, e.g.,
1288         here, it would convert the first "99" to "1999, 2013" rather than
1289         the final one:
1290           1991, 99
1291           11999, 20131, 1999
1292         * build-aux/update-copyright: Tighten a regexp.
1293         * tests/test-update-copyright.sh: Add a test case to trigger the bug.
1294         Reported by Joseph Myers in
1295         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/32281
1296
1297 2013-01-01  Paul Eggert  <eggert@cs.ucla.edu>
1298
1299         regex: omit needless signed-pointer casts
1300         * lib/regcomp.c (build_charclass, build_charclass_op):
1301         Use char *, not unsigned char *, for class name and extra.
1302         The char values are always nonnegative so there's no need to
1303         insist on unsigned char * here, and using char * removes the need
1304         for casts.  Reported by Aharon Robbins in
1305         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1306
1307         regex: support Gawk, which never uses alloca
1308         * lib/regex_internal.h [!_LIBC && !HAVE_ALLOCA]:
1309         Do not include in this case.  Gawk doesn't supply a substitute
1310         alloca.h and doesn't need one.
1311
1312         regex: port __libc_lock_define usage to C89
1313         * lib/regex_internal.h (__libc_lock_define) [!_LIBC]: Remove.
1314         (struct re_dfa_t): Use #ifdef instead.  '__libc_lock_define (, lock)'
1315         does not conform to C89, as it has an empty macro argument.
1316         Reported by Aharon Robbins in
1317         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1318
1319 2013-01-01  Eric Blake  <eblake@redhat.com>
1320
1321         maint: update all copyright year number ranges
1322         Run "make update-copyright".
1323
1324         version-etc: bump copyright year reported in --version
1325         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2013.
1326
1327 2012-12-31  Eric Blake  <eblake@redhat.com>
1328
1329         sigprocmask-tests: skip test if pid is unexpectedly large
1330         * tests/test-sigprocmask.c (main): Add range check.
1331
1332         git-version-gen: avoid test -z portability glitch
1333         * build-aux/git-version-gen: Prefer portable test spelling, since
1334         git-version-gen is run on more than just developer machines.
1335
1336 2012-12-31  Peter Rosin  <peda@lysator.liu.se>  (tiny change)
1337
1338         git-version-gen: add --fallback option to use if git is not present
1339         * build-aux/git-version-gen: Add support for the new option --fallback,
1340         which comes into play when there is no $tarball_version_file and
1341         git is not working.
1342         (scriptversion): Update.
1343
1344         maint.mk: handle missing git with more grace
1345         * top/maint.mk (no-submodule-changes, public-submodule-commit):
1346         Quietly proceed if git is not present.
1347
1348 2012-12-31  Eric Blake  <eblake@redhat.com>
1349
1350         dup2: work around cygwin bug
1351         * m4/dup2.m4 (gl_FUNC_DUP2): Flush out cygwin core dump.
1352         * lib/dup2.c (rpl_dup2): Work around it.
1353         * doc/posix-functions/dup2.texi (dup2): Document it.
1354
1355 2012-12-30  Paul Eggert  <eggert@cs.ucla.edu>
1356
1357         regex: remove unnecessary dependency on localcharset.h
1358         * lib/regex_internal.h [!_LIBC]: Don't include localcharset.h;
1359         hasn't been needed for years.
1360         * modules/regex (Depends-on): Remove localcharset.
1361
1362         regex: revert single-byte change
1363         * lib/regexec.c (check_node_accept_bytes): Revert previous change
1364         to this function.  This was alredy fixed in a different way, at
1365         bdb56bacd57070eced9998569ffe3f3c37ef5964 in the glibc git; see
1366         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=510219> and
1367         <http://sourceware.org/bugzilla/show_bug.cgi?id=9697>.
1368
1369         regex: simplify based on Gawk version
1370         * lib/regex_internal.c (re_dfa_add_node): Simplify.
1371         Reported by Aharon Robbins in
1372         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1373
1374 2012-12-29  Paul Eggert  <eggert@cs.ucla.edu>
1375
1376         regex: check that pattern char is single-byte
1377         Reported by Aharon Robbins in
1378         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1379         * lib/regexec.c (check_node_accept_bytes):
1380         Return 0 if the pattern string has a multibyte character here.
1381
1382         regex: implement rational ranges
1383         Reported by Aharon Robbins in
1384         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1385         * lib/regcomp.c (build_range_exp) [!_LIBC]:
1386         * lib/regexec.c (check_node_accept_bytes) [!_LIBC]:
1387         Implement rational ranges.
1388
1389         regex: avoid redefining __wctype
1390         Reported by Aharon Robbins in
1391         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1392         * lib/regex_internal.h (__wctype, __iswctype) [!_LIBC]:
1393         #undef before defining.
1394
1395         regex: port to hosts where malloc (0) == NULL
1396         Reported by Aharon Robbins in
1397         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1398         * lib/regex_internal.c (re_node_set_alloc):
1399         Don't assume that malloc (0) yields nonnull.
1400         * lib/regex_internal.h (MALLOC_0_IS_NONNULL): New macro.
1401         * m4/regex.m4 (gl_PREREQ_REGEX): Require gl_EEMALLOC.
1402         * modules/regex (Files): Add m4/eealloc.m4.
1403
1404         regex: port to C89
1405         Reported by Aharon Robbins in
1406         <http://sourceware.org/ml/libc-alpha/2012-12/msg00456.html>.
1407         * lib/regcomp.c (init_word_char): Declaration before statement.
1408
1409         regex: merge glibc changes
1410         Also, copy the license wording from glibc.  This simplifies
1411         merging changes.  gnulib-tool will change the wording to GPL as
1412         appropriate, when importing it to other packages.  The only
1413         glibc change made since the last merge, which needs merging, is:
1414         2012-05-24 Andreas Schwab <schwab@linux-m68k.org>
1415         * lib/regex_internal.h (gettext): Remove use of INTUSE.
1416
1417         * users.txt: Add Emacs.
1418
1419         doc: omit mention of version when not needed
1420         * doc/gnulib-intro.texi (Portability and Application Code):
1421         * doc/gnulib.texi (Brief Overview, Legacy Function Substitutes):
1422         Don't mention particular dates or versions when not necessary, so
1423         that the documentation won't go out of date so quickly.
1424
1425         * doc/intprops.texi (Integer Properties): Fix Texinfo typo.
1426
1427 2012-12-28  Akim Demaille  <akim@lrde.epita.fr>
1428
1429         bootstrap: pass --force to autoreconf.
1430         * build-aux/bootstrap (AUTORECONFFLAGS): New.
1431         Add "--force" so that Automake's ylwrap and other such tools
1432         be updated at each bootstrap invocation.
1433         Use it.
1434
1435 2012-12-27  Paul Eggert  <eggert@cs.ucla.edu>
1436
1437         argp: fix port of port new 'inline' approach to Sun C 5.12 + Solaris 10
1438         The earlier patch forgot to update one of the #if conditions, causing
1439         a problem on Debian testing i386 reported by Mats Erik Andersson
1440         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00124.html>.
1441         * lib/argp-fmtstream.h (__argp_fmtstream_putc, argp_fmtstream_putc)
1442         (__argp_fmtstream_puts, argp_fmtstream_puts)
1443         (__argp_fmtstream_write, argp_fmtstream_write)
1444         [!_LIBC && !__OPTIMIZE__]: Declare as ARGP_FS_EI, not as extern.
1445
1446         * doc/gnulib-readme.texi: Minor fixups.
1447         (Portability guidelines): Modernize URLs.  Remove some repetition.
1448         (Indent with spaces not TABs): Reword to avoid too-long lines.
1449         Remove some '@ifset standalone' stuff that isn't used.
1450
1451         * doc/gnulib-readme.texi (Portability guidelines):
1452         ctype.h, not ctime.h.
1453
1454         Correct name of POSIX.1-2001.
1455         * doc/posix-functions/fgetc.texi (fgetc):
1456         * doc/posix-functions/fgets.texi (fgets):
1457         * doc/posix-functions/fread.texi (fread):
1458         * doc/posix-functions/fscanf.texi (fscanf):
1459         * doc/posix-functions/getc.texi (getc):
1460         * doc/posix-functions/getchar.texi (getchar):
1461         * doc/posix-functions/scanf.texi (scanf):
1462         POSIX.1-2001, not POSIX-2001.
1463
1464         doc: move README into manual
1465         * README: Move contents to new file doc/gnulib-readme.texi.
1466         Replace with a one-line summary.
1467         * doc/gnulib.texi (Brief Overview): New section,
1468         with old intro preface.  Include gnulib-readme.texi for contents.
1469         (Philosophy): Rename from "Introduction", since this
1470         section no longer introduces the rest.  Write a new preface.
1471         * doc/gnulib-readme.texi: New file, with the old contents of
1472         README texinfo-ized.  This way, the README info appears
1473         in the online and printed manual.
1474
1475 2012-12-25  Ben Pfaff  <blp@cs.stanford.edu>
1476
1477         c-xvasprintf: Fix "implicit declaration of function" GCC warning.
1478         * lib/c-xvasprintf.c: Add missing #include "c-vasprintf.h", for
1479         c_vasprintf() prototype.
1480
1481 2012-12-24  Ben Pfaff  <blp@cs.stanford.edu>
1482
1483         c-vasprintf: Fix "empty declaration" warning reported by GCC.
1484         * lib/c-vasprintf.h: Remove stray semicolon.
1485
1486 2012-12-23  Paul Eggert  <eggert@cs.ucla.edu>
1487
1488         gettext: avoid obsolete macro AM_PROG_MKDIR_P
1489         It is obsolete and is planned to be removed from Automake 1.14; see
1490         <http://lists.gnu.org/archive/html/automake/2012-12/msg00029.html>.
1491         * build-aux/po/Makefile.in.in (install-data, install-data-yes)
1492         (installdirs-data, installdirs-data-yes):
1493         Use $(MKDIR_P), not $(mkdir_p).
1494         * m4/intl.m4 (AM_INTL_SUBDIR):
1495         * m4/po.m4 (AM_PO_SUBDIRS):
1496         Require AC_PROG_MKDIR_P, not AM_PROG_MKDIR_P.
1497
1498 2012-12-22  Paul Eggert  <eggert@cs.ucla.edu>
1499
1500         argp: port new 'inline' approach to Sun C 5.12 + Solaris 10
1501         On this platform, we are not optimizing but we are using
1502         the substitute for extern inlines, so compile as if
1503         C99-style extern inline, or a substitute, is available.
1504         * lib/argp-fmtstream.h (argp_fmtstream_set_lmargin)
1505         (__argp_fmtstream_set_lmargin, argp_fmtstream_set_rmargin)
1506         (__argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin)
1507         (__argp_fmtstream_set_wmargin, argp_fmtstream_point)
1508         (__argp_fmtstream_point) [!_LIBC && !__OPTIMIZE__]:
1509         Declare as ARGP_FS_EI, not as extern.
1510         * lib/argp.h (argp_usage, __argp_usage, _option_is_short)
1511         (__option_is_short, _option_is_end, __option_is_end)
1512         [!_LIBC && __USE_EXTERN_INLINES]:
1513         Declare as ARGP_EI, not as extern.
1514
1515 2012-12-21  Paul Eggert  <eggert@cs.ucla.edu>
1516
1517         AC_PROG_MKDIR_P: port workaround to pre-2.62 Autoconf
1518         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P, AC_C_RESTRICT):
1519         Use m4_ifndef([AC_AUTOCONF_VERSION], ...), not
1520         m4_if(m4_version_compare(m4_defn([AC_AUTOCONF_VERSION]),[2.62]),[-1],
1521         ...), as the latter is fatal with older Autoconfs.
1522         Problem reported and fix suggested by Eric Blake in thread starting at
1523         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00097.html>.
1524
1525 2012-12-20  Paul Eggert  <eggert@cs.ucla.edu>
1526
1527         AC_PROG_MKDIR_P: don't workaround if not buggy
1528         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P):
1529         Define only for Autoconf versions before 2.62.
1530         (AC_C_RESTRICT): Use documented AC_AUTOCONF_VERSION, not
1531         undocumented m4_PACKAGE_VERSION, for consistency with the
1532         abovementioned change to AC_PROG_MKDIR_P.  This should suffice
1533         since we're checking for 2.62 or later, and AC_AUTOCONF_VERSION
1534         was introduced in 2.62.
1535
1536 2012-12-15  Ben Pfaff  <blp@cs.stanford.edu>
1537
1538         New 'c-*printf' modules for formatted output in C locale.
1539
1540         New module 'c-vasnprintf'.
1541         * modules/c-vasnprintf: New file.
1542         * lib/c-vasnprintf.c: New file.
1543         * lib/c-vasnprintf.h: New file.
1544
1545         New module 'c-snprintf'.
1546         * modules/c-snprintf: New file.
1547         * modules/c-snprintf-tests: New file.
1548         * lib/c-snprintf.c: New file.
1549         * lib/c-snprintf.h: New file.
1550         * tests/test-c-snprintf.c: New file.
1551         * tests/test-c-snprintf.sh: New file.
1552
1553         New module 'c-vsnprintf'.
1554         * modules/c-vsnprintf: New file.
1555         * modules/c-vsnprintf-tests: New file.
1556         * lib/c-vsnprintf.c: New file.
1557         * lib/c-vsnprintf.h: New file.
1558         * tests/test-c-vsnprintf.c: New file.
1559         * tests/test-c-vsnprintf.sh: New file.
1560
1561         New module 'c-vasprintf'.
1562         * modules/c-vasprintf: New file.
1563         * modules/c-vasprintf-tests: New file.
1564         * lib/c-asprintf.c: New file.
1565         * lib/c-vasprintf.c: New file.
1566         * lib/c-vasprintf.h: New file.
1567         * tests/test-c-vasprintf.c  +: New file.
1568         * tests/test-c-vasprintf.sh: New file.
1569
1570         New module 'c-xvasprintf'.
1571         * modules/c-xvasprintf: New file.
1572         * modules/c-xvasprintf-tests: New file.
1573         * lib/c-xasprintf.c: New file.
1574         * lib/c-xvasprintf.c: New file.
1575         * lib/c-xvasprintf.h: New file.
1576         * tests/test-c-xvasprintf.c: New file.
1577         * tests/test-c-xvasprintf.sh: New file.
1578
1579 2012-12-18  Paul Eggert  <eggert@cs.ucla.edu>
1580
1581         argp: better 'inline'
1582         Use extern-inline module to declare extern inline functions.
1583         This avoids some bogus warning diagnostics.  Problem discovered
1584         when modifying GNU tar to use the manywarnings module.
1585         * lib/argp.h, lib/argp-xinl.c (ARGP_EI) [!_LIBC]:
1586         * lib/argp-fmtstream.h, lib/argp-fs-xinl.c (ARGP_FS_EI) [!_LIBC]:
1587         Define based on extern-inline.
1588         * modules/argp (Depends-on): Add extern-inline.
1589
1590 2012-12-17  Paul Eggert  <eggert@cs.ucla.edu>
1591
1592         filemode, sys_stat: Handle MPX files a la AIX.
1593         * lib/filemode.c (ftypelet): Report 'm' for MPX files.
1594         * lib/sys_stat.in.h (S_ISMPX): New macro.
1595         * tests/test-sys_stat.c: Add tests for MPX files.
1596
1597 2012-12-16  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
1598
1599         x-to-1: honor $PERL
1600         * build-aux/x-to-1.in: Run $HELP2MAN via $PERL so that the user gets
1601         a chance to use his preferred version of Perl.  This is typically
1602         required by Darwin users whose default /usr/bin/perl does not have all
1603         the libraries required by help2man, and who need to use their MacPorts
1604         installation of Perl instead.
1605
1606 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1607
1608         gnu-web-doc-update: add all the new files, even in new directories
1609         See http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00057.html
1610         * build-aux/gnu-web-doc-update (--dry-run, $dryrun): New.
1611         Use it.
1612         (main): Don't use cvsutils to get the list of unknown files,
1613         just add all the existing files and directories.
1614
1615 2012-12-16  Akim Demaille  <akim@lrde.epita.fr>
1616
1617         gnu-web-doc-update: improve --help
1618         * build-aux/gnu-web-doc-update: Move comments into --help.
1619
1620 2012-12-07  Eric Wong  <normalperson@yhbt.net>
1621
1622         mountlist: recognize more "dummy" file systems
1623         * lib/mountlist.c (ME_DUMMY_0):
1624         Add these dummy FS names to the list:
1625         - "debugfs" virtual filesystem for kernel debugging
1626         - "devpts" PTY slave filesystem
1627         - "devtmpfs" device filesystem on top of tmpfs/ramfs
1628         - "fusectl" control filesystem for FUSE
1629         - "mqueue" enumerates POSIX message queues
1630         - "rpc_pipefs" kernel <-> userspace bridge for NFS
1631         - "sysfs" is for exporting kernel objects
1632         - "devfs" device filesystem for Linux 2.4 and FreeBSD
1633
1634 2012-12-11  Paul Eggert  <eggert@cs.ucla.edu>
1635
1636         extern-inline: avoid incompatibility with Darwin Libc
1637         * m4/extern-inline.m4 (_GL_INLINE, _GL_EXTERN_INLINE): Do not use
1638         extern inline if __APPLE__.  Use _GL_UNUSED in the non-inline branch.
1639         Problem reported by Akim Demaille in
1640         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00023.html>.
1641
1642 2012-12-11  Simon Josefsson  <simon@josefsson.org>
1643
1644         gnupload: Work with GnuPG using gpg-agent (for smartcards).
1645         * build-aux/gnupload: If GnuPG is configured to use gpg-agent,
1646         let it handle password prompting.
1647
1648 2012-12-10  Eli Zaretskii  <eliz@gnu.org>
1649
1650         canonicalize, canonicalize-lgpl: Microsoft Windows prefix fixes
1651         * lib/canonicalize.c (canonicalize_filename_mode):
1652         * lib/canonicalize-lgpl.c (__realpath): Recompute prefix_len after
1653         fetching the current directory.  Don't overrun the beginning of
1654         rpath if there's no slashes after the MS-Windows drive letter.
1655
1656 2012-12-08  Stefano Lattarini  <stefano.lattarini@gmail.com>
1657
1658         maint.mk: avoid extra forks
1659         * top/maint.mk (_cfg_mk): The GNU make manual documents that
1660         "$(wildcard FILE)" expands to empty if FILE doesn't exist.
1661         So use that instead of "$(shell test -f FILE && echo FILE)".
1662
1663 2012-12-07  Paul Eggert  <eggert@cs.ucla.edu>
1664
1665         vasnprintf: fix ASCII_ONLY typo
1666         * lib/unistdio/u8-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1667         * lib/unistdio/u16-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1668         * lib/unistdio/u32-vasnprintf.c (FCHAR_T_ONLY_ASCII):
1669         New macro, replacing ASCII_ONLY.  This fixes a typo.  See thread at
1670         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00021.html>.
1671
1672 2012-12-05  Paul Eggert  <eggert@cs.ucla.edu>
1673
1674         list, oset, xlist, xoset: fix extern inline issue with C99
1675         This was introduced by my recent changes for 'inline'.
1676         Problem reported for gettext by Daiki Ueno in
1677         <http://lists.gnu.org/archive/html/bug-gnulib/2012-12/msg00000.html>.
1678         * lib/gl_list.h (gl_list_nx_create_empty, gl_list_create)
1679         (gl_list_nx_create, gl_list_size, gl_list_node_value)
1680         (gl_list_node_set_value, gl_list_node_nx_set_value, gl_list_next_node)
1681         (gl_list_previous_node, gl_list_get_at)
1682         (gl_list_nx_set_at, gl_list_search, gl_list_search_from)
1683         (gl_list_search_from_to, gl_list_indexof, gl_list_indexof_from)
1684         (gl_list_indexof_from_to, gl_list_nx_add_first, gl_list_nx_add_last)
1685         (gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at)
1686         (gl_list_remove_node, gl_list_remove_at, gl_list_remove, gl_list_free)
1687         (gl_list_iterator, gl_list_iterator_from_to, gl_list_iterator_next)
1688         (gl_list_iterator_free, gl_sortedlist_search)
1689         (gl_sortedlist_search_from_to, gl_sortedlist_indexof)
1690         (gl_sortedlist_indexof_from_to, gl_sortedlist_add, gl_sortedlist_nx_add)
1691         (gl_sortedlist_remove):
1692         * lib/gl_oset.h (go_oset_nx_create_empty, gl_oset_size, gl_oset_search)
1693         (gl_oset_search_atleast, gl_oset_nx_add, gl_oset_remove, gl_oset_free)
1694         (gl_oset_iterator, gl_oset_iterator_next, gl_oset_iterator_free):
1695         * lib/gl_xlist.h (gl_list_create_empty, gl_list_create)
1696         (gl_list_node_set_value, gl_list_set_at, gl_list_add_first)
1697         (gl_list_add_last, gl_list_add_before, gl_list_add_after)
1698         (gl_list_add_at, gl_sortedlist_add):
1699         * lib/gl_xoset.h (gl_oset_create_empty, gl_oset_add):
1700         Wrap these extern decls inside "#if 0", because they are implemented
1701         as inline functions, and extern inline is not what's wanted here.
1702         It would simplify these .h files to remove the extern decls entirely,
1703         although a downside would be less-clear separation between
1704         specification and implementation.
1705
1706 2012-11-29  Paul Eggert  <eggert@cs.ucla.edu>
1707
1708         sys_stat: no 'static inline'
1709         * lib/sys_stat.in.h (rpl_mkdir): Now static, not static inline.
1710         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Do not require AC_C_INLINE.
1711
1712         extern-inline: no 'static inline'
1713         * m4/extern-inline.m4 (gl_EXTERN_INLINE):
1714         Do not require AC_C_INLINE.
1715         (_GL_INLINE, _GL_EXTERN_INLINE): Define as 'static', not as
1716         'static inline', for older compilers.
1717
1718         snippet/warn-on-use: no 'static inline'
1719         * build-aux/snippet/warn-on-use.h:
1720         Remove unnecessary 'inline' in comment.
1721
1722         rbtree-list, rbtreehash-list: no 'static inline'
1723         * lib/gl_anyrbtree_list2.h (rotate_left, rotate_right):
1724         * lib/gl_anytree_list2.h (node_at):
1725         * lib/gl_anytreehash_list1.h (hash_resize_after_add)
1726         (gl_oset_first, add_nodes_to_buckets):
1727         Now static, not static inline.
1728
1729         regex: no 'static inline'
1730         * lib/regex_internal.c (calc_state_hash):
1731         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain)
1732         (bitset_empty, bitset_set_all, bitset_copy, bitset_not, bitset_merge)
1733         (bitset_mask, re_string_char_size_at, re_string_wchar_at):
1734         Now static, not static inline.
1735         (inline) [__GNUC__ < 3 && _LIBC]:
1736         Remove macro; no longer needed.
1737
1738         xvasprintf: no 'static inline'
1739         * lib/xvasprintf.c (xstrcat):
1740         Now static, not static inline.
1741         * m4/xvasprintf.m4 (gl_XVASPRINTF):
1742         Do not require AC_C_INLINE.
1743
1744         parse-datetime, parse-duration: no 'static inline'
1745         * lib/parse-datetime.y (to_uchar):
1746         * lib/parse-duration.c (str_const_to_ul, str_const_to_l)
1747         (scale_n_add):
1748         Now static, not static inline.
1749         * m4/parse-datetime.m4 (gl_PARSE_DATETIME):
1750         * modules/parse-duration (configure.ac):
1751         Do not require AC_C_INLINE.
1752
1753         getaddrinfo: no 'static inline'
1754         * lib/getaddrinfo.c (validate_family):
1755         Now static, not static inline.
1756         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO):
1757         Do not require AC_C_INLINE.
1758
1759         ftruncate, fts, lstat, openat, raise: no 'static inline'
1760         * lib/ftruncate.c (chsize_nothrow):
1761         * lib/fts.c (opendirat, diropen):
1762         * lib/lstat.c (orig_lstat):
1763         * lib/openat.c (orig_openat):
1764         * lib/raise.c (raise_nothrow):
1765         Now static, not static inline.
1766         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE):
1767         * m4/fts.m4 (gl_FUNC_FTS_CORE):
1768         * m4/lstat.m4 (gl_PREREQ_LSTAT):
1769         * m4/openat.m4 (gl_PREREQ_OPENAT):
1770         * m4/raise.m4 (gl_PREREQ_RAISE):
1771         Do not require AC_C_INLINE.
1772
1773         fflush, stat: no 'static inline'
1774         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
1775         (clear_ungetc_buffer, disable_seek_optimization)
1776         (restore_seek_optimization, update_fpos_cache):
1777         * lib/stat.c (orig_stat):
1778         Now static, not static inline.
1779         * lib/fflush.c (disable_seek_optimization, restore_seek_optimization)
1780         (update_fpos_cache):
1781         Define only if ! (defined _IO_ftrylockfile || __GNU_LIBRARY__ == 1).
1782         * m4/fflush.m4 (gl_PREREQ_FFLUSH):
1783         * m4/stat.m4 (gl_PREREQ_STAT):
1784         Do not require AC_C_INLINE.
1785
1786         error, filevercmp: no 'static inline'
1787         * lib/error.c (is_open, flush_stdout):
1788         * lib/filevercmp.c (order):
1789         Now static, not static inline.
1790         * m4/error.m4 (gl_PREREQ_ERROR):
1791         * modules/filevercmp (configure.ac):
1792         Do not require AC_C_INLINE.
1793
1794         dup, execute, fatal-signal, etc.: no 'static inline'
1795         * lib/dup.c (dup_nothrow):
1796         * lib/execute.c (nonintr_close, nonintr_open):
1797         * lib/fatal-signal.c (uninstall_handlers, install_handlers):
1798         * lib/fopen.c (orig_fopen):
1799         * lib/freadseek.c (freadptrinc):
1800         * lib/freopen.c (orig_freopen):
1801         * lib/fstat.c (orig_fstat, fstat_nothrow):
1802         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit)
1803         (get_rusage_as_via_iterator):
1804         * lib/get-rusage-data.c (get_rusage_data_via_setrlimit):
1805         * lib/getdtablesize.c (_setmaxstdio_nothrow):
1806         * lib/isatty.c (_isatty_nothrow):
1807         * lib/open.c (orig_open):
1808         * lib/read.c (read_nothrow):
1809         * lib/sigprocmask.c (signal_nothrow):
1810         * lib/spawn-pipe.c (nonintr_close, nonintr_open):
1811         * lib/vasnprintf.c (MAX_ROOM_NEEDED):
1812         * lib/wait-process.c (unregister_slave_subprocess):
1813         * lib/write.c (write_nothrow):
1814         Now static, not static inline.
1815         * lib/spawn-pipe.c (nonintr_open): Define only if
1816         (defined _WIN32 || defined __WIN32__) && ! defined __CYGWIN__.
1817         * m4/dup.m4 (gl_PREREQ_DUP):
1818         * m4/execute.m4 (gl_EXECUTE):
1819         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL):
1820         * m4/fopen.m4 (gl_PREREQ_FOPEN):
1821         * m4/freadseek.m4 (gl_FUNC_FREADSEEK):
1822         * m4/freopen.m4 (gl_PREREQ_FREOPEN):
1823         * m4/fstat.m4 (gl_PREREQ_FSTAT):
1824         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE):
1825         * m4/isatty.m4 (gl_PREREQ_ISATTY):
1826         * m4/open.m4 (gl_PREREQ_OPEN):
1827         * m4/read.m4 (gl_PREREQ_READ):
1828         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK):
1829         * m4/spawn-pipe.m4 (gl_SPAWN_PIPE):
1830         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF):
1831         * m4/wait-process.m4 (gl_WAIT_PROCESS):
1832         * m4/write.m4 (gl_PREREQ_WRITE):
1833         * modules/get-rusage-as, modules/get-rusage-data (configure.ac):
1834         Do not require AC_C_INLINE.
1835
1836         c-strtod, memcoll, readutmp: no 'static inline'
1837         * lib/c-strtod.c (c_locale):
1838         * lib/memcoll.c (strcoll_loop):
1839         * lib/readutmp.c (desirable_utmp_entry):
1840         Now static, not static inline.
1841         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD):
1842         * m4/memcoll.m4 (gl_MEMCOLL):
1843         * m4/readutmp.m4 (gl_READUTMP):
1844         Do not require AC_C_INLINE.
1845
1846         arctwo, md4, md5, sha1, sha256, sha512: no 'static inline'
1847         * lib/arctwo.c (to_uchar):
1848         * lib/md4.c (set_uint32):
1849         * lib/md5.c (set_uint32):
1850         * lib/sha1.c (set_uint32):
1851         * lib/sha256.c (set_uint32):
1852         * lib/sha512.c (set_uint64):
1853         Now static, not static inline.  This is a bit simpler, and doesn't
1854         affect performance with GCC and default optimization.
1855         * m4/arctwo.m4 (gl_ARCTWO):
1856         * m4/md4.m4 (gl_MD4):
1857         * m4/md5.m4 (gl_MD5):
1858         * m4/sha1.m4 (gl_SHA1):
1859         * m4/sha256.m4 (gl_SHA256):
1860         * m4/sha512.m4 (gl_SHA512):
1861         Do not require AC_C_INLINE.
1862
1863         cond, lock, thread: better 'inline'
1864         * lib/glthread/cond.c, lib/glthread/cond.h (_GLTHREAD_COND_INLINE):
1865         * lib/glthread/thread.c, lib/glthread/thread.h (_GLTHREAD_THREAD_INLINE):
1866         New macros.  Use them instead of static inline, for header functions.
1867         * lib/glthread/cond.c (gl_waitqueue_init, gl_waitqueue_remove)
1868         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1869         * lib/glthread/lock.c (gl_waitqueue_init)
1870         (gl_waitqueue_notify_first, gl_waitqueue_notify_all):
1871         * lib/glthread/thread.c (get_current_thread_handle):
1872         Change 'static inline' to 'inline'.
1873         * lib/glthread/cond.h, lib/glthread/thread.h:
1874         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1875         * m4/cond.m4 (gl_COND):
1876         * m4/lock.m4 (gl_PREREQ_LOCK):
1877         * m4/thread.m4 (gl_THREAD):
1878         Do not require AC_C_INLINE.
1879         * modules/cond, modules/thread (Depends-on): Add extern-inline.
1880
1881         chdir-long, cycle-check, savewd: better 'inline'
1882         * lib/chdir-long.c (cdb_init, cdb_fchdir, cdb_free)
1883         (find_non_slash):
1884         * lib/cycle-check.c (is_zero_or_power_of_two):
1885         * lib/savewd.c (savewd_delegating):
1886         Change 'static inline' to 'inline'.
1887         * lib/savewd.c, lib/savewd.h (SAVEWD_INLINE): New macro.
1888         Replace all remaining uses of 'static inline' with it.
1889         * lib/savewd.h:
1890         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1891         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG):
1892         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
1893         * m4/savewd.m4 (gl_SAVEWD):
1894         Do not require AC_C_INLINE.
1895         * modules/savewd (Depends-on): Add extern-inline.
1896
1897         base32, base64: no need for 'inline'
1898         * lib/base32.c (to_uchar, get_8, decode_8):
1899         * lib/base64.c (to_uchar, get_4, decode_4):
1900         Change 'static inline' to 'inline'.
1901         * m4/base32.m4 (gl_PREREQ_BASE32):
1902         * m4/base64.m4 (gl_PREREQ_BASE64):
1903         Do not require AC_C_INLINE.
1904
1905         array-oset, linkedhash-list, rbtree-oset: no need for 'inline'
1906         * lib/gl_array_oset.c (gl_array_nx_add_at):
1907         (gl_array_remove_at):
1908         * lib/gl_linkedhash_list.c (hash_resize_after_add)
1909         (add_to_bucket, remove_from_bucket):
1910         * lib/gl_rbtree_oset.c (rotate_left, rotate_right):
1911         Change 'static inline' to 'static', as it's simpler to omit
1912         'inline' unless there's a significant performance advantage.
1913
1914         list, oset, xlist, xoset, xsublist: simplify via extern inline
1915         * lib/gl_list.h, lib/gl_list.c (GL_LIST_INLINE):
1916         * lib/gl_oset.c, lib/gl_oset.h (GL_OSET_INLINE):
1917         * lib/gl_xlist.c, lib/gl_xlist.h (GL_XLIST_INLINE):
1918         * lib/gl_xoset.c, lib/gl_xoset.h (GL_XOSET_INLINE):
1919         * lib/gl_xsublist.c, lib/gl_xsublist.h (GL_XSUBLIST_INLINE):
1920         New macro.  Replace all uses of 'static inline' with it.
1921         [HAVE_INLINE]: Implement functions as *_INLINE functions,
1922         instead of as macros FOO that are defined to static inline
1923         functions FOO_inline.
1924         * lib/gl_list.c, lib/gl_oset.c, lib/gl_xlist.c, lib/gl_xoset.c:
1925         * lib/gl_xsublist.c:
1926         Reimplement from scratch, by defining the corresponding *_INLINE
1927         macro and including the corresponding .h file.  This is simpler.
1928         * modules/list, modules/oset, modules/xlist, modules/xoset:
1929         (Files): Remove m4/gl_list.m4.
1930         (configure.ac): Remove gl_LIST.
1931         * m4/gl_list.m4: Remove.
1932         * modules/list, modules/oset, modules/xlist, modules/xoset:
1933         * modules/xsublist:
1934         (Depends-on): Depend on extern-inline, not inline.
1935
1936         xalloc: better 'inline'
1937         * lib/xmalloc.c, lib/xalloc.h (XALLOC_INLINE):
1938         New macro.  Replace all uses of 'static inline' with it.
1939         (static_inline): Remove.
1940         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
1941         Let 'extern inline' do the work automatically, instead of doing
1942         it by hand.
1943         * m4/xalloc.m4 (gl_PREREQ_XALLOC, gl_PREREQ_XMALLOC):
1944         Remove.  All uses removed.
1945         * modules/xalloc (Depends-on): Remove 'inline'.  Add 'extern-inline'.
1946
1947         gethrxtime: better 'inline'
1948         * lib/xtime.c: New file.
1949         * lib/gethrxtime.c, lib/gethrxtime.h (GETHRXTIME_INLINE):
1950         * lib/xtime.h (XTIME_INCLUDE):
1951         New macros.  Replace all uses of 'static inline' with them.
1952         * lib/gethrxtime.c (gethrxtime): Define only if
1953         ! (HAVE_ARITHMETIC_HRTIME_T && HAVE_DECL_GETHRTIME), since
1954         this source file is now always compiled, because of the extern inline.
1955         * lib/gethrxtime.h, lib/xtime.h:
1956         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1957         * m4/gethrxtime.m4 (gl_GETHRXTIME): Do not check for clock macros
1958         if gethrtime works, as they're not needed in that case.
1959         (gl_XTIME): Do not require AC_C_INLINE.
1960         (gl_PREREQ_GETHRXTIME): Remove; all uses removed, as it's always
1961         compiled now.  Move the check into gl_GETHRXTIME.
1962         * modules/gethrxtime (Files, lib_SOURCES): Add lib/xtime.c.
1963         (Depends-on): Add extern-inline.
1964         (configure.ac): gethrxtime is always compiled now.
1965         (lib_SOURCES): Add gethrxtime.c.
1966
1967         wctype-h: better 'inline'
1968         * lib/wctype-h.c: New file.
1969         * lib/wctype.in.h (_GL_WCTYPE_INLINE):
1970         New macro.  Replace all uses of 'static inline' with it.
1971         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1972         * m4/wctype_h.m4 (gl_WCTYPE_H): Do not require AC_C_INLINE.
1973         * modules/wctype-h (Files, lib_SOURCES): Add lib/wctype-h.c.
1974         (Depends-on): Add extern-inline.
1975
1976         unistd: better 'inline'
1977         * lib/unistd.c: New file.
1978         * lib/unistd.in.h (_GL_UNISTD_INLINE):
1979         New macro.  Replace all uses of 'static inline' with it.
1980         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1981         * m4/unistd_h.m4 (gl_UNISTD_H): Do not require AC_C_INLINE.
1982         * modules/unistd (Files, lib_SOURCES): Add lib/unistd.c.
1983         (Depends-on): Add extern-inline.
1984
1985         sys_socket: better 'inline'
1986         * lib/sys_socket.c: New file.
1987         * lib/sys_socket.in.h (_GL_SYS_SOCKET_INLINE):
1988         New macro.  Replace all uses of 'static inline' with it.
1989         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1990         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Do not require AC_C_INLINE.
1991         * modules/sys_socket (Files, lib_SOURCES): Add lib/sys_socket.c.
1992         (Depends-on): Add extern-inline.
1993
1994         stdio: better 'inline'
1995         * lib/stdio.c: New file.
1996         * lib/stdio.in.h (_GL_STDIO_INLINE):
1997         New macro.  Replace all uses of 'static inline' with it.
1998         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
1999         * m4/stdio_h.m4 (gl_STDIO_H): Do not require AC_C_INLINE.
2000         * modules/stdio (Files, lib_SOURCES): Add lib/stdio.c.
2001         (Depends-on): Add extern-inline.
2002
2003         sigaction: better 'inline'
2004         * lib/sig-handler.c: New file.
2005         * lib/sig-handler.h (SIG_HANDLER_INLINE):
2006         New macro.  Replace all uses of 'static inline' with it.
2007         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2008         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): Do not require AC_C_INLINE.
2009         * modules/sigaction (Files, lib_SOURCES): Add lib/sig-handler.c.
2010         (Depends-on): Add extern-inline.
2011
2012         selinux-h: better 'inline'
2013         * lib/se-context.c, lib/se-selinux.c: New files.
2014         * lib/getfilecon.c (map_to_failure): Omit 'inline' for static function.
2015         * lib/se-context.in.h (SE_CONTEXT_INLINE):
2016         New macro.  Replace all uses of 'static inline' with it.
2017         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2018         * lib/se-selinux.in.h (SE_SELINUX_INLINE):
2019         New macro.  Replace all uses of 'static inline' with it.
2020         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2021         * modules/selinux-h (Files, lib_SOURCES):
2022         Add lib/se-context.c, lib/se-selinux.c.
2023         (Depends-on): Add extern-inline.
2024         (configure.ac): Do not require AC_C_INLINE.
2025
2026         pthread: better 'inline'
2027         * lib/pthread.c: New file.
2028         * lib/pthread.in.h (_GL_PTHREAD_INLINE):
2029         New macro.  Replace all uses of 'static inline' with it.
2030         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2031         * m4/pthread.m4 (gl_PTHREAD_CHECK):
2032         Add AC_LIBOBJ([pthread]).  Do not require AC_C_INLINE.
2033         * modules/pthread (Files): Add lib/pthread.c.
2034         (Depends-on): Add extern-inline.
2035
2036         math: better 'inline'
2037         * lib/math.c: New file.
2038         * lib/math.in.h (_GL_MATH_INLINE):
2039         New macro.  Replace all uses of 'static inline' with it.
2040         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2041         * m4/math_h.m4 (gl_MATH_H):
2042         Do not require AC_C_INLINE.
2043         * modules/math (Files, lib_SOURCES):
2044         Add lib/math.c.
2045         (Depends-on): Add extern-inline.
2046
2047         count-one-bits: better 'inline'
2048         * lib/count-one-bits.c: New file.
2049         * lib/count-one-bits.h (COUNT_ONE_BITS_INLINE):
2050         New macro.  Replace all uses of 'static inline' with it.
2051         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2052         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS):
2053         Do not require AC_C_INLINE.
2054         * modules/count-one-bits (Files, lib_SOURCES):
2055         Add lib/count-one-bits.c.
2056         (Depends-on): Add extern-inline.
2057
2058         count-leading-zeros: better 'inline'
2059         * lib/count-leading-zeros.c: New file.
2060         * lib/count-leading-zeros.h (COUNT_LEADING_ZEROS_INLINE):
2061         New macro.  Replace all uses of 'static inline' with it.
2062         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2063         * m4/count-leading-zeros.m4 (gl_COUNT_LEADING_ZEROS):
2064         Do not require AC_C_INLINE.
2065         * modules/count-leading-zeros (Files, lib_SOURCES):
2066         Add lib/count-leading-zeros.c.
2067         (Depends-on): Add extern-inline.
2068
2069         bitrotate: better 'inline'
2070         * lib/bitrotate.c: New file.
2071         * lib/bitrotate.h (BITROTATE_INLINE):
2072         New macros.
2073         Replace all uses of 'static inline' with them.
2074         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2075         * modules/bitrotate (Files, lib_SOURCES): Add lib/bitrotate.c.
2076         (Depends-on): Add extern-inline.
2077         (configure.ac): Do not require AC_C_INLINE.
2078
2079 2012-11-20  Theophile Ranquet <ranquet@lrde.epita.fr>
2080
2081         maint.mk: avoid gratuitous failure
2082         Reported by Stefano Lattarini in
2083         <http://lists.gnu.org/archive/html/bug-bison/2012-11/msg00022.html>
2084         * top/maint.mk (public-submodule-commit): Quote more safely.
2085
2086 2012-11-20  Eli Zaretskii  <eliz@gnu.org>
2087
2088         canonicalize, canonicalize-lgpl: support MS-Windows file names
2089         See <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00074.html>
2090         for test cases, which it'd be nice to add at some point.
2091         * lib/canonicalize.c, lib/canonicalize-lgpl.c: Include dosname.h.
2092         * lib/canonicalize.c (canonicalize_filename_mode):
2093         * lib/canonicalize-lgpl.c (__realpath):
2094         Use FILE_SYSTEM_PREFIX_LEN instead of assuming that the first
2095         slash is at the beginning of the file name.  Use ISSLASH, instead
2096         of a literal '/'.  Use IS_ABSOLUTE_FILE_NAME instead of comparing
2097         the first character with '/'.  Test for
2098         DOUBLE_SLASH_IS_DISTINCT_ROOT only if the file name does not begin
2099         with a drive letter.
2100         * lib/canonicalize.c (SLASHES): New macro.
2101         (canonicalize_filename_mode): Use SLASHES instead of a literal "/".
2102
2103 2012-11-17  Dmitry V. Levin  <ldv@altlinux.org>
2104
2105         fts: introduce FTS_VERBATIM
2106         * lib/fts_.h (FTS_VERBATIM): New bit flag.
2107         (FTS_OPTIONMASK, FTS_NAMEONLY, FTS_STOP): Adjust.
2108         * lib/fts.c (fts_open): Honor it.
2109
2110 2012-11-09  Pádraig Brady  <P@draigBrady.com>
2111
2112         getlogin-tests: allow errno == ENXIO
2113         * tests/test-getlogin.c (main): Skip tests if getlogin fails
2114         with errno == ENXIO (No controlling tty).
2115         getlogin_r-tests: Likewise. Also allow errno == ENOENT
2116         * tests/test-getlogin_r.c (main): Skip tests if getlogin_r fails
2117         with errno == ENOENT.  This was reported to happen in various
2118         situations on GNU/Linux.
2119
2120 2012-11-09  Paul Eggert  <eggert@cs.ucla.edu>
2121
2122         getlogin-tests: allow errno == ENOENT
2123         * tests/test-getlogin.c (main): Skip tests if getlogin fails
2124         with errno == ENOENT.  This happened to me on Ubuntu 12.04.1 x86,
2125         when running a test in an Emacs shell buffer.
2126
2127 2012-11-08  Jim Meyering  <jim@meyering.net>
2128
2129         tests/nap.h: avoid warning about unused variable
2130         * tests/nap.h (nap_works): Remove now-unused declaration of "result".
2131
2132         prefix-gnulib-mk: avoid overzealous "lib/"-prefix addition
2133         * build-aux/prefix-gnulib-mk (prefix): Tighten a regexp to require
2134         white space before each of the special-cased file names, to avoid
2135         adding "lib/" after $(libdir)/.  Reported by Matias A. fonzo
2136         in http://bugs.gnu.org/12830.
2137
2138 2012-11-08  Paul Eggert  <eggert@cs.ucla.edu>
2139
2140         fcntl-h: default O_SEARCH, O_EXEC back to O_RDONLY
2141         O_PATH doesn't work with Linux kernel 3.6.5, as fchmod (fd, ...)
2142         fails with errno == EBADF when fd is opened with O_PATH.
2143         Reported by Jim Meyering in
2144         <http://lists.gnu.org/archive/html/bug-gnulib/2012-11/msg00026.html>.
2145         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
2146         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default back to O_RDONLY.
2147
2148 2012-11-07  Paul Eggert  <eggert@cs.ucla.edu>
2149
2150         test-utimens: speed up by taking shorter naps
2151         * tests/nap.h (lt_mtime, get_mtime, nap_works, guess_delay):
2152         New functions.
2153         (nap): Use them, to do a better job of guessing the delay.
2154         On Fedora 17 with ext4 atop md atop hard disks, this made
2155         test-utimens run 10x faster, because the test napped for
2156         1 ms at a time rather than 20 ms.  Reported by Stefano Lattarini in
2157         <http://bugs.gnu.org/12820#11>.
2158
2159 2012-11-07  Jim Meyering  <jim@meyering.net>
2160
2161         mountlist.c: fix a compilation failure
2162         * lib/mountlist.c (read_file_system_list): Fix a compilation failure
2163         I introduced while transforming commit v0.0-7683-g613bcb6
2164
2165 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
2166
2167         errno: port to LynxOS 178 2.2.2
2168         Problem reported by Joel Brobecker in
2169         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00088.html>.
2170         * doc/posix-headers/errno.texi (errno.h): Document this.
2171         * lib/errno.in.h (EILSEQ, GNULIB_defined_EILSEQ) [!EILSEQ]: New macros.
2172         * lib/strerror-override.c, lib/strerror-override.h (strerror_override):
2173         Supply a string for EILSEQ.
2174         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Check for EILSEQ.
2175
2176 2012-11-05  Paul Eggert  <eggert@cs.ucla.edu>
2177
2178         fcntl-h: default O_SEARCH, O_EXEC to O_PATH if available
2179         Linux kernel 2.6.39 introduced O_PATH (see
2180         <http://lwn.net/Articles/433854/>) and this is a better fallback
2181         for O_SEARCH and O_EXEC than O_RDONLY, if O_PATH is available.
2182         * doc/posix-headers/fcntl.texi (fcntl.h): Document this.
2183         * lib/fcntl.in.h (O_EXEC, O_SEARCH) [O_PATH]: Default to O_PATH.
2184         * lib/fcntl.in.h (O_ACCMODE):
2185         * tests/test-fcntl-h.c (main):
2186         Do not reject O_ACCMODE merely because it has more than the
2187         minimal number of bits, as POSIX allows extensions here.
2188
2189 2012-11-04  Andrew Warshall  <warshall@99main.com>  (tiny change)
2190
2191         mountlist: do not classify a bind-mounted dir entry as "dummy"
2192         * lib/mountlist.c (ME_DUMMY_0): Rename from ME_DUMMY, but omit
2193         the "none"-testing clause.
2194         (ME_DUMMY) [MOUNTED_GETMNTENT1]: New macro to encapsulate the
2195         exception for bind-mounted directories.
2196
2197 2012-11-01  Akim Demaille  <akim@lrde.epita.fr>
2198
2199         quote: provide a means to escape strings with nul characters
2200         * lib/quote.h, lib/quotearg.c (quote_mem, quote_n_mem): New functions.
2201         (quote, quote_n): Rename formal arguments for consistency with
2202         quotearg.
2203
2204 2012-10-30  Paul Eggert  <eggert@cs.ucla.edu>
2205
2206         test-raise: don't assume 199 is an invalid signal
2207         * tests/test-raise.c (main): Don't assume 199 is not a signal number.
2208
2209         sh-quote-tests: port to Solaris 9
2210         * modules/sh-quote-tests (test_sh_quote_LDADD): Add @LIBINTL@.
2211         Problem reported by Dagobert Michelsen in
2212         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00114.html>.
2213
2214 2012-10-28  Jim Meyering  <jim@meyering.net>
2215
2216         maint.mk: rename a new configurable variable
2217         * top/maint.mk (_gl_translatable_string_re): Rename from
2218         translation-markers: _gl_ prefix to insulate from user Makefile code,
2219         and the _re suffix to inform that it's a regular expression.
2220
2221 2012-10-26  Eric Blake  <eblake@redhat.com>
2222
2223         maint.mk: let packages tweak sc_po_check pattern
2224         * top/maint.mk (sc_po_check): Add translation-markers, to allow
2225         finding files with other translation markers.
2226
2227 2012-10-16  Paul Eggert  <eggert@cs.ucla.edu>
2228
2229         euidaccess: speed up 'configure' on GNU hosts
2230         * m4/euidaccess.m4 (gl_FUNC_NONREENTRANT_EUIDACCESS):
2231         Check for setregid here, not in gl_PREREQ_EUIDACCESS, since
2232         it's needed only in this case.  Use AC_CHECK_DECLS, not
2233         AC_CHECK_DECLS_ONCE.
2234         (gl_PREREQ_EUIDACCESS): Do not use AC_CHECK_HEADERS_ONCE libgen.h
2235         or AC_REQUIRE for AC_FUNC_GETGROUPS.
2236
2237         * lib/regexec.c (re_search_internal): Fix grammar in comment.
2238
2239 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
2240
2241         fchmodat, fchownat, fstatat: port to non-inlining compilers
2242         Problem reported for FreeBSD 9 by Jim Meyering in
2243         <http://lists.gnu.org/archive/html/bug-gnulib/2012-10/msg00070.html>.
2244         * lib/chmodat.c, lib/chownat.c, lib/statat.c:
2245         New files, which define FCHMODAT_INLINE etc.
2246         * lib/fchmodat.c (FCHMODAT_INLINE):
2247         * lib/fchownat.c (FCHOWNAT_INLINE):
2248         * lib/fstatat.c (FSTATAT_INLINE):
2249         Remove, as chmodat.c etc. now do this.
2250         * modules/fchmodat (Files): Add lib/chmodat.c.
2251         * modules/fchownat (Files): Add lib/chownat.c.
2252         * modules/fstatat (Files): Add lib/statat.c.
2253
2254 2012-10-15  Jim Meyering  <jim@meyering.net>
2255
2256         fchmodat.c, fchownat.c: compile-impeding typos
2257         * lib/fchmodat.c (FCHMODAT_INLINE): Fix typo: s/#include/#define/
2258         * lib/fchownat.c (FCHOWNAT_INLINE): Likewise.
2259         Introduced in commit v0.0-7636-gd202279.
2260
2261 2012-10-15  Paul Eggert  <eggert@cs.ucla.edu>
2262
2263         fcntl-h: support GNU flags like O_IGNORE_CTTY
2264         * doc/posix-headers/fcntl.texi (fcntl.h): Support O_IGNORE_CTTY,
2265         O_NOLINK, and O_NOTRANS.  These flags are nonzero on GNU/Hurd
2266         systems.  Discovered when using fcntl-h with GNU Emacs, which uses
2267         O_IGNORE_CTTY.  Fix misspelling of F_SETLKW.
2268         * lib/fcntl.in.h (O_IGNORE_CTTY, O_NOLINK, O_NOTRANS):
2269         Define to 0 if not already defined.
2270         * tests/test-fcntl-h.c: Test these new flags.
2271
2272 2012-10-14  Paul Eggert  <eggert@cs.ucla.edu>
2273
2274         faccessat, etc.: support AT_FDCWD-only use
2275         * lib/at-func.c: If GNULIB_SUPPORT_ONLY_AT_FDCWD, then support
2276         this function only if its first argument is AT_FDCWD.
2277         Emacs wants faccessat for AT_EACCESS but not for any first-arg
2278         values other than AT_FDCWD, so it doesn't want all the openat
2279         machinery with fchdir etc.
2280         * modules/faccessat, modules/fchmodat, modules/fchownat (Files):
2281         * modules/fstatat, modules/mkdirat, modules/openat (Files):
2282         * modules/unlinkat (Files):
2283         Remove lib/openat-priv.h, as at-internal supplies this file.
2284         Removing this file here allows us to support programs like Emacs
2285         that avoid at-internal.
2286
2287         faccessat: speed up 'configure' on mainstream hosts
2288         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT):
2289         Use AT_CHECK_FUNCS for 'access', not AC_CHECK_FUNCS_ONCE,
2290         since it's only on unusual platforms that we need to check for
2291         'access', and it's better not to slow 'configure' down on all
2292         platforms.
2293
2294         faccessat: port to Solaris 10
2295         * lib/faccessat.c: Include <fcntl.h>, for AT_EACCESS.
2296         Needed on Solaris 10, which doesn't have AT_EACCESS,
2297         so we need the Gnulib fcntl.h, which defines it.
2298
2299 2012-10-14  Pádraig Brady  <P@draigBrady.com>
2300         canonicalize: fix C89 compilation
2301         * lib/canonicalize.c (canonicalize_filename_mode): Swap order of
2302         declarations so C89 is supported.  Also remove the comment
2303         referencing memorty allocation as the suggested feature could
2304         not be implemented as suggested.
2305         Reported by Michael Goffioul.
2306
2307 2012-10-12  Paul Eggert  <eggert@cs.ucla.edu>
2308
2309         group-member: omit unnecessary dependencies
2310         This is for Emacs, which has its own allocator and where we
2311         don't want to use xalloc.
2312         * lib/group-member.c: Include xalloc-oversized.h, not xalloc.h,
2313         since we no longer use xmalloc.  Do not include stdbool.h, since
2314         the changes below happen to remove the only use of bool.
2315         (GROUPBUF_SIZE): New constant.
2316         (struct group_info): Remove n_groups member.  Add groupbuf member.
2317         This lets us get the groups without using malloc, usually.
2318         (free_group_info, get_group_info): Adjust to this.
2319         (get_group_info): Return the number of groups found, or -1 on error.
2320         Use plain malloc not xmalloc, and treat its failure as if there
2321         are no groups, as the user already loses in case of error.
2322         (group_member): Simplify, based on changes to get_group_info.
2323         * modules/group-member (Depends-on): Remove dependencies on
2324         xalloc and stdbool.  Add dependency on xalloc-oversized.
2325
2326 2012-10-08  Alexandre Duret-Lutz  <adl@lrde.epita.fr>  (tiny change)
2327
2328         gethrxtime: port to C++
2329         * lib/gethrxtime.h, lib/xtime.h [__cplusplus]: Add extern "C".
2330
2331 2012-10-04  Paul Eggert  <eggert@cs.ucla.edu>
2332
2333         ptsname: fix macro-name typo
2334         * lib/stdlib.in.h (ptsname): Fix misspelling of GNULIB_NAMESPACE.
2335
2336 2012-10-03  Simon Josefsson  <simon@josefsson.org>
2337
2338         inttostr: Relax license.
2339         * modules/inttostr (License): Change from LGPL to LGPLv2+.
2340
2341 2012-10-03  Eric Blake  <eblake@redhat.com>
2342
2343         ptsname_r: support ptys returned by FreeBSD posix_openpt
2344         * lib/ptsname_r.c (__ptsname_r): Don't munge name if it already
2345         lives in /dev/pts/.
2346
2347 2012-10-02  Eric Blake  <eblake@redhat.com>
2348
2349         pselect: reject invalid file descriptors
2350         * m4/pselect.m4 (gl_FUNC_PSELECT): Probe for FreeBSD bug.
2351         * lib/pselect.c (rpl_pselect) [!win32]: Work around it.
2352         * modules/pselect (Depends-on): Add dup2.
2353         * doc/posix-functions/pselect.texi (pselect): Document this.
2354
2355         select: reject invalid file descriptors
2356         * m4/select.m4 (gl_FUNC_SELECT): Probe for FreeBSD bug.
2357         * lib/select.c (rpl_select) [!win32]: Work around it.
2358         * modules/select (Depends-on): Add dup2.
2359         * doc/posix-functions/select.texi (select): Document this.
2360
2361         select: enhance test
2362         * tests/test-select.h (do_select_bad_nfd_nowait, test_bad_nfd):
2363         New functions.
2364         (test_function): Enhance test.
2365         (do_select_bad_fd): Avoid any stale errno values.
2366
2367         ptsname: reject invalid file descriptors
2368         http://www.austingroupbugs.net/view.php?id=503
2369         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Probe for FreeBSD bug.
2370         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add new witness.
2371         * modules/stdlib (Makefile.am): Replace witness.
2372         * lib/stdlib.in.h (ptsname): Allow for replacement.
2373         * modules/ptsname (configure.ac): Trigger replacement.
2374         * doc/posix-functions/ptsname.texi (ptsname): Document this.
2375
2376 2012-10-02:  Nikos Mavrogiannopoulos  <nmav@gnutls.org>  (tiny change)
2377
2378         hash-pjw-bare: new module
2379         * lib/hash-pjw-bare.c: New file, very much like hash-pjw.c.
2380         * lib/hash-pjw-bare.h: Likewise.
2381         * modules/hash-pjw-bare: New file.
2382         * MODULES.html.sh (Misc): Add it.
2383
2384 2012-10-02  Eric Blake  <eblake@redhat.com>
2385
2386         manywarnings: cater to more gcc infelicities
2387         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add test for
2388         -Wuninitialized without -O.
2389
2390 2012-10-01  Ed Maste  <emaste@freebsd.org>  (tiny change)
2391
2392         select, poll tests: Make setsockopt invocation effective.
2393         * tests/test-poll.c (open_server_socket): Move setsockopt() call before
2394         the bind() call.
2395         * tests/test-select.h (open_server_socket): Likewise.
2396
2397 2012-09-30  Paul Eggert  <eggert@cs.ucla.edu>
2398
2399         sockets, sys_stat: restore AC_C_INLINE
2400         This undoes the 2012-09-22 patch.
2401         * m4/sockets.m4 (gl_SOCKETS):
2402         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2403         Restore AC_C_INLINE, since MSVC requires __inline or _inline
2404         and does not support plain 'inline'.  Reported by Bruno Haible in
2405         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00183.html>.
2406
2407 2012-09-30  Bruno Haible  <bruno@clisp.org>
2408
2409         localeconv tests: Avoid test failure on OpenIndiana.
2410         * tests/test-localeconv.c (main): On OpenIndiana (a Solaris 11 variant)
2411         skip the 'grouping' and 'mon_grouping' tests.
2412         Reported by Jim Meyering.
2413
2414 2012-09-30  Bruno Haible  <bruno@clisp.org>
2415
2416         havelib: Follow libtool developments.
2417         * m4/lib-ld.m4: Rebase on libtool.m4 from libtool-2.4.
2418         Suggested by Simon Josefsson.
2419
2420 2012-09-29  Jim Meyering  <meyering@redhat.com>
2421
2422         fstatat.c: fix a compile-impeding typo
2423         * lib/fstatat.c (FSTATAT_INLINE): Fix typo: s/#include/#define/
2424         Introduced in commit v0.0-7636-gd202279.
2425         Mats Erik Andersson reported the resulting OpenBSD compilation failure.
2426
2427 2012-09-28  Akim Demaille  <akim@lrde.epita.fr>
2428
2429         extern-inline: provide a -Wundef safe config.h
2430         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Protect
2431         "#if __GNUC_STDC_INLINE__" with "defined __GNUC_STDC_INLINE__"
2432         to produce a -Wundef warning free config.h.
2433
2434 2012-09-26  Paul Eggert  <eggert@cs.ucla.edu>
2435
2436         hash-pjw: relax license to LGPLv2+
2437         * modules/hash-pjw (License): Relax, with consent of author.
2438
2439 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2440
2441         maint.mk: fix strict vs. lazy variable issues with RELEASE
2442         * top/maint.mk (_equal): New function.
2443         (member_check): Strip the result to avoid spurious spaces.
2444         (url_dir_list): Do not use ifeq, which is strict, as it will
2445         require RELEASE_TYPE to be defined.
2446         (announcement_Cc_, announcement_mail_headers_): Likewise: instead
2447         of relying on ifeq, use $(release_type) to dispatch (lazily) onto...
2448         (announcement_Cc_alpha,announcement_mail_headers_alpha)
2449         (announcement_Cc_beta,announcement_mail_headers_beta)
2450         (announcement_Cc_stable,announcement_mail_headers_stable): these.
2451         (release): Do not depend on $(release-type), as it forces its
2452         evaluation.  Bounce to it.
2453
2454 2012-09-25  Akim Demaille  <akim@lrde.epita.fr>
2455
2456         maint.mk: formatting changes
2457         * top/maint.mk: Indent bodies of if's.
2458
2459 2012-09-21  Akim Demaille  <akim@lrde.epita.fr>
2460
2461         maint.mk: factor the validation of RELEASE_TYPE
2462         With help from Jim Meyering.
2463         http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00132.html
2464         * top/maint.mk (_empty, _sp): Move their definition earlier.
2465         (member-check, release-type): New.
2466         Use the latter instead of $(RELEASE_TYPE).
2467         Remove now useless local checks.
2468
2469 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2470
2471         maint.mk: provide "make upload" to ease uploading
2472         See
2473         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00028.html>.
2474         Do not depend simply on the current $(VERSION), as there may have been
2475         new commits since the tarball generation.  Rather, rely on $(RELEASE),
2476         as "make release-commit" already does.
2477
2478         For consistency, add "make release RELEASE='X.Y TYPE'" as an alias for
2479         "make TYPE".
2480
2481         * top/maint.mk (upload_command, upload, release): New.
2482         (RELEASE_TYPE): If undefined, default to the second word of $(RELEASE).
2483         (VERSION): first word of $(RELEASE) is always right.
2484         (emit_upload_commands): Adjust.
2485         * top/README-release: Update.
2486
2487 2012-09-20  Akim Demaille  <akim@lrde.epita.fr>
2488
2489         maint.mk: silent rules
2490         With help from Stefano Lattarini.
2491         * top/maint.mk (writable-files): Use $(AM_V_GEN).
2492         (announcement): Use $(AM_V_at).
2493
2494 2012-09-24  Paul Eggert  <eggert@cs.ucla.edu>
2495
2496         localename: port gl_locale_name_thread_unsafe to FreeBSD
2497         * lib/localename.c (gl_locale_name_thread_unsafe): Port to FreeBSD,
2498         and use the simpler FreeBSD implementation on Mac OS X as well.
2499         Original idea suggested by Ed Maste in
2500         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00094.html>.
2501
2502 2012-09-22  Paul Eggert  <eggert@cs.ucla.edu>
2503
2504         binary-io, eealloc, mbfile, mbiter, mbutil, xsize: better 'inline'
2505         * lib/binary-io.c, lib/eealloc.c, lib/mbfile.c, lib/mbiter.c:
2506         * lib/mbuiter.c, lib/xsize.c: New files.
2507         * lib/binary-io.h (BINARY_IO_INLINE):
2508         * lib/eealloc.h (EEALLOC_INLINE):
2509         * lib/mbfile.h (MBFILE_INLINE):
2510         * lib/mbiter.h (MBITER_INLINE):
2511         * lib/mbuiter.h (MBUITER_INLINE):
2512         * lib/xsize.h (XSIZE_INLINE):
2513         New macros.
2514         Replace all uses of 'static inline' with them.
2515         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2516         * m4/eealloc.m4 (gl_EEALLOC):
2517         * m4/mbfile.m4 (gl_MBFILE):
2518         * m4/mbiter.m4 (gl_MBITER):
2519         * m4/xsize.m4 (gl_XSIZE):
2520         Do not require AC_C_INLINE.
2521         * modules/binary-io (Files, lib_SOURCES): Add lib/binary-io.c
2522         * modules/eealloc (Files, lib_SOURCES): Add lib/eealloc.c.
2523         * modules/mbfile (Files, lib_SOURCES): Add lib/mbfile.c.
2524         * modules/mbiter (Files, lib_SOURCES): Add lib/mbiter.c.
2525         * modules/mbuiter (Files, lib_SOURCES): Add lib/mbuiter.c.
2526         * modules/xsize (Files, lib_SOURCES): Add lib/xsize.c.
2527         * modules/binary-io, modules/eealloc, modules/mbfile:
2528         * modules/mbiter, modules/mbuiter:
2529         (Depends-on): Add extern-inline.
2530
2531         pipe-filter-gi, pipe-filter-ii: better use of 'inline'
2532         * lib/pipe-filter-aux.c: New file.
2533         * lib/pipe-filter-aux.h (PIPE_FILTER_AUX_INLINE): New macro.
2534         Replace all uses of 'static inline' with it.
2535         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2536         * lib/pipe-filter-gi.c (filter_init, filter_cleanup)
2537         (filter_retcode): No real need for inline here.
2538         * modules/pipe-filter-gi, modules/pipe-filter-ii:
2539         (Files): Add lib/pipe-filter-aux.c.
2540         (Depends-on): Add extern-inline.
2541         (configure.ac): Do not require AC_C_INLINE.
2542         (lib_SOURCES): Add pipe-filter-aux.c.
2543
2544         fdutimensat: omit unnecessary AC_C_INLINE
2545         * modules/fdutimensat (configure.ac): Remove AC_C_INLINE.
2546
2547         fchmodat, fchownat, fstatat: use extern-inline
2548         * lib/fchmodat.c, lib/openat.h (FCHMODAT_INLINE):
2549         * lib/fchownat.c, lib/openat.h (FCHOWNAT_INLINE):
2550         * lib/fstatat.c, lib/openat.h (FSTATAT_INLINE):
2551         New macros.
2552         * lib/openat.h:
2553         Replace all uses of 'static inline' with them.
2554         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2555         * modules/fchmodat, modules/fchownat, modules/fstatat:
2556         * modules/openat-h:
2557         (Depends-on):
2558         Add extern-inline.
2559         (configure.ac): Remove AC_C_INLINE.
2560
2561         acl, mbchar, priv-set: use extern-inline
2562         * lib/set-mode-acl.c, lib/acl-internal.h (ACL_INTERNAL_INLINE):
2563         * lib/mbchar.c, lib/mbchar.h (MBCHAR_INLINE):
2564         * lib/priv-set.c, lib/priv-set.h (PRIV_SET_INLINE):
2565         New macros.
2566         * lib/acl-internal.h, lib/mbchar.h, lib/priv-set.h:
2567         Replace all uses of 'static inline' with it.
2568         Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2569         * m4/acl.m4 (gl_FUNC_ACL):
2570         * m4/mbchar.m4 (gl_MBCHAR):
2571         * m4/priv-set.m4 (gl_PRIV_SET):
2572         Remove AC_C_INLINE, since 'inline' is no longer used directly.
2573         * modules/acl, modules/mbchar, modules/priv-set (Depends-on):
2574         Add extern-inline.
2575
2576         sockets, sys_stat: remove AC_C_INLINE in MSVC-only cases
2577         * m4/sockets.m4 (gl_SOCKETS):
2578         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H):
2579         Remove AC_C_INLINE.  Here, 'inline' is used only in MSVC
2580         environments where it's already guaranteed to work, so we needn't
2581         check for it at 'configure'-time.
2582
2583         tls-tests: omit unnecessary 'inline'
2584         * tests/test-tls.c (perhaps_yield): No longer inline.
2585         Simplicity and portability trump efficiency in test cases.
2586
2587         utimens-tests: avoid unnecessary 'inline'
2588         * modules/fdutimensat-tests (configure.ac):
2589         * modules/futimens-tests (configure.ac):
2590         * modules/utimens-tests (configure.ac):
2591         * modules/utimensat-tests (configure.ac):
2592         Remove AC_C_INLINE.
2593         * tests/test-utimens-common.h (ctime_compare):
2594         No longer inline.  Simplicity and portability trump efficiency here.
2595
2596         misc: don't limit commentary to inline functions
2597         * lib/binary-io.h, lib/malloca.h, lib/safe-alloc.c:
2598         * lib/xalloc-oversized.h, lib/xsize.h:
2599         Contrast macros to functions in general, not just to inline functions,
2600         when the commentary does not apply only to inline functions.
2601
2602 2012-09-20  Jim Meyering  <meyering@redhat.com>
2603
2604         non-recursive-gnulib-prefix-hack: new module
2605         * build-aux/prefix-gnulib-mk: Copied from coreutils, derived from
2606         the file that originated in Bison.
2607         * m4/non-recursive-gnulib-prefix-hack.m4: Likewise, this code is
2608         largely copied from a snippet that resided in bison's configure.ac.
2609         * modules/non-recursive-gnulib-prefix-hack: New file.
2610         * MODULES.html.sh (Support for maintaining and releasing projects):
2611         Add it.
2612
2613 2012-09-18  Jim Meyering  <meyering@redhat.com>
2614
2615         maint.mk: generalize _gl_tight_scope for non-recursive make
2616         * top/maint.mk (_gl_tight_scope): Remove a hard-coded assumption
2617         that *.h would describe additional .h files in the directory
2618         specified by $(_gl_TS_dir).  I.e., add this...
2619         (_gl_TS_other_headers): New variable.
2620
2621         maint.mk: exempt trailing blanks found in "binary" files
2622         * top/maint.mk (sc_trailing_blank): Filter out any matches found in
2623         "binary" files, as reported by grep.  Suggested by Richard W.M. Jones
2624         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2625
2626 2012-09-17  Jim Meyering  <meyering@redhat.com>
2627
2628         maint.mk: sc_prohibit_path_max_allocation: don't FP for UNIX_PATH_MAX
2629         * top/maint.mk (sc_prohibit_path_max_allocation): Avoid false-positive
2630         match for symbols like UNIX_PATH_MAX. Reported by Richard W.M. Jones
2631         in http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2632
2633 2012-09-17  Jim Meyering  <meyering@redhat.com>
2634
2635         maint.mk: teach sc_prohibit_magic_number_exit to accept 77
2636         * top/maint.mk (sc_prohibit_magic_number_exit): Do not complain about
2637         uses like "exit (77)".  "77" is automake's "skip this test" exit code.
2638         It is not in the same category as "exit (0)" or "exit (1)", and
2639         besides, I know of no symbolic name for that 77.  Reported by
2640         Richard W.M. Jones in
2641         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2642
2643 2012-09-17  Jim Meyering  <meyering@redhat.com>
2644
2645         maint.mk: relax sc_prohibit_strcmp, to avoid a false positive
2646         * top/maint.mk (sc_prohibit_strcmp): Relax regexp, so as to match
2647         all uses of #define, not just those that start in column 1.
2648         Richard W.M. Jones reported a false positive in
2649         http://thread.gmane.org/gmane.comp.emulators.guestfs/1902
2650
2651 2012-09-16  Paul Eggert  <eggert@cs.ucla.edu>
2652
2653         localcharset: work around Mac OS X bug with UTF-8 and MB_CUR_MAX
2654         * lib/localcharset.c (locale_charset) [DARWIN7]:
2655         Return "ASCII" if the system reports "UTF-8" and MB_CUR_MAX <= 1,
2656         as these two values are incompatible.  Problem reported by Max Horn.
2657         For more discussion, please see
2658         <http://lists.gnu.org/archive/html/bug-gnulib/2012-09/msg00061.html>.
2659
2660         doc: document sticky-EOF issue
2661         * doc/posix-functions/fgetc.texi (fgetc):
2662         * doc/posix-functions/fgets.texi (fgets):
2663         * doc/posix-functions/fread.texi (fread):
2664         * doc/posix-functions/fscanf.texi (fscanf):
2665         * doc/posix-functions/getc.texi (getc):
2666         * doc/posix-functions/getchar.texi (getchar):
2667         * doc/posix-functions/scanf.texi (scanf):
2668         Mention that glibc and default Solaris do not conform to
2669         C99 and POSIX-2001 or later, with respect to how getchar
2670         etc. behave when feof reports nonzero.
2671
2672 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2673
2674         poll: fix poll(0, NULL, msec)
2675         * lib/poll.c: don't exit early if NULL is the 1st arg to poll(),
2676         but nfd is 0.  In that case poll should behave like select.
2677
2678 2012-09-13  Joachim Schmitz <jojo@schmitz-digital.de>  (tiny change)
2679             Paolo Bonzini <bonzini@gnu.org>
2680
2681         poll: fix for systems that can't recv() on a non-socket
2682         * lib/poll.c: if recv returns ENOTSOCK, assume the descriptor
2683         is readable.  In this case POLLHUP will not be supported.
2684         * doc/posix-functions/poll.texi: Document this.
2685
2686 2012-09-13  Paolo Bonzini  <bonzini@gnu.org>
2687
2688         poll/select: document portability problems not fixed by Gnulib.
2689         * doc/posix-functions/poll.texi: poll does not work well on
2690         pipes under Windows.  It has the same limitations as select on
2691         BeOS.
2692         * doc/posix-functions/select.texi: select does not work well
2693         on pipes under Windows.
2694
2695 2012-09-10  Paul Eggert  <eggert@cs.ucla.edu>
2696
2697         fcntl-h: check for AIX 7.1 bug with O_NOFOLLOW and O_CREAT
2698         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Check for AIX 7.1 bug
2699         that caused a GNU tar test failure.  Problem reported by Jez Wain; see
2700         <http://lists.gnu.org/archive/html/bug-tar/2012-07/msg00018.html>.
2701
2702 2012-09-06  Eric Blake  <eblake@redhat.com>
2703
2704         net_if: give more details about the bug being fixed
2705         * doc/posix-headers/net_if.texi: Add clarification.
2706
2707 2012-09-05  Eric Blake  <eblake@redhat.com>
2708
2709         net_if: new module
2710         * modules/net_if: New module, borrowing ideas from netinet_in.
2711         * m4/net_if_h.m4: New file.
2712         * lib/net_if.in.h: Likewise.
2713         * doc/posix-headers/net_if.texi (net/if.h): Document it.
2714         * MODULES.html.sh (lacking POSIX:2008): Likewise.
2715         * tests/test-net_if.c: Make function checks conditional.
2716         Reported by Jasper Lievisse Adriaanse <jasper@humppa.nl>.
2717
2718 2012-09-05  Mats Erik Andersson  <gnu@gisladisker.se>  (tiny change)
2719
2720         readutmp: fix non-portable UT_PID use
2721         * lib/readutmp.c (desirable_utmp_entry) <READ_UTMP_CHECK_PIDS>:
2722         Use `UT_PID (u) > 0' as absolute condition.
2723
2724 2012-09-04  Jim Meyering  <meyering@redhat.com>
2725
2726         fts: reduce two or more trailing spaces to just one, usually
2727         * lib/fts.c (fts_open): Upon initialization, if a name ends in two
2728         or more slashes, trim all but the final one.  But if a name consists
2729         solely of two slashes, don't modify it.  If it consists solely of
2730         three or more slashes, strip all but one.
2731
2732         This is part of the solution to a minor problem with rm:
2733         it would print a bogus ELOOP diagnostic when failing to remove
2734         the slash-decorated name of a symlink-to-directory:
2735
2736             $ mkdir d && ln -s d s && env rm -r s/
2737             rm: cannot remove 's': Too many levels of symbolic links
2738
2739         With the change below and a trivial don't-trim-trailing-slashes
2740         adjustment to remove.c, it does this:
2741
2742             $ env rm -r s/
2743             rm: cannot remove 's/': Not a directory
2744
2745         Improved by: Eric Blake
2746
2747         fts: when there is no risk of overlap, use memcpy, not memmove
2748         * lib/fts.c (fts_alloc): Fix unjustified memcopy: s/memmove/memcpy/
2749
2750 2012-08-29  Paul Eggert  <eggert@cs.ucla.edu>
2751
2752         stdbool: be more compatible with mixed C/C++ compiles
2753         * lib/stdbool.in.h (_Bool, true, false) [__cplusplus]:
2754         Define to bool, true, false, respectively, as GCC's builtin
2755         stdbool.h does.  Problem reported by Michael Goffioul in
2756         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00143.html>.
2757
2758 2012-08-28  Jim Meyering  <meyering@redhat.com>
2759
2760         revert last change: it was not needed
2761         * tests/test-vc-list-files-git.sh: There's already a test for
2762         a working git, just below.
2763
2764 2012-08-28  Jim Meyering  <meyering@redhat.com>
2765
2766         tests: test-vc-list-files-git.sh: skip if git is not available
2767         * tests/test-vc-list-files-git.sh: Skip this test when git is
2768         not available.
2769
2770 2012-08-26  Bruno Haible  <bruno@clisp.org>
2771
2772         gnulib-tool: Remove no-op option --no-changelog.
2773         * gnulib-tool (func_usage): Don't mention --no-changelog.
2774         (do_changelog): Remove variable.
2775         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2776
2777 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2778
2779         doc: remove fdl-1.2.texi
2780         It is no longer used or maintained, and its use of @acronym
2781         is problematic.  See the thread containing
2782         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00134.html>.
2783         * config/srclist.txt: Remove doc/old-licenses/fdl-1.2.texi.
2784         * doc/old-licenses/fdl-1.2.texi: Remove.
2785
2786         execinfo: port to FreeBSD
2787         * m4/execinfo.m4 (gl_EXECINFO_H): Set LIB_EXECINFO to -lexecinfo
2788         if needed, as in FreeBSD.  Reported by Bastien Roucariès in
2789         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00113.html>.
2790         * modules/execinfo (Link): Add $(LIB_EXECINFO).
2791
2792 2012-08-23  Jim Meyering  <meyering@redhat.com>
2793
2794         xstrtol.h: avoid "_Noreturn is not at beginning of declaration" warning
2795         * lib/xstrtol.h: Put "_Noreturn" before "void" in declaration,
2796         to placate gcc's -Wold-style-declaration.
2797
2798 2012-08-24  Paul Eggert  <eggert@cs.ucla.edu>
2799
2800         doc: do not use @acronym
2801         * doc/inet_ntoa.texi (inet_ntoa):
2802         * doc/parse-datetime.texi (Seconds since the Epoch)
2803         (Specifying time zone rules):
2804         * doc/posix-functions/inet_ntoa.texi (inet_ntoa):
2805         Don't use @acronym.  Problem reported by John Darlington in
2806         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00124.html>.
2807
2808 2012-08-23  Paul Eggert  <eggert@cs.ucla.edu>
2809
2810         stdnoreturn: port to newer GCCs
2811         * m4/stdnoreturn.m4 (gl_STDNORETURN_H): Avoid problems with
2812         bleeding-edge GCC that complains about 'int _Noreturn foo (void);'.
2813         Problem reported by Jim Meyering in
2814         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00121.html>.
2815         Also, rename the 'test' function to a void a clash with the
2816         already-supplied 'main' function; this fixes a bug that incorrectly
2817         rejected GCC 4.7.1's <stdnoreturn.h>.
2818         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h):
2819         Document GCC problem.
2820
2821 2012-08-22  Reuben Thomas  <rrt@sc3d.org>
2822
2823         pipe-filter: fix comment typo
2824         * lib/pipe-filter.h: Mention correct function.
2825
2826 2012-08-22  Paul Eggert  <eggert@cs.ucla.edu>
2827
2828         execinfo: new module
2829         This is for Emacs.  Currently, it provides a no-effect stub
2830         on all platforms where it does not already work.
2831         It already works on glibc-based systems, and on Solaris 11.
2832         * lib/execinfo.c, lib/execinfo.in.h, m4/execinfo.m4, modules/execinfo:
2833         New files.
2834         * doc/glibc-headers/execinfo.texi (execinfo.h):
2835         * MODULES.html.sh (Misc): Document it.
2836
2837 2012-08-20  Paul Eggert  <eggert@cs.ucla.edu>
2838
2839         extern-inline: support old GCC 'inline'
2840         * m4/extern-inline.m4 (gl_EXTERN_INLINE): Use pre-C99 GCC 'inline'
2841         if available.  This applies to GCC versions 2.7 through 4.2, or
2842         when newer GCC is using -fgnu89-inline.  The goal is to address
2843         some of the performance issues mentioned by Bruno Haible in
2844         <http://lists.gnu.org/archive/html/bug-gnulib/2012-08/msg00097.html>.
2845
2846 2012-08-20  Eric Blake  <eblake@redhat.com>
2847
2848         maint.mk: avoid redundant file name in message
2849         * top/maint.mk (sc_prohibit_strcmp, sc_unmarked_diagnostics)
2850         (sc_prohibit_defined_have_decl_tests, sc_const_long_option)
2851         (sc_makefile_path_separator_check): Remove bogus $(ME).
2852
2853 2012-08-20  Mike Frysinger <vapier@gentoo.org>
2854
2855         timer-time: fix link order when static linking on glibc
2856         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
2857         _after_ -lrt so that it's significant.
2858
2859 2012-08-19  Paul Eggert  <eggert@cs.ucla.edu>
2860
2861         timespec: omit unnecessary AC_C_INLINE
2862         * m4/timespec.m4 (gl_TIMESPEC): Do not require AC_C_INLINE.
2863
2864         stat-time: omit unnecessary AC_C_INLINE
2865         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
2866         Do not require AC_C_INLINE.
2867
2868         ignore-value: omit unnecessary AC_C_INLINE
2869         * modules/ignore-value (configure.ac): Do not require AC_C_INLINE.
2870
2871         sys_select: avoid 'static inline'
2872         * lib/sys_select.in.h (rpl_fd_isset): Now static, not static inline.
2873
2874         mktime: avoid 'static inline'
2875         * lib/mktime.c (leapyear, ydhms_diff): Now static, not static inline.
2876         * m4/mktime.m4 (gl_PREREQ_MKTIME): Do not require AC_C_INLINE.
2877
2878 2012-08-19  Bruno Haible  <bruno@clisp.org>
2879
2880         gnulib-tool: Improve coding style.
2881         * gnulib-tool (func_emit_tests_Makefile_am): Set perhapsLT, like in
2882         func_emit_lib_Makefile_am.
2883         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2884
2885 2012-08-19  Bruno Haible  <bruno@clisp.org>
2886
2887         gnulib-tool: Fix indentation.
2888         * gnulib-tool (func_import): Fix indentation.
2889
2890 2012-08-19  Bruno Haible  <bruno@clisp.org>
2891
2892         gnulib-tool: Remove old file names from .cvsignore, .gitignore.
2893         * gnulib-tool (func_update_ignorelist): Don't use 'join -v 1' command
2894         on the list of removed files.
2895
2896 2012-08-17  Paul Eggert  <eggert@cs.ucla.edu>
2897
2898         test-parse-datetime: avoid glibc leap-second glitch
2899         * tests/test-parse-datetime.c (main): Set TZ to US Eastern time
2900         with the 2012 rules.  Problem reported by Bruce Dubbs in
2901         <http://bugs.gnu.org/12206>.
2902
2903 2012-08-14  Bruno Haible  <bruno@clisp.org>
2904
2905         gnulib-tool: Fix indentation of generated gnulib-comp.m4 file.
2906         * gnulib-tool (func_emit_autoconf_snippet): Initialize indentation
2907         from argument.
2908         Reported and fix suggested by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2909
2910 2012-08-14  Eric Blake  <eblake@redhat.com>
2911
2912         ldexp: relax license
2913         * modules/ldexp (License): Trivial relax, since the module only
2914         provides a permissively licensed m4 file.
2915
2916 2012-08-13  Bruno Haible  <bruno@clisp.org>
2917
2918         gnulib-tool: Fix persistence of --witness-c-macro option.
2919         * gnulib-tool (func_import): Fix typo in emit of gl_WITNESS_C_MACRO.
2920         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
2921
2922 2012-08-11  Eric Blake  <eblake@redhat.com>
2923
2924         count-leading-zeros: use a lookup table on non-gcc compilers
2925         * lib/count-leading-zeros.h (count_leading_zeros_32): Use an
2926         alternate implementation, suggested by Jim Meyering.
2927
2928 2012-08-10  Eric Blake  <eblake@redhat.com>
2929
2930         count-leading-zeros: new module
2931         * modules/count-leading-zeros: New module.
2932         * m4/count-leading-zeros.m4: New file.
2933         * lib/count-leading-zeros.h: Likewise.
2934         * modules/count-leading-zeros-tests: New test.
2935         * tests/test-count-leading-zeros.c: New file.
2936         * MODULES.html.sh (Integer arithmetic functions): Document it.
2937
2938 2012-08-07  Simon Josefsson  <simon@josefsson.org>
2939             Jim Meyering  <meyering@redhat.com>
2940
2941         maintainer-makefile: Fix syntax error with dash.
2942         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): Quote arguments.
2943         (sc_vulnerable_makefile_CVE-2012-3386): Likewise.
2944
2945 2012-08-05  Jim Meyering  <meyering@redhat.com>
2946
2947         extern-inline: also ignore -Wmissing-declarations
2948         * m4/extern-inline.m4: Also ignore -Wmissing-declarations,
2949         required with gcc-4.8.0-to-be.
2950
2951         maint.mk: sc_prohibit_magic_number_exit: avoid new false positives
2952         * top/maint.mk (sc_prohibit_magic_number_exit): Also filter out matches
2953         for /error ?([^,]*)/.  This avoids false-positives for strings like
2954         "Unknown error (252)", introduced via commit v0.0-7538-g92875a6.
2955
2956 2012-08-02  Stefano Lattarini  <stefano.lattarini@gmail.com>
2957
2958         gnumakefile: better interaction with Automake-NG
2959         * modules/gnumakefile [Makefile.am]: The makefiles generated by
2960         Automake-NG always contain a definition of VPATH, even in non-VPATH
2961         builds (its value being simply '.' in that case).  So, in the
2962         'clean-GNUmakefile' rule, to determine whether running under a
2963         VPATH setup, compare '$(srcdir)' to '.' rather than checking whether
2964         '$(VPATH)' expands to the empty string.
2965
2966 2012-08-02  Carlo de Falco  <carlo.defalco@polimi.it>  (tiny change)
2967
2968         base64: Use extern C scope in header file, for C++.
2969         * lib/base64.h: Add C++ namespace protection.
2970
2971 2012-08-02  Paul Eggert  <eggert@cs.ucla.edu>
2972
2973         stat-time, timespec, u64: support naive out-of-dir builds
2974         * lib/stat-time.c, lib/timespec.c, lib/u64.c:
2975         Use '#include "foo.h"', not '#include <foo.h>', when including
2976         one's own interface.  This works better when configuring with
2977         out-of-directory builds, since packages need not add an
2978         otherwise-unnecessary -I$(topdir_src)/lib to DEFAULT_INCLUDES.
2979
2980 2012-08-01  Paul Eggert  <eggert@cs.ucla.edu>
2981
2982         utimens: use extern-inline
2983         * lib/utimens.c (_GL_UTIMENS_INLINE): Define when including utimens.h.
2984         * lib/utimens.h: Add copyright notice, since this is now large enough
2985         to copyright.  Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2986         (_GL_UTIMENS_INLINE): New macro.  Use it instead of 'static inline'.
2987         * modules/utimens (Depends-on): Add extern-inline.
2988
2989         u64: use extern-inline
2990         * lib/u64.c: New file.
2991         * lib/u64.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
2992         (_GL_U64_INLINE): New macro.  Use it instead of 'static inline'.
2993         * modules/u64 (Files): Add lib/u64.c.
2994         (Depends-on): Add extern-inline.
2995         (configure.ac): No need to require AC_C_INLINE, since extern-inline
2996         does that now.
2997         (lib_SOURCES): Add u64.c.
2998
2999         timespec: use extern-inline
3000         * lib/timespec.c: New file.
3001         * lib/timespec.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3002         (_GL_TIMESPEC_INLINE): New macro.  Use it instead of 'static inline'.
3003         * modules/timespec (Files): Add lib/timespec.c.
3004         (Depends-on): Add extern-inline.
3005         (lib_SOURCES): Add timespec.c.
3006
3007         stat-time: use extern-inline
3008         * lib/stat-time.c: New file.
3009         * lib/stat-time.h: Use _GL_INLINE_HEADER_BEGIN, _GL_INLINE_HEADER_END.
3010         (_GL_STAT_TIME_INLINE): New macro.  Use it instead of 'static inline'.
3011         * modules/stat-time (Files): Add lib/stat-time.c.
3012         (Depends-on): Add extern-inline.
3013         (lib_SOURCES): Add stat-time.c.
3014
3015         extern-inline: new module
3016         * modules/extern-inline, m4/extern-inline.m4: New files.
3017         This is for better support of 'extern inline' a la ISO C99,
3018         with a portable alternative on compilers that do not support
3019         C99-style 'extern inline'.  Using 'extern inline' shrinks the size
3020         of the Emacs executable, when compiled with debugging disabled,
3021         which is a typical way that Emacs is built while developing.
3022
3023 2012-08-01  Akim Demaille  <akim@lrde.epita.fr>
3024
3025         maint.mk: a "release-commit" wrapper to do-release-commit-and-tag
3026         * build-aux/do-release-commit-and-tag: Move variable definitions
3027         together.
3028         ($branch): Instead of defaulting to "master", default to the current
3029         branch (as gnu-web-doc-update does).
3030         (help): Display the current values of the option arguments.
3031         * top/maint.mk (release-commit): New.
3032         * top/README-release: Simplify the corresponding step.
3033
3034 2012-07-30  Eric Blake  <eblake@redhat.com>
3035
3036         passfd: fix comment on recvfd
3037         * lib/passfd.c (recvfd): Fix comment.
3038         Reported by Jann Horn <jannhorn@googlemail.com>.
3039
3040 2012-07-30  Jim Meyering  <meyering@redhat.com>
3041
3042         maint.mk: avoid a sub-shell
3043         * top/maint.mk (release-prep): Remove unneeded sub-shell.
3044
3045 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3046
3047         maint.mk: use silent-rules support from Automake
3048         * top/maint.mk (news-check, vc-diff-check, announcement)
3049         (no-submodule-changes, alpha beta stable, release-prep)
3050         (web-manual, update-copyright): Use $(AM_V_GEN) and $(AM_V_at).
3051
3052 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3053
3054         maint.mk: provide a web-manual-update target
3055         * top/maint.mk: here.
3056         * top/README-release: Use it to simplify the web manual update step.
3057
3058 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3059
3060         README-release: shorten the circuit to post a news
3061         * top/README-release: Point directly to the news submission form.
3062
3063 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3064
3065         gnu-web-doc-update: fix --help
3066         * build-aux/gnu-web-doc-update: The information "top level" was written
3067         twice.
3068
3069 2012-07-30  Akim Demaille  <akim@lrde.epita.fr>
3070
3071         maint.mk: absolute VPATH issue
3072         * top/maint.mk (release-prep): Help Git find .git/.
3073         From Jim Meyering.
3074
3075 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
3076
3077         gitlog-to-changelog: fix previous change
3078         * build-aux/gitlog-to-changelog: Fix condition.
3079         Add missing ";".
3080
3081 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
3082
3083         gitlog-to-changelog: don't expect .git to be in $srcdir
3084         Reported by Bruno Haible.
3085         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00265.html>
3086         * build-aux/gitlog-to-changelog (&git_dir_option): New.
3087         Use it.
3088
3089 2012-07-29  Akim Demaille  <akim@lrde.epita.fr>
3090
3091         maint.mk: absolute VPATH build fix
3092         * top/maint.mk (gpg_key_ID): Help git find .git when, for instance,
3093         $(srcdir) is not a parent of $(builddir).
3094
3095 2012-07-28  John Darrington  <john@darrington.wattle.id.au>
3096
3097         clean-temp: Fix memory leak.
3098         * lib/clean-temp.c (cleanup_temp_dir): Free also the 'subdirs' and
3099         'files' members of tmpdir.
3100
3101 2012-07-27  Jim Meyering  <meyering@redhat.com>
3102
3103         maint.mk: new rule: refresh-gnulib-patches
3104         I noticed that 8 of coreutils' 9 gl/**/*.diff files were stale.
3105         Use this rule to refresh them.
3106         * top/maint.mk (refresh-gnulib-patches): New rule.
3107
3108 2012-07-24  Bruno Haible  <bruno@clisp.org>
3109
3110         gnulib-tool: Fix handling of inctests variable.
3111         * gnulib-tool: Canonicalize $inctests also in 'update' mode.
3112         Reported by Nick Bowler <nbowler@elliptictech.com>.
3113
3114 2012-07-22  Bruno Haible  <bruno@clisp.org>
3115
3116         getpass: Assume AC_CHECK_DECLS_ONCE invocation, like in getpass.m4.
3117         * lib/getpass.h: Assume HAVE_DECL_GETPASS is defined.
3118         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
3119         Remove exemption for getpass.h.
3120         Suggested by Eric Blake.
3121
3122 2012-07-20  Eric Blake  <eblake@redhat.com>
3123
3124         verify: document conflict with -Wnested-externs
3125         * lib/verify.h: Give hint about usage when gcc warnings are enabled.
3126
3127         maint.mk: forbid exit(-1)
3128         * top/maint.mk (sc_prohibit_magic_number_exit): Detect negatives.
3129
3130 2012-07-20  Paul Eggert  <eggert@cs.ucla.edu>
3131
3132         fsusage: port back to Solaris
3133         * lib/fsusage.c (get_fs_usage): Fix busted logic causing compile-time
3134         error (fsd not declared) on Solaris 10.  Reported privately by
3135         Andrew Borodin.
3136
3137 2012-07-19  Akim Demaille  <akim@lrde.epita.fr>
3138
3139         gnu-web-doc-update: fix error messages
3140         * build-aux/gnu-web-doc-update: Don't pass $ME to die.
3141
3142         gnu-web-doc-update: check the requirements.
3143         * build-aux/gnu-web-doc-update (find_tool): Import from bootstrap.
3144         ($CVS, $CVSU, $GIT, $RSYNC, $XARGS): New.
3145         * build-aux/bootstrap (find_tool): Comment change.
3146
3147 2012-07-17  Akim Demaille  <akim@lrde.epita.fr>
3148
3149         maint.mk: minor simplication.
3150         * top/maint.mk (_sc_excl): Use $(or...) instead of $(if...)
3151         for default values.
3152
3153 2012-07-15  Akim Demaille  <akim@lrde.epita.fr>
3154
3155         gitlog-to-changelog: VPATH build issues
3156         If builddir is not a subdirectory of srcdir, running git from it will
3157         fail.
3158         * build-aux/gitlog-to-changelog (--srcdir): New option.
3159
3160 2012-07-15  Bruno Haible  <bruno@clisp.org>
3161
3162         fpending: Assume AC_CHECK_DECLS_ONCE invocation, like in fpending.m4.
3163         * lib/fpending.h: Assume HAVE_DECL___FPENDING is defined.
3164         * cfg.mk (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests)
3165         Remove exemption for fpending.h.
3166         Suggested by Eric Blake.
3167
3168 2012-07-15  Paul Eggert  <eggert@cs.ucla.edu>
3169
3170         pthread_sigmask: fix bug on FreeBSD 9
3171         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_INEFFECTIVE]:
3172         Include string.h.
3173         (pthread_sigmask) [PTHREAD_SIGMASK_INEFFECTIVE]:
3174         When calling pthread_sigmask (1729, NEW, OLD), specify non-null NEW;
3175         this avoids a bug on FreeBSD 9, where pthread_sigmask is effective
3176         but pthread_sigmask (1729, NULL, NULL) returns zero.
3177         See <http://bugs.gnu.org/11884>.
3178         Avoid the need to call pthread_sigmask (1729, ...) in most cases,
3179         by inspecting whether the main call changed the old mask.
3180
3181 2012-07-15  Reuben Thomas  <rrt@sc3d.org>
3182
3183         README-release: make it more legible
3184         * top/README-release: Improve typography slightly.
3185
3186 2012-07-15  Jim Meyering  <meyering@redhat.com>
3187
3188         maint: require that each sc_... command start with "@"
3189         * Makefile (sc_prohibit_sc_omitted_at): New rule so that
3190         "make sc_maint" helps us avoid this nit.
3191
3192 2012-07-15  Jim Meyering  <meyering@redhat.com>
3193
3194         maint.mk: add leading "@" to quiet new "make syntax-check" rule
3195         * top/maint.mk (sc_prohibit_defined_have_decl_tests): Add "@".
3196
3197 2012-07-13  Eric Blake  <eblake@redhat.com>
3198
3199         maint.mk: new syntax check for HAVE_DECL checks
3200         * top/maint.mk (sc_prohibit_defined_have_decl_tests): New rule.
3201         * cfg.mk
3202         (exclude_file_name_regexp--sc_prohibit_defined_have_decl_tests):
3203         Exempt some false positives.
3204         Based on a report by Karel Zak.
3205
3206         argp: make HAVE_DECL usage consistent
3207         * lib/argp-parse.c (__argp_parse): Check contents of HAVE_DECL
3208         macros, not whether they are defined.
3209         * m4/argp.m4 (gl_ARGP): Always define HAVE_DECL_* macros, per
3210         convention with other declaration checks.
3211         Reported by Karel Zak, with suggestions from Paul Eggert.
3212
3213         stat-time: relax license to LGPLv2+
3214         * modules/stat-time (License): Relax, with consent of all authors.
3215
3216         strndup: fix m4 usage error
3217         * m4/strndup.m4 (gl_FUNC_STRNDUP): HAVE_DECL_STRNDUP is always
3218         defined, to either 0 or 1.
3219         Reported by Karel Zak.
3220
3221 2012-07-11  Jim Meyering  <meyering@redhat.com>
3222
3223         maint: enable the sc_avoid_if_before_free syntax-check rule
3224         * cfg.mk (local-checks-to-skip): Enable sc_avoid_if_before_free.
3225         (if_before_free_offenders_): Define.
3226         (if_before_free_basename_re_): Define.
3227         Exempt current files with useless if-before-free.
3228
3229 2012-07-11  Paul Eggert  <eggert@cs.ucla.edu>
3230
3231         gettext: do not assume '#define ... defined ...' behavior
3232         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS):
3233         Do not use '#define FOO ... defined BAR ...', as the C standard says
3234         it's not portable to expect that this works after macro expansion.
3235         Problem reported for gzip by Steven M. Schweda in
3236         <http://lists.gnu.org/archive/html/bug-gzip/2012-07/msg00000.html>.
3237
3238 2012-07-10  Paul Eggert  <eggert@cs.ucla.edu>
3239
3240         getloadavg: clean out old Emacs and Autoconf cruft
3241         See Glenn Morris in <http://bugs.gnu.org/11905>.
3242         * lib/getloadavg.c: Include <config.h>, <stdbool.h> always.
3243         Include <sys/param.h> if HAVE_SYS_PARAM_H, not if unix or __unix.
3244         (LDAV_CVT): Remove no-longer-used LOAD_AVE_CVT hook.
3245         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Check for <sys/param.h>.
3246
3247 2012-07-10  Akim Demaille  <akim@lrde.epita.fr>
3248
3249         bootstrap: let warn be like tests/init.sh's warn_
3250         Reported by Jim Meyering.
3251         * build-aux/bootstrap (warn): Remove, replaced by...
3252         (warnf_, warn_): these.
3253         Adjust callers.
3254         Shorten messages that no longer fit in 80 columns.
3255
3256 2012-07-09  Bruno Haible  <bruno@clisp.org>
3257
3258         getopt: Simplify after Emacs changed.
3259         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Inline gl_GETOPT_IFELSE.
3260         (gl_GETOPT_IFELSE): Remove macro.
3261
3262 2012-07-09  Jim Meyering  <meyering@redhat.com>
3263
3264         maint.mk: add sc_vulnerable_makefile_CVE-2012-3386
3265         * top/maint.mk (sc_vulnerable_makefile_CVE-2012-3386): New rule.
3266
3267         maint.mk: _sc_search_regexp, sc_vulnerable_makefile_CVE-2009-4029: fix
3268         Bugs in both of those conspired to make the
3269         sc_vulnerable_makefile_CVE-2009-4029 rule 99% useless.
3270         _sc_search_regexp's handling of non-empty $in_files would filter
3271         out any offending file names.  sc_vulnerable_makefile_CVE-2009-4029's
3272         choice of in_files value meant there would be no match in most
3273         projects, due to the presence of two or more Makefile.in files.
3274         * top/maint.mk (_sc_search_regexp) [in_vc_files,in_files]: Clarify.
3275         Fix a bug in how a non-empty $$in_files was processed:
3276         (sc_vulnerable_makefile_CVE-2009-4029): Fix erroneous use of in_files:
3277         in spite of the name, it's a regexp, not a list of file names.
3278
3279 2012-07-09  Paul Eggert  <eggert@cs.ucla.edu>
3280
3281         getloadavg, getopt: fix commentary re configure.in
3282         Autoconf is deprecating the name 'configure.in', so change it to
3283         to the new name 'configure.ac' in a couple of places.
3284         * lib/getloadavg.c: configure.in -> configure.ac, in comment.
3285         * m4/getopt.m4 (gl_GETOPT_IFELSE, gl_GETOPT_SUBSTITUTE_HEADER)
3286         (gl_PREREQ_GETOPT): Remove obsolete commentary re Emacs configure.in.
3287         Emacs has renamed it to configure.ac, and it no longer refers
3288         to these macros anyway.
3289
3290         timespec: mark functions with const attributes
3291         * lib/timespec.h (timespec_add, timespec_sub, dtotimespec):
3292         Mark with _GL_ATTRIBUTE_CONST.
3293
3294 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
3295
3296         canonicalize[-lgpl]: handle "guessing" values when cross-building
3297         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
3298         (gl_CANONICALIZE_LGPL): Check whether $gl_cv_func_realpath_works
3299         matches "*yes" instead of just "yes".  Regression introduced in commit
3300         e0bcf6626cde8dad4bfbdc4045c744f0cd8b9e24.
3301
3302 2012-07-07  Ludovic Courtès  <ludo@gnu.org>
3303             Bruno Haible  <bruno@clisp.org>
3304
3305         canonicalize: make the right guess when cross-compiling to GNU
3306         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Match also "gnu*" to
3307         determine whether cross-compiling to glibc systems, so as to
3308         include GNU/Hurd.
3309
3310 2012-07-06  Paul Eggert  <eggert@cs.ucla.edu>
3311
3312         timespec-sub: avoid duplicate include
3313         * lib/timespec-sub.c: Do not include <config.h> twice.
3314         Reported by Juanma Barranquero.
3315
3316 2012-07-06  Akim Demaille  <akim@lrde.epita.fr>
3317
3318         bootstrap: use a more consistent error reporting scheme
3319         * build-aux/bootstrap (warn, die): New.
3320         Use them.
3321
3322 2012-07-05  Paul Eggert  <eggert@cs.ucla.edu>
3323
3324         sys_time: allow too-wide tv_sec
3325         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Allow struct
3326         timeval even if tv_sec is wider than time_t.  This allows
3327         OpenBSD 5.1 amd64 and fixes an Emacs porting glitch with utimens.c,
3328         as without this patch gnulib replaces struct timeval
3329         and OpenBSD futimes therefore has a type mismatch.
3330         * doc/posix-headers/sys_time.texi: Mention this.
3331
3332         pthread: check for both pthread_create and pthread_join
3333         * m4/pthread.m4 (gl_PTHREAD_CHECK): Revert previous change, but
3334         alter the check so that it tests for both pthread_create and
3335         pthread_join.  This should be more portable to hosts like OSF/1 5.1.
3336         Suggested by Bruno Haible and Richard Yao in
3337         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00048.html>.
3338
3339         parse-datetime: doc tuneup
3340         * doc/parse-datetime.texi: Index "leap seconds" and fix minor
3341         spacing issues.
3342
3343 2012-07-05  Akim Demaille  <akim@lrde.epita.fr>
3344
3345         do-release-commit-and-tag: fix the previous commit
3346         * build-aux/do-release-commit-and-tag: Actually the test was right,
3347         but the comment and the error message were misleading.
3348         Fix comment, and improve error message.
3349         Perform check first, so that NEWS is not modified uselessly.
3350
3351         do-release-commit-and-tag: fix typo
3352         * build-aux/do-release-commit-and-tag: Be sure that NEWS does
3353         _not_ start with a stub.
3354
3355 2012-07-04  Paul Eggert  <eggert@cs.ucla.edu>
3356
3357         pthread: check for pthread_create, not pthread_join
3358         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_create, not
3359         pthread_join.  On FreeBSD 9, pthread_create is in libpthread but
3360         pthread_join in libc.  I hope this removes the need for all the
3361         OSF/1 5.1 pthread_join business.  Reported by Richard Yao in
3362         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00042.html>.
3363
3364 2012-07-04  Jim Meyering  <meyering@redhat.com>
3365
3366         parse-datetime: fix failure to diagnose invalid input
3367         date -d "$(printf '\xb0')" would print 00:00:00 with today's date
3368         rather than diagnosing the invalid input.  Now it reports this:
3369         date: invalid date '\260'
3370         * lib/parse-datetime.y (to_uchar): Define.
3371         (yylex): Don't sign-extend "other" bytes.
3372         * m4/parse-datetime.m4: Require AC_C_INLINE for first use of "inline".
3373         Thanks to Bruno Haible for the patch to this file.
3374         * tests/test-parse-datetime.c (main): Add a test to trigger the bug.
3375         Peter Evans reported the bug in GNU date: http://bugs.gnu.org/11843
3376
3377 2012-07-03  Jim Meyering  <meyering@redhat.com>
3378
3379         bootstrap: do not require now-removed build-aux/missing
3380         Now that build-aux/missing is, er, missing, bootstrap would
3381         silently fail.
3382         * build-aux/bootstrap (gnulib_extra_files): Remove $build_aux/missing
3383         from the list, now that (since commit v0.0-7489-gd0f486f) the file is
3384         no longer part of gnulib.
3385         Diagnose the failure.
3386
3387 2012-07-03  Paul Eggert  <eggert@cs.ucla.edu>
3388
3389         alloca: add support for HP NonStop TNS/E native
3390         * lib/alloca.in.h (alloca): Support the new host.
3391         From a suggestion by Joachim Schmitz in
3392         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00355.html>.
3393
3394 2012-07-02  Pádraig Brady  <P@draigBrady.com>
3395
3396         fsusage: remove code not needed on non GNU/Linux systems.
3397
3398         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3399         Don't include headers no longer needed in this case.
3400         * lib/fsusage.c [STAT_STATVFS &&
3401         ! (__linux__ && (__GLIBC__||__UCLIBC__))]: Undefine
3402         STAT_STATFS2_FRSIZE to exclude code not used in this case.
3403
3404 2012-07-02  Paul Eggert  <eggert@cs.ucla.edu>
3405
3406         fsusage: include files needed for glibc 2.6 fallback
3407         * lib/fsusage.c [STAT_STATVFS || STAT_STATVFS64]:
3408         Include <sys/param.h>, <sys/mount.h>, <sys/vfs.h>
3409         as they are needed for the 2.6 < glibc/Linux < 2.6.36 fallback.
3410         Problem reported by Ludovic Courtès in
3411         <http://lists.gnu.org/archive/html/bug-gnulib/2012-07/msg00005.html>.
3412
3413         fsusage: avoid needless check on GNU/Linux
3414         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Omit STAT_STATFS3_OSF1 check
3415         on GNU/Linux systems, since it can't possibly work.
3416
3417 2012-07-01  Bruno Haible  <bruno@clisp.org>
3418
3419         log: Fix an autoconf >= 2.64 warning.
3420         * modules/log (configure.ac): Require, not invoke, gl_FUNC_LOG.
3421         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3422
3423 2012-06-28  Bruno Haible  <bruno@clisp.org>
3424
3425         log10f: Fix possible configuration problem.
3426         * m4/log10f.m4 (gl_FUNC_LOG10F): Augment LIBS by $LOG10F_LIBM, not
3427         $LOGF_LIBM.
3428         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3429
3430 2012-06-28  Bruno Haible  <bruno@clisp.org>
3431
3432         remove: No longer override on all platforms. Fixes bug from 2010-03-20.
3433         * m4/remove.m4 (gl_FUNC_REMOVE): Test gl_cv_func_unlink_honors_slashes,
3434         not gl_cv_func_unlink_works.
3435         Reported by Carlos O'Donell <carlos_odonell@mentor.com>.
3436
3437 2012-06-27  Eric Blake  <eblake@redhat.com>
3438
3439         config: drop scripts that automake says are not independent
3440         * config/srclist.txt: Drop elisp-comp, missing, and ylwrap.
3441         * build-aux/elisp-comp: Delete.
3442         * build-aux/missing: Likewise.
3443         * build-aux/ylwrap: Likewise.
3444         * modules/elisp-comp: Likewise.
3445         * MODULES.html.sh: Drop mention of elisp-comp.
3446         * NEWS: Mention this.
3447
3448 2012-06-26  Paul Eggert  <eggert@cs.ucla.edu>
3449
3450         root-uid: new module
3451         This is for portability to Tandem's NonStop Kernel.
3452         * lib/root-uid.h, modules/root-uid: New files.
3453         * lib/euidaccess.c, lib/pt_chown.c, lib/unlinkdir.c:
3454         * lib/write-any-file.c, tests/test-sethostname2.c:
3455         Include "root-uid.h".
3456         * lib/euidaccess.c (euidaccess):
3457         * lib/pt_chown.c (main):
3458         * lib/unlinkdir.c (cannot_unlink_dir):
3459         * lib/write-any-file.c (can_write_any_file):
3460         * m4/mknod.m4 (gl_FUNC_MKNOD):
3461         * tests/test-sethostname2.c (geteuid, main):
3462         Don't assume ROOT_UID == 0.
3463         * modules/euidaccess (Depends-on):
3464         * modules/pt_chown (Depends-on):
3465         * modules/sethostname-tests (Depends-on):
3466         * modules/unlinkdir (Depends-on):
3467         * modules/write-any-file (Depends-on):
3468         Add root-uid.
3469
3470         regex: use locale-independent comparison for codeset name
3471         See Bruno Haible's comment in <http://bugs.gnu.org/10305#120>.
3472         * lib/regcomp.c (init_dfa): Use just ASCII case comparison
3473         for codeset name.
3474         * lib/regex_internal.h: Do not include <strings.h>, since we
3475         no longer use strcasecmp.
3476         * modules/regex (Depends-on): Remove strcase.
3477
3478 2012-06-23  Bruno Haible  <bruno@clisp.org>
3479
3480         getopt-posix: No longer guarantee that option processing is resettable.
3481         * doc/posix-functions/getopt.texi: Drop description of problem with
3482         internal state. Fix info about mingw and msvc9.
3483         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't require a resettable
3484         option processing by getopt(). Run three test programs instead of one.
3485         Simplify cross-compilation guess.
3486         * NEWS: Mention the change.
3487         Reported by Rich Felker <dalias@aerifal.cx>.
3488
3489 2012-06-26  Bruno Haible  <bruno@clisp.org>
3490
3491         argp, regex: Ensure strcasecmp gets declared.
3492         * lib/argp-help.c: Include <strings.h>.
3493         * lib/regex_internal.h: Likewise.
3494         Reported and suggested by Joachim Schmitz <jojo@schmitz-digital.de>.
3495
3496 2012-06-24  Bruno Haible  <bruno@clisp.org>
3497
3498         ptsname_r: Make it consistent with ptsname on AIX.
3499         * lib/ptsname_r.c (__ptsname_r): For AIX, use nearly the same
3500         implementation as for OSF/1.
3501         * tests/test-ptsname_r.c (main) [AIX]: Use the modern way of opening
3502         a pty master.
3503
3504         ptsname_r: Make it consistent with ptsname on OSF/1.
3505         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3506         OSF/1.
3507
3508 2012-06-24  Bruno Haible  <bruno@clisp.org>
3509
3510         ttyname_r: Fix result on OSF/1, Solaris.
3511         * lib/ttyname_r.c (ttyname_r): Produce a NUL-terminated result.
3512
3513 2012-06-24  Bruno Haible  <bruno@clisp.org>
3514
3515         ptsname_r: Add support for Solaris.
3516         * lib/ptsname_r.c (__ptsname_r): Add a different implementation for
3517         Solaris.
3518
3519         ptsname_r: Fix test failure on native Windows.
3520         * modules/ptsname_r (Depends-on): Add isatty.
3521
3522         ptsname_r: Fix test failures on IRIX, Solaris.
3523         * m4/ptsname_r.m4 (gl_PREREQ_PTSNAME_R): Test whether isatty sets
3524         errno when it fails. Define ISATTY_FAILS_WITHOUT_SETTING_ERRNO
3525         accordingly.
3526         * lib/ptsname_r.c: Include <fcntl.h>.
3527         (__ptsname_r): When isatty returned false, then on IRIX, Solaris
3528         set errno if fd is invalid.
3529         * tests/test-isatty.c (main): Update comments.
3530
3531 2012-06-24  Bruno Haible  <bruno@clisp.org>
3532
3533         ptsname test: Extend test.
3534         * tests/test-ptsname.c: Include <errno.h>.
3535         (main): Test behaviour with invalid file descriptor.
3536
3537 2012-06-23  Paul Eggert  <eggert@cs.ucla.edu>
3538
3539         time: fix obsolete comment
3540         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Remove obsolete
3541         reference to HAVE_STRUCT_TIMESPEC in comment.
3542
3543 2012-06-23  Bruno Haible  <bruno@clisp.org>
3544
3545         getopt-gnu: Handle suboptimal getopt_long's abbreviation handling.
3546         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): If getopt_long exists but
3547         does not handle abbreviated long options with equivalent
3548         disambiguations, set gl_replace_getopt to yes.
3549         * doc/posix-functions/getopt.texi: Mention the OpenBSD 5.0 problem.
3550
3551 2012-06-22  Paul Eggert  <eggert@cs.ucla.edu>
3552
3553         time_r: fix typo that always overrode localtime_r decl
3554         * m4/time_r.m4 (gl_TIME_R): Use AC_CHECK_DECLS, not
3555         AC_CHECK_DECLS_ONCE, since localtime_r is declared in <time.h>,
3556         not in a standard include.
3557
3558 2012-06-22  Bruno Haible  <bruno@clisp.org>
3559
3560         Write "Mac OS X" instead of "MacOS X".
3561         * README: Write "Mac OS X" instead of "MacOS X".
3562         * build-aux/bootstrap: Likewise.
3563         * build-aux/install-reloc: Likewise.
3564         * lib/acl-internal.h: Likewise.
3565         * lib/acl_entries.c: Likewise.
3566         * lib/argp-ba.c: Likewise.
3567         * lib/argp-pv.c: Likewise.
3568         * lib/config.charset: Likewise.
3569         * lib/copy-acl.c: Likewise.
3570         * lib/csharpexec.c: Likewise.
3571         * lib/euidaccess.c: Likewise.
3572         * lib/fbufmode.c: Likewise.
3573         * lib/fflush.c: Likewise.
3574         * lib/file-has-acl.c: Likewise.
3575         * lib/filemode.h: Likewise.
3576         * lib/fpurge.c: Likewise.
3577         * lib/freadable.c: Likewise.
3578         * lib/freadahead.c: Likewise.
3579         * lib/freading.c: Likewise.
3580         * lib/freadptr.c: Likewise.
3581         * lib/freadseek.c: Likewise.
3582         * lib/fseeko.c: Likewise.
3583         * lib/fseterr.c: Likewise.
3584         * lib/fsusage.c: Likewise.
3585         * lib/fwritable.c: Likewise.
3586         * lib/fwriting.c: Likewise.
3587         * lib/get-rusage-as.c: Likewise.
3588         * lib/get-rusage-data.c: Likewise.
3589         * lib/getdomainname.c: Likewise.
3590         * lib/idpriv-drop.c: Likewise.
3591         * lib/idpriv-droptemp.c: Likewise.
3592         * lib/localcharset.c: Likewise.
3593         * lib/locale.in.h: Likewise.
3594         * lib/localename.c: Likewise.
3595         * lib/mbsrtowcs-state.c: Likewise.
3596         * lib/nproc.c: Likewise.
3597         * lib/passfd.c: Likewise.
3598         * lib/posix_openpt.c: Likewise.
3599         * lib/printf-parse.c: Likewise.
3600         * lib/progreloc.c: Likewise.
3601         * lib/safe-read.h: Likewise.
3602         * lib/safe-write.h: Likewise.
3603         * lib/sched.in.h: Likewise.
3604         * lib/set-mode-acl.c: Likewise.
3605         * lib/signal.in.h: Likewise.
3606         * lib/stdint.in.h: Likewise.
3607         * lib/stdio-impl.h: Likewise.
3608         * lib/stdlib.in.h: Likewise.
3609         * lib/strtod.c: Likewise.
3610         * lib/sys_select.in.h: Likewise.
3611         * lib/tcgetsid.c: Likewise.
3612         * lib/unistd.in.h: Likewise.
3613         * lib/unlockpt.c: Likewise.
3614         * lib/vasnprintf.c: Likewise.
3615         * lib/vma-iter.c: Likewise.
3616         * lib/wcsrtombs-state.c: Likewise.
3617         * m4/acl.m4: Likewise.
3618         * m4/acosl.m4: Likewise.
3619         * m4/asinl.m4: Likewise.
3620         * m4/atanl.m4: Likewise.
3621         * m4/c-stack.m4: Likewise.
3622         * m4/cosl.m4: Likewise.
3623         * m4/expl.m4: Likewise.
3624         * m4/extensions.m4: Likewise.
3625         * m4/fdatasync.m4: Likewise.
3626         * m4/fmal.m4: Likewise.
3627         * m4/frexp.m4: Likewise.
3628         * m4/frexpf.m4: Likewise.
3629         * m4/frexpl.m4: Likewise.
3630         * m4/fsusage.m4: Likewise.
3631         * m4/getdomainname.m4: Likewise.
3632         * m4/getloadavg.m4: Likewise.
3633         * m4/getopt.m4: Likewise.
3634         * m4/gettext.m4: Likewise.
3635         * m4/gnulib-common.m4: Likewise.
3636         * m4/intdiv0.m4: Likewise.
3637         * m4/intlmacosx.m4: Likewise.
3638         * m4/largefile.m4: Likewise.
3639         * m4/ldexpl.m4: Likewise.
3640         * m4/link-follow.m4: Likewise.
3641         * m4/locale-ar.m4: Likewise.
3642         * m4/locale-fr.m4: Likewise.
3643         * m4/locale-ja.m4: Likewise.
3644         * m4/locale-tr.m4: Likewise.
3645         * m4/locale-zh.m4: Likewise.
3646         * m4/locale_h.m4: Likewise.
3647         * m4/lock.m4: Likewise.
3648         * m4/logl.m4: Likewise.
3649         * m4/mathfunc.m4: Likewise.
3650         * m4/minus-zero.m4: Likewise.
3651         * m4/mktime.m4: Likewise.
3652         * m4/mmap-anon.m4: Likewise.
3653         * m4/multiarch.m4: Likewise.
3654         * m4/nanosleep.m4: Likewise.
3655         * m4/nocrash.m4: Likewise.
3656         * m4/poll.m4: Likewise.
3657         * m4/printf-frexpl.m4: Likewise.
3658         * m4/printf.m4: Likewise.
3659         * m4/signbit.m4: Likewise.
3660         * m4/sinl.m4: Likewise.
3661         * m4/sqrtl.m4: Likewise.
3662         * m4/strerror_r.m4: Likewise.
3663         * m4/tanl.m4: Likewise.
3664         * m4/threadlib.m4: Likewise.
3665         * m4/ttyname_r.m4: Likewise.
3666         * m4/unlink.m4: Likewise.
3667         * m4/visibility.m4: Likewise.
3668         * m4/wcwidth.m4: Likewise.
3669         * tests/minus-zero.h: Likewise.
3670         * tests/test-alloca-opt.c: Likewise.
3671         * tests/test-copy-acl.sh: Likewise.
3672         * tests/test-copy-file.sh: Likewise.
3673         * tests/test-fdatasync.c: Likewise.
3674         * tests/test-file-has-acl.sh: Likewise.
3675         * tests/test-flock.c: Likewise.
3676         * tests/test-fsync.c: Likewise.
3677         * tests/test-localename.c: Likewise.
3678         * tests/test-malloca.c: Likewise.
3679         * tests/test-nonblocking-pipe.h: Likewise.
3680         * tests/test-nonblocking-socket.h: Likewise.
3681         * tests/test-openpty.c: Likewise.
3682         * tests/test-posix_openpt.c: Likewise.
3683         * tests/test-ptsname.c: Likewise.
3684         * tests/test-ptsname_r.c: Likewise.
3685         * tests/test-sameacls.c: Likewise.
3686         * tests/test-select.h: Likewise.
3687         * tests/test-set-mode-acl.sh: Likewise.
3688         * tests/test-snprintf-posix.h: Likewise.
3689         * tests/test-sprintf-posix.h: Likewise.
3690         * tests/test-strtod.c: Likewise.
3691         * tests/test-time.c: Likewise.
3692         * tests/test-vasnprintf-posix.c: Likewise.
3693         * tests/test-vasprintf-posix.c: Likewise.
3694         * doc/acl-resources.txt: Likewise.
3695         * doc/**/*.texi: Likewise.
3696         Reported by Max Horn <max@quendi.de>.
3697
3698 2012-06-22  Bruno Haible  <bruno@clisp.org>
3699
3700         grantpt: Relax requirement regarding invalid file descriptors.
3701         * lib/grantpt.c: Don't include <fcntl.h>.
3702         (grantpt): Don't verify the validity of the file descriptor.
3703         * modules/grantpt (Depends-on): Remove fcntl-h.
3704         * tests/test-grantpt.c (main): Allow grantpt to succeed for invalid
3705         file descriptors.
3706         * doc/posix-functions/grantpt.texi: Document more platforms on which
3707         grantpt succeeds for invalid file descriptors.
3708         Reported by Rich Felker <dalias@aerifal.cx>.
3709
3710 2012-06-22  Bruno Haible  <bruno@clisp.org>
3711
3712         fbufmode test: Don't test unportable behaviour.
3713         * tests/test-fbufmode.c (test_mode): New function, extracted from main.
3714         (main): Invoke it three times.
3715         Reported by Szabolcs Nagy <nsz@port70.net>
3716         and Rich Felker <dalias@aerifal.cx>.
3717
3718 2012-06-21  Bruno Haible  <bruno@clisp.org>
3719
3720         gnulib-tool: Refactor inctests variable.
3721         * gnulib-tool: Normalize inctests to 'true' or 'false', not ''.
3722         (func_modules_transitive_closure,
3723         func_modules_transitive_closure_separately,
3724         func_import, func_create_testdir): Update.
3725
3726         gnulib-tool: --create-[mega]testdir, --[mega]test implies --with-tests.
3727         * gnulib-tool: Accept option --without-tests.
3728         (func_usage): Document --without-tests option. Rearrange.
3729         (inctests): Normalize according to the mode.
3730         * NEWS: Mention the change.
3731         Suggested by Simon Josefsson.
3732
3733 2012-06-21  Bruce Korb  <bkorb@gnu.org>
3734
3735         parse-duration test: Avoid spurious output.
3736         * tests/test-parse-duration.sh: Reindent with leading tabs.
3737
3738 2012-06-21  Jim Meyering  <meyering@redhat.com>
3739
3740         maint: disable the strncpy prohibition
3741         * cfg.mk: Do not prohibit strncpy here.
3742
3743 2012-06-21  Bruno Haible  <bruno@clisp.org>
3744
3745         nonblocking: Avoid compilation error on mingw64.
3746         * m4/stdio_h.m4 (gl_STDIO_H): Invoke gl_MODULE_INDICATOR for scanf,
3747         fscanf.
3748         * modules/vscanf (configure.ac): Invoke gl_MODULE_INDICATOR.
3749         * modules/vfscanf (configure.ac): Likewise.
3750         * lib/stdio-read.c (scanf, fscanf, vscanf, vfscanf): Enable function
3751         definition only if stdio.h has prepared it.
3752         Reported by Daniel P. Berrange <berrange@redhat.com>.
3753
3754 2012-06-20  Bernd Jendrissek  <bernd.jendrissek@gmail.com>  (tiny change)
3755
3756         gnulib-tool: Use readlink if it is available.
3757         * gnulib-tool (func_readlink): Choose function more appropriately.
3758
3759 2012-06-21  Paul Eggert  <eggert@cs.ucla.edu>
3760
3761         posixtm-tests: port to buggy compiler
3762         Problem reported by Simon Josefsson in
3763         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00246.html>.
3764         * modules/posixtm-tests (Depends-on): Add stdint.
3765         * tests/test-posixtm.c (struct posixtm_test.t_expected):
3766         Now of type int_least64_t, not int64_t, both because that's
3767         what INT64_C returns and because int_least64_t works even
3768         on 72-bit hosts.
3769         (T): Use INT64_C on constants outside the traditional int range,
3770         to work around compiler bug noted by Simon.
3771
3772         mktime: fix integer overflow in 'configure'-time test
3773         * m4/mktime.m4 (gl_FUNC_MKTIME): Do not rely on undefined behavior
3774         after integer overflow.  Problem reported by Rich Felker in
3775         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00257.html>.
3776         Also, don't look for further instances of a bug if we've already
3777         found one instance; this helps 'configure' run faster.
3778
3779 2012-06-20  John Darrington  <john@darrington.wattle.id.au>  (tiny change)
3780
3781         tmpfile, clean-temp: Fix invocation of GetVersionEx.
3782         * lib/tmpfile.c (supports_delete_on_close): Initialize parameter for
3783         GetVersionEx correctly.
3784         * lib/clean-temp.c (supports_delete_on_close): Likewise.
3785
3786 2012-06-20  Bruno Haible  <bruno@clisp.org>
3787
3788         fdopen: Allow implementations that don't reject invalid fd arguments.
3789         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Let the test pass if fdopen(-1,...)
3790         succeeds.
3791         Reported by Rich Felker <dalias@aerifal.cx>.
3792
3793 2012-06-20  Simon Josefsson  <simon@josefsson.org>
3794
3795         * modules/parse-duration-tests (test_parse_duration_LDADD): Don't
3796         bring in LIBINTL.
3797
3798 2012-06-20  Paul Eggert  <eggert@cs.ucla.edu>
3799
3800         init.sh: do not rely on autoupated PWD
3801         This addresses symptoms of the problem reported by Nelson H.F. Beebe in
3802         <http://lists.gnu.org/archive/html/bug-gzip/2012-06/msg00008.html>.
3803         Although Nelson's bug was not necessarily fixed by this patch,
3804         it seems wise to make the change for safety.
3805         * tests/init.sh (path_prepend_): Do not rely on PWD updating
3806         automagically after 'cd'; this is not reliable on older shells.
3807         (setup_): Fail if we cannot cd to temporary directory.
3808
3809 2012-06-19  Bruno Haible  <bruno@clisp.org>
3810
3811         stat, fstat: Avoid warnings on mingw64.
3812         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Undefine before
3813         redefining.
3814         * lib/fstat.c (stat, fstat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Likewise.
3815         Reported by Daniel P. Berrange <berrange@redhat.com>.
3816
3817 2012-06-19  Bruno Haible  <bruno@clisp.org>
3818
3819         stdioext: Add support for musl libc.
3820
3821         * m4/fbufmode.m4 (gl_FUNC_FBUFMODE): Test whether __fbufsize exists.
3822         * lib/fbufmode.c (fbufmode): Add conditional code for musl.
3823
3824         * m4/fseterr.m4: New file.
3825         * lib/fseterr.h (fseterr): Define as an alias of __fseterr if that
3826         function exists.
3827         * modules/fseterr (Files): Add m4/fseterr.m4.
3828         (configure.ac): Invoke gl_FUNC_FSETERR. Compile fseterr.c if
3829         __fseterr does not exist.
3830         (Makefile.am): Remove fseterr.c from lib_SOURCES.
3831
3832         * lib/freadable.h: Update comment.
3833
3834         * lib/fwritable.h: Update comment.
3835
3836         * lib/freading.h: Update comment.
3837
3838         * lib/fwriting.h: Update comment.
3839
3840         * m4/freadahead.m4: New file.
3841         * lib/freadahead.h (freadahead): Define as an alias of __freadahead if
3842         that function exists.
3843         * modules/freadahead (Files): Add m4/freadahead.m4.
3844         (configure.ac): Invoke gl_FUNC_FREADAHEAD. Compile freadahead.c if
3845         __freadahead does not exist.
3846         (Makefile.am): Remove freadahead.c from lib_SOURCES.
3847
3848         * m4/freadptr.m4: New file.
3849         * lib/freadptr.h (freadptr): Define as an alias of __freadptr if that
3850         function exists.
3851         * modules/freadptr (Files): Add m4/freadptr.m4.
3852         (configure.ac): Invoke gl_FUNC_FREADPTR. Compile freadptr.c if
3853         __freadptr does not exist.
3854         (Makefile.am): Remove freadptr.c from lib_SOURCES.
3855
3856         * m4/freadseek.m4: New file.
3857         * lib/freadseek.c (freadptrinc): Use __freadptrinc if that function
3858         exists.
3859         * modules/freadseek (Files): Add m4/freadseek.m4.
3860         (configure.ac): Invoke gl_FUNC_FREADSEEK.
3861
3862         * lib/fpurge.c (fpurge): Update comment.
3863
3864         Reported by and with help from Rich Felker <dalias@aerifal.cx>.
3865
3866 2012-06-19  Bruno Haible  <bruno@clisp.org>
3867
3868         *printf-posix: Put more info into config.log.
3869         * m4/printf.m4 (gl_PRINTF_ENOMEM): Emit conftest's error output and
3870         exit code into config.log.
3871
3872 2012-06-19  Bruno Haible  <bruno@clisp.org>
3873
3874         getopt-gnu: Fix exit code overflow in autoconf test.
3875         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Squash exit code values,
3876         to keep them below < 128.
3877
3878 2012-06-17  Jim Meyering  <meyering@redhat.com>
3879
3880         maint.mk: fix typo in code to derive GPG key at release time
3881         * top/maint.mk (gpg_key_ID): Fix typo: $3 -> $$3
3882
3883 2012-06-17  Paul Eggert  <eggert@cs.ucla.edu>
3884
3885         regex: avoid warning when pointers are not long
3886         * lib/regcomp.c (parse_dup_op, mark_opt_subexp): Cast between void *
3887         and uintptr_t, not long, for portability to hosts where pointers and
3888         long have different sizes.  Issue noted by Daniel P. Berrange in
3889         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00122.html>
3890         and fix suggested by Bruno Haible in
3891         <http://lists.gnu.org/archive/html/bug-gnulib/2012-06/msg00128.html>.
3892
3893 2012-06-17  Bruno Haible  <bruno@clisp.org>
3894
3895         dummy: Relicense into the public domain.
3896         * modules/dummy (License): Set to "public domain".
3897         Suggested by Reuben Thomas.
3898
3899 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3900
3901         announce-gen: VPATH issues
3902         * build-aux/announce-gen (--srcdir): New option, used to trim the
3903         $srcdir part of the path from $builddir to NEWS.
3904         * top/maint.mk (announcement): Adjust.
3905
3906 2012-06-12  Akim Demaille  <akim@lrde.epita.fr>
3907
3908         gnu-web-doc-update: VPATH builds
3909         * build-aux/gnu-web-doc-update (--builddir): New option.
3910         Revamp the handling of options.
3911         Prefer $(...) to `...`.
3912         Don't pass --tmpdir=. to mktemp, it is useless given that we specify
3913         the template, and it is GNU mktemp specific.
3914         Prefer set -e to long series of &&.
3915         Restore the initial git branch, not "master".
3916         Properly initialize submodules (don't rely only on bootstrap).
3917         Do not reconfigure blindly, use config.status.
3918         * top/README-release: Update instructions for gnu-web-doc-update.
3919
3920 2012-06-11  Jim Meyering  <meyering@redhat.com>
3921
3922         maint.mk: revert most of the previous change re "all these"
3923         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Remove that pair.
3924         For rationale, see the discussion at
3925         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30912
3926
3927 2012-06-10  Karl Berry  <karl@gnu.org>
3928
3929         * build-aux/gnupload: with --dry-run, do not ask for gpg pw.
3930
3931         * build-aux/gnupload: implement --replace, ftp-upload protocol v1.2.
3932
3933 2012-06-10  Bruce Korb  <bkorb@gnu.org>
3934
3935         parse-duration: Relicense under LGPLv2+.
3936         * modules/parse-duration (License): Change to LGPLv2+.
3937
3938 2012-06-10  Jim Meyering  <meyering@redhat.com>
3939
3940         maint.mk: prohibit common grammar error: "all these"
3941         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Add "all these" to
3942         the list of prohibited word sequences.  It should be "all of these".
3943         * lib/tempname.c (__gen_tempname): Fix one of them.
3944
3945 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3946
3947         do-release-commit-and-tag: support VPATH builds
3948         * build-aux/do-release-commit-and-tag: Prefer $(...) to `...`.
3949         (noteworthy): Defined earlier to factor its value.
3950         (noteworthy_stub): New.
3951         Use it to factor.
3952         (help_version): Split into...
3953         (help, version): these.
3954         Adjust the option processing part.
3955         Support "--option=value" in addition to "--option value".
3956         (builddir): New.
3957         (--builddir): New option.
3958         * top/README-release: Document this.
3959         Reword slightly so that the reader cannot understand that he
3960         has to do these steps before calling do-release-commit-and-tag.
3961
3962 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3963
3964         readme-release: also require announce-gen and maintainer-makefile
3965         * modules/readme-release (Depends-on): here.
3966         * modules/announce-gen, modules/do-release-commit-and-tag,
3967         modules/gnu-web-doc-update, modules/maintainer-makefile
3968         (Description): Point to readme-release.
3969
3970 2012-06-07  Akim Demaille  <akim@lrde.epita.fr>
3971
3972         maint.mk: fix VPATH issues.
3973         * top/maint.mk (news-check): GNU Make understand $< very well.
3974         (release-prep): NEWS is in $(srcdir).
3975
3976 2012-06-05  Akim Demaille  <akim@lrde.epita.fr>
3977
3978         readme-release: require the promoted modules.
3979         * modules/readme-release (Depends-on): Add
3980         do-release-commit-and-tag, gnupload, and gnu-web-doc-update, used
3981         in this text.
3982
3983 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3984             Bruno Haible  <bruno@clisp.org>
3985
3986         error, strerror-override: Support mingw64 from Fedora 17.
3987         * lib/errno.in.h (GNULIB_defined_ESTREAMS): Use a different indicator
3988         for ETXTBSY, ENODATA, ENOSR, ENOSTR, ETIME, EOTHER, compared to
3989         EINPROGRESS.
3990         * lib/strerror-override.h (strerror_override): Test it.
3991         * lib/strerror-override.c (strerror_override): Likewise.
3992         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also ETXTBSY.
3993
3994 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
3995             Bruno Haible  <bruno@clisp.org>
3996
3997         error, strerror-override: Support mingw64 from Fedora 17.
3998         * lib/errno.in.h (GNULIB_defined_ENOTRECOVERABLE): Use a different
3999         indicator for ENOTRECOVERABLE, compared to EOWNERDEAD.
4000         * lib/strerror-override.h (strerror_override): Test it.
4001         * lib/strerror-override.c (strerror_override): Likewise.
4002
4003 2012-06-03  Bruno Haible  <bruno@clisp.org>
4004
4005         error, strerror-override: Support new errno values from POSIX:2008.
4006         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also EOWNERDEAD and
4007         ENOTRECOVERABLE.
4008         * lib/errno.in.h (EOWNERDEAD, ENOTRECOVERABLE): Define on all
4009         platforms.
4010         * lib/strerror-override.c (strerror_override): Conditionalize the
4011         EOWNERDEAD, ENOTRECOVERABLE handling on GNULIB_defined_EOWNERDEAD.
4012         * lib/strerror-override.h (strerror_override): Declare also if
4013         GNULIB_defined_EOWNERDEAD is defined.
4014         * tests/test-errno.c (e130, e131): New variables.
4015         * doc/posix-headers/errno.texi: Mention the status for EOWNERDEAD,
4016         ENOTRECOVERABLE.
4017         Reported by Paolo Bonzini.
4018
4019 2012-05-31  Jim Meyering  <meyering@redhat.com>
4020
4021         savewd: add missing dependency on sys_wait module
4022         * modules/savewd (Depends-on): Add sys_wait, needed at least
4023         for MSVC.  Report and suggested change by Michael Goffioul.
4024
4025 2012-05-29  Paul Eggert  <eggert@cs.ucla.edu>
4026
4027         system-quote-tests: port to CentOS 5
4028         Problem reported by Tom G. Christensen in
4029         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00255.html>.
4030         * tests/test-system-quote-child.c (fclose, fprintf): Undef.
4031
4032 2012-05-29  Jim Meyering  <meyering@redhat.com>
4033
4034         maint: fix typos in comments and ChangeLog
4035         Culprits identified and fixed mostly automatically using these commands:
4036         git ls-files | misspellings -f - |grep -v '^ERROR:' |perl -pe \
4037         's/^(.*?)\[(\d+)\]: (\w+) -> "(.*?)"$/sed -i '\''${2}s!$3!$4!'\'' $1/'
4038         using http://github.com/lyda/misspell-check
4039         * ChangeLog: Fix typos.
4040         * doc/solaris-versions: Likewise.
4041         * lib/regexec.c (re_search_stub): Likewise.
4042         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
4043
4044 2012-05-27  Paul Eggert  <eggert@cs.ucla.edu>
4045
4046         manywarnings: remove duplicate -Wmultichar entry
4047         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Remove duplicate
4048         entry for -Wmultichar.  -Wno-multichar is in the GCC 4.7.0 manual,
4049         so keep the entry marked as documented.
4050
4051 2012-05-27  Karl Berry  <karl@gnu.org>
4052
4053         * config/srclist.txt (mktime.c): remove last libc sync,
4054         perhaps just temporarily.
4055
4056 2012-05-26  Paul Eggert  <eggert@cs.ucla.edu>
4057
4058         regex: don't assume uint64_t or uint32_t
4059         * lib/regcomp.c (init_word_char): Don't assume that the types
4060         uint64_t and uint32_t exist.  The C standard doesn't guarantee
4061         them, and on some 32-bit compilers there is no uint64_t.
4062         Problem reported by Gianluigi Tiesi in
4063         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00154.html>.
4064
4065 2012-05-25  Jim Meyering  <meyering@redhat.com>
4066
4067         maint.mk: add strncpy-prohibiting syntax-check rule
4068         * top/maint.mk (sc_prohibit_strncpy): New rule, from coreutils.
4069
4070 2012-05-24  Jim Meyering  <meyering@redhat.com>
4071
4072         maint.mk: compute $(gpg_key_ID) more portably
4073         * top/maint.mk (gpg_key_ID): Use awk in place of sed '{...;...;}'.
4074         That use of sed is not portable to some fringe systems.
4075         Reported by Paul Eggert in
4076         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30793/focus=30802
4077
4078 2012-05-23  Paul Eggert  <eggert@cs.ucla.edu>
4079
4080         mktime: sync from glibc
4081         * config/srclist.txt: Uncomment mktime.c.
4082         * lib/mktime.c: Sync from glibc master.  This incorporates 3 changes.
4083         First, indent with tabs, since glibc uses tabs and doesn't want to
4084         change and we'd rather be identical to glibc.  Also, two small
4085         coding changes:
4086         (isdst_differ): Use &&, not &, as && is the usual style.
4087         (__mktime_internal): Rename local var from abs_diff to approx_abs_diff
4088         for clarity.
4089
4090 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
4091
4092         announce-gen: du -h is more portable than du --human
4093         * build-aux/announce-gen (sizes): Invoke du with -h instead
4094         of --human.  Accept leading white space in its output.
4095
4096 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
4097
4098         announce-gen: Improve diagnostics.
4099         * build-aux/announce-gen: When parsing command line options,
4100         prefer "announce-gen: option --release-type requires an argument"
4101         to "Option release-type requires an argument".
4102
4103 2012-05-23  Akim Demaille  <akim@lrde.epita.fr>
4104
4105         maint.mk: gpg_key_ID: use sed more portably
4106         * top/maint.mk (gpg_key_ID): End sed block with a semicolon before
4107         the closing brace.
4108         (refresh-po): Fuse two sed invocations into one.
4109
4110 2012-05-15  Akim Demaille  <akim@lrde.epita.fr>
4111
4112         gitlog-to-changelog: support the log message format used in Bison.
4113         * build-aux/gitlog-to-changelog: Support --strip-tab and
4114         --strip-cherry-picked.
4115
4116 2012-05-21  Paolo Bonzini  <bonzini@gnu.org>
4117
4118         poll/select: prevent busy-waiting.  SwitchToThread() only gives away
4119         the rest of the current time slice to another thread in the current
4120         process. So if the thread that feeds the file decscriptor we're
4121         polling is not in the current process, we get busy-waiting.
4122         * lib/poll.c: Use SleepEx(1, TRUE) instead of SwitchToThread().
4123         Patch from Theodore Leblond.
4124         * lib/select.c: Split polling out of the loop that sets the output
4125         fd_sets.  Check for zero result and loop if the wait timeout is
4126         infinite.
4127
4128 2012-05-21  Simon Josefsson  <simon@josefsson.org>
4129
4130         select: Fix build error on IRIX 6.5.
4131         * lib/select.c: Include stddef.h for NULL.
4132
4133 2012-05-21  Simon Josefsson  <simon@josefsson.org>
4134
4135         gc: fix libgcrypt detection on older machines.
4136         * m4/gc.m4: Reject libgcrypt earlier than 1.4.4.  Collapse
4137         copyright years because the file has been distributed every year
4138         since it was created.
4139
4140 2012-05-18  Paul Eggert  <eggert@cs.ucla.edu>
4141
4142         crypto: fix bug in large buffer handling
4143         Problem reported by Serge Belyshev for glibc in
4144         <http://sourceware.org/bugzilla/show_bug.cgi?id=14090> and for gnulib in
4145         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00226.html>.
4146         * lib/md4.c (md4_process_block):
4147         * lib/md5.c (md5_process_block):
4148         * lib/sha1.c (sha1_process_block):
4149         * lib/sha256.c (sha256_process_block):
4150         Don't assume the buffer length is less than 2**32.
4151         * lib/sha512.c (sha512_process_block): Likewise.
4152         Here, the bug is present only in the rare case where the host does
4153         not support uint64_t or where size_t is wider than 64 bits.
4154         Use u64size to work around the problems.
4155         * lib/u64.h (u64size): New macro.
4156
4157 2012-05-15  Pádraig Brady  <P@draigBrady.com>
4158
4159         fsusage: fix block size returned on older Linux 2.6
4160
4161         * lib/fsusage.c: Fall back to (struct statfs).f_frsize
4162         which is available since Linux 2.6.
4163         * m4/fsusage.m4 (STAT_STATFS2_FRSIZE): Always define
4164         when the member is available so it can be used as a fallback.
4165         * doc/posix-functions/statvfs.texi: Mention the hang issue
4166         on Linux < 2.6.36.
4167
4168 2012-05-14  Paul Eggert  <eggert@cs.ucla.edu>
4169
4170         bootstrap: suppress stderr chatter
4171         * build-aux/bootstrap (insert_sorted_if_absent, main program):
4172         Omit unnecessary chatter to stderr.  The main program chatter
4173         was there only inadvertantly.
4174
4175         bootstrap: .gitignore files created by autopoint, libtool
4176         I ran into this problem when bootstrapping the latest diffutils.
4177         After './bootstrap', 'git status' reported lots of untracked files
4178         m4/codeset.m4, m4/gettext.m4, etc.  These files were created by
4179         autopoint and do not need to be version-controlled.
4180         * build-aux/bootstrap: Put into .gitignore the files that
4181         autopoint and libtool create, by keeping track of files that exist
4182         after but not before these programs are run.
4183         (version_controlled_file): Move up.  2nd arg is now full file
4184         name, not base name; this is more convenient.  Put CVS at the end,
4185         as it's now somewhat deprecated.
4186
4187 2012-05-14  Jim Meyering  <meyering@redhat.com>
4188
4189         ignore-value.h: remove unused _GL_ATTRIBUTE_DEPRECATED definition
4190         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Remove now-unused
4191         definition.  Reported by Bruno Haible.
4192
4193 2012-05-13  Bruno Haible  <bruno@clisp.org>
4194             Paul Eggert  <eggert@cs.ucla.edu>
4195
4196         binary-io: Define set_binary_mode function.
4197         * lib/binary-io.h (set_binary_mode): New function.
4198         (SET_BINARY): Define in terms of set_binary_mode.
4199         * modules/binary-io (configure.ac): Require AC_C_INLINE.
4200         * tests/test-binary-io.c (main): Accept an argument, and test either
4201         set_binary_mode or SET_BINARY depending on the argument.
4202         * tests/test-binary-io.sh: Invoke test-binary-io twice, with an
4203         argument. Clean up also t-bin-out0.tmp.
4204
4205 2012-05-13  Stefano Lattarini  <stefano.lattarini@gmail.com>
4206
4207         bootstrap: take advantage of POSIX shell features
4208
4209         The 'bootstrap' script offered by Gnulib script already uses POSIX
4210         shell features (like $((...)) arithmetic expansions) that are not
4211         supported by legacy Bourne shells like Solaris 10 /bin/sh.  This
4212         means that bootstrap must already be run using a proper POSIX shell,
4213         which will thus provide more features, like ${var#pattern} parameter
4214         expansion or inversion of a command exit status with '!'.  We can
4215         thus use these features to improve the clarity and the performances
4216         of the bootstrap script.
4217
4218         Suggested by Eric Blake.
4219
4220         * build-aux/bootstrap: Prefer xpg4 parameter expansions over use
4221         of sed/expr plus command substitutions, to save some forks.  While
4222         we are at it, prefer the POSIX $(...) form of command substitution,
4223         rather than the legacy form `...` (since the former is visually
4224         clearer and interacts better with quoting), and prefer the idiom:
4225           "if ! CMD; then ACTION ..."
4226         over the idiom:
4227           "if CMD; then :; else ACTION ..."
4228         which was required by legacy Bourne shells not supporting '!'.
4229
4230 2012-05-12  Bruno Haible  <bruno@clisp.org>
4231
4232         system-quote: Add more comments.
4233         * lib/system-quote.h: Add more comments about wilcards and limitations.
4234         Suggested by Eli Zaretskii <eliz@gnu.org>.
4235
4236         sh-quote, system-quote: Add comments about wildcards.
4237         * lib/sh-quote.h: Clarify what happens with wildcard characters.
4238         * lib/system-quote.h: Likewise.
4239         Reported by Eli Zaretskii <eliz@gnu.org>.
4240
4241 2012-05-11  Paul Eggert  <eggert@cs.ucla.edu>
4242
4243         fsusage: check for GNU/Linux statvfs problem dynamically
4244         * lib/fsusage.c [STAT_STATVFS && __linux__ && (__GLIBC__||__UCLIBC__)]:
4245         Define STAT_STATFS2_BSIZE too, since in this case the code now
4246         checks dynamically whether statvfs is reliable, falling back on
4247         Linux-style statfs otherwise.
4248         (statvfs_works): New function, for dynamically testing statvfs.
4249         (get_fs_usage) [STAT_STATVFS]: Use it.
4250         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Remove static check for
4251         statvfs on GNU/Linux hosts, since it's now done dynamically.
4252
4253 2012-05-10  Bruno Haible  <bruno@clisp.org>
4254
4255         system-quote, execute, spawn-pipe: Escape '?' on Windows.
4256         * lib/system-quote.c (SHELL_SPECIAL_CHARS, CMD_SPECIAL_CHARS): Add the
4257         '?' character.
4258         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Likewise.
4259         * tests/test-system-quote-main.c (check_all): Check also strings like
4260         "??????????".
4261         Reported by Eli Zaretskii <eliz@gnu.org>.
4262
4263 2012-05-10  Paul Eggert  <eggert@cs.ucla.edu>
4264
4265         _Noreturn: port config.h to gcc -Wundef
4266         * m4/gnulib-common.m4 (gl_COMMON_BODY): Check that __STDC_VERSION__ is
4267         defined before using it, for gcc -Wundef.  Reported by Akim Demaille in
4268         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00147.html>.
4269
4270 2012-05-10  Bruno Haible  <bruno@clisp.org>
4271
4272         system-quote: Refactor.
4273         * lib/system-quote.h (system_quote_copy): Fix comment.
4274         * lib/system-quote.c (windows_createprocess_quote, windows_cmd_quote):
4275         New functions, extracted from system_quote_copy.
4276         (system_quote_length, system_quote_copy): Use these functions.
4277         Reported by Paul Eggert.
4278
4279 2012-05-08  Bruno Haible  <bruno@clisp.org>
4280
4281         execute, spawn-pipe: Escape '*' characters in arguments on Windows.
4282         * lib/w32spawn.h (SHELL_SPECIAL_CHARS): Add the '*' character.
4283
4284 2012-05-08  Bruno Haible  <bruno@clisp.org>
4285
4286         Tests for module 'system-quote'.
4287         * modules/system-quote-tests: New file.
4288         * tests/test-system-quote.sh: New file.
4289         * tests/test-system-quote-main.c: New file.
4290         * tests/test-system-quote-child.c: New file.
4291
4292         New module 'system-quote'.
4293         * lib/system-quote.h: New file.
4294         * lib/system-quote.c: New file.
4295         * modules/system-quote: New file.
4296
4297 2012-05-08  Bruno Haible  <bruno@clisp.org>
4298
4299         sh-quote: Make C++ safe and allow multiple inclusion.
4300         * lib/sh-quote.h: Add double-inclusion guard. For C++, wrap function
4301         declarations in extern "C".
4302
4303 2012-05-08  Bruno Haible  <bruno@clisp.org>
4304
4305         sh-quote tests: Make tests stricter.
4306         * tests/test-sh-quote.c (check_one): Check the return value of
4307         shell_quote_copy.
4308         (main): Check a string with a CR character. Check a string that
4309         contains UCHAR_MAX.
4310
4311 2012-05-08  Akim Demaille  <akim@lrde.epita.fr>
4312
4313         warnings.m4: provide a means to specify the program to compile.
4314         * m4/warnings.m4 (gl_COMPILER_OPTION_IF): New, extracted from...
4315         (gl_WARN_ADD): here.
4316         Use gl_AS_VAR_APPEND.
4317         Support an argument to specify the program to compile.
4318         (gl_WARN_ADD): Accept an argument to specify the program to compile.
4319         AC_SUBST the WARN_CFLAGS when they are used.
4320         * modules/warnings (configure.ac): Don't AC_SUBST WARN_CFLAGS,
4321         leave this to gl_WARN_ADD.
4322
4323 2012-05-08  Eric Blake  <eblake@redhat.com>
4324
4325         doc: recommendations on gettext version
4326         * doc/gnulib-tool.texi (gettextize and autopoint): Document the
4327         choice between versions.
4328         * DEPENDENCIES (gettext): Cover both approaches.
4329
4330 2012-05-08  Jim Meyering  <meyering@redhat.com>
4331
4332         init.sh: explain why EXEEXT support uses aliases rather than functions
4333         * tests/init.sh: Add a comment.
4334
4335         init.sh: don't let bash aliases interfere with tests
4336         * tests/init.sh: Undefine any pre-defined aliases if the selected shell
4337         is bash.  This avoids problems for those who alias standard commands to
4338         non-conforming uses, like those reported in http://bugs.gnu.org/11256.
4339         Suggested by Tim Mooney <Tim.Mooney@ndsu.edu>.
4340
4341 2012-05-07  Paul Eggert  <eggert@cs.ucla.edu>
4342
4343         stdint: be more consistent with glibc, SunOS libc
4344         * lib/stdint.in.h (gl_int_fast8_t, gl_uint_fast8_t)
4345         (gl_int_fast16_t, gl_uint_fast16_t)
4346         (gl_int_fast32_t, gl_uint_fast32_t)
4347         (INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX)
4348         (INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX)
4349         (INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
4350         Be consistent with glibc by default, and with SunOS 5.10 and later
4351         if __sun is defined.  This lessens the likelihood of clashes if
4352         code compiled for older hosts is combined with code compiled for
4353         newer ones.  Problem reported by Niels Möller in
4354         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00074.html>.
4355
4356 2012-05-07  Eric Blake  <eblake@redhat.com>
4357
4358         isatty: relax license to LGPLv2+
4359         * modules/isatty (License): Relax license.
4360
4361 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4362
4363         stat-size: comment fix
4364         * lib/stat-size.h: Remove obsolete comment about indenting.
4365
4366 2012-05-06  Bruno Haible  <bruno@clisp.org>
4367
4368         Tests for module 'sh-quote'.
4369         * modules/sh-quote-tests: New file.
4370         * tests/test-sh-quote.c: New file.
4371
4372 2012-05-06  Bruno Haible  <bruno@clisp.org>
4373
4374         sh-quote: Improve shell_quote_argv's signature.
4375         * lib/sh-quote.h (shell_quote_argv): Make argument array a 'const *'.
4376         * lib/sh-quote.c (shell_quote_argv): Likewise.
4377
4378 2012-05-06  Paul Eggert  <eggert@cs.ucla.edu>
4379
4380         stdint: document issues with int_fast8_t etc.
4381         * doc/posix-headers/stdint.texi (stdint.h): Say that other
4382         stdint.h substitutes may define these types differently.  See
4383         <http://lists.gnu.org/archive/html/bug-gnulib/2012-05/msg00071.html>.
4384
4385 2012-05-05  Bruno Haible  <bruno@clisp.org>
4386
4387         nanosleep: Avoid guessing wrong when cross-compiling to Linux.
4388         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require AC_CANONICAL_HOST. When
4389         cross-compiling, set gl_cv_func_nanosleep to either 'guessing no'
4390         or 'guessing no (mishandles large arguments)'.
4391
4392 2012-05-05  Bruno Haible  <bruno@clisp.org>
4393
4394         link-follow: Avoid guessing wrong when cross-compiling to glibc/Linux.
4395         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Require
4396         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4397         set gl_cv_func_link_follows_symlink to "guessing no".
4398
4399 2012-05-05  Bruno Haible  <bruno@clisp.org>
4400
4401         tzset: Avoid guessing wrong when cross-compiling to glibc systems.
4402         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require AC_CANONICAL_HOST. When
4403         cross-compiling to a glibc platform, set gl_cv_func_tzset_clobber to
4404         "guessing no".
4405         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Update.
4406
4407 2012-05-05  Bruno Haible  <bruno@clisp.org>
4408
4409         d-ino: Avoid guessing "no" when cross-compiling to glibc/Linux systems.
4410         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Require
4411         AC_CANONICAL_HOST. When cross-compiling to a glibc/Linux platform,
4412         set gl_cv_struct_dirent_d_ino to "guessing yes".
4413
4414 2012-05-05  Bruno Haible  <bruno@clisp.org>
4415
4416         fseeko-tests, ftello-tests: Avoid "guessing no" when cross-compiling.
4417         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Require AC_CANONICAL_HOST. When
4418         cross-compiling to a glibc platform, set gl_cv_func_ungetc_works to
4419         "guessing yes".
4420
4421 2012-05-05  Bruno Haible  <bruno@clisp.org>
4422
4423         signbit: Avoid "guessing no" when cross-compiling to glibc systems.
4424         * m4/signbit.m4 (gl_SIGNBIT): Require AC_CANONICAL_HOST. When cross-
4425         compiling to a glibc system, set gl_cv_func_signbit and
4426         gl_cv_func_signbit_gcc to "guessing yes".
4427
4428 2012-05-05  Bruno Haible  <bruno@clisp.org>
4429
4430         strerror: Avoid "guessing no" when cross-compiling to glibc systems.
4431         * m4/strerror.m4 (gl_FUNC_STRERROR): Require AC_CANONICAL_HOST. When
4432         cross-compiling to a glibc platform, set gl_cv_func_working_strerror
4433         to "guessing yes".
4434         (gl_FUNC_STRERROR_0): Require AC_CANONICAL_HOST. When cross-compiling
4435         to a glibc platform, set gl_cv_func_strerror_0_works to "guessing yes".
4436
4437 2012-05-05  Bruno Haible  <bruno@clisp.org>
4438
4439         canonicalize[-lgpl]: Avoid "guessing no" when cross-compiling to glibc.
4440         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Require
4441         AC_CANONICAL_HOST. When cross-compiling to a glibc system, set
4442         gl_cv_func_realpath_works to "guessing yes".
4443
4444 2012-05-05  Bruno Haible  <bruno@clisp.org>
4445
4446         gettimeofday: Avoid bad guess when cross-compiling to glibc systems.
4447         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY_CLOBBER): Require
4448         AC_CANONICAL_HOST. When cross-compiling, guess no on glibc platforms.
4449
4450 2012-05-04  Bruno Haible  <bruno@clisp.org>
4451
4452         Tweak last commit.
4453         * m4/off_t.m4 (gl_TYPE_OFF_T): Tweak comments.
4454         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
4455
4456 2012-05-04  Paul Eggert  <eggert@cs.ucla.edu>
4457
4458         unistd_h: make it easier to avoid sys_types_h
4459         This is useful for Emacs, which has its own method of porting to
4460         Windows, and which therefore does not need the sys_types_h module.
4461         * m4/off_t.m4: New file, defining gl_TYPE_OFF_T, which contains
4462         code moved here from gl_SYS_TYPES_H.
4463         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Require it instead of
4464         using the code directly.
4465         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_TYPE_OFF_T, not
4466         gl_SYS_TYPES_H.
4467         * modules/sys_types (Files):
4468         * modules/unistd (Files): Add m4/off_t.m4.
4469
4470 2012-05-03  Bruno Haible  <bruno@clisp.org>
4471
4472         lstat: Avoid "guessing no" when cross-compiling to glibc systems.
4473         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): When cross-
4474         compiling, set gl_cv_func_lstat_dereferences_slashed_symlink to
4475         "guessing yes" or "guessing no".
4476         (gl_FUNC_LSTAT): Update.
4477         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Update.
4478         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
4479         * m4/unlinkat.m4 (gl_FUNC_UNLINKAT): Update.
4480
4481 2012-05-03  Bruno Haible  <bruno@clisp.org>
4482
4483         *alloc-gnu, eealloc: Avoid "guessing no" when cross-compiling to glibc.
4484         * m4/malloc.m4 (_AC_FUNC_MALLOC_IF): Override in autoconf < 2.70.
4485         * m4/realloc.m4 (_AC_FUNC_REALLOC_IF): Override in autoconf < 2.70.
4486         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Require AC_CANONICAL_HOST. When
4487         cross-compiling, choose the first alternative on glibc systems.
4488         * modules/eealloc (Files): Add m4/malloc.m4, m4/realloc.m4.
4489
4490 2012-05-03  Bruno Haible  <bruno@clisp.org>
4491
4492         getgroups: Avoid "guessing no" when cross-compiling to glibc systems.
4493         * m4/getgroups.m4 (AC_FUNC_GETGROUPS): Override in autoconf < 2.70.
4494         (gl_FUNC_GETGROUPS): Adapt to change of ac_cv_func_getgroups_works.
4495
4496 2012-05-03  Bruno Haible  <bruno@clisp.org>
4497
4498         chown: Avoid "guessing no" when cross-compiling to glibc systems.
4499         * m4/chown.m4 (AC_FUNC_CHOWN): Override in autoconf < 2.70.
4500
4501 2012-05-03  Bruno Haible  <bruno@clisp.org>
4502
4503         Avoid "guessing no" guesses when cross-compiling to glibc systems.
4504         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Require AC_CANONICAL_HOST. When cross-
4505         compiling to glibc systems, set gl_cv_func_cbrtl_ieee to "guessing yes".
4506         * m4/ceil.m4 (gl_FUNC_CEIL): Require AC_CANONICAL_HOST. When cross-
4507         compiling to glibc systems, set gl_cv_func_ceil_ieee to "guessing yes".
4508         * m4/ceilf.m4 (gl_FUNC_CEILF): Require AC_CANONICAL_HOST. When cross-
4509         compiling to glibc systems, set gl_cv_func_ceilf_ieee to "guessing yes".
4510         * m4/ceill.m4 (gl_FUNC_CEILL): Require AC_CANONICAL_HOST. When cross-
4511         compiling to glibc systems, set gl_cv_func_ceill_ieee to "guessing yes".
4512         * m4/chown.m4 (gl_FUNC_CHOWN): Require AC_CANONICAL_HOST. When cross-
4513         compiling to glibc systems, set gl_cv_func_chown_slash_works,
4514         gl_cv_func_chown_ctime_works to "guessing yes".
4515         * m4/lchown.m4 (gl_FUNC_LCHOWN): Update.
4516         * m4/exp2l.m4 (gl_FUNC_EXP2L): Require AC_CANONICAL_HOST. When cross-
4517         compiling to glibc systems, set gl_cv_func_exp2l_ieee to "guessing yes".
4518         * m4/expm1.m4 (gl_FUNC_EXPM1): Require AC_CANONICAL_HOST. When cross-
4519         compiling to glibc systems, set gl_cv_func_expm1_ieee to "guessing yes".
4520         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require AC_CANONICAL_HOST. When cross-
4521         compiling to glibc systems, set gl_cv_func_open_directory_works to
4522         "guessing yes".
4523         * m4/fstat.m4 (gl_FUNC_FSTAT): Update.
4524         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require AC_CANONICAL_HOST. When
4525         cross-compiling to glibc systems, set gl_cv_func_fdopendir_works to
4526         "guessing yes".
4527         * m4/floor.m4 (gl_FUNC_FLOOR): Require AC_CANONICAL_HOST. When cross-
4528         compiling to glibc systems, set gl_cv_func_floor_ieee to "guessing yes".
4529         * m4/floorf.m4 (gl_FUNC_FLOORF): Require AC_CANONICAL_HOST. When cross-
4530         compiling to glibc systems, set gl_cv_func_floorf_ieee to
4531         "guessing yes".
4532         * m4/fmod.m4 (gl_FUNC_FMOD): Require AC_CANONICAL_HOST. When cross-
4533         compiling to glibc systems, set gl_cv_func_fmod_ieee to "guessing yes".
4534         * m4/fmodf.m4 (gl_FUNC_FMODF): Require AC_CANONICAL_HOST. When cross-
4535         compiling to glibc systems, set gl_cv_func_fmodf_ieee to "guessing yes".
4536         * m4/fmodl.m4 (gl_FUNC_FMODL): Require AC_CANONICAL_HOST. When cross-
4537         compiling to glibc systems, set gl_cv_func_fmodl_ieee to "guessing yes".
4538         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Require AC_CANONICAL_HOST. When
4539         cross-compiling to glibc systems, set gl_cv_func_getgroups_works to
4540         "guessing yes".
4541         * m4/hypot.m4 (gl_FUNC_HYPOT): Require AC_CANONICAL_HOST. When cross-
4542         compiling to glibc systems, set gl_cv_func_hypot_ieee to "guessing yes".
4543         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Require AC_CANONICAL_HOST. When cross-
4544         compiling to glibc systems, set gl_cv_func_hypotf_ieee to
4545         "guessing yes".
4546         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Require AC_CANONICAL_HOST. When cross-
4547         compiling to glibc systems, set gl_cv_func_hypotl_ieee to
4548         "guessing yes".
4549         * m4/link.m4 (gl_FUNC_LINK): Require AC_CANONICAL_HOST. When cross-
4550         compiling to glibc systems, set gl_cv_func_link_works to "guessing yes".
4551         * m4/log.m4 (gl_FUNC_LOG): Require AC_CANONICAL_HOST. When cross-
4552         compiling to glibc systems, set gl_cv_func_log_ieee to "guessing yes".
4553         * m4/logf.m4 (gl_FUNC_LOGF): Require AC_CANONICAL_HOST. When cross-
4554         compiling to glibc systems, set gl_cv_func_logf_ieee to "guessing yes".
4555         * m4/log10.m4 (gl_FUNC_LOG10): Require AC_CANONICAL_HOST. When cross-
4556         compiling to glibc systems, set gl_cv_func_log10_ieee to "guessing yes".
4557         * m4/log10f.m4 (gl_FUNC_LOG10F): Require AC_CANONICAL_HOST. When cross-
4558         compiling to glibc systems, set gl_cv_func_log10f_ieee to
4559         "guessing yes".
4560         * m4/log1p.m4 (gl_FUNC_LOG1P): Require AC_CANONICAL_HOST. When cross-
4561         compiling to glibc systems, set gl_cv_func_log1p_ieee to "guessing yes".
4562         * m4/log1pf.m4 (gl_FUNC_LOG1PF): Require AC_CANONICAL_HOST. When cross-
4563         compiling to glibc systems, set gl_cv_func_log1pf_ieee to
4564         "guessing yes".
4565         * m4/log1pl.m4 (gl_FUNC_LOG1PL): Require AC_CANONICAL_HOST. When cross-
4566         compiling to glibc systems, set gl_cv_func_log1pl_ieee to
4567         "guessing yes".
4568         * m4/log2.m4 (gl_FUNC_LOG2): Require AC_CANONICAL_HOST. When cross-
4569         compiling to glibc systems, set gl_cv_func_log2_ieee to "guessing yes".
4570         * m4/log2f.m4 (gl_FUNC_LOG2F): Require AC_CANONICAL_HOST. When cross-
4571         compiling to glibc systems, set gl_cv_func_log2f_ieee to "guessing yes".
4572         * m4/mkdir.m4 (gl_FUNC_MKDIR): Require AC_CANONICAL_HOST. When cross-
4573         compiling to glibc systems, set gl_cv_func_mkdir_trailing_slash_works,
4574         gl_cv_func_mkdir_trailing_dot_works to "guessing yes".
4575         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Require AC_CANONICAL_HOST. When cross-
4576         compiling to glibc systems, set gl_cv_func_mkfifo_works to
4577         "guessing yes".
4578         * m4/mknod.m4 (gl_FUNC_MKNOD): Require AC_CANONICAL_HOST. When cross-
4579         compiling to glibc systems, set gl_cv_func_mknod_works to
4580         "guessing yes".
4581         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_CANONICAL_HOST. When
4582         cross-compiling to glibc systems, set gl_cv_func_working_mkstemp to
4583         "guessing yes".
4584         * m4/modf.m4 (gl_FUNC_MODF): Require AC_CANONICAL_HOST. When cross-
4585         compiling to glibc systems, set gl_cv_func_modf_ieee to "guessing yes".
4586         * m4/modff.m4 (gl_FUNC_MODFF): Require AC_CANONICAL_HOST. When cross-
4587         compiling to glibc systems, set gl_cv_func_modff_ieee to "guessing yes".
4588         * m4/modfl.m4 (gl_FUNC_MODFL): Require AC_CANONICAL_HOST. When cross-
4589         compiling to glibc systems, set gl_cv_func_modfl_ieee to "guessing yes".
4590         * m4/putenv.m4 (gl_FUNC_PUTENV): Require AC_CANONICAL_HOST. When cross-
4591         compiling to glibc systems, set gl_cv_func_svid_putenv to
4592         "guessing yes".
4593         * m4/readlink.m4 (gl_FUNC_READLINK): Require AC_CANONICAL_HOST. When
4594         cross-compiling to glibc systems, set gl_cv_func_readlink_works to
4595         "guessing yes".
4596         * m4/remainder.m4 (gl_FUNC_REMAINDER): Require AC_CANONICAL_HOST. When
4597         cross-compiling to glibc systems, set gl_cv_func_remainder_ieee to
4598         "guessing yes".
4599         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Require AC_CANONICAL_HOST.
4600         When cross-compiling to glibc systems, set gl_cv_func_remainderf_ieee
4601         to "guessing yes".
4602         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Require AC_CANONICAL_HOST.
4603         When cross-compiling to glibc systems, set gl_cv_func_remainderl_ieee
4604         to "guessing yes".
4605         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require AC_CANONICAL_HOST. When cross-
4606         compiling to glibc systems, set gl_cv_func_rmdir_works to
4607         "guessing yes".
4608         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. When cross-
4609         compiling to glibc systems, set gl_cv_func_unlink_honors_slashes,
4610         gl_cv_func_unlink_parent_fails to "guessing yes".
4611         * m4/remove.m4 (gl_FUNC_REMOVE): Update.
4612         * m4/rename.m4 (gl_FUNC_RENAME): Require AC_CANONICAL_HOST. When cross-
4613         compiling to glibc systems, set gl_cv_func_rename_slash_dst_works,
4614         gl_cv_func_rename_slash_src_works, gl_cv_func_rename_link_works,
4615         gl_cv_func_rename_dest_works to "guessing yes".
4616         * m4/round.m4 (gl_FUNC_ROUND): Require AC_CANONICAL_HOST. When cross-
4617         compiling to glibc systems, set gl_cv_func_round_ieee to "guessing yes".
4618         * m4/roundf.m4 (gl_FUNC_ROUNDF): Require AC_CANONICAL_HOST. When cross-
4619         compiling to glibc systems, set gl_cv_func_roundf_ieee to
4620         "guessing yes".
4621         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require AC_CANONICAL_HOST. When cross-
4622         compiling to glibc systems, set gl_cv_func_roundl_ieee to
4623         "guessing yes".
4624         * m4/setenv.m4 (gl_FUNC_SETENV): Require AC_CANONICAL_HOST. When cross-
4625         compiling to glibc systems, set gl_cv_func_setenv_works to
4626         "guessing yes".
4627         (gl_FUNC_UNSETENV): Require AC_CANONICAL_HOST. When cross-
4628         compiling to glibc systems, set gl_cv_func_unsetenv_works to
4629         "guessing yes".
4630         * m4/sleep.m4 (gl_FUNC_SLEEP): Require AC_CANONICAL_HOST. When cross-
4631         compiling to glibc systems, set gl_cv_func_sleep_works to
4632         "guessing yes".
4633         * m4/stat.m4 (gl_FUNC_STAT): Require AC_CANONICAL_HOST. When cross-
4634         compiling to glibc systems, set gl_cv_func_stat_file_slash to
4635         "guessing yes".
4636         * m4/symlink.m4 (gl_FUNC_SYMLINK): Require AC_CANONICAL_HOST. When
4637         cross-compiling to glibc systems, set gl_cv_func_symlink_works to
4638         "guessing yes".
4639         * m4/trunc.m4 (gl_FUNC_TRUNC): Require AC_CANONICAL_HOST. When cross-
4640         compiling to glibc systems, set gl_cv_func_trunc_ieee to "guessing yes".
4641         * m4/truncf.m4 (gl_FUNC_TRUNCF): Require AC_CANONICAL_HOST. When cross-
4642         compiling to glibc systems, set gl_cv_func_truncf_ieee to
4643         "guessing yes".
4644         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require AC_CANONICAL_HOST. When cross-
4645         compiling to glibc systems, set gl_cv_func_truncl_ieee to
4646         "guessing yes".
4647         * m4/usleep.m4 (gl_FUNC_USLEEP): Require AC_CANONICAL_HOST. When cross-
4648         compiling to glibc systems, set gl_cv_func_usleep_works to
4649         "guessing yes".
4650         * m4/utimens.m4 (gl_UTIMENS): Require AC_CANONICAL_HOST. When cross-
4651         compiling to glibc systems, set gl_cv_func_futimesat_works to
4652         "guessing yes".
4653
4654 2012-05-03  Bruno Haible  <bruno@clisp.org>
4655
4656         Say "guessing yes" or "guessing no" when cross-compiling.
4657         * m4/dup2.m4 (gl_FUNC_DUP2): When cross-compiling, set
4658         gl_cv_func_dup2_works to "guessing yes" or "guessing no".
4659         * m4/getdelim.m4 (gl_FUNC_GETDELIM): When cross-compiling, set
4660         gl_cv_func_working_getdelim to "guessing yes" or "guessing no".
4661         * m4/getline.m4 (gl_FUNC_GETLINE): When cross-compiling, set
4662         am_cv_func_working_getline to "guessing yes" or "guessing no".
4663         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, set
4664         gl_cv_func_memmem_works_always to "guessing yes" or "guessing no".
4665         (gl_FUNC_MEMMEM): When cross-compiling, set
4666         gl_cv_func_memmem_works_fast to "guessing yes" or "guessing no".
4667         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): When cross-compiling, set
4668         gl_cv_func_stpncpy to "guessing yes" or "guessing no".
4669         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): When cross-compiling,
4670         set gl_cv_func_strcasestr_works_always to "guessing yes" or
4671         "guessing no".
4672         (gl_FUNC_STRCASESTR): When cross-compiling, set
4673         gl_cv_func_strcasestr_linear to "guessing yes" or "guessing no".
4674         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): When cross-compiling, set
4675         gl_cv_func_strstr_works_always to "guessing yes" or "guessing no".
4676         (gl_FUNC_STRSTR): When cross-compiling, set
4677         gl_cv_func_strstr_linear to "guessing yes" or "guessing no".
4678         * m4/strtod.m4 (gl_FUNC_STRTOD): When cross-compiling, set
4679         gl_cv_func_strtod_works to "guessing yes" or "guessing no".
4680         * m4/wctype_h.m4 (gl_WCTYPE_H): When cross-compiling, set
4681         gl_cv_func_iswcntrl_works to "guessing yes" or "guessing no".
4682
4683 2012-05-01  Bruno Haible  <bruno@clisp.org>
4684
4685         relocatable-prog: Enable ELF ORIGIN trick also on GNU/kFreeBSD.
4686         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Treat kFreeBSD like Linux.
4687         * build-aux/reloc-ldflags: Likewise.
4688         Suggested by Steven Chamberlain <steven@pyro.eu.org>.
4689
4690 2012-05-01  Bruno Haible  <bruno@clisp.org>
4691
4692         gnulib-tool: Remove transitional code.
4693         * gnulib-tool: Don't warn about --import with 0 arguments any more.
4694         Reported by Dmitriy Selyutin <ghostman.sd@gmail.com>.
4695
4696 2012-05-01  Bruno Haible  <bruno@clisp.org>
4697
4698         getcwd: Fix misindentation.
4699         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Fix indentation.
4700
4701 2012-04-29  Paul Eggert  <eggert@cs.ucla.edu>
4702
4703         exclude: process exclude and include directives in order
4704         This restores the pre-2009 behavior, and is part of a fix of a
4705         grep bug reported by Quentin Arce in
4706         <http://lists.gnu.org/archive/html/bug-grep/2012-04/msg00056.html>.
4707         * lib/exclude.c (struct exclude): Remove 'tail' member.
4708         (new_exclude_segment): Prepend the new segment instead of appending.
4709         Return void, since that's now more convenient.
4710         (file_pattern_matches): Renamed from excluded_file_pattern_p.
4711         (file_name_matches): Renamed from excluded_file_name_p.
4712         (file_pattern_matches, file_name_matches):
4713         Return true if the pattern matches, not if it excludes.
4714         All callers changed.
4715         (excluded_file_name): Process the list in reverse order;
4716         since the list is now reversed this restores the pre-2009 behavior.
4717         (add_exclude): Adjust to new reversed-order list.  Use local var
4718         rather than macro, for clarity.
4719         * tests/test-exclude7.sh: Adjust to corrected behavior.
4720
4721         exclude: handle wildcards with FNM_NOESCAPE and with trailing \
4722         * lib/exclude.c (unescape_pattern): Don't worry about unescaped [;
4723         it's not possible here.  Handle the case of \ at end of pattern
4724         without dumping core.
4725         (add_exclude): Do not unescape the pattern if FNM_NOESCAPE is used.
4726
4727         _Noreturn: future-proof non-GNU and non-MSVC compilers
4728         * build-aux/snippet/_Noreturn.h (_Noreturn):
4729         * m4/gnulib-common.m4 (gl_COMMON_BODY):
4730         Do not define _Noreturn if __STDC_VERSION__ indicates this is
4731         C11 or later.  This is more likely to work with random future C
4732         compilers that are neither GNUish nor MSVCish.  See Vincent Lefevre in
4733         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00195.html>.
4734
4735         exclude: handle wildcards with FNM_EXTMATCH
4736         * lib/exclude.c (fnmatch_pattern_has_wildcards): Also treat '+(',
4737         '+@', '!(' as wildcards, if FNM_EXTMATCH.  Make it clear in a
4738         comment that "has wildcards" really means "has or may have
4739         wildcards".  Simplify by avoiding the need to call strcspn.
4740
4741 2012-04-29  Bruno Haible  <bruno@clisp.org>
4742
4743         gnulib-tool: Fix list of authors.
4744         * gnulib-tool (func_version): Add Paul Eggert to list of authors.
4745
4746 2012-04-26  Stefano Lattarini  <stefano.lattarini@gmail.com>
4747
4748         bootstrap: support Automake-NG in $buildreq
4749         * bootstrap (check_versions): Handle automake and aclocal from
4750         Automake-NG specially.  They can be specified as respectively
4751         the "automake-ng" and "aclocal-ng" requirements.
4752
4753 2012-04-25  Eric Blake  <eblake@redhat.com>
4754
4755         bootstrap: only force latest Makefile.in.in for gettext module
4756         * build-aux/bootstrap (with_gettext): Only install latest
4757         Makefile.in.in for projects requesting bleeding edge gettext.
4758
4759 2012-04-22  Bruno Haible  <bruno@clisp.org>
4760
4761         doc: Mention reason for replacement on glibc/Linux systems.
4762         * doc/posix-functions/dprintf.texi: Mention the problem with special
4763         'long double' values.
4764         * doc/posix-functions/fprintf.texi: Likewise.
4765         * doc/posix-functions/printf.texi: Likewise.
4766         * doc/posix-functions/snprintf.texi: Likewise.
4767         * doc/posix-functions/sprintf.texi: Likewise.
4768         * doc/posix-functions/vdprintf.texi: Likewise.
4769         * doc/posix-functions/vfprintf.texi: Likewise.
4770         * doc/posix-functions/vprintf.texi: Likewise.
4771         * doc/posix-functions/vsnprintf.texi: Likewise.
4772         * doc/posix-functions/vsprintf.texi: Likewise.
4773         * doc/posix-functions/fcntl.texi: Add glibc/Linux to the list of
4774         platforms with F_DUPFD_CLOEXEC problems.
4775         * doc/posix-functions/glob.texi: Mention which platforms are affected
4776         by the problem with symbolic links.
4777         * doc/posix-functions/linkat.texi: Mention the problem with
4778         AT_SYMLINK_FOLLOW on Linux.
4779
4780 2012-04-22  Bruno Haible  <bruno@clisp.org>
4781
4782         pwrite: Don't replace on all platforms.
4783         * m4/pwrite.m4 (gl_FUNC_PWRITE): Fix syntax error in test program.
4784
4785 2012-04-22  Bruno Haible  <bruno@clisp.org>
4786
4787         rint* tests: Avoid gcc warnings.
4788         * tests/test-rint.c (INFINITY, NAN): Undefine before redefining.
4789         * tests/test-rintf.c (INFINITY, NAN): Likewise.
4790         * tests/test-rintl.c (INFINITY, NAN): Likewise.
4791
4792 2012-04-21  Bruno Haible  <bruno@clisp.org>
4793
4794         users.txt: Update.
4795         * users.txt: Add freedink, wdiff. Update URLs for projects that have
4796         switched from CVS to git, bzr, or svn.
4797
4798 2012-04-21  Bruno Haible  <bruno@clisp.org>
4799
4800         Large File Support for native Windows platforms.
4801
4802         * m4/largefile.m4 (gl_LARGEFILE): New macro.
4803         * modules/largefile (configure.ac): Require gl_LARGEFILE.
4804
4805         * lib/sys_types.in.h (off_t) [WINDOWS_64_BIT_OFF_T]: Define to a 64-bit
4806         type.
4807         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Set WINDOWS_64_BIT_OFF_T.
4808         * modules/sys_types (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T.
4809         * doc/posix-headers/sys_types.texi: Mention the effect of the
4810         'largefile' module.
4811
4812         * lib/fcntl.in.h: Add comments about off_t.
4813         * modules/fcntl-h (Depends-on): Add sys_types.
4814
4815         * lib/unistd.in.h [WINDOWS_64_BIT_OFF_T]: Include <sys/types.h>.
4816         (ftruncate): Replace it if REPLACE_FTRUNCATE is 1.
4817         * m4/unistd_h.m4 (gl_UNISTD_H): Require gl_SYS_TYPES_H.
4818         (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_FTRUNCATE.
4819         * modules/unistd (Depends-on): Add sys_types.
4820         (Makefile.am): Substitute WINDOWS_64_BIT_OFF_T, REPLACE_FTRUNCATE.
4821
4822         * lib/lseek.c (rpl_lseek) [_GL_WINDOWS_64_BIT_OFF_T]: Use _lseeki64
4823         instead of lseek.
4824         * m4/lseek.m4 (gl_FUNC_LSEEK): Require gl_SYS_TYPES_H. Set
4825         REPLACE_LSEEK if WINDOWS_64_BIT_OFF_T is 1.
4826         * modules/lseek (Depends-on): Add sys_types.
4827
4828         * lib/ftruncate.c: Put under GPLv3+. Include <windows.h>,
4829         msvc-nothrow.h.
4830         (SetFileSize): New function.
4831         (ftruncate) [_GL_WINDOWS_64_BIT_OFF_T]: New implementation.
4832         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Set REPLACE_FTRUNCATE on Windows
4833         if Large File Support is requested.
4834         * modules/ftruncate (configure.ac): Consider REPLACE_FTRUNCATE.
4835         (Depends-on): Add sys_types, msvc-nothrow. Update conditions.
4836
4837         * lib/stdio.in.h: Add comments about off_t.
4838         * modules/stdio (Depends-on): Add sys_types.
4839
4840         * lib/ftello.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _ftelli64 or ftello64
4841         instead of ftello.
4842         * m4/ftello.m4 (gl_FUNC_FTELLO): Require gl_SYS_TYPES_H. Set
4843         REPLACE_FTELLO if WINDOWS_64_BIT_OFF_T is 1.
4844         (gl_PREREQ_FTELLO): New macro.
4845         * modules/ftello (Depends-on): Add sys_types.
4846         (configure.ac): Incoke gl_PREREQ_FTELLO.
4847
4848         * lib/fseeko.c [_GL_WINDOWS_64_BIT_OFF_T]: Use _fseeki64 or fseeko64
4849         instead of fseeko.
4850         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require gl_SYS_TYPES_H. Set
4851         REPLACE_FSEEKO if WINDOWS_64_BIT_OFF_T is 1.
4852         (gl_PREREQ_FSEEKO): New macro.
4853         * modules/fseeko (Depends-on): Add sys_types.
4854         (configure.ac): Invoke gl_PREREQ_FSEEKO.
4855
4856         * lib/sys_stat.in.h: Add comments about off_t.
4857         (stat, fstat) [WINDOWS_64_BIT_ST_SIZE]: Define to variants that use a
4858         64-bit integer for st_size in 'struct stat'.
4859         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Set WINDOWS_64_BIT_ST_SIZE.
4860         Define _GL_WINDOWS_64_BIT_ST_SIZE.
4861         * modules/sys_stat (Depends-on): Add sys_types.
4862         (Makefile.am): Substitute WINDOWS_64_BIT_ST_SIZE.
4863
4864         * lib/stat.c (stat) [_GL_WINDOWS_64_BIT_ST_SIZE]: Define to _stati64
4865         instead of stat or _stat.
4866
4867         * lib/fstat.c [_GL_WINDOWS_64_BIT_ST_SIZE]: Use _fstati64 and
4868         'struct _stati64' instead of fstat and 'struct stat'.
4869         * m4/fstat.m4 (gl_FUNC_FSTAT): Require gl_HEADER_SYS_STAT_H. Set
4870         REPLACE_FSTAT if WINDOWS_64_BIT_ST_SIZE is 1.
4871
4872         Reported by Ray Satiro <raysatiro@yahoo.com>.
4873
4874 2012-04-19  Eric Blake  <eblake@redhat.com>
4875
4876         bootstrap: accommodate older libtool
4877         * build-aux/bootstrap (use_libtool): Cater to libtool 1.5.22.
4878         Reported by Daniel P. Berrange.
4879
4880 2012-04-19  Jim Meyering  <meyering@redhat.com>
4881
4882         announce-gen: avoid failure due to lack of Digest::SHA1
4883         Even with the preferred Digest::SHA available, this script
4884         would fail when the backup module, Digest::SHA1, was not installed.
4885         * build-aux/announce-gen: Quote the conditional use of "use".
4886         Reported by Reuben Thomas in:
4887         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30444
4888
4889         bootstrap: don't let a user's CDPATH setting affect this script
4890         When CDPATH is set, cd will sometimes generate output.
4891         When "cd" is run in a subshell whose output matters, that
4892         surprising-to-some output can cause malfunction.
4893         Unsetting CDPATH turns off this shell "feature."
4894         * build-aux/bootstrap (CDPATH): Unset.
4895         Reported by Reuben Thomas in:
4896         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30435
4897         and inspired by his patch here:
4898         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/30440
4899
4900 2012-04-16  Akim Demaille  <akim@lrde.epita.fr>
4901         and Jim Meyering  <meyering@redhat.com>
4902
4903         maint.mk: catch "see @xref{}" and similar
4904         * top/maint.mk (prohibit_undesirable_word_seq_RE_): Also
4905         prohibit "See also @xref{", "Also see @pxref{", and similar.
4906
4907 2012-04-16  Jim Meyering  <meyering@redhat.com>
4908
4909         bootstrap: really use gnulib's po/Makefile.in.in
4910         * build-aux/bootstrap: Correct the source file name in previous change.
4911         Reported by Akim Demaille.
4912
4913         configmake: correct minor inconsistency in Makefile rule
4914         * modules/configmake (Makefile.am): All other rules like this one
4915         run the final "mv -f ..." in the same backslash-continued command
4916         as the one that does everything else.  This one put the mv -f ...
4917         command on a separate, non-backslash-continued line.
4918         Make it like the others.
4919
4920         bootstrap: use gnulib's po/Makefile.in.in, not the one from gettext
4921         * build-aux/bootstrap: Use gnulib's po/Makefile.in.in, not
4922         the one from gettext.  Reported by Akim Demaille.
4923
4924 2012-04-16  Joel E. Denny  <joeldenny@joeldenny.org>
4925
4926         Fix recursion of install-* into po directories.
4927         Bison's install-pdf bug reported by Hans Aberg at
4928         <http://lists.gnu.org/archive/html/bug-bison/2011-05/msg00008.html>.
4929         * build-aux/po/Makefile.in.in (install-dvi, install-html)
4930         (install-info, install-pdf, install-ps): New targets.
4931
4932 2012-04-16  Jim Meyering  <meyering@redhat.com>
4933
4934         maint: avoid spurious "make sc_maint" failure
4935         * cfg.mk (exclude_file_name_regexp--sc_trailing_blank): Also
4936         exempt all *.class file names, for lib/javaversion.class.
4937
4938 2012-04-15  Bruno Haible  <bruno@clisp.org>
4939
4940         lseek: Make configure test independent of environment.
4941         * m4/lseek.m4 (gl_FUNC_LSEEK): Require AC_CANONICAL_HOST. On native
4942         Windows, we know that lseek() on pipes is broken; skip the runtime
4943         test.
4944
4945 2012-04-14  Bruno Haible  <bruno@clisp.org>
4946
4947         stat: Bypass buggy override in mingw64.
4948         * m4/stat.m4 (gl_FUNC_STAT): Update comments.
4949         * lib/stat.c (stat) [mingw64]: Define to _stat.
4950         * doc/posix-functions/stat.texi: Mention mingw64 bug.
4951
4952 2012-04-14  Bruno Haible  <bruno@clisp.org>
4953
4954         pathmax: Fix compilation error on MSVC 9.
4955         * modules/pathmax (Depends-on): Add unistd.
4956
4957 2012-04-12  Paul Eggert  <eggert@cs.ucla.edu>
4958
4959         README: document pointer comparison assumption
4960         * README (Portability guidelines): Document assumption about
4961         pointer comparisons, in response to a recent bug-gnulib comment by
4962         Jeffrey Kegler.
4963
4964 2012-04-12  Bruno Haible  <bruno@clisp.org>
4965
4966         Tests for module 'getrusage'.
4967         * modules/getrusage-tests: New file.
4968         * tests/test-getrusage.c: New file.
4969
4970         New module 'getrusage'.
4971         * lib/sys_resource.in.h: Include arg-nonnull.h, c++defs.h,
4972         warn-on-use.h.
4973         (getrusage): New declaration.
4974         * lib/getrusage.c: New file.
4975         * m4/getrusage.m4: New file.
4976         * m4/sys_resource_h.m4 (gl_HEADER_SYS_RESOURCE): Test whether getrusage
4977         is declared.
4978         (gl_SYS_RESOURCE_H_DEFAULTS): Initialize GNULIB_GETRUSAGE,
4979         HAVE_GETRUSAGE.
4980         * modules/sys_resource (Depends-on): Add snippet/arg-nonnull,
4981         snippet/c++defs, snippet/warn-on-use.
4982         (Makefile.am): Update generation of sys/resource.h. Substitute
4983         GNULIB_GETRUSAGE, HAVE_GETRUSAGE.
4984         * modules/getrusage: New file.
4985         * doc/posix-functions/getrusage.texi: Mention the new module.
4986
4987 2012-04-12  Bruno Haible  <bruno@clisp.org>
4988
4989         Tests for module 'sys_resource'.
4990         * modules/sys_resource-tests: New file.
4991         * tests/test-sys_resource.c: New file.
4992
4993         New module 'sys_resource'.
4994         * lib/sys_resource.in.h: New file.
4995         * m4/sys_resource_h.m4: New file.
4996         * modules/sys_resource: New file.
4997         * doc/posix-headers/sys_resource.texi: Mention the new module.
4998
4999 2012-04-12  LRN  <lrn1986@gmail.com>  (tiny change)
5000
5001         ioctl: Fix compilation error on mingw.
5002         * lib/ioctl.c: Include <windows.h>.
5003         Also reported by Ray Satiro <raysatiro@yahoo.com>.
5004
5005 2012-04-04  Jim Meyering  <meyering@redhat.com>
5006
5007         regex: correct #pragma guard expression
5008         * lib/regex.c: -Wsuggest-attribute=pure was introduced in gcc-4.6,
5009         not 4.3.  Correct its cpp guard expression.
5010
5011 2012-04-04  Paul Eggert  <eggert@cs.ucla.edu>
5012
5013         regex: remove unnecessary type punning
5014         Problem reported by Vladimir Serbinenko in
5015         <http://lists.gnu.org/archive/html/bug-gnulib/2012-04/msg00006.html>.
5016         * lib/regex.h (struct re_pattern_buffer): Change the type of
5017         __REPB_PREFIX(buffer) from unsigned char * to struct re_dfa_t *.
5018         Fix comment to match code.
5019         * lib/regcomp.c (re_compile_fastmap, re_compile_fastmap_iter, regfree)
5020         (re_compile_internal, free_workarea_compile, analyze, lower_subexp)
5021         (parse, parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
5022         * lib/regexec.c (regexec, re_search_stub, re_search_internal)
5023         (set_regs):
5024         Omit no-longer-necessary casts.
5025
5026 2012-04-03  Bruno Haible  <bruno@clisp.org>
5027
5028         Tests for module 'ilogbl'.
5029         * modules/ilogbl-tests: New file.
5030         * tests/test-ilogbl.c: New file.
5031
5032         New module 'ilogbl'.
5033         * lib/math.in.h (ilogbl): New declaration.
5034         * lib/ilogbl.c: New file.
5035         * m4/ilogbl.m4: New file.
5036         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbl is declared.
5037         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBL, HAVE_ILOGBL.
5038         * modules/math (Makefile.am): Substitute GNULIB_ILOGBL, HAVE_ILOGBL.
5039         Split sed invocation, to avoid the limit of 100 substitutions of
5040         HP-UX 'sed'.
5041         * modules/ilogbl: New file.
5042         * tests/test-math-c++.cc: Check the declaration of ilogbl.
5043         * doc/posix-functions/ilogbl.texi: Mention the new module.
5044
5045 2012-04-03  Bruno Haible  <bruno@clisp.org>
5046
5047         Tests for module 'ilogbf'.
5048         * modules/ilogbf-tests: New file.
5049         * tests/test-ilogbf.c: New file.
5050
5051         New module 'ilogbf'.
5052         * lib/math.in.h (ilogbf): New declaration.
5053         * lib/ilogbf.c: New file.
5054         * m4/ilogbf.m4: New file.
5055         * m4/math_h.m4 (gl_MATH_H): Test whether ilogbf is declared.
5056         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGBF, HAVE_ILOGBF,
5057         REPLACE_ILOGBF.
5058         * modules/math (Makefile.am): Substitute GNULIB_ILOGBF, HAVE_ILOGBF,
5059         REPLACE_ILOGBF.
5060         * modules/ilogbf: New file.
5061         * tests/test-math-c++.cc: Check the declaration of ilogbf.
5062         * doc/posix-functions/ilogbf.texi: Mention the new module.
5063
5064 2012-04-03  Bruno Haible  <bruno@clisp.org>
5065
5066         Tests for module 'ilogb'.
5067         * modules/ilogb-tests: New file.
5068         * tests/test-ilogb.c: New file.
5069         * tests/test-ilogb.h: New file, based on tests/test-logb.h and
5070         tests/test-logb-ieee.h.
5071
5072         New module 'ilogb'.
5073         * lib/math.in.h (ilogb): New declaration.
5074         * lib/ilogb.c: New file.
5075         * m4/ilogb.m4: New file.
5076         * m4/math_h.m4 (gl_MATH_H): Test whether ilogb is declared.
5077         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ILOGB, HAVE_ILOGB,
5078         REPLACE_ILOGB.
5079         * modules/math (Makefile.am): Substitute GNULIB_ILOGB, HAVE_ILOGB,
5080         REPLACE_ILOGB.
5081         * modules/ilogb: New file.
5082         * tests/test-math-c++.cc: Check the declaration of ilogb.
5083         * doc/posix-functions/ilogb.texi: Mention the new module.
5084
5085 2012-04-03  Bruno Haible  <bruno@clisp.org>
5086
5087         math: Provide FP_ILOGB0 and FP_ILOGBNAN.
5088         * lib/math.in.h (FP_ILOGB0, FP_ILOGBNAN): Define fallback.
5089         * tests/test-math.c: Check that FP_ILOGB0, FP_ILOGBNAN are defined.
5090         (main): Check their values.
5091         * doc/posix-headers/math.texi: Mention the FP_ILOGB0, FP_ILOGBNAN
5092         problem.
5093
5094 2012-04-03  Bruno Haible  <bruno@clisp.org>
5095
5096         Tests for module 'logbl-ieee'.
5097         * modules/logbl-ieee-tests: New file.
5098         * tests/test-logbl-ieee.c: New file.
5099
5100         New module 'logbl-ieee'.
5101         * modules/logbl-ieee: New file.
5102
5103         Tests for module 'logb-ieee'.
5104         * modules/logb-ieee-tests: New file.
5105         * tests/test-logb-ieee.c: New file.
5106
5107         New module 'logb-ieee'.
5108         * modules/logb-ieee: New file.
5109
5110         Tests for module 'logbf-ieee'.
5111         * modules/logbf-ieee-tests: New file.
5112         * tests/test-logbf-ieee.c: New file.
5113         * tests/test-logb-ieee.h: New file.
5114
5115         New module 'logbf-ieee'.
5116         * modules/logbf-ieee: New file.
5117
5118 2012-04-03  Bruno Haible  <bruno@clisp.org>
5119
5120         Tests for module 'logbl'.
5121         * modules/logbl-tests: New file.
5122         * tests/test-logbl.c: New file.
5123
5124         New module 'logbl'.
5125         * lib/math.in.h (logbl): New declaration.
5126         * lib/logbl.c: New file.
5127         * m4/logbl.m4: New file.
5128         * m4/math_h.m4 (gl_MATH_H): Test whether logbl is declared.
5129         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBL, HAVE_LOGBL,
5130         REPLACE_LOGBL.
5131         * modules/math (Makefile.am): Substitute GNULIB_LOGBL, HAVE_LOGBL,
5132         REPLACE_LOGBL.
5133         * modules/logbl: New file.
5134         * tests/test-math-c++.cc: Check the declaration of logbl.
5135         * doc/posix-functions/logbl.texi: Mention the new module.
5136
5137 2012-04-02  Bruno Haible  <bruno@clisp.org>
5138
5139         Tests for module 'logbf'.
5140         * modules/logbf-tests: New file.
5141         * tests/test-logbf.c: New file.
5142
5143         New module 'logbf'.
5144         * lib/math.in.h (logbf): New declaration.
5145         * lib/logbf.c: New file.
5146         * m4/logbf.m4: New file.
5147         * m4/math_h.m4 (gl_MATH_H): Test whether logbf is declared.
5148         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGBF, HAVE_LOGBF,
5149         REPLACE_LOGBF.
5150         * modules/math (Makefile.am): Substitute GNULIB_LOGBF, HAVE_LOGBF,
5151         REPLACE_LOGBF.
5152         * modules/logbf: New file.
5153         * tests/test-math-c++.cc: Check the declaration of logbf.
5154         * doc/posix-functions/logbf.texi: Mention the new module.
5155
5156 2012-04-02  Bruno Haible  <bruno@clisp.org>
5157
5158         logb tests: More tests.
5159         * tests/test-logb.h: New file, based on tests/test-logb.c and
5160         tests/test-frexp.h.
5161         * tests/test-logb.c: Include minus-zero.h, test-logb.h.
5162         (main): Just invoke test_function.
5163         * modules/logb-tests (Files): Add tests/test-logb.h,
5164         tests/minus-zero.h, tests/randomd.c.
5165         (Makefile.am): Add randomd.c to test_logb_SOURCES.
5166
5167         logb: Provide replacement and workarounds.
5168         * lib/math.in.h (logb): Ensure declaration. Replace if REPLACE_LOGB
5169         is 1.
5170         * lib/logb.c: New file.
5171         * m4/logb.m4 (gl_FUNC_LOGB_WORKS): New macro.
5172         (gl_FUNC_LOGB): Invoke it. Set HAVE_LOGB, REPLACE_LOGB.
5173         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGB.
5174         * modules/math (Makefile.am): Substitute REPLACE_LOGB.
5175         * modules/logb (Files): Add lib/logb.c.
5176         (Depends-on): Add isfinite, frexp, isnand.
5177         (configure.ac): Compile the replacement code logb.c if needed.
5178         * tests/test-math-c++.cc: Check the declaration of logb.
5179         * doc/posix-functions/logb.texi: Mention the replacement and the bug
5180         with subnormal numbers.
5181
5182 2012-04-02  Bruno Haible  <bruno@clisp.org>
5183
5184         log10* tests: Speed up.
5185         * tests/test-log10.h (test_function): Reduce amount of random numbers
5186         to test.
5187
5188 2012-04-01  Bruno Haible  <bruno@clisp.org>
5189
5190         logf-ieee: Fix test whether logf works.
5191         * m4/logf.m4 (gl_FUNC_LOGF): Fix typo in test program.
5192
5193 2012-04-01  Bruno Haible  <bruno@clisp.org>
5194
5195         log10l: Work around log10l-ieee test failure on IRIX 6.5.
5196         * lib/log10l.c: Include <float.h>
5197         (log10l): On IRIX, normalize the +Infinity value.
5198         * modules/log10l (Depends-on): Add 'float'.
5199         * doc/posix-functions/log10l.texi: Mention the IRIX problem with
5200         +Infinity.
5201
5202         log10f-ieee: Work around test failure on NetBSD 5.1.
5203         * m4/log10f-ieee.m4: New file.
5204         * m4/log10f.m4 (gl_FUNC_LOG10F): If gl_FUNC_LOG10F_IEEE is present,
5205         test whether log10f works with a negative argument. Replace it if not.
5206         * lib/log10f.c (log10f): For negative arguments, return NaN.
5207         * modules/log10f-ieee (Files): Add m4/log10f-ieee.m4.
5208         (configure.ac): Invoke gl_FUNC_LOG10F_IEEE.
5209         * doc/posix-functions/log10f.texi: Mention the log10f-ieee module.
5210
5211         log10f-ieee: Work around test failure on Solaris 9.
5212         * modules/log10f-ieee (Depends-on): Add log10-ieee.
5213         (configure.ac): Require gl_FUNC_LOG10F.
5214
5215         log10-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
5216         * m4/log10-ieee.m4: New file.
5217         * m4/log10.m4 (gl_FUNC_LOG10): If gl_FUNC_LOG10_IEEE is present, test
5218         whether log10 works with a negative argument. Replace it if not.
5219         * lib/log10.c (log10): For negative arguments, return NaN.
5220         * modules/log10-ieee (Files): Add m4/log10-ieee.m4.
5221         (configure.ac): Invoke gl_FUNC_LOG10_IEEE.
5222         * doc/posix-functions/log10.texi: Mention the log10-ieee module.
5223
5224         Tests for module 'log10l-ieee'.
5225         * modules/log10l-ieee-tests: New file.
5226         * tests/test-log10l-ieee.c: New file.
5227
5228         New module 'log10l-ieee'.
5229         * modules/log10l-ieee: New file.
5230
5231         Tests for module 'log10-ieee'.
5232         * modules/log10-ieee-tests: New file.
5233         * tests/test-log10-ieee.c: New file.
5234
5235         New module 'log10-ieee'.
5236         * modules/log10-ieee: New file.
5237
5238         Tests for module 'log10f-ieee'.
5239         * modules/log10f-ieee-tests: New file.
5240         * tests/test-log10f-ieee.c: New file.
5241         * tests/test-log10-ieee.h: New file.
5242
5243         New module 'log10f-ieee'.
5244         * modules/log10f-ieee: New file.
5245
5246 2012-04-01  Bruno Haible  <bruno@clisp.org>
5247
5248         log10l: Work around AIX 5.1, IRIX 6.5, OSF/1 5.1 bug.
5249         * lib/math.in.h (log10l): Override if REPLACE_LOG10L is 1.
5250         * lib/log10l.c (log10l): If log10l exists, use it and provide just the
5251         workaround.
5252         * m4/log10l.m4 (gl_FUNC_LOG10L_WORKS): New macro.
5253         (gl_FUNC_LOG10L): Invoke it. Set REPLACE_LOG10L.
5254         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10L.
5255         * modules/math (Makefile.am): Substitute REPLACE_LOG10L.
5256         * modules/log10l (configure.ac): Consider REPLACE_LOG10L.
5257         (Depends-on): Update conditions.
5258         * doc/posix-functions/log10l.texi: Mention the MSVC9, AIX 5.1,
5259         IRIX 6.5, OSF/1 5.1 problems.
5260
5261 2012-04-01  Bruno Haible  <bruno@clisp.org>
5262
5263         log10f: Work around OSF/1 5.1 bug.
5264         * lib/math.in.h (log10f): Override if REPLACE_LOG10F is 1.
5265         * lib/log10f.c (log10f): If logf exists, use it and provide just the
5266         workaround.
5267         * m4/log10f.m4 (gl_FUNC_LOG10F_WORKS): New macro.
5268         (gl_FUNC_LOG10F): Invoke it. Set REPLACE_LOG10F.
5269         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG10F.
5270         * modules/math (Makefile.am): Substitute REPLACE_LOG10F.
5271         * modules/log10f (configure.ac): Consider REPLACE_LOG10F.
5272         (Depends-on): Update conditions.
5273         * doc/posix-functions/log10f.texi: Mention the OSF/1 5.1 problem.
5274
5275 2012-04-01  Bruno Haible  <bruno@clisp.org>
5276
5277         log10: Work around OSF/1 5.1 bug.
5278         * lib/math.in.h (log10): New declaration.
5279         * lib/log10.c: New file.
5280         * m4/log10.m4 (gl_FUNC_LOG10_WORKS): New macro.
5281         (gl_FUNC_LOG10): Invoke it. Set REPLACE_LOG10.
5282         * m4/math_h.m4 (gl_MATH_H): Test whether log10 is declared.
5283         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10, REPLACE_LOG10.
5284         * modules/math (Makefile.am): Substitute GNULIB_LOG10, REPLACE_LOG10.
5285         * modules/log10 (Files): Add lib/log10.c.
5286         (Depends-on): Add math.
5287         (configure.ac): If REPLACE_LOG10 is 1, compile an override.
5288         * tests/test-math-c++.cc: Check the declaration of log10.
5289         * doc/posix-functions/log10.texi: Mention the OSF/1 5.1 problem.
5290
5291 2012-03-31  Bruno Haible  <bruno@clisp.org>
5292
5293         log10l tests: More tests.
5294         * modules/log10l-tests (Files): Add tests/test-log10l.h,
5295         tests/minus-zero.h, tests/randoml.c.
5296         (Makefile.am): Add randoml.c to test_log10l_SOURCES.
5297         * tests/test-log10l.c: Include <float.h>, minus-zero.h, test-log10l.h.
5298         (main): Invoke test_function.
5299
5300         log10f tests: More tests.
5301         * modules/log10f-tests (Files): Add tests/test-log10.h,
5302         tests/minus-zero.h, tests/randomf.c.
5303         (Makefile.am): Add randomf.c to test_log10f_SOURCES.
5304         * tests/test-log10f.c: Include <float.h>, minus-zero.h, test-log10.h.
5305         (main): Invoke test_function.
5306
5307         log10 tests: More tests.
5308         * tests/test-log10.h: New file.
5309         * modules/log10-tests (Files): Add tests/test-log10.h,
5310         tests/minus-zero.h, tests/randomd.c.
5311         (Makefile.am): Add randomd.c to test_log10_SOURCES.
5312         * tests/test-log10.c: Include <float.h>, minus-zero.h, test-log10.h.
5313         (main): Invoke test_function.
5314
5315 2012-03-31  Simon Josefsson  <simon@josefsson.org>
5316
5317         fflush: Fix syntax error.
5318         * lib/fflush.c: Include unused-parameter.h, needed for
5319         _GL_UNUSED_PARAMETER.
5320         * modules/fflush (Depends-on): Add snippet/unused-parameter.
5321
5322 2012-03-30  Paul Eggert  <eggert@cs.ucla.edu>
5323
5324         regex: pacify GCC when compiling GRUB
5325         * lib/regcomp.c (init_dfa): Make a pointer 'const', to avoid
5326         a diagnostic.  Reported by Vladimir Serbinenko in
5327         <http://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00163.html>.
5328
5329 2012-03-29  Eric Blake  <eblake@redhat.com>
5330
5331         stdio: don't assume gets any more
5332         * m4/stdio_h.m4 (gl_STDIO_H, gl_STDIO_H_DEFAULTS): Drop gets
5333         support.
5334         * modules/stdio (Makefile.am): Likewise.
5335         * lib/stdio-read.c (gets): Likewise.
5336         * tests/test-stdio-c++.cc: Likewise.
5337         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix comment.
5338         * lib/stdio.in.h (gets): Make warning occur in more places.
5339         * doc/posix-functions/gets.texi (gets): Update documentation.
5340         Reported by Christer Solskogen.
5341
5342         maint.mk: fix syntax checks without exclusions
5343         * top/maint.mk (_sc_search_regexp): Allow for empty variable.
5344         Reported by Daniel P. Berrange.
5345
5346         strerror_r: avoid compiler warning
5347         * lib/strerror_r.c (strerror_r): Hoist extern declaration to top
5348         level.
5349
5350         fflush: avoid compiler warning
5351         * lib/fflush.c (update_fpos_cache): Mark variables that are
5352         potentially unused.
5353
5354 2012-03-25  Bruno Haible  <bruno@clisp.org>
5355
5356         Tests for module 'localeconv'.
5357         * modules/localeconv-tests: New file.
5358         * tests/test-localeconv.c: New file.
5359
5360         New module 'localeconv'.
5361         * lib/locale.in.h (localeconv): New declaration.
5362         * lib/localeconv.c: New file.
5363         * m4/localeconv.m4: New file.
5364         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_LOCALECONV,
5365         REPLACE_LOCALECONV.
5366         * modules/locale (Makefile.am): Substitute GNULIB_LOCALECONV,
5367         REPLACE_LOCALECONV.
5368         * modules/localeconv: New file.
5369         * modules/nl_langinfo (Depends-on): Add localeconv.
5370         * modules/human (Depends-on): Likewise.
5371         * doc/posix-functions/localeconv.texi: Mention the new module.
5372
5373 2012-03-25  Bruno Haible  <bruno@clisp.org>
5374
5375         locale: Provide a complete 'struct lconv'.
5376         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5377         'struct lconv' does not contain int_p_cs_precedes.
5378         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5379         * doc/posix-headers/locale.texi: Update.
5380
5381         locale: Provide a complete 'struct lconv' on Solaris 10, 11.
5382         * m4/locale_h.m4 (gl_LOCALE_H): On Solaris, define _LCONV_C99.
5383         * doc/posix-headers/locale.texi: Update.
5384
5385         locale: Provide a working 'struct lconv'.
5386         * lib/locale.in.h (lconv): Override if REPLACE_STRUCT_LCONV is 1.
5387         * m4/locale_h.m4 (gl_LOCALE_H): Set REPLACE_STRUCT_LCONV to 1 if
5388         'struct lconv' does not even contain decimal_point.
5389         (gl_LOCALE_H_DEFAULTS): Initialize REPLACE_STRUCT_LCONV.
5390         * modules/locale (Makefile.am): Substitute REPLACE_STRUCT_LCONV.
5391         * tests/test-locale.c (main): Check that 'struct lconv' is complete.
5392         * doc/posix-headers/locale.texi: Mention the problems with
5393         'struct lconv'.
5394         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
5395
5396 2012-03-24  Bruno Haible  <bruno@clisp.org>
5397
5398         Enable common subexpression optimization in GCC.
5399         * lib/unitypes.in.h (_UC_ATTRIBUTE_CONST, _UC_ATTRIBUTE_PURE): New
5400         macros.
5401         * lib/unicase.in.h (uc_toupper, uc_tolower, uc_totitle): Declare with
5402         GCC attribute 'const'.
5403         (uc_locale_language): Declare with GCC attribute 'pure'.
5404         * lib/unicase/caseprop.h (uc_is_cased, uc_is_case_ignorable): Declare
5405         with GCC attribute 'const'.
5406         * lib/unictype.in.h (uc_is_general_category_withtable,
5407         uc_combining_class, uc_combining_class_name,
5408         uc_combining_class_long_name, uc_bidi_class_name,
5409         uc_bidi_category_name, uc_bidi_class_long_name, uc_bidi_class,
5410         uc_bidi_category, uc_is_bidi_class, uc_is_bidi_category,
5411         uc_decimal_value, uc_digit_value, uc_numeric_value,
5412         uc_joining_type_name, uc_joining_type_long_name, uc_joining_type,
5413         uc_joining_group_name, uc_joining_group, uc_is_property_*, uc_script,
5414         uc_block, uc_is_c_whitespace, uc_is_java_whitespace,
5415         uc_c_ident_category, uc_java_ident_category, uc_is_alnum, uc_is_alpha,
5416         uc_is_cntrl, uc_is_digit, uc_is_graph, uc_is_lower, uc_is_print,
5417         uc_is_punct, uc_is_space, uc_is_upper, uc_is_xdigit, uc_is_blank):
5418         Declare with GCC attribute 'const'.
5419         (uc_general_category_name, uc_general_category_long_name,
5420         uc_general_category_byname, uc_general_category,
5421         uc_is_general_category, uc_combining_class_byname,
5422         uc_bidi_class_byname, uc_bidi_category_byname, uc_joining_type_byname,
5423         uc_joining_group_byname, uc_script_byname, uc_is_script, uc_is_block):
5424         Declare with GCC attribute 'pure'.
5425         * lib/unigbrk.in.h (uc_graphemeclusterbreak_property,
5426         uc_is_grapheme_break, u8_grapheme_next, u16_grapheme_next,
5427         u32_grapheme_next, u8_grapheme_prev, u16_grapheme_prev,
5428         u32_grapheme_prev, lib/uniname.in.h (unicode_name_character): Declare
5429         with GCC attribute 'pure'.
5430         * lib/uninorm.in.h (uc_composition): Declare with GCC attribute
5431         'const'.
5432         (uninorm_decomposing_form): Declare with GCC attribute 'pure'.
5433         * lib/unistr.in.h (): Declare with GCC attribute 'const'.
5434         (u8_check, u16_check, u32_check, u8_mblen, u16_mblen, u32_mblen,
5435         u8_cmp, u16_cmp, u32_cmp, u8_cmp2, u16_cmp2, u32_cmp2, u8_chr, u16_chr,
5436         u32_chr, u8_mbsnlen, u16_mbsnlen, u32_mbsnlen, u8_strmblen,
5437         u16_strmblen, u32_strmblen, u8_strlen, u16_strlen, u32_strlen,
5438         u8_strnlen, u16_strnlen, u32_strnlen, u8_strcmp_gnu, u8_strcmp,
5439         u16_strcmp, u32_strcmp, u8_strncmp, u16_strncmp, u32_strncmp,
5440         u8_strchr, u16_strchr, u32_strchr, u8_strrchr, u16_strrchr,
5441         u32_strrchr, u8_strcspn, u16_strcspn, u32_strcspn, u8_strspn,
5442         u16_strspn, u32_strspn, u8_strpbrk, u16_strpbrk, u32_strpbrk,
5443         u8_strstr, u16_strstr, u32_strstr, u8_startswith, u16_startswith,
5444         u32_startswith, u8_endswith, u16_endswith, u32_endswith): Declare with
5445         GCC attribute 'pure'.
5446         * lib/uniwbrk.in.h (uc_wordbreak_property): Declare with GCC attribute
5447         'const'.
5448         * lib/uniwidth.in.h (uc_width): Simplify declaration.
5449         (u8_width, u16_width, u32_width, u8_strwidth, u16_strwidth,
5450         u32_strwidth): Declare with GCC attribute 'pure'.
5451
5452         Enable common subexpression optimization in GCC.
5453         * lib/dirent.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5454         (alphasort): Declare with GCC attribute 'pure'.
5455         * lib/stdlib.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5456         (atoll): Declare with GCC attribute 'pure'.
5457         * lib/string.in.h (mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
5458         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
5459         mbsspn, strverscmp): Declare with GCC attribute 'pure'.
5460         * lib/wchar.in.h (_GL_ATTRIBUTE_PURE): Define, like in string.in.h.
5461         (btowc, wctob, wcwidth, wmemchr, wmemcmp, wcslen, wcsnlen, wcscmp,
5462         wcsncmp, wcscasecmp, wcsncasecmp, wcschr, wcsrchr, wcscspn, wcsspn,
5463         wcspbrk, wcsstr, wcswidth): Declare with GCC attribute 'pure'.
5464
5465 2012-03-24  Bruno Haible  <bruno@clisp.org>
5466
5467         gnulib-tool: Avoid unintended error output from 'cmp'.
5468         * gnulib-tool (func_add_file, func_update_file, func_import): Use
5469         "cmp -s", not "cmp > /dev/null".
5470
5471 2012-03-23  Stefano Lattarini  <stefano.lattarini@gmail.com>
5472
5473         gnulib-tool: fix imprecise comments w.r.t. an automake bug
5474
5475         It's not just Automake versions < 1.9b that creates an empty
5476         pkgdatadir at installation time if pkgdata_DATA is specified
5477         to empty; modern automake versions do this as well, at least
5478         until automake 1.11.4 (not yet released at the moment of writing,
5479         but soon to appear).  That behaviour was generally considered a
5480         feature rather than a bug, at least until this discussion:
5481         <http://lists.gnu.org/archive/html/automake/2012-03/msg00014.html>
5482
5483         See also automake bugs #10997 and #11030.
5484
5485         * gnulib-tool (func_emit_lib_Makefile_am): Adjust comments.  Add
5486         reference to relevant automake bug numbers.
5487         (func_emit_tests_Makefile_am): Likewise.
5488
5489 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5490
5491         announce-gen: use Digest::SHA when possible
5492         * build-aux/announce-gen: Use Digest::SHA when possible, falling
5493         back to Digest::SHA1 if necessary.
5494
5495 2012-03-20  Jim Meyering  <meyering@redhat.com>
5496
5497         tests: avoid gcc warnings about argv vs. const initializers
5498         * tests/test-posix_spawn1.c (main): Cast to "(char *)" to avoid two
5499         warnings about discarding 'const' qualifier from pointer target type.
5500         * tests/test-posix_spawn2.c (main): Likewise.
5501
5502 2012-03-20  Reuben Thomas  <rrt@sc3d.org>
5503
5504         README-release: simplify slightly
5505         * top/README-release: Run "git checkout master" only once.
5506
5507 2012-03-15  Mark Wielaard  <mark@klomp.org>
5508
5509         git-merge-changelog: add specific example on how to use with hg.
5510         * lib/git-merge-changelog.c: Add example on how to use in .hgrc.
5511
5512 2012-03-18  Mark Wielaard  <mark@klomp.org>
5513
5514         lib/git-merge-changelog.c (status): Report bugs to bug-gnulib@gnu.org.
5515
5516 2012-03-18  Andreas Oberritter  <obi@opendreambox.org>
5517
5518         git-version-gen: don't let "prefix" envvar cause trouble
5519         * build-aux/git-version-gen (prefix): Initialize properly,
5520         so as not to use a value specified via the environment.
5521         Details here: http://thread.gmane.org/gmane.comp.gnu.parted.bugs/10810
5522
5523 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5524
5525         regex: diagnose too-large repeat counts in EREs
5526         Previously, the code did not diagnose the too-large repeat count
5527         in EREs like 'b{1000000000}'; instead, it silently treated the ERE
5528         as if it were 'b\{1000000000}', which is unexpected.
5529         * lib/regcomp.c (parse_dup_op): Fail with REG_ESIZE if a repeat count
5530         is too large.  REG_ESIZE is used nowhere else, and the diagnostic
5531         is a reasonable one for this problem.  Another option would be to
5532         create a new REG_OVERFLOW error for repeat counts that are too large.
5533         (fetch_number): Return RE_DUP_MAX + 1, not REG_ERROR, if the repeat
5534         count is too large, so that the caller can distinguish the two cases.
5535         * lib/regex.h (_REG_ESIZE): Document that this is now a generic
5536         "Too large" return code, and that repeat counts are one example of this.
5537
5538 2012-03-16  Paul Eggert  <eggert@cs.ucla.edu>
5539
5540         doc: some glibc x32 integer width issues
5541         * doc/posix-headers/sys_types.texi (sys/types.h):
5542         * doc/posix-headers/time.texi (time.h):
5543         Mention that glibc x32 does not conform to POSIX in a couple of
5544         areas related to integer widths.
5545
5546 2012-03-15  Bruno Haible  <bruno@clisp.org>
5547
5548         fmal: Avoid test failure on OpenBSD 5.1/SPARC64.
5549         * lib/fma.c (VOLATILE): New macro.
5550         (FUNC): Use it to work around a GCC compiler bug.
5551
5552 2012-03-13  Bruno Haible  <bruno@clisp.org>
5553
5554         hypotl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5555         * m4/hypotl.m4 (gl_FUNC_HYPOTL_WORKS): New macro.
5556         (gl_FUNC_HYPOTL): Invoke it. If the function does not work, set
5557         REPLACE_HYPOTL to 1.
5558         * doc/posix-functions/hypotl.texi: Mention the OpenBSD 5.1/SPARC bug.
5559
5560 2012-03-13  Bruno Haible  <bruno@clisp.org>
5561
5562         remainderl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5563         * m4/remainderl.m4 (gl_FUNC_REMAINDERL_WORKS): New macro.
5564         (gl_FUNC_REMAINDERL): Invoke it. If the function does not work, set
5565         REPLACE_REMAINDERL to 1.
5566         * doc/posix-functions/remainderl.texi: Mention the OpenBSD 5.1/SPARC
5567         bug.
5568
5569 2012-03-13  Bruno Haible  <bruno@clisp.org>
5570
5571         sqrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5572         * lib/math.in.h (sqrtl): Replace it if REPLACE_SQRTL is 1.
5573         * m4/sqrtl.m4 (gl_FUNC_SQRTL_WORKS): New macro.
5574         (gl_FUNC_SQRTL): Invoke it. Set REPLACE_SQRTL to 1 if sqrtl() produces
5575         too big rounding errors.
5576         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_SQRTL.
5577         * modules/math (Makefile.am): Substitute REPLACE_SQRTL.
5578         * modules/sqrtl (configure.ac): Consider REPLACE_SQRTL.
5579         (Depends-on): Update conditions.
5580         * tests/test-sqrtl.c (my_ldexpl): New function.
5581         (main): Add test of a particular value.
5582         * doc/posix-functions/sqrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5583
5584 2012-03-13  Pádraig Brady  <P@draigBrady.com>
5585
5586         doc: Update timer_* platform portability notes.
5587         * doc/posix-functions/timer_create.texi: Add platforms (OpenBSD 4.9)
5588         that always return ENOSYS.
5589         * doc/posix-functions/timer_delete.texi: Likewise.
5590         * doc/posix-functions/timer_gettime.texi: Likewise.
5591         * doc/posix-functions/timer_settime.texi: Likewise.
5592
5593 2012-03-13  Bruno Haible  <bruno@clisp.org>
5594
5595         cbrtl: Bypass broken implementation in OpenBSD 5.1/SPARC.
5596         * m4/cbrtl.m4 (gl_FUNC_CBRTL_WORKS): New macro.
5597         (gl_FUNC_CBRTL): Invoke it. If the function does not work, set
5598         REPLACE_CBRTL to 1.
5599         * doc/posix-functions/cbrtl.texi: Mention the OpenBSD 5.1/SPARC bug.
5600
5601 2012-03-13  Bruno Haible  <bruno@clisp.org>
5602
5603         remainderl: Avoid compilation error on AIX >= 5.2.
5604         * lib/math.in.h (remainderl): Undefine macro from the system header.
5605
5606 2012-03-13  Bruno Haible  <bruno@clisp.org>
5607
5608         Avoid compilation errors with MSVC option -fp:strict.
5609         * lib/cbrt.c: Use MSVC specific pragma fenv_access.
5610         * lib/cbrtf.c: Likewise.
5611         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
5612
5613 2012-03-12  Bruno Haible  <bruno@clisp.org>
5614
5615         uninorm: Don't crash in out-of-memory conditions.
5616         * lib/uninorm/u-normalize-internal.h (FUNC): Handle malloc() failure
5617         gracefully.
5618         * lib/uninorm/uninorm-filter.c (uninorm_filter_write): Likewise.
5619         Based on a report and patch by Stephen Gallagher <sgallagh@redhat.com>.
5620
5621 2012-03-13  Akim Demaille  <akim@lrde.epita.fr>
5622
5623         quote: fix syntax-check
5624         * top/maint.mk (sc_prohibit_quote_without_use): quote.h
5625         also exports quote_quoting_options.
5626
5627 2012-03-12  Simon Josefsson  <simon@josefsson.org>
5628
5629         Collapse list of copyright years to ranges.  See
5630         <https://lists.gnu.org/archive/html/bug-gnulib/2012-03/msg00051.html>.
5631         * build-aux/bootstrap.conf, build-aux/csharpcomp.sh.in,
5632         build-aux/csharpexec.sh.in, build-aux/gnupload,
5633         build-aux/install-reloc, build-aux/javacomp.sh.in,
5634         build-aux/javaexec.sh.in, build-aux/ldd.sh.in,
5635         build-aux/move-if-change, build-aux/reloc-ldflags,
5636         build-aux/relocatable.sh.in, build-aux/x-to-1.in: Fix copyright.
5637
5638 2012-03-11  Bruno Haible  <bruno@clisp.org>
5639
5640         log2f-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5641         * m4/log2f-ieee.m4: New file.
5642         * m4/log2f.m4 (gl_FUNC_LOG2F): If gl_FUNC_LOG2F_IEEE is present, test
5643         whether log2f works with a minus zero argument. Replace it if not.
5644         * modules/log2f-ieee (Files): Add m4/log2f-ieee.m4.
5645         (Depends-on): Add log2-ieee.
5646         (configure.ac): Invoke gl_FUNC_LOG2F_IEEE.
5647         * doc/posix-functions/log2f.texi: Mention the log2f-ieee module.
5648
5649         log2-ieee: Work around test failure on NetBSD 5.1 and Solaris 10.
5650         * m4/log2-ieee.m4: New file.
5651         * m4/log2.m4 (gl_FUNC_LOG2): If gl_FUNC_LOG2_IEEE is present, test
5652         whether log2 works with a minus zero argument. Replace it if not.
5653         * modules/log2-ieee (Files): Add m4/log2-ieee.m4.
5654         (configure.ac): Invoke gl_FUNC_LOG2_IEEE.
5655         * doc/posix-functions/log2.texi: Mention the log2-ieee module.
5656
5657         Tests for module 'log2l-ieee'.
5658         * modules/log2l-ieee-tests: New file.
5659         * tests/test-log2l-ieee.c: New file.
5660
5661         New module 'log2l-ieee'.
5662         * modules/log2l-ieee: New file.
5663
5664         Tests for module 'log2-ieee'.
5665         * modules/log2-ieee-tests: New file.
5666         * tests/test-log2-ieee.c: New file.
5667
5668         New module 'log2-ieee'.
5669         * modules/log2-ieee: New file.
5670
5671         Tests for module 'log2f-ieee'.
5672         * modules/log2f-ieee-tests: New file.
5673         * tests/test-log2f-ieee.c: New file.
5674         * tests/test-log2-ieee.h: New file.
5675
5676         New module 'log2f-ieee'.
5677         * modules/log2f-ieee: New file.
5678
5679 2012-03-11  Bruno Haible  <bruno@clisp.org>
5680
5681         Tests for module 'log2l'.
5682         * modules/log2l-tests: New file.
5683         * tests/test-log2l.c: New file.
5684
5685         New module 'log2l'.
5686         * lib/math.in.h (log2l): New declaration.
5687         * lib/log2l.c: New file.
5688         * m4/log2l.m4: New file.
5689         * m4/math_h.m4 (gl_MATH_H): Test whether log2l is declared.
5690         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2L, HAVE_DECL_LOG2L,
5691         REPLACE_LOG2L.
5692         * modules/math (Makefile.am): Substitute GNULIB_LOG2L, HAVE_DECL_LOG2L,
5693         REPLACE_LOG2L.
5694         * modules/log2l: New file.
5695         * tests/test-math-c++.cc: Check the declaration of log2l.
5696         * doc/posix-functions/log2l.texi: Mention the new module and the IRIX
5697         and OSF/1 problems.
5698
5699 2012-03-11  Bruno Haible  <bruno@clisp.org>
5700
5701         Tests for module 'log2f'.
5702         * modules/log2f-tests: New file.
5703         * tests/test-log2f.c: New file.
5704
5705         New module 'log2f'.
5706         * lib/math.in.h (log2f): New declaration.
5707         * lib/log2f.c: New file.
5708         * m4/log2f.m4: New file.
5709         * m4/math_h.m4 (gl_MATH_H): Test whether log2f is declared.
5710         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2F, HAVE_DECL_LOG2F,
5711         REPLACE_LOG2F.
5712         * modules/math (Makefile.am): Substitute GNULIB_LOG2F, HAVE_DECL_LOG2F,
5713         REPLACE_LOG2F.
5714         * modules/log2f: New file.
5715         * tests/test-math-c++.cc: Check the declaration of log2f.
5716         * doc/posix-functions/log2f.texi: Mention the new module and the IRIX
5717         and OSF/1 and Cygwin problems.
5718
5719 2012-03-11  Bruno Haible  <bruno@clisp.org>
5720
5721         Tests for module 'log2'.
5722         * modules/log2-tests: New file.
5723         * tests/test-log2.c: New file.
5724         * tests/test-log2.h: New file.
5725
5726         New module 'log2'.
5727         * lib/math.in.h (log2): New declaration.
5728         * lib/log2.c: New file.
5729         * m4/log2.m4: New file.
5730         * m4/math_h.m4 (gl_MATH_H): Test whether log2 is declared.
5731         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG2, HAVE_DECL_LOG2,
5732         REPLACE_LOG2.
5733         * modules/math (Makefile.am): Substitute GNULIB_LOG2, HAVE_DECL_LOG2,
5734         REPLACE_LOG2.
5735         * modules/log2: New file.
5736         * tests/test-math-c++.cc: Check the declaration of log2.
5737         * doc/posix-functions/log2.texi: Mention the new module and the IRIX
5738         and OSF/1 and Cygwin problems.
5739
5740 2012-03-11  Bruno Haible  <bruno@clisp.org>
5741
5742         exp2* tests: More tests.
5743         * tests/test-exp2.h (test_function): Test all integral arguments that
5744         don't need to overflow or denormalized numbers.
5745         * tests/test-exp2.c (MAX_EXP, MIN_EXP): New macros.
5746         * tests/test-exp2f.c (MAX_EXP, MIN_EXP): Likewise.
5747         * tests/test-exp2l.c (MAX_EXP, MIN_EXP): Likewise.
5748
5749 2012-03-10  Bruno Haible  <bruno@clisp.org>
5750
5751         log1pl-ieee: Work around test failure on AIX 7.1.
5752         * modules/log1pl-ieee (Depends-on): Add log1p-ieee.
5753
5754         log1pl-ieee: Work around test failure on IRIX 6.5.
5755         * m4/log1pl-ieee.m4: New file.
5756         * m4/log1pl.m4 (gl_FUNC_LOG1PL): If gl_FUNC_LOG1PL_IEEE is present,
5757         test whether log1pl works with a minus zero argument. Replace it if
5758         not.
5759         * lib/math.in.h (log1pl): Override if REPLACE_LOG1PL is 1.
5760         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1PL.
5761         * modules/math (Makefile.am): Substitute REPLACE_LOG1PL.
5762         * modules/log1pl (configure.ac): Consider REPLACE_LOG1PL.
5763         (Depends-on): Update conditions.
5764         * modules/log1pl-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5765         m4/signbit.m4.
5766         (configure.ac): Invoke gl_FUNC_LOG1PL_IEEE.
5767         * doc/posix-functions/log1pl.texi: Mention the log1pl-ieee module.
5768
5769         log1pf-ieee: Work around test failure on OpenBSD 4.9 and AIX 7.1.
5770         * m4/log1pf-ieee.m4: New file.
5771         * m4/log1pf.m4 (gl_FUNC_LOG1PF): If gl_FUNC_LOG1PF_IEEE is present,
5772         test whether log1pf works with a minus zero argument. Replace it if
5773         not.
5774         * modules/log1pf-ieee (Files): Add m4/log1pf-ieee.m4, m4/minus-zero.m4,
5775         m4/signbit.m4.
5776         (configure.ac): Invoke gl_FUNC_LOG1PF_IEEE.
5777         * doc/posix-functions/log1pf.texi: Mention the log1pf-ieee module.
5778
5779         log1pf-ieee: Work around test failure on AIX 5.1 and HP-UX 11.
5780         * modules/log1pf-ieee (Depends-on): Add log1p-ieee.
5781         (configure.ac): Require gl_FUNC_LOG1PF.
5782
5783         log1p-ieee: Work around test failure on AIX 7.1 and HP-UX 11.
5784         * m4/log1p-ieee.m4: New file.
5785         * m4/log1p.m4 (gl_FUNC_LOG1P): If gl_FUNC_LOG1P_IEEE is present, test
5786         whether log1p works with a minus zero argument. Replace it if not.
5787         * lib/math.in.h (log1p): Override if REPLACE_LOG1P is 1.
5788         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOG1P.
5789         * modules/math (Makefile.am): Substitute REPLACE_LOG1P.
5790         * modules/log1p (configure.ac): Consider REPLACE_LOG1P.
5791         (Depends-on): Update conditions.
5792         * modules/log1p-ieee (Files): Add m4/log1p-ieee.m4, m4/minus-zero.m4,
5793         m4/signbit.m4.
5794         (configure.ac): Invoke gl_FUNC_LOG1P_IEEE.
5795         * doc/posix-functions/log1p.texi: Mention the log1p-ieee module.
5796
5797         Tests for module 'log1pl-ieee'.
5798         * modules/log1pl-ieee-tests: New file.
5799         * tests/test-log1pl-ieee.c: New file.
5800
5801         New module 'log1pl-ieee'.
5802         * modules/log1pl-ieee: New file.
5803
5804         Tests for module 'log1p-ieee'.
5805         * modules/log1p-ieee-tests: New file.
5806         * tests/test-log1p-ieee.c: New file.
5807
5808         New module 'log1p-ieee'.
5809         * modules/log1p-ieee: New file.
5810
5811         Tests for module 'log1pf-ieee'.
5812         * modules/log1pf-ieee-tests: New file.
5813         * tests/test-log1pf-ieee.c: New file.
5814         * tests/test-log1p-ieee.h: New file.
5815
5816         New module 'log1pf-ieee'.
5817         * modules/log1pf-ieee: New file.
5818
5819 2012-03-10  Bruno Haible  <bruno@clisp.org>
5820
5821         Tests for module 'log1pl'.
5822         * modules/log1pl-tests: New file.
5823         * tests/test-log1pl.c: New file.
5824
5825         New module 'log1pl'.
5826         * lib/math.in.h (log1pl): New declaration.
5827         * lib/log1pl.c: New file.
5828         * m4/log1pl.m4: New file.
5829         * m4/math_h.m4 (gl_MATH_H): Test whether log1pl is declared.
5830         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PL, HAVE_LOG1PL.
5831         * modules/math (Makefile.am): Substitute GNULIB_LOG1PL, HAVE_LOG1PL.
5832         * modules/log1pl: New file.
5833         * tests/test-math-c++.cc: Check the declaration of log1pl.
5834         * doc/posix-functions/log1pl.texi: Mention the new module.
5835
5836 2012-03-10  Bruno Haible  <bruno@clisp.org>
5837
5838         Tests for module 'log1pf'.
5839         * modules/log1pf-tests: New file.
5840         * tests/test-log1pf.c: New file.
5841
5842         New module 'log1pf'.
5843         * lib/math.in.h (log1pf): New declaration.
5844         * lib/log1pf.c: New file.
5845         * m4/log1pf.m4: New file.
5846         * m4/math_h.m4 (gl_MATH_H): Test whether log1pf is declared.
5847         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1PF, HAVE_LOG1PF,
5848         REPLACE_LOG1PF.
5849         * modules/math (Makefile.am): Substitute GNULIB_LOG1PF, HAVE_LOG1PF,
5850         REPLACE_LOG1PF.
5851         * modules/log1pf: New file.
5852         * tests/test-math-c++.cc: Check the declaration of log1pf.
5853         * doc/posix-functions/log1pf.texi: Mention the new module.
5854
5855 2012-03-10  Bruno Haible  <bruno@clisp.org>
5856
5857         log1p tests: More tests.
5858         * tests/test-log1p.h: New file.
5859         * modules/log1p-tests (Files): Add tests/test-log1p.h, tests/randomd.c.
5860         (Makefile.am): Add randomd.c to test_log1p_SOURCES.
5861         * tests/test-log1p.c: Include <float.h> and test-log1p.h.
5862         (main): Invoke test_function.
5863
5864         log1p: Provide replacement for Minix and MSVC.
5865         * lib/math.in.h (log1p): New declaration.
5866         * lib/log1p.c: New file.
5867         * m4/log1p.m4: New file.
5868         * m4/math_h.m4 (gl_MATH_H): Test whether log1p is declared.
5869         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG1P, HAVE_LOG1P.
5870         * modules/math (Makefile.am): Substitute GNULIB_LOG1P, HAVE_LOG1P.
5871         * modules/log1p (Files): Add lib/log1p.c, m4/log1p.m4.
5872         (Depends-on): Add math, isnand, log, round.
5873         (configure.ac): Invoke gl_FUNC_LOG1P. Arrange to compile replacement if
5874         HAVE_LOG1P is 0.
5875         * tests/test-math-c++.cc: Check the declaration of log1p.
5876         * doc/posix-functions/log1p.texi: Mention the replacement.
5877
5878 2012-03-10  Bruno Haible  <bruno@clisp.org>
5879
5880         math tests: Small simplification.
5881         * tests/test-exp.h (test_function): Use the same err_bound for
5882         'double' on platforms with sizeof (long double) == sizeof (double)
5883         than on platforms with sizeof (long double) > sizeof (double).
5884         * tests/test-exp2.h (test_function): Likewise.
5885         * tests/test-expm1.h (test_function): Likewise.
5886         * tests/test-log.h (test_function): Likewise.
5887
5888 2012-03-10  Bruno Haible  <bruno@clisp.org>
5889
5890         Fix some comments.
5891         * lib/expl.c: Fix an ambiguous comment.
5892         * lib/expm1.c: Likewise.
5893         * lib/expm1l.c: Likewise.
5894         * lib/exp2.c: Likewise.
5895         * lib/exp2l.c: Likewise.
5896
5897 2012-03-10  Paul Eggert  <eggert@cs.ucla.edu>
5898
5899         regex: allow inclusion of <regex.h> before <limits.h>
5900         Without this patch, portable programs had to include <limits.h> before
5901         <regex.h> if they wanted a consistent value for RE_DUP_MAX.
5902         I ran into this problem with a test version of GNU grep on Solaris 8.
5903         * lib/regex.h: Include <limits.h> if _REGEX_INCLUDE_LIMITS_H.
5904         This is done conditionally so that this change can be merged
5905         back to glibc.
5906         * m4/regex.m4 (gl_REGEX): Define _REGEX_INCLUDE_LIMITS_H if
5907         using the included regex.
5908
5909         fts: depend on fdopendir
5910         * modules/fts (Depends-on): Depend on fdopendir.  This is needed
5911         on Solaris 8, at least, since it lacks fdopendir.  Evidently the
5912         problem was introduced when fdopendir was split out.
5913
5914 2012-03-10  Bruno Haible  <bruno@clisp.org>
5915
5916         Remove unused variables.
5917         * m4/fmodf.m4 (gl_FUNC_FMODF): Remove unused variable 'i'.
5918         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
5919
5920 2012-03-10  Bruno Haible  <bruno@clisp.org>
5921
5922         isnanf-nolibm: Fix last commit.
5923         * lib/isnanf-nolibm.h [IRIX]: Don't include <ieeefp.h>. Declare isnanf.
5924
5925         isnanf-nolibm: Make it work on IRIX 6.5 with cc.
5926         * lib/isnanf-nolibm.h [IRIX]: Include <ieeefp.h>.
5927
5928 2012-03-10  Bruno Haible  <bruno@clisp.org>
5929
5930         logf-ieee: Work around test failure on NetBSD 5.1.
5931         * m4/logf-ieee.m4: New file.
5932         * m4/logf.m4 (gl_FUNC_LOGF): If gl_FUNC_LOGF_IEEE is present, test
5933         whether logf works with a negative argument. Replace it if not.
5934         * lib/logf.c (logf): For negative arguments, return NaN.
5935         * modules/logf-ieee (Files): Add m4/logf-ieee.m4.
5936         (configure.ac): Invoke gl_FUNC_LOGF_IEEE.
5937         * doc/posix-functions/logf.texi: Mention the logf-ieee module.
5938
5939         logf-ieee: Work around test failure on Solaris 9.
5940         * modules/logf-ieee (Depends-on): Add log-ieee.
5941         (configure.ac): Require gl_FUNC_LOGF.
5942
5943         log-ieee: Work around test failure on NetBSD 5.1 and Solaris 11.
5944         * m4/log-ieee.m4: New file.
5945         * m4/log.m4 (gl_FUNC_LOG): If gl_FUNC_LOG_IEEE is present, test whether
5946         log works with a negative argument. Replace it if not.
5947         * lib/log.c (log): For negative arguments, return NaN.
5948         * modules/log-ieee (Files): Add m4/log-ieee.m4.
5949         (configure.ac): Invoke gl_FUNC_LOG_IEEE.
5950         * doc/posix-functions/log.texi: Mention the log-ieee module.
5951
5952         Tests for module 'logl-ieee'.
5953         * modules/logl-ieee-tests: New file.
5954         * tests/test-logl-ieee.c: New file.
5955
5956         New module 'logl-ieee'.
5957         * modules/logl-ieee: New file.
5958
5959         Tests for module 'log-ieee'.
5960         * modules/log-ieee-tests: New file.
5961         * tests/test-log-ieee.c: New file.
5962
5963         New module 'log-ieee'.
5964         * modules/log-ieee: New file.
5965
5966         Tests for module 'logf-ieee'.
5967         * modules/logf-ieee-tests: New file.
5968         * tests/test-logf-ieee.c: New file.
5969         * tests/test-log-ieee.h: New file.
5970
5971         New module 'logf-ieee'.
5972         * modules/logf-ieee: New file.
5973
5974 2012-03-10  Bruno Haible  <bruno@clisp.org>
5975
5976         log: Fix bug introduced on 2012-03-09.
5977         * m4/log.m4 (gl_FUNC_LOG): Require gl_MATH_H_DEFAULTS.
5978
5979 2012-03-10  Pádraig Brady  <P@draigBrady.com>
5980
5981         timer-time: link explicitly with pthreads on glibc
5982         * m4/timer_time.m4 (LIB_TIMER_TIME): Add -lpthread
5983         to support static linking, when newer glibc is
5984         detected, as that contains pthread emulation of
5985         POSIX timer functions where required.
5986         * modules/timer-time: Depend on threadlib to
5987         pull in the appropriate library to link.
5988
5989 2012-03-10  Bruno Haible  <bruno@clisp.org>
5990
5991         log* tests: More tests.
5992         * tests/test-log.h: New file.
5993         * tests/test-log.c: Include <float.h>, minus-zero.h, test-log.h.
5994         (main): Invoke test_function.
5995         * tests/test-logf.c: Include <float.h>, minus-zero.h, test-log.h.
5996         (main): Invoke test_function.
5997         * tests/test-logl.c: Include <float.h>, minus-zero.h, test-log.h.
5998         (main): Invoke test_function.
5999         * modules/log-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
6000         tests/randomd.c.
6001         (Makefile.am): Add randomd.c to test_log_SOURCES.
6002         * modules/logf-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
6003         tests/randomf.c.
6004         (Makefile.am): Add randomf.c to test_logf_SOURCES.
6005         * modules/logl-tests (Files): Add tests/test-log.h, tests/minus-zero.h,
6006         tests/randoml.c.
6007         (Depends-on): Add 'float'.
6008         (Makefile.am): Add randoml.c to test_logl_SOURCES.
6009
6010 2012-03-09  Bruno Haible  <bruno@clisp.org>
6011
6012         logl: Work around OSF/1 5.1 bug.
6013         * lib/math.in.h (logl): Override if REPLACE_LOGL is 1.
6014         * lib/logl.c (logl): If logl exists, use it and provide just the
6015         workaround.
6016         * m4/logl.m4 (gl_FUNC_LOGL_WORKS): New macro.
6017         (gl_FUNC_LOGL): Invoke it. Set REPLACE_LOGL.
6018         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGL.
6019         * modules/math (Makefile.am): Substitute REPLACE_LOGL.
6020         * modules/logl (configure.ac): Consider REPLACE_LOGL.
6021         (Depends-on): Update conditions.
6022         * doc/posix-functions/logl.texi: Mention the OSF/1 5.1 problem.
6023
6024 2012-03-09  Bruno Haible  <bruno@clisp.org>
6025
6026         logf: Work around OSF/1 5.1 bug.
6027         * lib/math.in.h (logf): Override if REPLACE_LOGF is 1.
6028         * lib/logf.c (logf): If logf exists, use it and provide just the
6029         workaround.
6030         * m4/logf.m4 (gl_FUNC_LOGF_WORKS): New macro.
6031         (gl_FUNC_LOGF): Invoke it. Set REPLACE_LOGF.
6032         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_LOGF.
6033         * modules/math (Makefile.am): Substitute REPLACE_LOGF.
6034         * modules/logf (configure.ac): Consider REPLACE_LOGF.
6035         (Depends-on): Update conditions.
6036         * doc/posix-functions/logf.texi: Mention the OSF/1 5.1 problem.
6037
6038 2012-03-09  Bruno Haible  <bruno@clisp.org>
6039
6040         log: Work around OSF/1 5.1 bug.
6041         * lib/math.in.h (log): New declaration.
6042         * lib/log.c: New file.
6043         * m4/log.m4 (gl_FUNC_LOG_WORKS): New macro.
6044         (gl_FUNC_LOG): Invoke it. Set REPLACE_LOG.
6045         * m4/math_h.m4 (gl_MATH_H): Test whether log is declared.
6046         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG, REPLACE_LOG.
6047         * modules/math (Makefile.am): Substitute GNULIB_LOG, REPLACE_LOG.
6048         * modules/log (Files): Add lib/log.c.
6049         (Depends-on): Add math.
6050         (configure.ac): If REPLACE_LOG is 1, compile an override.
6051         * tests/test-math-c++.cc: Check the declaration of log.
6052         * doc/posix-functions/log.texi: Mention the OSF/1 5.1 problem.
6053
6054 2012-03-09  Jim Meyering  <meyering@redhat.com>
6055
6056         readtokens.c: adjust wording in a comment
6057         * lib/readtokens.c: Insert omitted "that" in a comment.
6058
6059 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
6060
6061         modechange: add notations +40, 00440, etc.
6062         * lib/modechange.c (mode_compile): Support new notations
6063         +40, -40, =440, 00440.  See <http://debbugs.gnu.org/8391>.
6064
6065 2012-03-08  Bruno Haible  <bruno@clisp.org>
6066
6067         exp2l-ieee: Work around test failure on OpenBSD 4.9 and IRIX 6.5.
6068         * m4/exp2l-ieee.m4: New file.
6069         * m4/exp2l.m4 (gl_FUNC_EXP2L): If gl_FUNC_EXP2L_IEEE is present,
6070         test whether exp2l works with a NaN argument and with a negative
6071         infinity argument. Replace it if not.
6072         * lib/math.in.h (exp2l): Override if REPLACE_EXP2L is 1.
6073         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXP2L.
6074         * modules/math (Makefile.am): Substitute REPLACE_EXP2L.
6075         * modules/exp2l (configure.ac): Consider REPLACE_EXP2L.
6076         (Depends-on): Update conditions.
6077         * modules/exp2l-ieee (Files): Add m4/exp2l-ieee.m4.
6078         (configure.ac): Invoke gl_FUNC_EXP2L_IEEE.
6079         * doc/posix-functions/exp2l.texi: Mention the exp2l-ieee module.
6080
6081         Tests for module 'exp2l-ieee'.
6082         * modules/exp2l-ieee-tests: New file.
6083         * tests/test-exp2l-ieee.c: New file.
6084
6085         New module 'exp2l-ieee'.
6086         * modules/exp2l-ieee: New file.
6087
6088         Tests for module 'exp2-ieee'.
6089         * modules/exp2-ieee-tests: New file.
6090         * tests/test-exp2-ieee.c: New file.
6091
6092         New module 'exp2-ieee'.
6093         * modules/exp2-ieee: New file.
6094
6095         Tests for module 'exp2f-ieee'.
6096         * modules/exp2f-ieee-tests: New file.
6097         * tests/test-exp2f-ieee.c: New file.
6098         * tests/test-exp2-ieee.h: New file.
6099
6100         New module 'exp2f-ieee'.
6101         * modules/exp2f-ieee: New file.
6102
6103 2012-03-08  Bruno Haible  <bruno@clisp.org>
6104
6105         Tests for module 'exp2l'.
6106         * modules/exp2l-tests: New file.
6107         * tests/test-exp2l.c: New file.
6108
6109         New module 'exp2l'.
6110         * lib/math.in.h (exp2l): New declaration.
6111         * lib/exp2l.c: New file.
6112         * lib/expl-table.c: New file, extracted from lib/expl.c.
6113         * lib/expl.c (gl_expl_table): New declaration.
6114         (expl): Remove expl_table. Update reference.
6115         * m4/exp2l.m4: New file.
6116         * m4/math_h.m4 (gl_MATH_H): Test whether exp2l is declared.
6117         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2L, HAVE_DECL_EXP2L.
6118         * modules/math (Makefile.am): Substitute GNULIB_EXP2L, HAVE_DECL_EXP2L.
6119         * modules/exp2l: New file.
6120         * modules/expl (Files): Add lib/expl-table.c.
6121         (configure.ac): Compile also expl-table.c.
6122         * tests/test-math-c++.cc: Check the declaration of exp2l.
6123         * doc/posix-functions/exp2l.texi: Mention the new module and the IRIX
6124         problem.
6125
6126 2012-03-08  Bruno Haible  <bruno@clisp.org>
6127
6128         Tests for module 'exp2f'.
6129         * modules/exp2f-tests: New file.
6130         * tests/test-exp2f.c: New file.
6131
6132         New module 'exp2f'.
6133         * lib/math.in.h (exp2f): New declaration.
6134         * lib/exp2f.c: New file.
6135         * m4/exp2f.m4: New file.
6136         * m4/math_h.m4 (gl_MATH_H): Test whether exp2f is declared.
6137         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2F, HAVE_DECL_EXP2F.
6138         * modules/math (Makefile.am): Substitute GNULIB_EXP2F, HAVE_DECL_EXP2F.
6139         * modules/exp2f: New file.
6140         * tests/test-math-c++.cc: Check the declaration of exp2f.
6141         * doc/posix-functions/exp2f.texi: Mention the new module and the
6142         IRIX problem.
6143
6144 2012-03-08  Bruno Haible  <bruno@clisp.org>
6145
6146         Tests for module 'exp2'.
6147         * modules/exp2-tests: New file.
6148         * tests/test-exp2.c: New file.
6149         * tests/test-exp2.h: New file.
6150
6151         New module 'exp2'.
6152         * lib/math.in.h (exp2): New declaration.
6153         * lib/exp2.c: New file.
6154         * m4/exp2.m4: New file.
6155         * m4/math_h.m4 (gl_MATH_H): Test whether exp2 is declared.
6156         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXP2, HAVE_DECL_EXP2,
6157         REPLACE_EXP2.
6158         * modules/math (Makefile.am): Substitute GNULIB_EXP2, HAVE_DECL_EXP2,
6159         REPLACE_EXP2.
6160         * modules/exp2: New file.
6161         * tests/test-math-c++.cc: Check the declaration of exp2.
6162         * doc/posix-functions/exp2.texi: Mention the new module and the IRIX
6163         and OpenBSD problems.
6164
6165 2012-03-08  Paul Eggert  <eggert@cs.ucla.edu>
6166
6167         savedir: fix comment typo
6168         * lib/savedir.c (savedirstream): Fix typo in comment.
6169
6170 2012-03-08  Bruno Haible  <bruno@clisp.org>
6171
6172         test-readtokens.c: use const; remove unwarranted cast
6173         * tests/test-readtokens.c: Declare delim to be const, to avoid a cast.
6174
6175 2012-03-08  Bruno Haible  <bruno@clisp.org>
6176
6177         fmal: Avoid compilation error on AIX.
6178         * lib/math.in.h (fmal): Undefine macro before declaration. Needed on
6179         AIX 5.2..7.1.
6180
6181 2012-03-08  Bruno Haible  <bruno@clisp.org>
6182
6183         fma, fmaf, fmal: Override undeclared system functions on IRIX 6.5.
6184         * m4/fma.m4 (gl_FUNC_FMA): If fma() exists but is not declared,
6185         arrange to set REPLACE_FMA=1, not HAVE_FMA=0.
6186         * m4/fmaf.m4 (gl_FUNC_FMAF): If fmaf() exists but is not declared,
6187         arrange to set REPLACE_FMAF=1, not HAVE_FMAF=0.
6188         * m4/fmal.m4 (gl_FUNC_FMAL): If fmal() exists but is not declared,
6189         arrange to set REPLACE_FMAL=1, not HAVE_FMAL=0.
6190
6191 2012-03-08  Bruno Haible  <bruno@clisp.org>
6192
6193         remainderf: Override buggy system function on IRIX 6.5.
6194         * m4/remainderf.m4 (gl_FUNC_REMAINDERF_WORKS): New macro.
6195         (gl_FUNC_REMAINDERF): Invoke it. Don't assume remainderf() is declared
6196         when it exists.
6197         * doc/posix-functions/remainderf.texi: Mention the IRIX problems.
6198
6199 2012-03-08  Jim Meyering  <meyering@redhat.com>
6200
6201         test-readtokens.c: avoid const-related compilation warnings
6202         * tests/test-readtokens.c: Avoid const-related compilation warnings.
6203
6204 2012-03-07  Jim Meyering  <meyering@redhat.com>
6205             Bruno Haible  <bruno@clisp.org>
6206
6207         frexp-nolibm, frexpl-nolibm tests: Fix bug introduced on 2012-03-03.
6208         * modules/frexp-nolibm-tests (Files): Add tests/test-frexp.h,
6209         tests/randomd.c.
6210         (Makefile.am): Add randomd.c to test_frexp_nolibm_SOURCES.
6211         * modules/frexpl-nolibm-tests (Files): Add tests/test-frexp.h,
6212         tests/randoml.c.
6213         (Makefile.am): Add randoml.c to test_frexpl_nolibm_SOURCES.
6214
6215 2012-03-07  Bruno Haible  <bruno@clisp.org>
6216
6217         expm1l: Avoid compilation error on AIX.
6218         * lib/math.in.h (expm1l): Undefine macro before declaration. Needed on
6219         AIX 5.2..7.1.
6220
6221 2012-03-07  Bruno Haible  <bruno@clisp.org>
6222
6223         expm1l: Don't override undeclared system function on IRIX 6.5.
6224         * lib/math.in.h (expm1l): Test HAVE_DECL_EXPM1L, not HAVE_EXPM1L.
6225         * m4/expm1l.m4 (gl_FUNC_EXPM1L): Don't assume expm1l() is declared when
6226         it exists. Set HAVE_DECL_EXPM1L.
6227         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_EXPM1L, not
6228         HAVE_EXPM1L.
6229         * modules/math (Makefile.am): Substitute HAVE_DECL_EXPM1L, not
6230         HAVE_EXPM1L.
6231         * doc/posix-functions/expm1l.texi: Mention missing declaration problem.
6232
6233 2012-03-07  Bruno Haible  <bruno@clisp.org>
6234
6235         remainderl: Don't override undeclared system function on IRIX 6.5.
6236         * lib/math.in.h (remainderl): Test HAVE_DECL_REMAINDERL, not
6237         HAVE_REMAINDERL.
6238         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Don't assume remainderl() is
6239         declared when it exists. Set HAVE_DECL_REMAINDERL.
6240         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_REMAINDERL,
6241         not HAVE_REMAINDERL.
6242         * modules/math (Makefile.am): Substitute HAVE_DECL_REMAINDERL, not
6243         HAVE_REMAINDERL.
6244         * doc/posix-functions/remainderl.texi: Mention missing declaration
6245         problem.
6246
6247 2012-03-07  Bruno Haible  <bruno@clisp.org>
6248
6249         rintf: Don't override undeclared system function on IRIX 6.5.
6250         * lib/math.in.h (rintf): Test HAVE_DECL_RINTF, not HAVE_RINTF.
6251         * m4/rintf.m4 (gl_FUNC_RINTF): Don't assume rintf() is declared when it
6252         exists. Set HAVE_DECL_RINTF.
6253         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_RINTF, not
6254         HAVE_RINTF.
6255         * modules/math (Makefile.am): Substitute HAVE_DECL_RINTF, not
6256         HAVE_RINTF.
6257         * doc/posix-functions/rintf.texi: Mention missing declaration problem.
6258
6259 2012-03-07  Bruno Haible  <bruno@clisp.org>
6260
6261         roundl: Avoid compilation error on AIX.
6262         * lib/math.in.h (roundl): Undefine macro before declaration. Needed on
6263         AIX 5.2..7.1.
6264
6265 2012-03-07  Bruno Haible  <bruno@clisp.org>
6266
6267         roundl: Don't override undeclared system function on IRIX 6.5.
6268         * m4/roundl.m4 (gl_FUNC_ROUNDL): Search for roundl() in the libraries
6269         also when it is not declared. Set HAVE_ROUNDL. For replacement code,
6270         test HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
6271         * modules/roundl (configure.ac): For replacement code, test
6272         HAVE_ROUNDL, not HAVE_DECL_ROUNDL.
6273         (Depends-on): Update conditions.
6274         * doc/posix-functions/roundl.texi: Mention the IRIX problem.
6275
6276 2012-03-07  Bruno Haible  <bruno@clisp.org>
6277
6278         roundf: Don't override undeclared system function on IRIX 6.5.
6279         * m4/roundf.m4 (gl_FUNC_ROUNDF): Search for roundf() in the libraries
6280         also when it is not declared. Set HAVE_ROUNDF. For replacement code,
6281         test HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
6282         * modules/roundf (configure.ac): For replacement code, test
6283         HAVE_ROUNDF, not HAVE_DECL_ROUNDF.
6284         (Depends-on): Update conditions.
6285         * modules/roundf-ieee (Depends-on): Update conditions.
6286         * doc/posix-functions/roundf.texi: Mention the IRIX problem.
6287
6288 2012-03-07  Bruno Haible  <bruno@clisp.org>
6289
6290         round: Don't override undeclared system function on IRIX 6.5.
6291         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Accept an optional third
6292         argument.
6293         * m4/round.m4 (gl_FUNC_ROUND): Search for round() in the libraries
6294         also when it is not declared. Set HAVE_ROUND. For replacement code,
6295         test HAVE_ROUND, not HAVE_DECL_ROUND.
6296         * modules/round (configure.ac): For replacement code, test HAVE_ROUND,
6297         not HAVE_DECL_ROUND.
6298         (Depends-on): Update conditions.
6299         * modules/round-ieee (Depends-on): Update conditions.
6300         * doc/posix-functions/round.texi: Mention the IRIX problem.
6301
6302 2012-03-07  Bruno Haible  <bruno@clisp.org>
6303
6304         copysignf: Don't override undeclared system function on IRIX 6.5.
6305         * lib/math.in.h (copysignf): Test HAVE_DECL_COPYSIGNF, not
6306         HAVE_COPYSIGNF.
6307         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Don't assume copysignf() is
6308         declared when it exists. Set HAVE_DECL_COPYSIGNF.
6309         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_COPYSIGNF,
6310         not HAVE_COPYSIGNF.
6311         * modules/math (Makefile.am): Substitute HAVE_DECL_COPYSIGNF, not
6312         HAVE_COPYSIGNF.
6313         * doc/posix-functions/copysignf.texi: Mention missing declaration
6314         problem.
6315
6316 2012-03-07  Jim Meyering  <meyering@redhat.com>
6317
6318         readtokens: add tests
6319         * modules/readtokens-tests: New file.
6320         * tests/test-readtokens.c: New file.
6321
6322 2012-03-07  Jim Meyering  <meyering@redhat.com>
6323
6324         quotearg: the module must now include quote.h
6325         With commit v0.0-7133-g6417476, quotearg.c includes "quote.h".
6326         So must the module.
6327         * modules/quotearg (Files): Add quote.h.
6328
6329 2012-03-06  Paul Eggert  <eggert@cs.ucla.edu>
6330
6331         readtokens: avoid core dumps with unusual calling patterns
6332         Reported by Xu Zhongxing in <http://debbugs.gnu.org/10953>.
6333         * lib/readtokens.c: Include limits.h.
6334         (word, bits_per_word, get_nth_bit, set_nth_bit): New.
6335         (readtoken): Don't cache the delimiters; the cache code was buggy
6336         if !delim && saved_delim, or if the new n_delim differs from the old.
6337         Also, it wasn't thread-safe.
6338
6339 2012-03-07  Bruno Haible  <bruno@clisp.org>
6340
6341         quote: Adhere to common module description layout.
6342         * modules/quote (Makefile.am): Add back empty section.
6343
6344 2012-03-06  Akim Demaille  <demaille@gostai.com>
6345
6346         quote: fuse into quotearg
6347         This patch is made for the benefit of Bison.
6348         quote does not leave the choice of the quoting style to the user.
6349         quoting_style provides poor customizability, yet quoting_options,
6350         which is very rich, is hidden inside quotearg.c.  So in order to
6351         allow quote customization, move its implementation to quotearg.c.
6352         * lib/quote.c: Remove.
6353         * modules/quote: Adjust.
6354         * lib/quotearg.c (quoting_options_from_style): Fix a compiler
6355         warning: provide all the members of literal structs.
6356         (quote_quoting_options): New.
6357         (quote, quote_n): Import implementation from quote.c.
6358         * lib/quote.h: Import the comments from quote.c.
6359         (quote_quoting_options): New.
6360
6361 2012-03-06  Bruno Haible  <bruno@clisp.org>
6362
6363         Tests for module 'expm1l-ieee'.
6364         * modules/expm1l-ieee-tests: New file.
6365         * tests/test-expm1l-ieee.c: New file.
6366
6367         New module 'expm1l-ieee'.
6368         * modules/expm1l-ieee: New file.
6369
6370         Tests for module 'expm1f-ieee'.
6371         * modules/expm1f-ieee-tests: New file.
6372         * tests/test-expm1f-ieee.c: New file.
6373
6374         New module 'expm1f-ieee'.
6375         * modules/expm1f-ieee: New file.
6376
6377         Tests for module 'expm1-ieee'.
6378         * modules/expm1-ieee-tests: New file.
6379         * tests/test-expm1-ieee.c: New file.
6380         * tests/test-expm1-ieee.h: New file.
6381
6382         New module 'expm1-ieee'.
6383         * modules/expm1-ieee: New file.
6384         * m4/expm1-ieee.m4: New file.
6385         * m4/expm1.m4 (gl_FUNC_EXPM1): If gl_FUNC_EXPM1_IEEE is present, test
6386         whether expm1 works with a minus zero argument. Replace it if not.
6387         * lib/math.in.h (expm1): Override if REPLACE_EXPM1 is 1.
6388         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1.
6389         * modules/math (Makefile.am): Substitute REPLACE_EXPM1.
6390         * modules/expm1 (configure.ac): Consider REPLACE_EXPM1.
6391         (Depends-on): Update conditions.
6392         * doc/posix-functions/expm1.texi: Mention the expm1-ieee module and the
6393         AIX problem.
6394
6395 2012-03-06  Bruno Haible  <bruno@clisp.org>
6396
6397         Work around expm1f bug on IRIX 6.5.
6398         * lib/math.in.h (expm1f): Override if REPLACE_EXPM1F is 1.
6399         * m4/expm1f.m4 (gl_FUNC_EXPM1F_WORKS): New macro.
6400         (gl_FUNC_EXPM1F): Invoke it. Set REPLACE_EXPM1F to 1 if expm1f() does
6401         not work.
6402         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_EXPM1F.
6403         * modules/math (Makefile.am): Substitute REPLACE_EXPM1F.
6404         * modules/expm1f (configure.ac): Consider REPLACE_EXPM1F.
6405         (Depends-on): Update conditions.
6406         * doc/posix-functions/expm1f.texi: Mention the IRIX 6.5 bug.
6407
6408 2012-03-06  Bruno Haible  <bruno@clisp.org>
6409
6410         Tests for module 'expm1l'.
6411         * modules/expm1l-tests: New file.
6412         * tests/test-expm1l.c: New file.
6413
6414         New module 'expm1l'.
6415         * lib/math.in.h (expm1l): New declaration.
6416         * lib/expm1l.c: New file.
6417         * m4/expm1l.m4: New file.
6418         * m4/math_h.m4 (gl_MATH_H): Test whether expm1l is declared.
6419         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1L, HAVE_EXPM1L.
6420         * modules/math (Makefile.am): Substitute GNULIB_EXPM1L, HAVE_EXPM1L.
6421         * modules/expm1l: New file.
6422         * tests/test-math-c++.cc: Check the declaration of expm1l.
6423         * doc/posix-functions/expm1l.texi: Mention the new module.
6424
6425 2012-03-06  Bruno Haible  <bruno@clisp.org>
6426
6427         Tests for module 'expm1f'.
6428         * modules/expm1f-tests: New file.
6429         * tests/test-expm1f.c: New file.
6430
6431         New module 'expm1f'.
6432         * lib/math.in.h (expm1f): New declaration.
6433         * lib/expm1f.c: New file.
6434         * m4/expm1f.m4: New file.
6435         * m4/math_h.m4 (gl_MATH_H): Test whether expm1f is declared.
6436         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1F, HAVE_EXPM1F.
6437         * modules/math (Makefile.am): Substitute GNULIB_EXPM1F, HAVE_EXPM1F.
6438         * modules/expm1f: New file.
6439         * tests/test-math-c++.cc: Check the declaration of expm1f.
6440         * doc/posix-functions/expm1f.texi: Mention the new module.
6441
6442 2012-03-06  Bruno Haible  <bruno@clisp.org>
6443
6444         Tests for module 'expm1'.
6445         * modules/expm1-tests: New file.
6446         * tests/test-expm1.c: New file.
6447         * tests/test-expm1.h: New file.
6448
6449         New module 'expm1'.
6450         * lib/math.in.h (expm1): New declaration.
6451         * lib/expm1.c: New file.
6452         * m4/expm1.m4: New file.
6453         * m4/math_h.m4 (gl_MATH_H): Test whether expm1 is declared.
6454         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPM1, HAVE_EXPM1.
6455         * modules/math (Makefile.am): Substitute GNULIB_EXPM1, HAVE_EXPM1.
6456         * modules/expm1: New file.
6457         * tests/test-math-c++.cc: Check the declaration of expm1.
6458         * doc/posix-functions/expm1.texi: Mention the new module.
6459
6460 2012-03-06  Bruno Haible  <bruno@clisp.org>
6461
6462         math: Ensure declarations of math functions.
6463         * modules/acosf (Depends-on): Add 'extensions'.
6464         * modules/asinf (Depends-on): Likewise.
6465         * modules/atan2f (Depends-on): Likewise.
6466         * modules/atanf (Depends-on): Likewise.
6467         * modules/cbrt (Depends-on): Likewise.
6468         * modules/cbrtf (Depends-on): Likewise.
6469         * modules/cbrtl (Depends-on): Likewise.
6470         * modules/copysignf (Depends-on): Likewise.
6471         * modules/copysignl (Depends-on): Likewise.
6472         * modules/cosf (Depends-on): Likewise.
6473         * modules/coshf (Depends-on): Likewise.
6474         * modules/expf (Depends-on): Likewise.
6475         * modules/fabsf (Depends-on): Likewise.
6476         * modules/fabsl (Depends-on): Likewise.
6477         * modules/fmaf (Depends-on): Likewise.
6478         * modules/fmal (Depends-on): Likewise.
6479         * modules/fmodf (Depends-on): Likewise.
6480         * modules/fmodl (Depends-on): Likewise.
6481         * modules/frexpf (Depends-on): Likewise.
6482         * modules/frexpl (Depends-on): Likewise.
6483         * modules/hypot (Depends-on): Likewise.
6484         * modules/hypotf (Depends-on): Likewise.
6485         * modules/hypotl (Depends-on): Likewise.
6486         * modules/ldexpf (Depends-on): Likewise.
6487         * modules/ldexpl (Depends-on): Likewise.
6488         * modules/log10f (Depends-on): Likewise.
6489         * modules/log10l (Depends-on): Likewise.
6490         * modules/log1p (Depends-on): Likewise.
6491         * modules/logb (Depends-on): Likewise.
6492         * modules/logf (Depends-on): Likewise.
6493         * modules/modff (Depends-on): Likewise.
6494         * modules/modfl (Depends-on): Likewise.
6495         * modules/powf (Depends-on): Likewise.
6496         * modules/remainderf (Depends-on): Likewise.
6497         * modules/remainderl (Depends-on): Likewise.
6498         * modules/rintf (Depends-on): Likewise.
6499         * modules/rintl (Depends-on): Likewise.
6500         * modules/sinf (Depends-on): Likewise.
6501         * modules/sinhf (Depends-on): Likewise.
6502         * modules/sqrtf (Depends-on): Likewise.
6503         * modules/tanf (Depends-on): Likewise.
6504         * modules/tanhf (Depends-on): Likewise.
6505         * m4/acosf.m4 (gl_FUNC_ACOSF): Require gl_USE_SYSTEM_EXTENSIONS.
6506         * m4/asinf.m4 (gl_FUNC_ASINF): Likewise.
6507         * m4/atan2f.m4 (gl_FUNC_ATAN2F): Likewise.
6508         * m4/atanf.m4 (gl_FUNC_ATANF): Likewise.
6509         * m4/cbrt.m4 (gl_FUNC_CBRT): Likewise.
6510         * m4/cbrtf.m4 (gl_FUNC_CBRTF): Likewise.
6511         * m4/cbrtl.m4 (gl_FUNC_CBRTL): Likewise.
6512         * m4/copysignf.m4 (gl_FUNC_COPYSIGNF): Likewise.
6513         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Likewise.
6514         * m4/cosf.m4 (gl_FUNC_COSF): Likewise.
6515         * m4/coshf.m4 (gl_FUNC_COSHF): Likewise.
6516         * m4/expf.m4 (gl_FUNC_EXPF): Likewise.
6517         * m4/fabsf.m4 (gl_FUNC_FABSF): Likewise.
6518         * m4/fabsl.m4 (gl_FUNC_FABSL): Likewise.
6519         * m4/fmaf.m4 (gl_FUNC_FMAF): Likewise.
6520         * m4/fmal.m4 (gl_FUNC_FMAL): Likewise.
6521         * m4/fmodf.m4 (gl_FUNC_FMODF): Likewise.
6522         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
6523         * m4/frexpf.m4 (gl_FUNC_FREXPF): Likewise.
6524         * m4/frexpl.m4 (gl_FUNC_FREXPL): Likewise.
6525         * m4/hypot.m4 (gl_FUNC_HYPOT): Likewise.
6526         * m4/hypotf.m4 (gl_FUNC_HYPOTF): Likewise.
6527         * m4/hypotl.m4 (gl_FUNC_HYPOTL): Likewise.
6528         * m4/ldexpf.m4 (gl_FUNC_LDEXPF): Likewise.
6529         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
6530         * m4/log10f.m4 (gl_FUNC_LOG10F): Likewise.
6531         * m4/log10l.m4 (gl_FUNC_LOF10L): Likewise.
6532         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
6533         * m4/logf.m4 (gl_FUNC_LOGF): Likewise.
6534         * m4/modff.m4 (gl_FUNC_MODFF): Likewise.
6535         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
6536         * m4/powf.m4 (gl_FUNC_POWF): Likewise.
6537         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Likewise.
6538         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
6539         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
6540         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
6541         * m4/sinf.m4 (gl_FUNC_SINF): Likewise.
6542         * m4/sinhf.m4 (gl_FUNC_SINHF): Likewise.
6543         * m4/sqrtf.m4 (gl_FUNC_SQRTF): Likewise.
6544         * m4/tanf.m4 (gl_FUNC_TANF): Likewise.
6545         * m4/tanhf.m4 (gl_FUNC_TANHF): Likewise.
6546
6547 2012-03-06  Bruno Haible  <bruno@clisp.org>
6548
6549         math: Update module names in warnings.
6550         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
6551         tanl): Use specific module name in warn-on-use warning.
6552
6553 2012-03-06  Bruno Haible  <bruno@clisp.org>
6554
6555         expl: Simplify computation.
6556         * lib/expl.c (expl): Simplify computation of exp_y. Fix comment.
6557
6558 2012-03-05  Bruno Haible  <bruno@clisp.org>
6559
6560         exp* tests: More tests.
6561         * tests/test-exp.h: New file.
6562         * tests/test-exp.c: Include <float.h> and test-exp.h.
6563         (main): Invoke test_function.
6564         * tests/test-expf.c: Include <float.h> and test-exp.h.
6565         (main): Invoke test_function.
6566         * tests/test-expl.c: Include <float.h> and test-exp.h.
6567         (main): Invoke test_function.
6568         * modules/exp-tests (Files): Add tests/test-exp.h, tests/randomd.c.
6569         (Makefile.am): Add randomd.c to test_exp_SOURCES.
6570         * modules/expf-tests (Files): Add tests/test-exp.h, tests/randomf.c.
6571         (Makefile.am): Add randomf.c to test_expf_SOURCES.
6572         * modules/expl-tests (Files): Add tests/test-exp.h, tests/randoml.c.
6573         (Depends-on): Add 'float'.
6574         (Makefile.am): Add randoml.c to test_expl_SOURCES.
6575
6576         expl: Fix precision of computed result.
6577         * lib/expl.c: Completely rewritten.
6578         * modules/expl (Depends-on): Add isnanl, roundl, ldexpl. Remove floorl.
6579         (Maintainer): Add me.
6580         * m4/expl.m4 (gl_FUNC_EXPL): Update computation of EXPL_LIBM.
6581
6582 2012-03-05  Bruno Haible  <bruno@clisp.org>
6583
6584         cbrt* tests: More tests.
6585         * tests/test-cbrt.h: New file.
6586         * tests/test-cbrt.c: Include <float.h> and test-cbrt.h.
6587         (main): Invoke test_function.
6588         * tests/test-cbrtf.c: Include <float.h> and test-cbrt.h.
6589         (main): Invoke test_function.
6590         * tests/test-cbrtl.c: Include <float.h> and test-cbrt.h.
6591         (main): Invoke test_function.
6592         * modules/cbrt-tests (Files): Add tests/test-cbrt.h, tests/randomd.c.
6593         (Makefile.am): Add randomd.c to test_cbrt_SOURCES.
6594         * modules/cbrtf-tests (Files): Add tests/test-cbrt.h, tests/randomf.c.
6595         (Makefile.am): Add randomf.c to test_cbrtf_SOURCES.
6596         * modules/cbrtl-tests (Files): Add tests/test-cbrt.h, tests/randoml.c.
6597         (Depends-on): Add 'float'.
6598         (Makefile.am): Add randoml.c to test_cbrtl_SOURCES.
6599
6600 2012-03-05  Bruno Haible  <bruno@clisp.org>
6601
6602         hypot* tests: More tests.
6603         * tests/test-hypot.h: New file, partially extracted from
6604         tests/test-hypotl.c.
6605         * tests/test-hypot.c: Include test-hypot.h.
6606         (main): Invoke test_function.
6607         * tests/test-hypotf.c: Include test-hypot.h.
6608         (main): Invoke test_function.
6609         * tests/test-hypotl.c: Include fpucw.h and test-hypot.h.
6610         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING and test_function.
6611         * modules/hypot-tests (Files): Add tests/test-hypot.h, tests/randomd.c.
6612         (Makefile.am): Add randomd.c to test_hypot_SOURCES.
6613         * modules/hypotf-tests (Files): Add tests/test-hypot.h,
6614         tests/randomf.c.
6615         (Makefile.am): Add randomf.c to test_hypotf_SOURCES.
6616         * modules/hypotl-tests (Files): Add tests/test-hypot.h,
6617         tests/randoml.c.
6618         (Depends-on): Add 'fpucw', 'float'.
6619         (Makefile.am): Add randoml.c to test_hypotl_SOURCES.
6620
6621 2012-03-05  Bruno Haible  <bruno@clisp.org>
6622
6623         fpucw: Doc about FreeBSD.
6624         * lib/fpucw.h: Mention FreeBSD in comments.
6625
6626 2012-03-04  Bruno Haible  <bruno@clisp.org>
6627
6628         sqrt* tests: More tests.
6629         * tests/test-sqrt.h: New file.
6630         * tests/test-sqrt.c: Include <float.h> and test-sqrt.h.
6631         (main): Invoke test_function.
6632         * tests/test-sqrtf.c: Include <float.h> and test-sqrt.h.
6633         (main): Invoke test_function.
6634         * tests/test-sqrtl.c: Include <float.h> and test-sqrt.h.
6635         (main): Invoke test_function.
6636         * modules/sqrt-tests (Files): Add tests/test-sqrt.h, tests/randomd.c.
6637         (Makefile.am): Add randomd.c to test_sqrt_SOURCES.
6638         * modules/sqrtf-tests (Files): Add tests/test-sqrt.h, tests/randomf.c.
6639         (Makefile.am): Add randomf.c to test_sqrtf_SOURCES.
6640         * modules/sqrtl-tests (Files): Add tests/test-sqrt.h, tests/randoml.c.
6641         (Depends-on): Add 'float'.
6642         (Makefile.am): Add randoml.c to test_sqrtl_SOURCES.
6643
6644 2012-03-04  Bruno Haible  <bruno@clisp.org>
6645
6646         remainder* tests: More tests.
6647         * tests/test-remainder.h: New file, based on tests/test-fmod.h.
6648         * tests/test-remainder.c: Include <float.h> and test-remainder.h.
6649         (main): Invoke test_function.
6650         * tests/test-remainderf.c: Include <float.h> and test-remainder.h.
6651         (main): Invoke test_function.
6652         * tests/test-remainderl.c: Include <float.h> and test-remainder.h.
6653         (main): Invoke test_function.
6654         * modules/remainder-tests (Files): Add tests/test-remainder.h,
6655         tests/randomd.c.
6656         (Makefile.am): Add randomd.c to test_remainder_SOURCES.
6657         * modules/remainderf-tests (Files): Add tests/test-remainder.h,
6658         tests/randomf.c.
6659         (Makefile.am): Add randomf.c to test_remainderf_SOURCES.
6660         * modules/remainderl-tests (Files): Add tests/test-remainder.h,
6661         tests/randoml.c.
6662         (Depends-on): Add 'float'.
6663         (Makefile.am): Add randoml.c to test_remainderl_SOURCES.
6664
6665 2012-03-04  Bruno Haible  <bruno@clisp.org>
6666
6667         remainder, remainderf, remainderl: Fix computation for large quotients.
6668         * lib/remainder.c: Completely rewritten.
6669         * lib/remainderf.c (remainderf): Use implementation of remainder.c with
6670         USE_FLOAT.
6671         * lib/remainderl.c (remainderl): Use implementation of remainder.c with
6672         USE_LONG_DOUBLE.
6673         * modules/remainder (Depends-on): Add isfinite, signbit, fabs, fmod,
6674         isnand, isinf. Remove round, fma.
6675         * modules/remainderf (Files): Add lib/remainder.c.
6676         (Depends-on): Add isfinite, signbit, fabsf, fmodf, isnanf, isinf.
6677         Remove roundf, fmaf.
6678         * modules/remainderl (Files): Add lib/remainder.c.
6679         (Depends-on): Add float, isfinite, signbit, fabsl, fmodl, isnanl,
6680         isinf. Remove roundl, fmal.
6681         * m4/remainder.m4 (gl_FUNC_REMAINDER): Update computation of
6682         REMAINDER_LIBM.
6683         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): Update computation of
6684         REMAINDERF_LIBM.
6685         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Update computation of
6686         REMAINDERL_LIBM.
6687
6688 2012-03-04  Bruno Haible  <bruno@clisp.org>
6689
6690         fmod* tests: More tests.
6691         * tests/test-fmod.h (my_ldexp): New function.
6692         (test_function): Reduce amount of random numbers to test. Add tests
6693         of very large quotients x / y.
6694         * tests/test-fmod.c (MAX_EXP): New macro.
6695         * tests/test-fmodf.c (MAX_EXP): Likewise.
6696         * tests/test-fmodl.c (MAX_EXP): Likewise.
6697
6698 2012-03-04  Bruno Haible  <bruno@clisp.org>
6699
6700         fmod, fmodl: Fix computation for large quotients x / y.
6701         * lib/fmod.c: Completely rewritten.
6702         * lib/fmodl.c (fmodl): Use implementation of fmod.c with
6703         USE_LONG_DOUBLE.
6704         * modules/fmod (Depends-on): Add isfinite, signbit, fabs, frexp, ldexp,
6705         isnand. Remove fma.
6706         * modules/fmodl (Files): Add lib/fmod.c.
6707         (Depends-on): Add float, isfinite, signbit, fabsl,
6708         frexpl, ldexpl, isnanl. Remove fma.
6709         * m4/fmod.m4 (gl_FUNC_FMOD): Update computation of FMOD_LIBM.
6710         * m4/fmodl.m4 (gl_FUNC_FMODL): Update computation of FMODL_LIBM.
6711
6712 2012-03-03  Bruno Haible  <bruno@clisp.org>
6713
6714         fmod* tests: More tests.
6715         * tests/test-fmod.h: New file.
6716         * tests/test-fmod.c: Include <float.h> and test-fmod.h.
6717         (main): Invoke test_function.
6718         * tests/test-fmodf.c: Include <float.h> and test-fmod.h.
6719         (main): Invoke test_function.
6720         * tests/test-fmodl.c: Include <float.h> and test-fmod.h.
6721         (main): Invoke test_function.
6722         * modules/fmod-tests (Files): Add tests/test-fmod.h, tests/randomd.c.
6723         (Makefile.am): Add randomd.c to test_fmod_SOURCES.
6724         * modules/fmodf-tests (Files): Add tests/test-fmod.h, tests/randomf.c.
6725         (Makefile.am): Add randomf.c to test_fmodf_SOURCES.
6726         * modules/fmodl-tests (Files): Add tests/test-fmod.h, tests/randoml.c.
6727         (Depends-on): Add 'float'.
6728         (Makefile.am): Add randoml.c to test_fmodl_SOURCES.
6729
6730 2012-03-03  Bruno Haible  <bruno@clisp.org>
6731
6732         rint* tests: More tests.
6733         * tests/test-rint.h: New file, partially extracted from
6734         tests/test-rintl.c.
6735         * tests/test-rint.c: Include test-rint.h.
6736         (main): Invoke test_function.
6737         * tests/test-rintf.c: Include test-rint.h.
6738         (main): Invoke test_function.
6739         * tests/test-rintl.c: Include test-rint.h.
6740         (main): Invoke test_function.
6741         * modules/rint-tests (Files): Add tests/test-rint.h, tests/randomd.c.
6742         (Makefile.am): Add randomd.c to test_rint_SOURCES.
6743         * modules/rintf-tests (Files): Add tests/test-rint.h, tests/randomf.c.
6744         (Makefile.am): Add randomf.c to test_rintf_SOURCES.
6745         * modules/rintl-tests (Files): Add tests/test-rint.h, tests/randoml.c.
6746         (Makefile.am): Add randoml.c to test_rintl_SOURCES.
6747
6748 2012-03-03  Bruno Haible  <bruno@clisp.org>
6749
6750         modf* tests: More tests.
6751         * tests/test-modf.h: New file.
6752         * tests/test-modf.c: Include <float.h> and test-modf.h.
6753         (main): Invoke test_function.
6754         * tests/test-modff.c: Include <float.h> and test-modf.h.
6755         (main): Invoke test_function.
6756         * tests/test-modfl.c: Include <float.h> and test-modf.h.
6757         (main): Invoke test_function.
6758         * modules/modf-tests (Files): Add tests/test-modf.h, tests/randomd.c.
6759         (Makefile.am): Add randomd.c to test_modf_SOURCES.
6760         * modules/modff-tests (Files): Add tests/test-modf.h, tests/randomf.c.
6761         (Makefile.am): Add randomf.c to test_modff_SOURCES.
6762         * modules/modfl-tests (Files): Add tests/test-modf.h, tests/randoml.c.
6763         (Depends-on): Add 'float'.
6764         (Makefile.am): Add randoml.c to test_modfl_SOURCES.
6765
6766 2012-03-03  Bruno Haible  <bruno@clisp.org>
6767
6768         fabs* tests: More tests.
6769         * tests/test-fabs.h: New file, partially extracted from
6770         tests/test-fabsl.c.
6771         * tests/test-fabs.c (RANDOM): New macro.
6772         * tests/test-fabsf.c (RANDOM): New macro.
6773         * tests/test-fabsl.c (RANDOM): New macro.
6774         * modules/fabs-tests (Files): Add tests/randomd.c.
6775         (Makefile.am): Add randomd.c to test_fabs_SOURCES.
6776         * modules/fabsf-tests (Files): Add tests/randomf.c.
6777         (Makefile.am): Add randomf.c to test_fabsf_SOURCES.
6778         * modules/fabsl-tests (Files): Add tests/randoml.c.
6779         (Makefile.am): Add randoml.c to test_fabsl_SOURCES.
6780
6781 2012-03-03  Bruno Haible  <bruno@clisp.org>
6782
6783         ldexp* tests: More tests.
6784         * tests/test-ldexp.h (test_function): Add some pseudo-randomized tests.
6785         * tests/test-ldexp.c (RANDOM): New macro.
6786         * tests/test-ldexpf.c (RANDOM): New macro.
6787         * tests/test-ldexpl.c (RANDOM): New macro.
6788         * modules/ldexp-tests (Files): Add tests/randomd.c.
6789         (Makefile.am): Add randomd.c to test_ldexp_SOURCES.
6790         * modules/ldexpf-tests (Files): Add tests/randomf.c.
6791         (Makefile.am): Add randomf.c to test_ldexpf_SOURCES.
6792         * modules/ldexpl-tests (Files): Add tests/randoml.c.
6793         (Makefile.am): Add randoml.c to test_ldexpl_SOURCES.
6794
6795 2012-03-03  Bruno Haible  <bruno@clisp.org>
6796
6797         frexp* tests: More tests.
6798         * tests/test-frexp.h (test_function): Add some pseudo-randomized tests.
6799         * tests/test-frexp.c (RANDOM): New macro.
6800         * tests/test-frexpf.c (RANDOM): New macro.
6801         * tests/test-frexpl.c (RANDOM): New macro.
6802         * modules/frexp-tests (Files): Add tests/randomd.c.
6803         (Makefile.am): Add randomd.c to test_frexp_SOURCES.
6804         * modules/frexpf-tests (Files): Add tests/randomf.c.
6805         (Makefile.am): Add randomf.c to test_frexpf_SOURCES.
6806         * modules/frexpl-tests (Files): Add tests/randoml.c.
6807         (Makefile.am): Add randoml.c to test_frexpl_SOURCES.
6808
6809 2012-03-03  Bruno Haible  <bruno@clisp.org>
6810
6811         Support for pseudo-random numbers in tests.
6812         * tests/randomf.c: New file.
6813         * tests/randomd.c: New file.
6814         * tests/randoml.c: New file.
6815         * tests/macros.h (randomf, randomd, randoml): New declarations.
6816
6817 2012-03-03  Bruno Haible  <bruno@clisp.org>
6818
6819         frexp* tests: Refactor.
6820         * tests/test-frexp.h: New file, extracted from tests/test-frexpl.c.
6821         * tests/test-frexp.c: Include and use it.
6822         * tests/test-frexpf.c: Likewise.
6823         * tests/test-frexpl.c: Likewise.
6824         * modules/frexp-tests (Files): Add tests/test-frexp.h.
6825         * modules/frexpf-tests (Files): Likewise.
6826         * modules/frexpl-tests (Files): Likewise.
6827
6828 2012-03-02  Jim Meyering  <meyering@redhat.com>
6829
6830         maint: don't specify XZ_OPT=-9ev in dist-related rule
6831         Using xz's -9 option is warranted only if you have a very large
6832         tarball (see xz's documentation for the sizes vs. presets), and
6833         requires 64MiB of memory at decompression time.
6834         * top/maint.mk (alpha beta stable): Don't specify XZ_OPT=-9ev.
6835         Automake's default of just "-e" is fine.  Override on a
6836         per-package basis by setting XZ_OPT e.g., in cfg.mk.
6837
6838 2012-03-01  Eric Blake  <eblake@redhat.com>
6839
6840         maint.mk: allow announcement for non-gnulib project
6841         * maint.mk (announcement): Skip gnulib version if not used.
6842
6843 2012-03-01  Jim Meyering  <meyering@redhat.com>
6844
6845         maint.mk: avoid spurious failure of _sc_search_regexp-using tests
6846         * top/maint.mk: Initialize _sc_search_regexp parameters, so that
6847         envvar settings cannot interfere.  Otherwise, setting envvars like
6848         prohibit=foo require=bar, etc. would cause spurious test failures.
6849
6850 2012-03-01  Eric Blake  <eblake@redhat.com>
6851
6852         maint.mk: add per-line exclusions to prohibitions
6853         * maint.mk (_sc_search_regexp): Add $exclude parameter.
6854         (sc_prohibit_strcmp, sc_unmarked_diagnostics)
6855         (sc_const_long_option): Use it.
6856
6857 2012-03-01  Bruno Haible  <bruno@clisp.org>
6858
6859         Tests for module 'expl-ieee'.
6860         * modules/expl-ieee-tests: New file.
6861         * tests/test-expl-ieee.c: New file.
6862
6863         New module 'expl-ieee'.
6864         * modules/expl-ieee: New file.
6865
6866         Tests for module 'exp-ieee'.
6867         * modules/exp-ieee-tests: New file.
6868         * tests/test-exp-ieee.c: New file.
6869
6870         New module 'exp-ieee'.
6871         * modules/exp-ieee: New file.
6872
6873         Tests for module 'expf-ieee'.
6874         * modules/expf-ieee-tests: New file.
6875         * tests/test-expf-ieee.c: New file.
6876         * tests/test-exp-ieee.h: New file.
6877
6878         New module 'expf-ieee'.
6879         * modules/expf-ieee: New file.
6880
6881 2012-02-29  Bruno Haible  <bruno@clisp.org>
6882
6883         cbrtl-ieee: Work around test failure on IRIX 6.5.
6884         * m4/cbrtl-ieee.m4: New file.
6885         * m4/cbrtl.m4 (gl_FUNC_CBRTL): If gl_FUNC_CBRTL_IEEE is present,
6886         test whether cbrtl works with a minus zero argument. Replace it if not.
6887         * lib/math.in.h (cbrtl): Override if REPLACE_CBRTL is 1.
6888         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTL.
6889         * modules/math (Makefile.am): Substitute REPLACE_CBRTL.
6890         * modules/cbrtl (configure.ac): Consider REPLACE_CBRTL.
6891         (Depends-on): Update conditions.
6892         * modules/cbrtl-ieee (Files): Add m4/cbrtl-ieee.m4, m4/minus-zero.m4,
6893         m4/signbit.m4.
6894         (configure.ac): Invoke gl_FUNC_CBRTL_IEEE.
6895         * lib/cbrtl.c (cbrtl) [IRIX]: Avoid an unnecessary addition.
6896         * doc/posix-functions/cbrtl.texi: Mention the cbrtl-ieee module.
6897
6898         Tests for module 'cbrtl-ieee'.
6899         * modules/cbrtl-ieee-tests: New file.
6900         * tests/test-cbrtl-ieee.c: New file.
6901
6902         New module 'cbrtl-ieee'.
6903         * modules/cbrtl-ieee: New file.
6904
6905         Tests for module 'cbrt-ieee'.
6906         * modules/cbrt-ieee-tests: New file.
6907         * tests/test-cbrt-ieee.c: New file.
6908
6909         New module 'cbrt-ieee'.
6910         * modules/cbrt-ieee: New file.
6911
6912         Tests for module 'cbrtf-ieee'.
6913         * modules/cbrtf-ieee-tests: New file.
6914         * tests/test-cbrtf-ieee.c: New file.
6915         * tests/test-cbrt-ieee.h: New file.
6916
6917         New module 'cbrtf-ieee'.
6918         * modules/cbrtf-ieee: New file.
6919
6920 2012-02-29  Bruno Haible  <bruno@clisp.org>
6921
6922         cbrtf: Work around bug in IRIX 6.5 system function.
6923         * lib/math.in.h (cbrtf): Override if REPLACE_CBRTF is 1.
6924         * m4/cbrtf.m4 (gl_FUNC_CBRTF_WORKS): New macro.
6925         (gl_FUNC_CBRTF): Invoke it. Set REPLACE_CBRTF to 1 if cbrtf() does not
6926         work.
6927         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_CBRTF.
6928         * modules/math (Makefile.am): Substitute REPLACE_CBRTF.
6929         * modules/cbrtf (configure.ac): Consider REPLACE_CBRTF.
6930         (Depends-on): Update conditions.
6931         * doc/posix-functions/cbrtf.texi: Mention the IRIX 6.5 problem.
6932
6933 2012-02-29  Bruno Haible  <bruno@clisp.org>
6934
6935         Tests for module 'cbrtl'.
6936         * modules/cbrtl-tests: New file.
6937         * tests/test-cbrtl.c: New file.
6938
6939         New module 'cbrtl'.
6940         * lib/math.in.h (cbrtl): New declaration.
6941         * lib/cbrtl.c: New file.
6942         * m4/cbrtl.m4: New file.
6943         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtl is declared.
6944         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTL, HAVE_CBRTL,
6945         HAVE_DECL_CBRTL.
6946         * modules/math (Makefile.am): Substitute GNULIB_CBRTL, HAVE_CBRTL,
6947         HAVE_DECL_CBRTL.
6948         * modules/cbrtl: New file.
6949         * tests/test-math-c++.cc: Check the declaration of cbrtl.
6950         * doc/posix-functions/cbrtl.texi: Mention the new module.
6951
6952 2012-02-29  Bruno Haible  <bruno@clisp.org>
6953
6954         Tests for module 'cbrtf'.
6955         * modules/cbrtf-tests: New file.
6956         * tests/test-cbrtf.c: New file.
6957
6958         New module 'cbrtf'.
6959         * lib/math.in.h (cbrtf): New declaration.
6960         * lib/cbrtf.c: New file.
6961         * m4/cbrtf.m4: New file.
6962         * m4/math_h.m4 (gl_MATH_H): Test whether cbrtf is declared.
6963         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRTF, HAVE_CBRTF,
6964         HAVE_DECL_CBRTF.
6965         * modules/math (Makefile.am): Substitute GNULIB_CBRTF, HAVE_CBRTF,
6966         HAVE_DECL_CBRTF.
6967         * modules/cbrtf: New file.
6968         * tests/test-math-c++.cc: Check the declaration of cbrtf.
6969         * doc/posix-functions/cbrtf.texi: Mention the new module.
6970
6971 2012-02-29  Bruno Haible  <bruno@clisp.org>
6972
6973         cbrt: Provide replacement on MSVC and Minix.
6974         * lib/math.in.h (cbrt): New declaration.
6975         * lib/cbrt.c: New file.
6976         * m4/cbrt.m4: New file.
6977         * m4/math_h.m4 (gl_MATH_H): Test whether cbrt is declared.
6978         (gl_MATH_H_DEFAULTS): Initialize GNULIB_CBRT, HAVE_CBRT.
6979         * modules/math (Makefile.am): Substitute GNULIB_CBRT, HAVE_CBRT.
6980         * modules/cbrt (Files): Add lib/cbrt.c, m4/cbrt.m4.
6981         (Depends-on): Add dependencies.
6982         (configure.ac): Arrange to compile replacement if HAVE_CBRT is 0.
6983         * tests/test-math-c++.cc: Check the declaration of cbrt.
6984         * doc/posix-functions/cbrt.texi: Mention that the module provides a
6985         replacement.
6986
6987 2012-02-29  Bruno Haible  <bruno@clisp.org>
6988
6989         hypotl-ieee: Work around test failure on OSF/1 and native Windows.
6990         * m4/hypotl-ieee.m4: New file.
6991         * m4/hypotl.m4 (gl_FUNC_HYPOTL): If gl_FUNC_HYPOTL_IEEE is present,
6992         test whether hypotl works with mixed NaN and Infinity arguments.
6993         Replace it if not.
6994         * lib/math.in.h (hypotl): Override if REPLACE_HYPOTL is 1.
6995         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_HYPOTL.
6996         * modules/math (Makefile.am): Substitute REPLACE_HYPOTL.
6997         * modules/hypotl (configure.ac): Consider REPLACE_HYPOTL.
6998         (Depends-on): Update conditions.
6999         * modules/hypotl-ieee (Files): Add m4/hypotl-ieee.m4.
7000         (Depends-on): Add hypot-ieee.
7001         (configure.ac): Invoke gl_FUNC_HYPOTL_IEEE.
7002         * doc/posix-functions/hypotl.texi: Mention the hypotl-ieee module.
7003
7004         hypotf-ieee: Work around test failure on OSF/1 and native Windows.
7005         * m4/hypotf-ieee.m4: New file.
7006         * m4/hypotf.m4 (gl_FUNC_HYPOTF): If gl_FUNC_HYPOTF_IEEE is present,
7007         test whether hypotf works with mixed NaN and Infinity arguments.
7008         Replace it if not.
7009         * modules/hypotf-ieee (Files): Add m4/hypotf-ieee.m4.
7010         (Depends-on): Add hypot-ieee.
7011         (configure.ac): Invoke gl_FUNC_HYPOTF_IEEE.
7012         * doc/posix-functions/hypotf.texi: Mention the hypotf-ieee module.
7013
7014         hypot-ieee: Work around test failure on OSF/1 and native Windows.
7015         * lib/math.in.h (hypot): New declaration.
7016         * lib/hypot.c: New file.
7017         * m4/hypot-ieee.m4: New file.
7018         * m4/hypot.m4 (gl_FUNC_HYPOT): If gl_FUNC_HYPOT_IEEE is present, test
7019         whether hypot works with mixed NaN and Infinity arguments. Replace it
7020         if not.
7021         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOT,
7022         REPLACE_HYPOT.
7023         * modules/math (Makefile.am): Substitute GNULIB_HYPOT, REPLACE_HYPOT.
7024         * modules/hypot (Files): Add lib/hypot.c.
7025         (Depends-on): Add dependencies.
7026         (configure.ac): Arrange to compile replacement if REPLACE_HYPOT is 1.
7027         * modules/hypot-ieee (Files): Add m4/hypot-ieee.m4.
7028         (configure.ac): Invoke gl_FUNC_HYPOT_IEEE.
7029         * tests/test-math-c++.cc: Check the declaration of hypot.
7030         * doc/posix-functions/hypot.texi: Mention the hypot-ieee module.
7031
7032         Tests for module 'hypotl-ieee'.
7033         * modules/hypotl-ieee-tests: New file.
7034         * tests/test-hypotl-ieee.c: New file.
7035
7036         New module 'hypotl-ieee'.
7037         * modules/hypotl-ieee: New file.
7038
7039         Tests for module 'hypot-ieee'.
7040         * modules/hypot-ieee-tests: New file.
7041         * tests/test-hypot-ieee.c: New file.
7042
7043         New module 'hypot-ieee'.
7044         * modules/hypot-ieee: New file.
7045
7046         Tests for module 'hypotf-ieee'.
7047         * modules/hypotf-ieee-tests: New file.
7048         * tests/test-hypotf-ieee.c: New file.
7049         * tests/test-hypot-ieee.h: New file.
7050
7051         New module 'hypotf-ieee'.
7052         * modules/hypotf-ieee: New file.
7053
7054 2012-02-29  Bruno Haible  <bruno@clisp.org>
7055
7056         Remove unused variables.
7057         * m4/fmod.m4 (gl_FUNC_FMOD): Remove unused variable 'i'.
7058         * m4/fmodl.m4 (gl_FUNC_FMODL): Likewise.
7059         * m4/remainder.m4 (gl_FUNC_REMAINDER): Likewise.
7060         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): Likewise.
7061
7062 2012-02-29  Eric Blake  <eblake@redhat.com>
7063
7064         termios: fix pid_t always, not just for tcgetsid
7065         * doc/posix-headers/termios.texi (termios.h): Mention problem.
7066         * lib/termios.in.h (include): Ensure pid_t on all platforms, not
7067         just when building tcgetsid.
7068
7069 2012-02-29  Bruno Haible  <bruno@clisp.org>
7070
7071         Tests for module 'hypotl'.
7072         * modules/hypotl-tests: New file.
7073         * tests/test-hypotl.c: New file.
7074
7075         New module 'hypotl'.
7076         * lib/math.in.h (hypotl): New declaration.
7077         * lib/hypotl.c: New file.
7078         * m4/hypotl.m4: New file.
7079         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
7080         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTL, HAVE_HYPOTL.
7081         * modules/math (Makefile.am): Substitute GNULIB_HYPOTL, HAVE_HYPOTL.
7082         * modules/hypotl: New file.
7083         * tests/test-math-c++.cc: Check the hypotl declaration.
7084         * doc/posix-functions/hypotl.texi: Mention the new module.
7085
7086 2012-02-29  Eric Blake  <eblake@redhat.com>
7087
7088         tcgetsid: fix cygwin header bug
7089         * lib/termios.in.h (includes) [Cygwin]: Ensure pid_t is defined.
7090
7091         docs: update cygwin progress
7092         * doc/posix-functions/llround.texi (llround): Added in cygwin
7093         1.7.8.
7094         * doc/posix-functions/llroundf.texi (llroundf): Likewise.
7095         * doc/glibc-functions/program_invocation_name.texi
7096         (program_invocation_name): Likewise.
7097         * doc/glibc-functions/program_invocation_short_name.texi
7098         (program_invocation_short_name): Likewise.
7099         * doc/glibc-functions/madvise.texi (madvise): Likewise.
7100         * doc/glibc-functions/pthread_yield.texi (pthread_yield):
7101         Likewise.
7102         * doc/posix-functions/pthread_spin_destroy.texi
7103         (pthread_spin_destroy): Added in cygwin 1.7.10.
7104         * doc/posix-functions/pthread_spin_init.texi (pthread_spin_init):
7105         Likewise.
7106         * doc/posix-functions/pthread_spin_lock.texi (pthread_spin_lock):
7107         Likewise.
7108         * doc/posix-functions/pthread_spin_trylock.texi
7109         (pthread_spin_trylock): Likewise.
7110         * doc/posix-functions/pthread_spin_unlock.texi
7111         (pthread_spin_unlock): Likewise.
7112         * doc/posix-functions/pthread_setschedprio.texi
7113         (pthread_setschedprio): Likewise.
7114         * doc/posix-functions/pthread_attr_getstack.texi
7115         (pthread_attr_getstack): Likewise.
7116         * doc/pastposix-functions/pthread_attr_getstackaddr.texi
7117         (pthread_attr_getstackaddr): Likewise.
7118         * doc/glibc-functions/pthread_getattr_np.texi
7119         (pthread_getattr_np): Likewise.
7120         * doc/glibc-functions/sys_siglist.texi (sys_siglist): Likewise.
7121         * doc/glibc-functions/sysinfo.texi (sysinfo): Likewise.
7122         * doc/posix-functions/clock_settime.texi (clock_settime):
7123         Likewise.
7124         * doc/posix-functions/pthread_attr_getguardsize.texi
7125         (pthread_attr_getguardsize): Likewise.
7126         * doc/posix-functions/pthread_attr_setguardsize.texi
7127         (pthread_attr_setguardsize): Likewise.
7128         * doc/posix-functions/pthread_attr_setstack.texi
7129         (pthread_attr_setstack): Likewise.
7130         * doc/pastposix-functions/pthread_attr_setstackaddr.texi
7131         (pthread_attr_setstackaddr): Likewise.
7132         * doc/posix-functions/clock_getcpuclockid.texi
7133         (clock_getcpuclockid): Likewise.
7134         * doc/posix-functions/pthread_getcpuclockid.texi
7135         (pthread_getcpuclockid): Likewise.
7136         * doc/glibc-functions/error.texi (error): Likewise.
7137         * doc/glibc-functions/error_at_line.texi (error_at_line):
7138         Likewise.
7139         * doc/glibc-functions/error_message_count.texi
7140         (error_message_count): Likewise.
7141         * doc/glibc-functions/error_one_per_line.texi
7142         (error_one_per_line): Likewise.
7143         * doc/glibc-functions/error_print_progname.texi
7144         (error_print_progname): Likewise.
7145         * doc/posix-functions/pthread_condattr_getclock.texi
7146         (pthread_condattr_getclock): Likewise.
7147         * doc/posix-functions/pthread_condattr_setclock.texi
7148         (pthread_condattr_setclock): Likewise.
7149         * doc/posix-functions/clock_nanosleep.texi (clock_nanosleep):
7150         Likewise.
7151         * doc/glibc-functions/getgrouplist.texi (getgrouplist): Likewise.
7152         * doc/glibc-functions/getpt.texi (getpt): Likewise.
7153         * doc/glibc-functions/get_current_dir_name.texi
7154         (get_current_dir_name): Likewise.
7155         * doc/glibc-functions/pthread_sigqueue.texi (pthread_sigqueue):
7156         Likewise.
7157         * doc/posix-functions/tcgetsid.texi (tcgetsid): Likewise, but with
7158         wrong return type.
7159         * doc/glibc-functions/scandirat.texi (scandirat): Added in cygwin
7160         1.7.11.
7161
7162 2012-02-29  Bruno Haible  <bruno@clisp.org>
7163
7164         Tests for module 'hypotf'.
7165         * modules/hypotf-tests: New file.
7166         * tests/test-hypotf.c: New file.
7167
7168         New module 'hypotf'.
7169         * lib/math.in.h (hypotf): New declaration.
7170         * lib/hypotf.c: New file.
7171         * m4/hypotf.m4: New file.
7172         * m4/math_h.m4 (gl_MATH_H): Test whether hypotf is declared.
7173         (gl_MATH_H_DEFAULTS): Initialize GNULIB_HYPOTF, HAVE_HYPOTF,
7174         REPLACE_HYPOTF.
7175         * modules/math (Makefile.am): Substitute GNULIB_HYPOTF, HAVE_HYPOTF,
7176         REPLACE_HYPOTF.
7177         * modules/hypotf: New file.
7178         * tests/test-math-c++.cc: Check the hypotf declaration.
7179         * doc/posix-functions/hypotf.texi: Mention the new module.
7180
7181         hypot: Prepare for hypotf module.
7182         * m4/hypot.m4: New file.
7183         * modules/hypot (Files): Add m4/hypot.m4.
7184         (configure.ac): Invoke gl_FUNC_HYPOT.
7185
7186 2012-02-29  Bruno Haible  <bruno@clisp.org>
7187
7188         hypot tests: More tests.
7189         * tests/test-hypot.c: Include <float.h>.
7190         (main): Add tests about overflow and underflow.
7191
7192 2012-02-29  Bruno Haible  <bruno@clisp.org>
7193
7194         math code: Add comments.
7195         * lib/acosl.c: Add comment about related glibc source files.
7196         * lib/asinl.c: Likewise.
7197         * lib/atanl.c: Likewise.
7198         * lib/expl.c: Likewise.
7199         * lib/logl.c: Likewise.
7200         * lib/sincosl.c: Likewise.
7201         * lib/sinl.c: Likewise.
7202         * lib/tanl.c: Likewise.
7203         * lib/trigl.c: Likewise.
7204         * lib/cosl.c: Likewise. Fix comments.
7205
7206 2012-02-28  Bruno Haible  <bruno@clisp.org>
7207
7208         math: Ensure HUGE_VAL, HUGE_VALF, HUGE_VALL are defined.
7209         * lib/math.in.h (HUGE_VAL, HUGE_VALF, HUGE_VALL): Define fallbacks.
7210         * tests/test-math.c: Include macros.h. Check that HUGE_VAL, HUGE_VALF,
7211         HUGE_VALL are defined.
7212         (numeric_equald): Renamed from numeric_equal.
7213         (numeric_equalf, numeric_equall): New functions.
7214         (main): Check also HUGE_VALF, HUGE_VALL.
7215         * modules/math-tests (Files): Add tests/macros.h.
7216         * doc/posix-headers/math.texi: Document the problems with HUGE_VALF and
7217         HUGE_VALL.
7218
7219 2012-02-28  Bruno Haible  <bruno@clisp.org>
7220
7221         doc: Move ISO C11 feature notes into POSIX chapters.
7222         * doc/posix-functions/aligned_alloc.texi: Renamed from
7223         doc/glibc-functions/aligned_alloc.texi.
7224         * doc/posix-functions/quick_exit.texi: Renamed from
7225         doc/glibc-functions/quick_exit.texi.
7226         * doc/posix-headers/uchar.texi: Renamed from
7227         doc/glibc-headers/uchar.texi.
7228         * doc/posix-functions/c16rtomb.texi: Renamed from
7229         doc/glibc-functions/c16rtomb.texi.
7230         * doc/posix-functions/c32rtomb.texi: Renamed from
7231         doc/glibc-functions/c32rtomb.texi.
7232         * doc/posix-functions/mbrtoc16.texi: Renamed from
7233         doc/glibc-functions/mbrtoc16.texi.
7234         * doc/posix-functions/mbrtoc32.texi: Renamed from
7235         doc/glibc-functions/mbrtoc32.texi.
7236         * doc/gnulib.texi: Update.
7237         (Glibc uchar.h): Remove section.
7238         Suggested by Eric Blake.
7239
7240 2012-02-29  Paul Eggert  <eggert@cs.ucla.edu>
7241
7242         stdnoreturn: port to MSVC better
7243         MSVC standard headers use __declspec(noreturn), so #define noreturn
7244         to empty on that platform.  Reported by Bruno Haible in
7245         <http://lists.gnu.org/archive/html/bug-gnulib/2012-02/msg00152.html>.
7246         * lib/stdnoreturn.in.h (noreturn): Define to empty on MSVC.
7247         * doc/posix-headers/stdnoreturn.texi (stdnoreturn.h): Document this.
7248
7249 2012-02-28  Bruno Haible  <bruno@clisp.org>
7250
7251         doc: Mention new glibc headers and functions.
7252         * doc/glibc-headers/uchar.texi: New file.
7253         * doc/glibc-functions/aligned_alloc.texi: New file.
7254         * doc/glibc-functions/c16rtomb.texi: New file.
7255         * doc/glibc-functions/c32rtomb.texi: New file.
7256         * doc/glibc-functions/clock_adjtime.texi: New file.
7257         * doc/glibc-functions/fanotify_init.texi: New file.
7258         * doc/glibc-functions/fanotify_mark.texi: New file.
7259         * doc/glibc-functions/inet6_opt_append.texi: New file.
7260         * doc/glibc-functions/inet6_opt_find.texi: New file.
7261         * doc/glibc-functions/inet6_opt_finish.texi: New file.
7262         * doc/glibc-functions/inet6_opt_get_val.texi: New file.
7263         * doc/glibc-functions/inet6_opt_init.texi: New file.
7264         * doc/glibc-functions/inet6_opt_next.texi: New file.
7265         * doc/glibc-functions/inet6_opt_set_val.texi: New file.
7266         * doc/glibc-functions/inet6_rth_add.texi: New file.
7267         * doc/glibc-functions/inet6_rth_getaddr.texi: New file.
7268         * doc/glibc-functions/inet6_rth_init.texi: New file.
7269         * doc/glibc-functions/inet6_rth_reverse.texi: New file.
7270         * doc/glibc-functions/inet6_rth_segments.texi: New file.
7271         * doc/glibc-functions/inet6_rth_space.texi: New file.
7272         * doc/glibc-functions/login.texi: New file.
7273         * doc/glibc-functions/mbrtoc16.texi: New file.
7274         * doc/glibc-functions/mbrtoc32.texi: New file.
7275         * doc/glibc-functions/name_to_handle_at.texi: New file.
7276         * doc/glibc-functions/ntp_gettimex.texi: New file.
7277         * doc/glibc-functions/open_by_handle_at.texi: New file.
7278         * doc/glibc-functions/prlimit.texi: New file.
7279         * doc/glibc-functions/process_vm_readv.texi: New file.
7280         * doc/glibc-functions/process_vm_writev.texi: New file.
7281         * doc/glibc-functions/recvmmsg.texi: New file.
7282         * doc/glibc-functions/scandirat.texi: New file.
7283         * doc/glibc-functions/sendmmsg.texi: New file.
7284         * doc/glibc-functions/setns.texi: New file.
7285         * doc/glibc-functions/timespec_get.texi: New file.
7286         * doc/gnulib.texi: Include them.
7287         (Glibc sys/fanotify.h, Glibc sys/resource.h, Glibc uchar.h): New
7288         sections.
7289         Reported by Eric Blake.
7290
7291 2012-02-28  Bruno Haible  <bruno@clisp.org>
7292
7293         Avoid compilation errors with MSVC option -fp:strict.
7294         * lib/floor.c: Use MSVC specific pragma fenv_access.
7295         * lib/ceil.c: Likewise.
7296         * lib/trunc.c: Likewise.
7297         * lib/round.c: Likewise.
7298         * lib/rint.c: Likewise.
7299         * lib/fma.c: Likewise.
7300         * lib/integer_length.c: Likewise.
7301         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
7302         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
7303         * tests/test-floor2.c: Likewise.
7304         * tests/test-floorf2.c: Likewise.
7305         * tests/test-ceil2.c: Likewise.
7306         * tests/test-ceilf2.c: Likewise.
7307         * tests/test-trunc2.c: Likewise.
7308         * tests/test-truncf2.c: Likewise.
7309         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
7310
7311 2012-02-27  Bruno Haible  <bruno@clisp.org>
7312
7313         Tests for module 'sqrtl-ieee'.
7314         * modules/sqrtl-ieee-tests: New file.
7315         * tests/test-sqrtl-ieee.c: New file.
7316
7317         New module 'sqrtl-ieee'.
7318         * modules/sqrtl-ieee: New file.
7319
7320         Tests for module 'sqrt-ieee'.
7321         * modules/sqrt-ieee-tests: New file.
7322         * tests/test-sqrt-ieee.c: New file.
7323
7324         New module 'sqrt-ieee'.
7325         * modules/sqrt-ieee: New file.
7326
7327         Tests for module 'sqrtf-ieee'.
7328         * modules/sqrtf-ieee-tests: New file.
7329         * tests/test-sqrtf-ieee.c: New file.
7330         * tests/test-sqrt-ieee.h: New file.
7331
7332         New module 'sqrtf-ieee'.
7333         * modules/sqrtf-ieee: New file.
7334
7335 2012-02-27  Bruno Haible  <bruno@clisp.org>
7336
7337         remainderl-ieee: Work around test failure on OSF/1.
7338         * m4/remainderl-ieee.m4: New file.
7339         * m4/remainderl.m4 (gl_FUNC_REMAINDERL): If gl_FUNC_REMAINDERL_IEEE is
7340         present, test whether remainderl works with a zero second argument.
7341         Replace it if not.
7342         * lib/math.in.h (remainderl): Override if REPLACE_REMAINDERL is 1.
7343         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERL.
7344         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERL.
7345         * modules/remainderl (configure.ac): Consider REPLACE_REMAINDERL.
7346         (Depends-on): Update conditions.
7347         * modules/remainderl-ieee (Files): Add m4/remainderl-ieee.m4.
7348         (Depends-on): Add remainder-ieee.
7349         (configure.ac): Invoke gl_FUNC_REMAINDERL_IEEE.
7350         * doc/posix-functions/remainderl.texi: Mention the remainderl-ieee
7351         module.
7352
7353         remainderf-ieee: Work around test failure on OSF/1.
7354         * m4/remainderf-ieee.m4: New file.
7355         * m4/remainderf.m4 (gl_FUNC_REMAINDERF): If gl_FUNC_REMAINDERF_IEEE is
7356         present, test whether remainderf works with a zero second argument.
7357         Replace it if not.
7358         * lib/math.in.h (remainderf): Override if REPLACE_REMAINDERF is 1.
7359         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDERF.
7360         * modules/math (Makefile.am): Substitute REPLACE_REMAINDERF.
7361         * modules/remainderf (configure.ac): Consider REPLACE_REMAINDERF.
7362         (Depends-on): Update conditions.
7363         * modules/remainderf-ieee (Files): Add m4/remainderf-ieee.m4.
7364         (Depends-on): Add remainder-ieee.
7365         (configure.ac): Invoke gl_FUNC_REMAINDERF_IEEE.
7366         * doc/posix-functions/remainderf.texi: Mention the remainderf-ieee
7367         module.
7368
7369         remainder-ieee: Work around test failure on OSF/1.
7370         * m4/remainder-ieee.m4: New file.
7371         * m4/remainder.m4 (gl_FUNC_REMAINDER): If gl_FUNC_REMAINDER_IEEE is
7372         present, test whether remainder works with a zero second argument.
7373         Replace it if not.
7374         * lib/math.in.h (remainder): Override if REPLACE_REMAINDER is 1.
7375         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_REMAINDER.
7376         * modules/math (Makefile.am): Substitute REPLACE_REMAINDER.
7377         * modules/remainder (configure.ac): Consider REPLACE_REMAINDER.
7378         (Depends-on): Update dependencies.
7379         * modules/remainder-ieee (Files): Add m4/remainder-ieee.m4.
7380         (configure.ac): Invoke gl_FUNC_REMAINDER_IEEE.
7381         * doc/posix-functions/remainder.texi: Mention the remainder-ieee module.
7382
7383         Tests for module 'remainderl-ieee'.
7384         * modules/remainderl-ieee-tests: New file.
7385         * tests/test-remainderl-ieee.c: New file.
7386
7387         New module 'remainderl-ieee'.
7388         * modules/remainderl-ieee: New file.
7389
7390         Tests for module 'remainder-ieee'.
7391         * modules/remainder-ieee-tests: New file.
7392         * tests/test-remainder-ieee.c: New file.
7393
7394         New module 'remainder-ieee'.
7395         * modules/remainder-ieee: New file.
7396
7397         Tests for module 'remainderf-ieee'.
7398         * modules/remainderf-ieee-tests: New file.
7399         * tests/test-remainderf-ieee.c: New file.
7400         * tests/test-remainder-ieee.h: New file.
7401
7402         New module 'remainderf-ieee'.
7403         * modules/remainderf-ieee: New file.
7404
7405 2012-02-27  Bruno Haible  <bruno@clisp.org>
7406
7407         modff, modfl: Fix configure syntax error.
7408         * m4/modff.m4 (gl_FUNC_MODFF): Insert ':' command in 'if'.
7409         * m4/modfl.m4 (gl_FUNC_MODFL): Likewise.
7410
7411 2012-02-27  Bruno Haible  <bruno@clisp.org>
7412
7413         fmodl-ieee: Work around test failures on OSF/1, MSVC 9.
7414         * m4/fmodl-ieee.m4: New file.
7415         * m4/fmodl.m4 (gl_FUNC_FMODL): If gl_FUNC_FMODL_IEEE is present, test
7416         whether fmodl works with zero arguments. Replace it if not.
7417         * modules/fmodl-ieee (Files): Add m4/fmodl-ieee.m4.
7418         (Depends-on): Add fmod-ieee.
7419         (configure.ac): Invoke gl_FUNC_FMODL_IEEE.
7420         * doc/posix-functions/fmodl.texi: Mention the fmodl-ieee module.
7421
7422         fmodf-ieee: Work around test failure on OSF/1.
7423         * m4/fmodf-ieee.m4: New file.
7424         * m4/fmodf.m4 (gl_FUNC_FMODF): If gl_FUNC_FMODF_IEEE is present, test
7425         whether fmodf works with zero arguments. Replace it if not.
7426         * lib/math.in.h (fmodf): Override if REPLACE_FMODF is 1.
7427         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FMODF.
7428         * modules/math (Makefile.am): Substitute REPLACE_FMODF.
7429         * modules/fmodf (configure.ac): Consider REPLACE_FMODF.
7430         (Depends-on): Update dependencies.
7431         * modules/fmodf-ieee (Files): Add m4/fmodf-ieee.m4.
7432         (configure.ac): Invoke gl_FUNC_FMODF_IEEE.
7433         * doc/posix-functions/fmodf.texi: Mention the problem on OSF/1.
7434
7435         fmodf-ieee: Work around test failure on MSVC 9.
7436         * modules/fmodf-ieee (Depends-on): Add fmod-ieee.
7437         * doc/posix-functions/fmodf.texi: Mention the fmodf-ieee module.
7438
7439         fmod-ieee: Work around test failures on OSF/1, mingw.
7440         * m4/fmod-ieee.m4: New file.
7441         * m4/fmod.m4 (gl_FUNC_FMOD): If gl_FUNC_FMOD_IEEE is present, test
7442         whether fmod works with zero arguments. Replace it if not.
7443         * lib/math.in.h (fmod): New declaration.
7444         * lib/fmod.c: New file.
7445         * m4/math_h.m4 (gl_MATH_H): Test whether fmod is declared.
7446         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMOD, REPLACE_FMOD.
7447         * modules/math (Makefile.am): Substitute GNULIB_FMOD, REPLACE_FMOD.
7448         * modules/fmod (Files): Add lib/fmod.c.
7449         (Depends-on): Add math, isinf, trunc, fma.
7450         (configure.ac): Arrange to compile lib/fmod.c if needed.
7451         * modules/fmod-ieee (Files): Add m4/fmod-ieee.m4, m4/minus-zero.m4,
7452         m4/signbit.m4.
7453         (configure.ac): Invoke gl_FUNC_FMOD_IEEE.
7454         * tests/test-math-c++.cc: Check the declaration of fmod.
7455         * doc/posix-functions/fmod.texi: Mention the fmod-ieee module.
7456
7457         fmodl-ieee: Fix test failures.
7458         * lib/fmodl.c (fmodl): Treat Inf specially.
7459         * modules/fmodl (Depends-on): Add isinf.
7460
7461         Tests for module 'fmodl-ieee'.
7462         * modules/fmodl-ieee-tests: New file.
7463         * tests/test-fmodl-ieee.c: New file.
7464
7465         New module 'fmodl-ieee'.
7466         * modules/fmodl-ieee: New file.
7467
7468         Tests for module 'fmod-ieee'.
7469         * modules/fmod-ieee-tests: New file.
7470         * tests/test-fmod-ieee.c: New file.
7471
7472         New module 'fmod-ieee'.
7473         * modules/fmod-ieee: New file.
7474
7475         Tests for module 'fmodf-ieee'.
7476         * modules/fmodf-ieee-tests: New file.
7477         * tests/test-fmodf-ieee.c: New file.
7478         * tests/test-fmod-ieee.h: New file.
7479
7480         New module 'fmodf-ieee'.
7481         * modules/fmodf-ieee: New file.
7482
7483 2012-02-27  Bruno Haible  <bruno@clisp.org>
7484
7485         Tests for module 'rintl-ieee'.
7486         * modules/rintl-ieee-tests: New file.
7487         * tests/test-rintl-ieee.c: New file.
7488
7489         New module 'rintl-ieee'.
7490         * modules/rintl-ieee: New file.
7491
7492         Tests for module 'rint-ieee'.
7493         * modules/rint-ieee-tests: New file.
7494         * tests/test-rint-ieee.c: New file.
7495
7496         New module 'rint-ieee'.
7497         * modules/rint-ieee: New file.
7498
7499         Tests for module 'rintf-ieee'.
7500         * modules/rintf-ieee-tests: New file.
7501         * tests/test-rintf-ieee.c: New file.
7502         * tests/test-rint-ieee.h: New file.
7503
7504         New module 'rintf-ieee'.
7505         * modules/rintf-ieee: New file.
7506
7507 2012-02-26  Paul Eggert  <eggert@cs.ucla.edu>
7508
7509         regex: re_search etc. should return -2 when memory exhausted
7510         This bug was uncovered when testing 'grep'.  Without the fix,
7511         re_search and friends return -1 when memory is exhausted, but -1
7512         means no match, and this causes grep to falsely report no-match
7513         instead of memory-exhaustion.  See
7514         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=13762>.
7515         * lib/regexec.c (re_search_stub): Return -2 (not -1) if there is
7516         trouble; this can occur if re_search_internal ran out of memory.
7517
7518 2012-02-26  Bruno Haible  <bruno@clisp.org>
7519
7520         modfl-ieee: Work around test failures on IRIX, OSF/1, mingw.
7521         * m4/modfl-ieee.m4: New file.
7522         * m4/modfl.m4 (gl_FUNC_MODFL): If gl_FUNC_MODFL_IEEE is present, test
7523         whether modfl works with Inf. Replace it if not.
7524         * lib/math.in.h (modfl): Override if REPLACE_MODFF is 1.
7525         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFL.
7526         * modules/math (Makefile.am): Substitute REPLACE_MODFL.
7527         * modules/modfl (configure.ac): Consider REPLACE_MODFL.
7528         (Depends-on): Update dependencies.
7529         * modules/modfl-ieee (Files): Add m4/modfl-ieee.m4, m4/minus-zero.m4,
7530         m4/signbit.m4.
7531         (configure.ac): Invoke gl_FUNC_MODFL_IEEE.
7532         * doc/posix-functions/modfl.texi: Mention the modfl-ieee module.
7533
7534         modfl-ieee: Fix dependencies.
7535         * modules/modfl-ieee (Depends-on): Add modf-ieee.
7536
7537         modfl-ieee: Fix test failures.
7538         * lib/modfl.c (modfl): Treat NaN and Inf specially.
7539         * modules/modfl (Depends-on): Add isfinite, isinf.
7540
7541         modff-ieee: Work around test failures on *BSD, IRIX, OSF/1, etc.
7542         * m4/modff-ieee.m4: New file.
7543         * m4/modff.m4 (gl_FUNC_MODFF): If gl_FUNC_MODFF_IEEE is present, test
7544         whether modff works with NaN and Inf. Replace it if not.
7545         * lib/math.in.h (modff): Override if REPLACE_MODFF is 1.
7546         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_MODFF.
7547         * modules/math (Makefile.am): Substitute REPLACE_MODFF.
7548         * modules/modff (configure.ac): Consider REPLACE_MODFF.
7549         (Depends-on): Update dependencies.
7550         * modules/modff-ieee (Files): Add m4/modff-ieee.m4, m4/minus-zero.m4,
7551         m4/signbit.m4.
7552         (Depends-on): Add modf-ieee.
7553         (configure.ac): Invoke gl_FUNC_MODFF_IEEE.
7554         * doc/posix-functions/modff.texi: Mention the modff-ieee module.
7555
7556         modf-ieee: Work around test failures on *BSD, IRIX, OSF/1, Cygwin.
7557         * m4/modf-ieee.m4: New file.
7558         * m4/modf.m4 (gl_FUNC_MODF): If gl_FUNC_MODF_IEEE is present, test
7559         whether modf works with NaN and Inf. Replace it if not.
7560         * lib/math.in.h (modf): New declaration.
7561         * lib/modf.c: New file.
7562         * m4/math_h.m4 (gl_MATH_H): Test whether modf is declared.
7563         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODF, REPLACE_MODF.
7564         * modules/math (Makefile.am): Substitute GNULIB_MODF, REPLACE_MODF.
7565         * modules/modf (Files): Add lib/modf.c.
7566         (Depends-on): Add math, isfinite, trunc, isinf.
7567         (configure.ac): Addrange to compile lib/modf.c if needed.
7568         * modules/modf-ieee (Files): Add m4/modf-ieee.m4, m4/minus-zero.m4,
7569         m4/signbit.m4.
7570         (configure.ac): Invoke gl_FUNC_MODF_IEEE.
7571         * tests/test-math-c++.cc: Check the declaration of modf.
7572         * doc/posix-functions/modf.texi: Mention the modf-ieee module.
7573
7574         Tests for module 'modfl-ieee'.
7575         * modules/modfl-ieee-tests: New file.
7576         * tests/test-modfl-ieee.c: New file.
7577
7578         New module 'modfl-ieee'.
7579         * modules/modfl-ieee: New file.
7580
7581         Tests for module 'modf-ieee'.
7582         * modules/modf-ieee-tests: New file.
7583         * tests/test-modf-ieee.c: New file.
7584
7585         New module 'modf-ieee'.
7586         * modules/modf-ieee: New file.
7587
7588         Tests for module 'modff-ieee'.
7589         * modules/modff-ieee-tests: New file.
7590         * tests/test-modff-ieee.c: New file.
7591         * tests/test-modf-ieee.h: New file.
7592
7593         New module 'modff-ieee'.
7594         * modules/modff-ieee: New file.
7595
7596 2012-02-26  Bruno Haible  <bruno@clisp.org>
7597
7598         Tests for module 'fabsl-ieee'.
7599         * modules/fabsl-ieee-tests: New file.
7600         * tests/test-fabsl-ieee.c: New file.
7601
7602         New module 'fabsl-ieee'.
7603         * modules/fabsl-ieee: New file.
7604
7605         Tests for module 'fabs-ieee'.
7606         * modules/fabs-ieee-tests: New file.
7607         * tests/test-fabs-ieee.c: New file.
7608
7609         New module 'fabs-ieee'.
7610         * modules/fabs-ieee: New file.
7611
7612         Tests for module 'fabsf-ieee'.
7613         * modules/fabsf-ieee-tests: New file.
7614         * tests/test-fabsf-ieee.c: New file.
7615         * tests/test-fabs-ieee.h: New file.
7616
7617         New module 'fabsf-ieee'.
7618         * modules/fabsf-ieee: New file.
7619
7620 2012-02-26  Bruno Haible  <bruno@clisp.org>
7621
7622         Tests for module 'fmal-ieee'.
7623         * modules/fmal-ieee-tests: New file.
7624         * tests/test-fmal-ieee.c: New file.
7625
7626         New module 'fmal-ieee'.
7627         * modules/fmal-ieee: New file.
7628
7629         Tests for module 'fma-ieee'.
7630         * modules/fma-ieee-tests: New file.
7631         * tests/test-fma-ieee.c: New file.
7632
7633         New module 'fma-ieee'.
7634         * modules/fma-ieee: New file.
7635
7636         Tests for module 'fmaf-ieee'.
7637         * modules/fmaf-ieee-tests: New file.
7638         * tests/test-fmaf-ieee.c: New file.
7639         * tests/test-fma-ieee.h: New file.
7640
7641         New module 'fmaf-ieee'.
7642         * modules/fmaf-ieee: New file.
7643
7644 2012-02-26  Bruno Haible  <bruno@clisp.org>
7645
7646         Tests for module 'ldexpl-ieee'.
7647         * modules/ldexpl-ieee-tests: New file.
7648         * tests/test-ldexpl-ieee.c: New file.
7649
7650         New module 'ldexpl-ieee'.
7651         * modules/ldexpl-ieee: New file.
7652
7653         Tests for module 'ldexp-ieee'.
7654         * modules/ldexp-ieee-tests: New file.
7655         * tests/test-ldexp-ieee.c: New file.
7656
7657         New module 'ldexp-ieee'.
7658         * modules/ldexp-ieee: New file.
7659
7660         Tests for module 'ldexpf-ieee'.
7661         * modules/ldexpf-ieee-tests: New file.
7662         * tests/test-ldexpf-ieee.c: New file.
7663         * tests/test-ldexp-ieee.h: New file.
7664
7665         New module 'ldexpf-ieee'.
7666         * modules/ldexpf-ieee: New file.
7667
7668 2012-02-26  Bruno Haible  <bruno@clisp.org>
7669
7670         Refactor frexp*-ieee tests.
7671         * tests/test-frexp-ieee.h: New file.
7672         * tests/test-frexpf-ieee.c: Include test-frexp-ieee.h.
7673         (main): Just call test_function.
7674         * tests/test-frexp-ieee.c: Include test-frexp-ieee.h.
7675         (main): Just call test_function.
7676         * tests/test-frexpl-ieee.c: Include test-frexp-ieee.h.
7677         (main): Just call test_function.
7678         * modules/frexpf-ieee-tests (Files): Add tests/test-frexp-ieee.h.
7679         * modules/frexp-ieee-tests (Files): Likewise.
7680         * modules/frexpl-ieee-tests (Files): Likewise.
7681
7682         Tests for module 'frexpl-ieee'.
7683         * modules/frexpl-ieee-tests: New file.
7684         * tests/test-frexpl-ieee.c: New file.
7685
7686         New module 'frexpl-ieee'.
7687         * modules/frexpl-ieee: New file.
7688
7689         Tests for module 'frexp-ieee'.
7690         * modules/frexp-ieee-tests: New file.
7691         * tests/test-frexp-ieee.c: New file.
7692
7693         New module 'frexp-ieee'.
7694         * modules/frexp-ieee: New file.
7695
7696         Tests for module 'frexpf-ieee'.
7697         * modules/frexpf-ieee-tests: New file.
7698         * tests/test-frexpf-ieee.c: New file.
7699
7700         New module 'frexpf-ieee'.
7701         * modules/frexpf-ieee: New file.
7702
7703 2012-02-26  Bruno Haible  <bruno@clisp.org>
7704
7705         roundl-ieee tests: More tests.
7706         * tests/test-roundl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7707         (main): Add tests for [MX] shaded specification in POSIX.
7708         * modules/roundl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7709         (Depends-on): Add isnanl-nolibm.
7710
7711         round-ieee tests: More tests.
7712         * tests/test-round-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7713         (main): Add tests for [MX] shaded specification in POSIX.
7714         * modules/round-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7715         (Depends-on): Add isnand-nolibm.
7716
7717         roundf-ieee tests: More tests.
7718         * tests/test-roundf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7719         (main): Add tests for [MX] shaded specification in POSIX.
7720         * modules/roundf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7721         (Depends-on): Add isnanf-nolibm.
7722
7723         truncl-ieee tests: More tests.
7724         * tests/test-truncl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7725         (main): Add tests for [MX] shaded specification in POSIX.
7726         * modules/truncl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7727         (Depends-on): Add isnanl-nolibm.
7728
7729         trunc-ieee tests: More tests.
7730         * tests/test-trunc-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7731         (main): Add tests for [MX] shaded specification in POSIX.
7732         * modules/trunc-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7733         (Depends-on): Add isnand-nolibm.
7734
7735         truncf-ieee tests: More tests.
7736         * tests/test-truncf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7737         (main): Add tests for [MX] shaded specification in POSIX.
7738         * modules/truncf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7739         (Depends-on): Add isnanf-nolibm.
7740
7741         ceill-ieee tests: More tests.
7742         * tests/test-ceill-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7743         (main): Add tests for [MX] shaded specification in POSIX.
7744         * modules/ceill-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7745         (Depends-on): Add isnanl-nolibm.
7746
7747         ceil-ieee tests: More tests.
7748         * tests/test-ceil-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7749         (main): Add tests for [MX] shaded specification in POSIX.
7750         * modules/ceil-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7751         (Depends-on): Add isnand-nolibm.
7752
7753         ceilf-ieee tests: More tests.
7754         * tests/test-ceilf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7755         (main): Add tests for [MX] shaded specification in POSIX.
7756         * modules/ceilf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7757         (Depends-on): Add isnanf-nolibm.
7758
7759         floorl-ieee tests: More tests.
7760         * tests/test-floorl-ieee.c: Include isnanl-nolibm.h, infinity.h, nan.h.
7761         (main): Add tests for [MX] shaded specification in POSIX.
7762         * modules/floorl-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7763         (Depends-on): Add isnanl-nolibm.
7764
7765         floor-ieee tests: More tests.
7766         * tests/test-floor-ieee.c: Include isnand-nolibm.h, infinity.h, nan.h.
7767         (main): Add tests for [MX] shaded specification in POSIX.
7768         * modules/floor-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7769         (Depends-on): Add isnand-nolibm.
7770
7771         floorf-ieee tests: More tests.
7772         * tests/test-floorf-ieee.c: Include isnanf-nolibm.h, infinity.h, nan.h.
7773         (main): Add tests for [MX] shaded specification in POSIX.
7774         * modules/floorf-ieee-tests (Files): Add tests/infinity.h, tests/nan.h.
7775         (Depends-on): Add isnanf-nolibm.
7776
7777 2012-02-26  Bruno Haible  <bruno@clisp.org>
7778
7779         fpieee: More comments.
7780         * m4/fpieee.m4 (gl_FP_IEEE): Add more comments.
7781
7782 2012-02-25  Bruno Haible  <bruno@clisp.org>
7783
7784         Tests for module 'log10l'.
7785         * modules/log10l-tests: New file.
7786         * tests/test-log10l.c: New file.
7787         * tests/test-math-c++.cc: Check the declaration of log10l.
7788
7789         New module 'log10l'.
7790         * lib/math.in.h (log10l): New declaration.
7791         * lib/log10l.c: New file.
7792         * m4/log10l.m4: New file.
7793         * modules/log10l: New file.
7794         * m4/math_h.m4 (gl_MATH_H): Test whether log10l is declared.
7795         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10L, HAVE_LOG10L,
7796         HAVE_DECL_LOG10L.
7797         * modules/math (Makefile.am): Substitute GNULIB_LOG10L, HAVE_LOG10L,
7798         HAVE_DECL_LOG10L.
7799         * doc/posix-functions/log10l.texi: Mention the new module.
7800
7801 2012-02-25  Bruno Haible  <bruno@clisp.org>
7802
7803         fmodl, remainder*: Avoid wrong results due to rounding errors.
7804         * lib/fmodl.c (fmodl): Correct the result if it is not within the
7805         expected bounds.
7806         * lib/remainderf.c (remainderf): Likewise.
7807         * lib/remainder.c (remainder): Likewise.
7808         * lib/remainderl.c (remainderl): Likewise.
7809
7810 2012-02-25  Bruno Haible  <bruno@clisp.org>
7811
7812         Tests for module 'remainderl'.
7813         * modules/remainderl-tests: New file.
7814         * tests/test-remainderl.c: New file.
7815         * tests/test-math-c++.cc: Check the declaration of remainderl.
7816
7817         New module 'remainderl'.
7818         * lib/math.in.h (remainderl): New declaration.
7819         * lib/remainderl.c: New file.
7820         * m4/remainderl.m4: New file.
7821         * modules/remainderl: New file.
7822         * m4/math_h.m4 (gl_MATH_H): Test whether remainderl is declared.
7823         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERL, HAVE_REMAINDERL.
7824         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERL,
7825         HAVE_REMAINDERL.
7826         * doc/posix-functions/remainderl.texi: Mention the new module.
7827
7828 2012-02-25  Bruno Haible  <bruno@clisp.org>
7829
7830         Tests for module 'remainderf'.
7831         * modules/remainderf-tests: New file.
7832         * tests/test-remainderf.c: New file.
7833         * tests/test-math-c++.cc: Check the declaration of remainderf.
7834
7835         New module 'remainderf'.
7836         * lib/math.in.h (remainderf): New declaration.
7837         * lib/remainderf.c: New file.
7838         * m4/remainderf.m4: New file.
7839         * modules/remainderf: New file.
7840         * m4/math_h.m4 (gl_MATH_H): Test whether remainderf is declared.
7841         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDERF, HAVE_REMAINDERF.
7842         * modules/math (Makefile.am): Substitute GNULIB_REMAINDERF,
7843         HAVE_REMAINDERF.
7844         * doc/posix-functions/remainderf.texi: Mention the new module.
7845
7846 2012-02-25  Bruno Haible  <bruno@clisp.org>
7847
7848         remainder: Support for MSVC.
7849         * lib/math.in.h (remainder): New declaration.
7850         * lib/remainder.c: New file.
7851         * m4/remainder.m4: New file.
7852         * modules/remainder (Files): Add lib/remainder.c, m4/remainder.m4.
7853         (Depends-on): Add math, round, fma.
7854         (configure.ac): Use results of gl_FUNC_REMAINDER.
7855         * m4/math_h.m4 (gl_MATH_H): Test whether remainder is declared.
7856         (gl_MATH_H_DEFAULTS): Initialize GNULIB_REMAINDER, HAVE_REMAINDER,
7857         HAVE_DECL_REMAINDER.
7858         * modules/math (Makefile.am): Substitute GNULIB_REMAINDER,
7859         HAVE_REMAINDER, HAVE_DECL_REMAINDER.
7860         * tests/test-math-c++.cc: Check the declaration of remainder.
7861         * doc/posix-functions/remainder.texi: Mention that the MSVC and IRIX 5
7862         problems are fixed.
7863
7864 2012-02-25  Bruno Haible  <bruno@clisp.org>
7865
7866         Tests for module 'fmodl'.
7867         * modules/fmodl-tests: New file.
7868         * tests/test-fmodl.c: New file.
7869         * tests/test-math-c++.cc: Check the declaration of fmodl.
7870
7871         New module 'fmodl'.
7872         * lib/math.in.h (fmodl): New declaration.
7873         * lib/fmodl.c: New file.
7874         * m4/fmodl.m4: New file.
7875         * m4/math_h.m4 (gl_MATH_H): Test whether fmodl is declared.
7876         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODL, HAVE_FMODL,
7877         REPLACE_FMODL.
7878         * modules/math (Makefile.am): Substitute GNULIB_FMODL, HAVE_FMODL,
7879         REPLACE_FMODL.
7880         * modules/fmodl: New file.
7881         * doc/posix-functions/fmodl.texi: Mention the new module.
7882
7883 2012-02-25  Bruno Haible  <bruno@clisp.org>
7884
7885         Tests for module 'modfl'.
7886         * modules/modfl-tests: New file.
7887         * tests/test-modfl.c: New file.
7888         * tests/test-math-c++.cc: Check the declaration of modfl.
7889
7890         New module 'modfl'.
7891         * lib/math.in.h (modfl): New declaration.
7892         * lib/modfl.c: New file.
7893         * m4/modfl.m4: New file.
7894         * m4/math_h.m4 (gl_MATH_H): Test whether modfl is declared.
7895         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFL, HAVE_MODFL.
7896         * modules/math (Makefile.am): Substitute GNULIB_MODFL, HAVE_MODFL.
7897         * modules/modfl: New file.
7898         * doc/posix-functions/modfl.texi: Mention the new module.
7899
7900 2012-02-25  Bruno Haible  <bruno@clisp.org>
7901
7902         Tests for module 'fabsl'.
7903         * modules/fabsl-tests: New file.
7904         * tests/test-fabsl.c: New file.
7905         * tests/test-math-c++.cc: Check the declaration of fabsl.
7906
7907         New module 'fabsl'.
7908         * lib/math.in.h (fabsl): New declaration.
7909         * lib/fabsl.c: New file.
7910         * m4/fabsl.m4: New file.
7911         * m4/math_h.m4 (gl_MATH_H): Test whether fabsl is declared.
7912         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSL, HAVE_FABSL,
7913         REPLACE_FABSL.
7914         * modules/math (Makefile.am): Substitute GNULIB_FABSL, HAVE_FABSL,
7915         REPLACE_FABSL.
7916         * modules/fabsl: New file.
7917         * doc/posix-functions/fabsl.texi: Mention the new module.
7918
7919 2012-02-25  Bruno Haible  <bruno@clisp.org>
7920
7921         fabs tests: More tests.
7922         * tests/test-fabs.c: Include <string.h>, minus-zero.h.
7923         (zero): New variable.
7924         (main): Add tests for signed zero.
7925         * modules/fabs-tests (Files): Add tests/minus-zero.h.
7926
7927         fabsf tests: More tests.
7928         * tests/test-fabsf.c: Include <string.h>, minus-zero.h.
7929         (zero): New variable.
7930         (main): Add tests for signed zero.
7931         * modules/fabsf-tests (Files): Add tests/minus-zero.h.
7932
7933 2012-02-24  Bruno Haible  <bruno@clisp.org>
7934
7935         atanl: Provide function definition on MSVC.
7936         * m4/atanl.m4 (gl_FUNC_ATANL): Test also whether atanl can be used as a
7937         function pointer.
7938         * lib/math.in.h (atanl): Undefine if it does not exist as a function.
7939
7940 2012-02-24  Bruno Haible  <bruno@clisp.org>
7941
7942         acosl: Provide function definition on MSVC.
7943         * m4/acosl.m4 (gl_FUNC_ACOSL): Test also whether acosl can be used as a
7944         function pointer.
7945         * lib/math.in.h (acosl): Undefine if it does not exist as a function.
7946
7947 2012-02-24  Bruno Haible  <bruno@clisp.org>
7948
7949         asinl: Provide function definition on MSVC.
7950         * m4/asinl.m4 (gl_FUNC_ASINL): Test also whether asinl can be used as a
7951         function pointer.
7952         * lib/math.in.h (asinl): Undefine if it does not exist as a function.
7953
7954 2012-02-24  Bruno Haible  <bruno@clisp.org>
7955
7956         tanl: Provide function definition on MSVC.
7957         * m4/tanl.m4 (gl_FUNC_TANL): Test also whether tanl can be used as a
7958         function pointer.
7959         * lib/math.in.h (tanl): Undefine if it does not exist as a function.
7960
7961 2012-02-24  Bruno Haible  <bruno@clisp.org>
7962
7963         cosl: Provide function definition on MSVC.
7964         * m4/cosl.m4 (gl_FUNC_COSL): Test also whether cosl can be used as a
7965         function pointer.
7966         * lib/math.in.h (cosl): Undefine if it does not exist as a function.
7967
7968 2012-02-24  Bruno Haible  <bruno@clisp.org>
7969
7970         sinl: Provide function definition on MSVC.
7971         * m4/sinl.m4 (gl_FUNC_SINL): Test also whether sinl can be used as a
7972         function pointer.
7973         * lib/math.in.h (sinl): Undefine if it does not exist as a function.
7974
7975 2012-02-24  Bruno Haible  <bruno@clisp.org>
7976
7977         logl: Provide function definition on MSVC.
7978         * m4/logl.m4 (gl_FUNC_LOGL): Test also whether logl can be used as a
7979         function pointer.
7980         * lib/math.in.h (logl): Undefine if it does not exist as a function.
7981
7982 2012-02-24  Bruno Haible  <bruno@clisp.org>
7983
7984         expl: Provide function definition on MSVC.
7985         * m4/expl.m4 (gl_FUNC_EXPL): Test also whether expl can be used as a
7986         function pointer.
7987         * lib/math.in.h (expl): Undefine if it does not exist as a function.
7988
7989 2012-02-24  Bruno Haible  <bruno@clisp.org>
7990
7991         sqrtl: Provide function definition on MSVC.
7992         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Test also whether sqrtl can be used as
7993         a function pointer.
7994         * lib/math.in.h (sqrtl): Undefine if it does not exist as a function.
7995
7996 2012-02-24  Bruno Haible  <bruno@clisp.org>
7997
7998         ceill: Provide function definition on MSVC.
7999         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Test also whether ceill can be
8000         used as a function pointer.
8001         * lib/math.in.h (ceill): Undefine if it is not declared as a function.
8002
8003 2012-02-24  Bruno Haible  <bruno@clisp.org>
8004
8005         floorl: Provide function definition on MSVC.
8006         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Test also whether floorl can be
8007         used as a function pointer.
8008         * lib/math.in.h (floorl): Undefine if it is not declared as a function.
8009
8010 2012-02-24  Bruno Haible  <bruno@clisp.org>
8011
8012         ceilf: Provide function definition on MSVC.
8013         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Test also whether ceilf can be
8014         used as a function pointer.
8015         * lib/math.in.h (ceilf): Undefine if it is not declared as a function.
8016
8017 2012-02-24  Bruno Haible  <bruno@clisp.org>
8018
8019         floorf: Provide function definition on MSVC.
8020         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Test also whether floorf can be
8021         used as a function pointer.
8022         * lib/math.in.h (floorf): Undefine if it is not declared as a function.
8023
8024 2012-02-24  Paul Eggert  <eggert@cs.ucla.edu>
8025
8026         stdnoreturn: new module
8027         This implements a replacement for C11's <stdnoreturn.h>.
8028         * doc/gnulib.texi (Header File Substitutes): Add stdnoreturn.
8029         * doc/posix-headers/stdnoreturn.texi, lib/stdnoreturn.in.h:
8030         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
8031         * tests/test-stdnoreturn.c: New files.
8032
8033 2012-02-24  Stanislav Brabec  <sbrabec@suse.cz>  (tiny change)
8034
8035         regex: fix false multibyte matches in some regular expressions
8036         See <http://sourceware.org/bugzilla/show_bug.cgi?id=13637>
8037         and <http://sourceware.org/ml/libc-alpha/2012-02/msg00521.html>.
8038         * lib/regex_internal.c (re_string_skip_chars):
8039         Fix miscomputation of remain_len that may cause incomplete
8040         multi-byte character and false match.
8041
8042 2012-02-24  Jim Meyering  <meyering@redhat.com>
8043
8044         maint.mk: tell sc_prohibit_strcmp to ding "0 == strcmp (...)", too
8045         * top/maint.mk (sc_prohibit_strcmp): Also prohibit uses of strcmp
8046         uses with "==" *before* the call, e.g., 0 == strcmp (...)
8047         Remove now-unnecessary str''cmp obfuscation.
8048         Suggested by Akim Demaille.
8049
8050 2012-02-24  Bruno Haible  <bruno@clisp.org>
8051
8052         streq: Rename macro.
8053         * lib/streq.h (STREQ_OPT): Renamed from STREQ.
8054         * NEWS: Mention the change.
8055         * lib/mbrtowc.c (mbrtowc): Update.
8056         * lib/uniwidth/cjk.h (is_cjk_encoding): Update.
8057         * lib/wcwidth.c (wcwidth): Update.
8058         Suggested by Akim Demaille and Jim Meyering.
8059
8060 2012-02-20  Paul Eggert  <eggert@cs.ucla.edu>
8061
8062         regex: fix typo in definition of MIN
8063         * lib/regex_internal.h (MIN): Fix typo.  Problem reported by Thomas
8064         Schwinge in <http://sourceware.org/bugzilla/show_bug.cgi?id=11638#c4>.
8065
8066 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
8067             Bruno Haible  <bruno@clisp.org>
8068
8069         acl: Don't use ACL_CNT and similar ops, since they are unreliable.
8070         * lib/file-has-acl.c (file_has_acl) [HP-UX, NonStop Kernel]: Read the
8071         entries into a stack-allocated buffer directly.
8072         * lib/copy-acl.c (qcopy_acl) [HP-UX, NonStop Kernel]: Likewise.
8073
8074 2012-02-19  Paul Eggert  <eggert@cs.ucla.edu>
8075             Bruno Haible  <bruno@clisp.org>
8076
8077         acl: Don't use GETACLCNT and similar ops, since they are unreliable.
8078
8079          - There were several instances of this pattern:
8080
8081              for (;;) {
8082                n = acl (f, GETACLCNT, 0, NULL);
8083                [ allocate an array A of size N ]
8084                if (acl (f, GETACL, n, a) == n)
8085                  break;
8086              }
8087
8088            This loop might never terminate if some other process is constantly
8089            manipulating the file's ACL.  The loop should be rewritten to
8090            terminate.
8091
8092          - The acl (... GETACLNT ...) call is merely an optimization; its value
8093            is merely a hint as to how big to make the array.  A better
8094            optimization is to avoid the acl (... GETACLNT ...)  call entirely,
8095            and just guess a reasonably-big size, growing the size and trying
8096            again if it's not large enough.  This guarantees termination, and
8097            saves a system call.
8098
8099         * lib/acl-internal.h: Include <limits.h>.
8100         (MIN, SIZE_MAX): New macros.
8101         * lib/file-has-acl.c (file_has_acl) [Solaris]: Read the entries into
8102         a stack-allocated buffer, and use malloc if it does not fit. Don't
8103         use GETACLCNT.
8104         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
8105
8106 2012-02-19  Bruno Haible  <bruno@clisp.org>
8107
8108         acl: Fix endless loop on Solaris with vxfs.
8109         * lib/file-has-acl.c (file_has_acl) [Solaris]: Treat a failing
8110         acl()/facl() call for ACE_GETACL like a failing call for ACE_GETACLCNT.
8111         * lib/set-mode-acl.c (qset_acl) [Solaris]: Likewise.
8112         * lib/copy-acl.c (qcopy_acl)[Solaris]: Likewise.
8113         * tests/test-sameacls.c (main)[Solaris]: Likewise.
8114         Reported by Bill Jones in
8115         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=10639>, via Paul Eggert.
8116
8117 2012-02-19  Bruno Haible  <bruno@clisp.org>
8118
8119         acl: Fix copy-acl test failure on Solaris 11 2011-11.
8120         * lib/file-has-acl.c (NEW_ACE_WRITEA_DATA): New macro.
8121         (acl_ace_nontrivial): Relax the restrictions on access_masks[] so
8122         that this function returns 0 in some more cases.
8123
8124 2012-02-19  Bruno Haible  <bruno@clisp.org>
8125
8126         acl: Update doc references.
8127         * doc/acl-resources.txt: Update links to Solaris documentation.
8128
8129 2012-02-19  Bruno Haible  <bruno@clisp.org>
8130
8131         Fix test failure in many locales on Solaris 11.
8132         * tests/test-pipe-filter-gi1.c (main): Don't use range expression in
8133         'tr' arguments.
8134         * tests/test-pipe-filter-ii1.c (main): Likewise.
8135         * build-aux/bootstrap (check_versions): Run 'tr' command with range
8136         expressions in the C locale.
8137         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
8138         * m4/host-os.m4 (gl_HOST_OS): Likewise.
8139
8140 2012-02-19  Bruno Haible  <bruno@clisp.org>
8141
8142         gnulib-tool: Improve usage message.
8143         * gnulib-tool (func_usage): Move doc of --help and --version to the
8144         section "Operation modes".
8145
8146 2012-02-18  Reuben Thomas  <rrt@sc3d.org>
8147
8148         README-release: make it easier to execute commands
8149         * top/README-release: break commands out on to separate lines.
8150
8151 2012-02-16  Stefano Lattarini  <stefano.lattarini@gmail.com>
8152
8153         GNUmakefile: simplify detection of unconfigured trees
8154         * top/GNUmakefile: Use $(wildcard) instead of $(shell) to determine
8155         whether the tree make is being run from is already configured or
8156         not.  Related simplifications.
8157
8158 2012-02-13  Simon Josefsson  <simon@josefsson.org>
8159
8160         * gnulib-tool (func_usage): Document --help and --version.
8161
8162 2012-02-11  Jim Meyering  <meyering@redhat.com>
8163
8164         bootstrap: don't exit 0 upon gnulib-tool failure
8165         * build-aux/bootstrap (gnulib_tool): If gnulib-tool fails, exit with
8166         its exit status, not 0.
8167
8168 2011-12-19  Reuben Thomas  <rrt@sc3d.org>
8169
8170         README-release: various improvements
8171         * top/README-release: Give a command to push changes for the
8172         release.  Add "distcheck" to list of other pre-release checks.
8173         Fix instance of "make stable" which should be "make TYPE".
8174
8175 2012-02-09  Paul Eggert  <eggert@cs.ucla.edu>
8176
8177         maint: replace FSF snail-mail addresses with URLs
8178         * config/argz.mk, lib/accept4.c, lib/alignof.h, lib/alloca.in.h:
8179         * lib/alphasort.c, lib/arcfour.c, lib/arcfour.h, lib/arctwo.c:
8180         * lib/arctwo.h, lib/argz.c, lib/arpa_inet.in.h, lib/asnprintf.c:
8181         * lib/asprintf.c, lib/assert.in.h, lib/base32.c, lib/base32.h:
8182         * lib/base64.c, lib/base64.h, lib/c-ctype.c, lib/c-ctype.h:
8183         * lib/c-strcase.h, lib/c-strcasecmp.c, lib/c-strncasecmp.c:
8184         * lib/check-version.c, lib/check-version.h, lib/config.charset:
8185         * lib/ctype.in.h, lib/des.c, lib/des.h, lib/dup3.c, lib/errno.in.h:
8186         * lib/float+.h, lib/fnmatch.c, lib/fnmatch.in.h, lib/fnmatch_loop.c:
8187         * lib/fseeko.c, lib/gai_strerror.c, lib/gc-gnulib.c:
8188         * lib/gc-libgcrypt.c, lib/gc-pbkdf2-sha1.c, lib/gc.h:
8189         * lib/getaddrinfo.c, lib/getdelim.c, lib/getfilecon.c, lib/getline.c:
8190         * lib/getlogin_r.c, lib/getpass.c, lib/getpass.h, lib/gettext.h:
8191         * lib/gettimeofday.c, lib/glob.in.h, lib/glthread/cond.c:
8192         * lib/glthread/cond.h, lib/glthread/lock.c, lib/glthread/lock.h:
8193         * lib/glthread/thread.c, lib/glthread/thread.h:
8194         * lib/glthread/threadlib.c, lib/glthread/yield.h, lib/hmac-md5.c:
8195         * lib/hmac-sha1.c, lib/hmac.h, lib/iconv.c, lib/iconv.in.h:
8196         * lib/iconv_close.c, lib/iconv_open.c, lib/inet_ntop.c, lib/isfinite.c:
8197         * lib/isinf.c, lib/iswblank.c, lib/langinfo.in.h, lib/link.c:
8198         * lib/localcharset.c, lib/localcharset.h, lib/lseek.c, lib/malloc.c:
8199         * lib/malloca.c, lib/malloca.h, lib/md2.c, lib/md2.h, lib/md4.c:
8200         * lib/md4.h, lib/md5.c, lib/md5.h, lib/memmem.c, lib/mempcpy.c:
8201         * lib/memset.c, lib/memxor.c, lib/memxor.h, lib/minmax.h, lib/mktime.c:
8202         * lib/msvc-inval.c, lib/msvc-inval.h, lib/msvc-nothrow.c:
8203         * lib/msvc-nothrow.h, lib/netdb.in.h, lib/netinet_in.in.h, lib/nproc.c:
8204         * lib/nproc.h, lib/obstack_printf.c, lib/pathmax.h, lib/pipe.c:
8205         * lib/pipe2.c, lib/poll.c, lib/poll.in.h, lib/printf-args.c:
8206         * lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h:
8207         * lib/pselect.c, lib/pthread.in.h, lib/pty-private.h, lib/pty.in.h:
8208         * lib/read-file.c, lib/read-file.h, lib/ref-add.sin, lib/ref-del.sin:
8209         * lib/regcomp.c, lib/regex.c, lib/regex.h, lib/regex_internal.c:
8210         * lib/regex_internal.h, lib/regexec.c, lib/rijndael-alg-fst.c:
8211         * lib/rijndael-alg-fst.h, lib/rijndael-api-fst.c:
8212         * lib/rijndael-api-fst.h, lib/rint.c, lib/rintf.c, lib/rintl.c:
8213         * lib/round.c, lib/roundf.c, lib/roundl.c, lib/scandir.c, lib/select.c:
8214         * lib/sha1.c, lib/sha1.h, lib/size_max.h, lib/snprintf.c:
8215         * lib/stdalign.in.h, lib/stdarg.in.h, lib/stdbool.in.h:
8216         * lib/stddef.in.h, lib/stdint.in.h, lib/stdio.in.h, lib/str-kmp.h:
8217         * lib/str-two-way.h, lib/strcasecmp.c, lib/strcasestr.c, lib/strdup.c:
8218         * lib/striconv.c, lib/striconv.h, lib/string.in.h, lib/strings.in.h:
8219         * lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c, lib/strpbrk.c:
8220         * lib/strptime.c, lib/strsep.c, lib/strstr.c, lib/strverscmp.c:
8221         * lib/sys_file.in.h, lib/sys_ioctl.in.h, lib/sys_select.in.h:
8222         * lib/sys_socket.in.h, lib/sys_stat.in.h, lib/sys_time.in.h:
8223         * lib/sys_times.in.h, lib/sys_types.in.h, lib/sys_uio.in.h:
8224         * lib/sys_utsname.in.h, lib/sys_wait.in.h, lib/tcgetsid.c:
8225         * lib/termios.in.h, lib/time.in.h, lib/time_r.c, lib/timegm.c:
8226         * lib/times.c, lib/unictype/3level.h, lib/unictype/3levelbit.h:
8227         * lib/unistd.in.h, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c:
8228         * lib/vsnprintf.c, lib/waitpid.c, lib/wchar.in.h, lib/wctype.in.h:
8229         * lib/xsize.h, tests/test-closein.c, tests/test-des.c:
8230         * tests/test-fclose.c, tests/test-fgetc.c, tests/test-filevercmp.c:
8231         * tests/test-fputc.c, tests/test-fread.c, tests/test-fwrite.c:
8232         * tests/test-gc-arcfour.c, tests/test-gc-arctwo.c, tests/test-gc-des.c:
8233         * tests/test-gc-hmac-md5.c, tests/test-gc-hmac-sha1.c:
8234         * tests/test-gc-md2.c, tests/test-gc-md4.c, tests/test-gc-md5.c:
8235         * tests/test-gc-pbkdf2-sha1.c, tests/test-gc-rijndael.c:
8236         * tests/test-gc-sha1.c, tests/test-gc.c, tests/test-getdelim.c:
8237         * tests/test-getline.c, tests/test-getndelim2.c, tests/test-md2.c:
8238         * tests/test-md4.c, tests/test-parse-datetime.c, tests/test-perror.c:
8239         * tests/test-perror2.c, tests/test-pipe.c, tests/test-pipe2.c:
8240         * tests/test-poll.c, tests/test-quotearg-simple.c:
8241         * tests/test-quotearg.c, tests/test-quotearg.h:
8242         * tests/test-round-ieee.c, tests/test-round1.c:
8243         * tests/test-roundf-ieee.c, tests/test-roundf1.c:
8244         * tests/test-roundl-ieee.c, tests/test-roundl.c:
8245         * tests/test-safe-alloc.c, tests/test-sigpipe.c:
8246         * tests/test-spawn-pipe-child.c, tests/test-spawn-pipe-main.c:
8247         * tests/test-strerror.c, tests/test-strerror_r.c:
8248         * tests/test-strsignal.c, tests/test-strverscmp.c:
8249         * tests/test-xmemdup0.c:
8250         Replace FSF snail mail addresses with URLs, as per GNU coding
8251         standards.  See glibc bug
8252         <http://sourceware.org/bugzilla/show_bug.cgi?id=13673>.
8253
8254 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
8255
8256         README-release: capitalize a word and split a line
8257         * top/README-release: Fix punctuation and spacing.
8258
8259 2012-02-08  Akim Demaille  <demaille@gostai.com>
8260
8261         fatal-signal: use C prototypes (with explicit void).
8262         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
8263         (init_fatal_signal_set, block_fatal_signals): Fix signatures.
8264
8265 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8266
8267         regex: spelling fix
8268         * lib/regexec.c: spelling fix
8269
8270         regex: rely on stdint.h for SIZE_MAX
8271         * lib/regex_internal.h (SIZE_MAX): Remove; stdint.h supplies this now.
8272
8273 2012-02-07  Paul Eggert  <eggert@cs.ucla.edu>
8274
8275         regex: merge glibc changes
8276
8277         * lib/regcomp.c (init_dfa): Tighten overflow checks to test
8278         for IDX_MAX too, since IDX_MAX can be much less than SIZE_MAX.
8279         (init_word_char): Work even if bitset words are not exactly 32 or
8280         64 bits wide.  Don't assume there are no padding bits.
8281         * lib/regex.c [_LIBC]: Do not include <config.h>.
8282         [!_LIBC]: Add pragmas to ignore -Wsuggest-attributes=pure
8283         and -Wtype-limits.
8284         * lib/regex.h (__USE_GNU): Renamed from __USE_GNU_REGEX, to avoid
8285         needless disagreement with glibc.  All uses changed.  Define it to
8286         1 only if _GNU_SOURCE, to match glibc.
8287         (_REG_RM_NAME): Remove; no longer needed, since the names in
8288         question are now all protected by __USE_GNU.
8289         (_REG_RE_NAME): Remove; replaced by glibc's __REPB_PREFIX.
8290         (REG_TRANSLATE_TYPE): Remove; replaced by glibc's __RE_TRANSLATE_TYPE.
8291         * lib/regex_internal.h (MIN): New macro.
8292
8293         2012-01-03 Ulrich Drepper <drepper@gmail.com>
8294         * lib/regcomp.c (init_word_char): Optimize regex a bit.
8295
8296         2011-12-30 Jakub Jelinek <jakub@redhat.com>
8297         * lib/regex_internal.c (re_string_fetch_byte_case):
8298         Fix up regcomp/regexec.  The problem is that parse_bracket_symbol
8299         is miscompiled, and it turns out it is because of an incorrect
8300         attribute on re_string_fetch_byte_case.  Unlike
8301         re_string_peek_byte_case, this one is really not pure, it modifies
8302         memory (increments pstr->cur_idx), and with the pure attribute GCC
8303         assumed it doesn't and it cached the presumed value of
8304         regexp->cur_idx in a variable across the
8305          for (;; ++i)
8306            {
8307              if (i >= BRACKET_NAME_BUF_SIZE)
8308                return REG_EBRACK;
8309              if (token->type == OP_OPEN_CHAR_CLASS)
8310                ch = re_string_fetch_byte_case (regexp);
8311              else
8312                ch = re_string_fetch_byte (regexp);
8313              if (re_string_eoi(regexp))
8314                return REG_EBRACK;
8315              if (ch == delim && re_string_peek_byte (regexp, 0) == ']')
8316                break;
8317              elem->opr.name[i] = ch;
8318            }
8319
8320         2011-11-29 Andreas Schwab <schwab@redhat.com>
8321         * lib/regcomp.c (build_equiv_class):
8322         Fix access after end of search string in regex matcher.
8323
8324         2011-11-12 Ulrich Drepper <drepper@redhat.com>
8325         * lib/regex_internal.c, lib/regex_internal.h: Fix warnings in regex.
8326
8327         2011-10-12 Ulrich Drepper <drepper@redhat.com>
8328         * lib/regcomp.c (parse_branch): One more regex memory leak fixed.
8329
8330         2011-10-11 Ulrich Drepper <drepper@redhat.com>
8331         * lib/regcomp.c (parse_branch, parse_sub_exp):
8332         More regex memory leak fixes and tests.
8333         (parse_sub_exp, parse_bracket_exp):
8334         Fix memory leak for some invalid regular expressions.
8335
8336         2011-05-28 Ulrich Drepper <drepper@gmail.com>
8337         * lib/regex_internal.c, lib/regexec.c:
8338         Fix unnecessary overallocation due to incomplete character.  When
8339         incomplete characters are found at the end of a string the code
8340         ran amok and allocated lots of memory.  Stricter limits are now in
8341         place.
8342
8343         2011-05-20 Reuben Thomas <rrt@sc3d.org>
8344         * lib/regex.h: Update documentation.
8345
8346         2011-05-16 Aharon Robbins <arnold@skeeve.com>
8347         * lib/regex.h: Update RE_SYNTAX*_AWK constants.
8348
8349         2010-05-05 Andreas Schwab <schwab@redhat.com>
8350         * lib/regexec.c (find_collation_sequence_value):
8351         Fix lookup of collation sequence value during regexp matching.
8352
8353         2010-01-22 Ulrich Drepper <drepper@redhat.com>
8354         * lib/regex_internal.c (re_dfa_add_node): Extend overflow detection.
8355
8356         2008-01-16 Ulrich Drepper <drepper@redhat.com>
8357         * lib/regex.h: Cleanup namespace.
8358
8359         2007-11-26 Ulrich Drepper <drepper@redhat.com>
8360         * lib/regex.h (REG_ENOSYS): Define REG_ENOSYS also for __USE_XOPEN2K.
8361
8362         2007-08-26 Ulrich Drepper <drepper@redhat.com>
8363         * lib/regex_internal.h: Prevent some declarations and definitions
8364         to be seen when used in tests.
8365
8366         2005-05-06 Ulrich Drepper <drepper@redhat.com>
8367         * lib/regex_internal.h: Include bits/libc-lock.h or define dummy
8368         __libc_lock_* macros if not _LIBC.
8369         (struct re_dfa_t): Add lock.
8370
8371 2012-02-07  Eric Blake  <eblake@redhat.com>
8372
8373         maint.mk: also prohibit lower-case @var@
8374         * top/maint.mk (sc_makefile_at_at_check): Enhance check to cover
8375         lower case, like @top_srcdir@.
8376
8377 2012-02-04  Eric Blake  <eblake@redhat.com>
8378
8379         canonicalize: avoid uninitialized memory use
8380         * lib/canonicalize-lgpl.c (__realpath): Avoid possibility of
8381         random '/' left in dest.
8382         * lib/canonicalize.c (canonicalize_filename_mode): Likewise.
8383
8384 2012-02-04  Bruno Haible  <bruno@clisp.org>
8385
8386         isatty: Fix test failure of ptsname_r on native Windows.
8387         * lib/isatty.c (_isatty_nothrow): Upon exception, return 0, not -1,
8388         and don't set errno.
8389         (isatty): Test first whether fd is valid. Set errno when returning 0.
8390
8391 2012-02-04  Bruno Haible  <bruno@clisp.org>
8392
8393         spawn-pipe tests: Fix a NULL program name in a diagnostic.
8394         * tests/test-spawn-pipe-main.c: Include progname.h.
8395         (main): Invoke set_program_name.
8396         * modules/spawn-pipe-tests (Depends-on): Add progname.
8397
8398         nonblocking-socket tests: Fix a NULL program name in a diagnostic.
8399         * tests/test-nonblocking-socket-main.c: Include progname.h.
8400         (main): Invoke set_program_name.
8401         * modules/nonblocking-socket-tests (Depends-on): Add progname.
8402
8403         nonblocking-pipe tests: Fix a NULL program name in a diagnostic.
8404         * tests/test-nonblocking-pipe-main.c: Include progname.h.
8405         (main): Invoke set_program_name.
8406         * modules/nonblocking-pipe-tests (Depends-on): Add progname.
8407
8408 2012-02-04  Eric Blake  <eblake@redhat.com>
8409
8410         canonicalize-lgpl: fix // handling
8411         * lib/canonicalize-lgpl.c (__realpath): Don't convert /// to //.
8412
8413         canonicalize: fix // handling
8414         * lib/canonicalize.c (canonicalize_filename_mode): Don't convert
8415         /// to //, since only // is special.
8416
8417 2012-02-04  Bruno Haible  <bruno@clisp.org>
8418
8419         ioctl: Fix test failure on native Windows.
8420         * lib/ioctl.c: Include msvc-nothrow.h.
8421         (primary_ioctl): If fd is not a valid handle, set errno to EBADF.
8422
8423 2012-02-04  Bruno Haible  <bruno@clisp.org>
8424
8425         fsync: Avoid test failure on native Windows.
8426         * lib/fsync.c (fsync) [Windows]: Don't fail if the handle is merely
8427         read-only.
8428
8429 2012-02-04  Bruno Haible  <bruno@clisp.org>
8430
8431         sys_select: Avoid syntax error on OpenBSD 5.0.
8432         * lib/sys_select.in.h [OpenBSD]: When /usr/include/pthread.h is
8433         currently being included, just include the system's <sys/select.h>.
8434
8435 2012-02-04  Bruno Haible  <bruno@clisp.org>
8436
8437         sys_select: Avoid syntax error on OpenBSD 5.0.
8438         * lib/sys_select.in.h: Include <signal.h> only after the include_next
8439         <sys/select.h>, not before.
8440         Reported by Jiri B <jirib@devio.us>.
8441
8442 2012-02-04  Bruno Haible  <bruno@clisp.org>
8443
8444         get-rusage-as, get-rusage-data tests: Avoid test failure with gcc-4.7.
8445         * tests/test-get-rusage-as.c (main): Assign the malloc() results to
8446         global variables.
8447         * tests/test-get-rusage-data.c (main): Likewise.
8448         Reported by Jim Meyering.
8449
8450 2012-02-04  Bruno Haible  <bruno@clisp.org>
8451
8452         stdioext: Fix last commit.
8453         * lib/fwritable.c [EPLAN9]: Include <fcntl.h>.
8454
8455 2012-02-03  Bruno Haible  <bruno@clisp.org>
8456
8457         stdioext: Add tentative support for Plan9.
8458         * lib/stdio-impl.h: Include <errno.h>.
8459         * lib/fseterr.c (fseterr) [EPLAN9]: Add conditional code.
8460         * lib/freadable.c (freadable): Likewise.
8461         * lib/fwritable.c (fwritable): Likewise.
8462         * lib/fbufmode.c (fbufmode): Likewise.
8463         * lib/freading.c (freading): Likewise.
8464         * lib/fwriting.c (fwriting): Likewise.
8465         * lib/freadptr.c (freadptr): Likewise.
8466         * lib/freadseek.c (freadptrinc): Likewise.
8467         * lib/freadahead.c (freadahead): Likewise.
8468         * lib/fpurge.c (fpurge): Likewise.
8469         * lib/fseeko.c (rpl_fseeko): Likewise.
8470         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Plan9.
8471         Reported by Jens Staal <staal1978@gmail.com>.
8472
8473 2012-02-02  Jim Meyering  <meyering@redhat.com>
8474
8475         file-has-acl: suppress a warning from gcc -Wsuggest-attribute=const
8476         * lib/file-has-acl.c (file_has_acl): This function (for some #ifdefs)
8477         would evoke a new gcc warning.  Given all of the #ifdefs, it is better
8478         not even to try to add the attribute.  Instead, add a pragma to suppress
8479         the suggestion/warning.
8480
8481 2012-01-31  Karl Berry  <karl@gnu.org>
8482
8483         setstate doc: typo.
8484         * doc/posix-functions/setstate.texi (setstate): { not (.
8485
8486 2012-01-31  Bruno Haible  <bruno@clisp.org>
8487
8488         popen: Make more robust on Windows.
8489         * lib/popen.c: On native Windows, use the _popen based code even if
8490         HAVE_POPEN is set.
8491         * doc/posix-functions/popen.texi: Mention necessity of COMSPEC
8492         environment variable on native Windows.
8493
8494 2012-01-30  Bruno Haible  <bruno@clisp.org>
8495
8496         pclose: Fix typo.
8497         * lib/stdio.in.h (pclose): Fix typo in warning message.
8498
8499 2012-01-30  Bruno Haible  <bruno@clisp.org>
8500
8501         doc about getlogin_r, setstate.
8502         * doc/posix-functions/getlogin_r.texi: List the incompatible
8503         declaration problem under "not fixed by gnulib".
8504         * doc/posix-functions/setstate.texi: Mention incompatible declaration
8505         problem on Solaris 11 and other platforms.
8506
8507 2012-01-30  Chuanchang Jia  <chuanchang.jia@gmail.com>  (tiny change)
8508             Bruno Haible  <bruno@clisp.org>
8509
8510         poll tests: Make test more robust.
8511         * tests/test-poll.c: Include macros.h.
8512         (test_accept_first, test_pair, test_socket_pair, test_pipe): Verify
8513         return value of various I/O operations.
8514         * modules/poll-tests (Files): Add tests/macros.h.
8515
8516 2012-01-30  Bruno Haible  <bruno@clisp.org>
8517
8518         sys_stat: Fix support for mingw64 and MSVC.
8519         * lib/sys_stat.in.h (stat) [AIX]: Don't redefine 'stat' if the system
8520         header files already do it.
8521         (stat) [mingw, msvc]: Redefine the symbol to which stat is defined, not
8522         stat itself.
8523         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8524
8525 2012-01-30  Bruno Haible  <bruno@clisp.org>
8526
8527         wcwidth: Work around bug in UTF-8 locale on OpenBSD 5.0.
8528         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test also wcwidth of U+05B0.
8529         * doc/posix-functions/wcwidth.texi: Mention the OpenBSD 5.0 bug.
8530
8531 2012-01-29  Bruno Haible  <bruno@clisp.org>
8532
8533         quotearg: Fix test failure on MacOS X 10.5.
8534         * tests/test-quotearg-simple.c: Include localcharset.h.
8535         (main): If the locale encoding is not ASCII, bypass the tests of
8536         locale_quoting_style and clocale_quoting_style.
8537         * modules/quotearg-tests (Depends-on): Add 'localcharset'.
8538
8539 2012-01-29  Jim Meyering  <meyering@redhat.com>
8540
8541         maint.mk: sc_prohibit_canonicalize_without_use: avoid false positive
8542         * top/maint.mk (sc_prohibit_canonicalize_without_use): Also
8543         detect uses of canonicalize_file_name.
8544
8545 2012-01-28  Bruno Haible  <bruno@clisp.org>
8546
8547         test-framework-sh: Fix test failure with AIX 7.1 diff.
8548         * tests/init.sh (compare_): Don't use 'diff -u' if it inserts a space
8549         in column 1, like 'diff -c' does.
8550         * tests/test-init.sh (test_compare): Don't repeat the test from init.sh
8551         whether 'diff -u' is used. Instead, test whether the output contains
8552         some '@' character.
8553
8554 2012-01-28  Paul Eggert  <eggert@cs.ucla.edu>
8555
8556         strtoimax: eliminate need for stdint.h, inttypes.h checks
8557         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't use
8558         gl_AC_HEADER_STDINT_H or gl_AC_HEADER_INTTYPES_H.  This reduces
8559         the prerequisites for a recently-introduced strtoimax test.
8560         I guess this might cause strtoimax to be replaced when not
8561         strictly necessary on older hosts, but this shouldn't introduce
8562         any bugs and it should make Emacs 'configure' faster on typical
8563         modern hosts.  Problem discovered when importing the latest gnulib
8564         to an Emacs test version.
8565         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4.
8566
8567 2012-01-28  Bruno Haible  <bruno@clisp.org>
8568
8569         sys_time: Override 'struct timeval' on some native Windows platforms.
8570         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Test whether tv_sec
8571         has the right type. Set REPLACE_STRUCT_TIMEVAL if not.
8572         (gl_HEADER_SYS_TIME_H_DEFAULTS): Initialize REPLACE_STRUCT_TIMEVAL.
8573         * lib/sys_time.in.h: Include <winsock2.h> also when 'struct timeval'
8574         needs to be overridden.
8575         (timeval): Override if REPLACE_STRUCT_TIMEVAL is set.
8576         * modules/sys_time (Makefile.am): Substitute REPLACE_STRUCT_TIMEVAL.
8577         * tests/test-sys_select.c: Check that the tv_sec member has the same
8578         size as a 'time_t'.
8579         * tests/test-sys_time.c: Likewise.
8580         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): If REPLACE_STRUCT_TIMEVAL
8581         is set, set also REPLACE_GETTIMEOFDAY.
8582         * lib/gettimeofday.c (gettimeofday): If 'struct timeval' is overridden,
8583         convert the resulting 'struct timeval' before returning.
8584         * lib/select.c: Include <sys/time.h>.
8585         (select, timeval): Undefine at the right place.
8586         * modules/select (Depends-on): Add sys_time.
8587         * doc/posix-headers/sys_time.texi: Mention the problem with tv_sec on
8588         some Windows platforms.
8589         Reported by Marc-André Lureau <marcandre.lureau@redhat.com>.
8590
8591 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8592
8593         accept4, fcntl, socket modules: Avoid warnings on x86_64 mingw64.
8594         * lib/accept4.c (accept4): Use intptr_t to convert handle pointer to
8595         an integer.
8596         * lib/fcntl.c (dupfd): Likewise.
8597         * lib/w32sock.h (SOCKET_TO_FD): Likewise.
8598
8599 2012-01-28  Bruno Haible  <bruno@clisp.org>
8600
8601         fcntl: Avoid compilation error on native Windows.
8602         * modules/fcntl (Depends-on): Add 'close'.
8603
8604 2012-01-28  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8605
8606         select, poll, isatty: Avoid warnings on x86_64 mingw64.
8607         * lib/select.c (IsConsoleHandle): Use intptr_t to convert handle
8608         pointer to an integer.
8609         * lib/poll.c (IsConsoleHandle): Likewise.
8610         * lib/isatty.c (IsConsoleHandle): Likewise.
8611
8612 2012-01-28  Jim Meyering  <meyering@redhat.com>
8613
8614         doc: clarify README-release
8615         * top/README-release: Clarify: you should make a point to have
8616         the latest stable versions of build tools in your PATH, and the
8617         reference to buildreq is solely for its list of tool names, not
8618         for its minimal-functional version numbers.
8619         Prompted by discussion with Reuben Thomas and Gary V. Vaughan.
8620
8621         maint.mk: use more readable (yet functionally equivalent) quoting
8622         It is common to quote a single quote in a single quoted string like
8623         this:  '...'\''...'.  Unless you know the idiom, that looks like
8624         gibberish, so prefer to double-quote the string when possible.
8625         Then you can use a more readable, lone single quote: "...'..."
8626         * top/maint.mk (sc_cast_of_argument_to_free): Quoting like this
8627         "don't" is more readable than the equivalent 'don'\''t'.
8628         (sc_cast_of_x_alloc_return_value): Likewise.
8629         (sc_cast_of_alloca_return_value): Likewise.
8630         (sc_makefile_path_separator_check): Similar: use ":" in '...',
8631         rather than '\'':'\''.
8632
8633 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8634
8635         stdalign: relax _Alignof and tighten _Alignas test
8636         * m4/stdalign.m4 (gl_STDALIGN_H): Relax the _Alignof test,
8637         as it was too strict: alignof must divide offsetof, but it need
8638         not equal offsetof.  Inspired by Joseph S. Myers's comment
8639         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=52023#c10>.
8640         Conversely, tighten the _Alignas test a bit, as the resulting
8641         alignment must be exactly 8.
8642
8643 2012-01-27  Bruno Haible  <bruno@clisp.org>
8644
8645         stdalign: Document the last change.
8646         * doc/posix-headers/stdalign.texi: Mention GCC bug 52023.
8647
8648 2012-01-27  Paul Eggert  <eggert@cs.ucla.edu>
8649
8650         stdalign: check that alignof and offsetof are consistent
8651         * m4/stdalign.m4 (gl_STDALIGN_H): Check for GCC bug 52023.
8652         Problem reported for gnulib by Richard W.M. Jones in
8653         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00340.html>.
8654
8655 2012-01-27  Jim Meyering  <meyering@redhat.com>
8656
8657         update-copyright: accept new option: UPDATE_COPYRIGHT_USE_INTERVALS=2
8658         * build-aux/update-copyright: When UPDATE_COPYRIGHT_USE_INTERVALS=2,
8659         convert a sequence with gaps to the minimal containing range.
8660         For example, convert 2000, 2004-2007, 2009 to 2000-2009.
8661         * tests/test-update-copyright.sh: Test for this.
8662         The FSF confirmed it is ok to do this, assuming there is at
8663         least one significant change per year in the affected range:
8664         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29554/focus=29860
8665
8666 2012-01-26  Bruno Haible  <bruno@clisp.org>
8667
8668         pipe2: refine doc about thread-safety
8669         * doc/glibc-functions/pipe2.texi: Clarify the extent of the
8670         multithread-safety problem.
8671         * doc/glibc-functions/accept4.texi: Likewise.
8672
8673 2012-01-26  Bruno Haible  <bruno@clisp.org>
8674
8675         posix_spawn_file_actions_addopen: Fix 2012-01-08 commit.
8676         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN):
8677         In the test program, include <fcntl.h>, for O_RDONLY.
8678
8679 2012-01-26  Eric Blake  <eblake@redhat.com>
8680
8681         pipe2: document lack of thread-safety in replacement
8682         * doc/glibc-functions/pipe2.texi (pipe2): Mention thread safety
8683         issue in replacement.
8684         * doc/glibc-functions/accept4.texi (accept4): Likewise.
8685         Based on a report by Eric Wong.
8686
8687 2012-01-24  Marc-André Lureau  <marcandre.lureau@redhat.com>  (tiny change)
8688             Bruno Haible  <bruno@clisp.org>
8689
8690         malloca: Avoid warnings on x86_64 mingw64.
8691         * lib/malloca.c: Include <stdint.h>.
8692         (mmalloca, freea): Use uintptr_t to convert pointers to integers.
8693         * modules/malloca (Depends-on): Add stdint.
8694         * modules/relocatable-prog-wrapper (Depends-on): Likewise.
8695
8696 2012-01-25  Paul Eggert  <eggert@cs.ucla.edu>
8697
8698         obstack: remove __STDC__ conditionals
8699         * lib/obstack.h: Remove __STDC__ conditionals, as suggested by Joseph
8700         S. Myers in <http://cygwin.com/ml/libc-alpha/2012-01/msg00104.html>.
8701         This leaves lib/localcharset.c, m4/iconv.m4, and a confusing comment in
8702         m4/include_next.m4 as the only gnulib-maintained places that still
8703         refer to __STDC__.
8704
8705 2012-01-24  Bruno Haible  <bruno@clisp.org>
8706
8707         havelib: Modern quoting.
8708         * build-aux/config.rpath: Quote 'like this', not `like this', as per
8709         the recent change to the GNU coding standards.
8710
8711 2012-01-24  Bruno Haible  <bruno@clisp.org>
8712
8713         stdint: Improve support for Android.
8714         * lib/stdint.in.h: Test __ANDROID__, not __BIONIC__.
8715         Reported by Simon Josefsson <simon@josefsson.org>.
8716
8717 2012-01-23  Paul Eggert  <eggert@cs.ucla.edu>
8718
8719         doc: omit trailing empty lines from INSTALL etc.
8720         * doc/Makefile (INSTALL): Omit trailing empty lines.
8721         (INSTALL.ISO, INSTALL.UTF-8): Build from INSTALL, so that these also
8722         omit trailing empty lines.  This simplifies the build procedure.
8723
8724 2012-01-23  Jim Meyering  <meyering@redhat.com>
8725
8726         tests: avoid spurious warnings about gl_sockets_startup
8727         Fedora rawhide's gcc version 4.7.0 20120119 with -Wunused-value
8728         would warn about every use of "gl_sockets_startup (SOCKETS_1_1);"
8729         reporting a "statement with no effect".
8730         * tests/test-accept.c (main): Mark as "(void)".
8731         * tests/test-accept4.c (main): Likewise.
8732         * tests/test-bind.c (main): Likewise.
8733         * tests/test-connect.c (main): Likewise.
8734         * tests/test-getpeername.c (main): Likewise.
8735         * tests/test-getsockname.c (main): Likewise.
8736         * tests/test-getsockopt.c (main): Likewise.
8737         * tests/test-listen.c (main): Likewise.
8738         * tests/test-recv.c (main): Likewise.
8739         * tests/test-recvfrom.c (main): Likewise.
8740         * tests/test-send.c (main): Likewise.
8741         * tests/test-sendto.c (main): Likewise.
8742         * tests/test-setsockopt.c (main): Likewise.
8743         * tests/test-shutdown.c (main): Likewise.
8744
8745 2012-01-21  Bruno Haible  <bruno@clisp.org>
8746
8747         locale-fr.m4: Fix for Android.
8748         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Avoid compilation
8749         failure of the test program on Bionic libc.
8750
8751 2012-01-21  Jim Meyering  <meyering@redhat.com>
8752
8753         bootstrap: fail when bootstrap_post_import_hook fails
8754         Otherwise, it's far too easy to miss diagnostics emitted
8755         between gnulib-tool's output and that of running configure.
8756         * build-aux/bootstrap: Fail when bootstrap_post_import_hook fails.
8757
8758 2012-01-17  Jim Meyering  <meyering@redhat.com>
8759
8760         maint: enable sc_trailing_blank
8761         * build-aux/pmccabe.css: Remove trailing blanks.
8762         * doc/acl-cygwin.txt: Likewise.
8763         * doc/gnu-oids.texi: Likewise
8764         * cfg.mk: Enable sc_trailing_blank.
8765         Exempt build-aux/texinfo.tex and doc/Copyright/assign.future.manual.
8766
8767 2012-01-17  Jim Meyering  <meyering@redhat.com>
8768
8769         maint: enable sc_prohibit_openat_without_use
8770         * cfg.mk: Enable sc_prohibit_openat_without_use.
8771         Exempt lib/selinux-at.c.
8772
8773 2012-01-17  Jim Meyering  <meyering@redhat.com>
8774
8775         maint: enable sc_prohibit_cloexec_without_use
8776         * cfg.mk: Enable sc_prohibit_cloexec_without_use.
8777         * lib/dup-safer-flag.c: Don't include "cloexec.h".  Not needed.
8778
8779 2012-01-17  Jim Meyering  <meyering@redhat.com>
8780
8781         maint: enable sc_prohibit_intprops_without_use
8782         * cfg.mk: Enable sc_prohibit_intprops_without_use
8783         * tests/test-nanosleep.c: Don't include "intprops.h".  Not needed.
8784
8785 2012-01-17  Jim Meyering  <meyering@redhat.com>
8786
8787         maint: enable sc_prohibit_hash_pjw_without_use
8788         * cfg.mk: Enable sc_prohibit_hash_pjw_without_use.
8789         * top/maint.mk (sc_prohibit_hash_pjw_without_use): Adjust regexp
8790         to match any use of \<hash_pjw\>, i.e., not necessarily with a
8791         following " (".
8792
8793 2012-01-17  Jim Meyering  <meyering@redhat.com>
8794
8795         maint: enable double-word-prohibiting rule
8796         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_doubled_word.
8797         Exempt three files.
8798
8799 2012-01-17  Jim Meyering  <meyering@redhat.com>
8800
8801         maint: remove empty lines at EOF, but excluding modules/*
8802         Apply syntax rules at home as well as abroad.  Most changes
8803         were induced by running this:
8804           make srcdir=. _build-aux=build-aux -f top/maint.mk \
8805             sc_prohibit_empty_lines_at_EOF | grep -v modules/ \
8806             | xargs perl -pi -0777 -e 's/\n\n+$/\n/'
8807         * cfg.mk (local-checks-to-skip): Enable sc_prohibit_empty_lines_at_EOF.
8808         Exempt modules/* and two binary files.
8809         Also exempt doc/INSTALL*, per request from Bruno Haible.
8810         * doc/regexprops-generic.texi: *Add* a newline at EOF.  There was none.
8811         * doc/Copyright/assign.translation.manual: Remove empty lines at EOF.
8812         * doc/Copyright/request-assign.future: Likewise.
8813         * doc/Copyright/request-disclaim.changes: Likewise.
8814         * doc/INSTALL: Likewise.
8815         * doc/INSTALL.ISO: Likewise.
8816         * doc/INSTALL.UTF-8: Likewise.
8817         * doc/acl-cygwin.txt: Likewise.
8818         * doc/acl-resources.txt: Likewise.
8819         * doc/fdl-1.2.texi: Likewise.
8820         * doc/fdl-1.3.texi: Likewise.
8821         * doc/fdl.texi: Likewise.
8822         * lib/argp-pin.c: Likewise.
8823         * lib/round.c: Likewise.
8824         * lib/unicase/u16-totitle.c: Likewise.
8825         * lib/unictype/block_test.c: Likewise.
8826         * lib/uninorm/canonical-decomposition.c: Likewise.
8827         * m4/README: Likewise.
8828         * m4/relocatable-lib.m4: Likewise.
8829         * tests/test-isnand-nolibm.c: Likewise.
8830         * tests/test-isnand.c: Likewise.
8831         * tests/uninorm/NormalizationTest.txt: Likewise.
8832
8833 2012-01-17  Jim Meyering  <meyering@redhat.com>
8834
8835         maint: add framework to run syntax-check rules against gnulib sources
8836         * cfg.mk: New file, to disable all currently-failing tests.
8837         We'll enable them one by one, as they are made to pass.
8838         * Makefile (sc_maint): New rule.
8839
8840 2012-01-21  Bruno Haible  <bruno@clisp.org>
8841
8842         stdint: Add support for Android.
8843         * lib/stdint.in.h: When included from Bionic <sys/types.h>, just
8844         include the system's <stdint.h>.
8845         Reported by Simon Josefsson <simon@josefsson.org>.
8846
8847 2012-01-19  Jim Meyering  <meyering@redhat.com>
8848
8849         bootstrap: add bootstrap_post_import_hook
8850         Bison does still need something like the gnulib_mk_hook whose
8851         invocation I had to remove along with slurp in commit 767ccd40.
8852         Technically, we could get along without it, but doing so would
8853         have required living with a warning and a mandatory post-bootstrap
8854         automake rerun.
8855         * build-aux/bootstrap (gnulib_mk_hook): Remove definition, too.
8856         (bootstrap_post_import_hook): New function.
8857         Invoke it after gnulib-tool --import and before autoreconf.
8858
8859 2012-01-18  Jim Meyering  <meyering@redhat.com>
8860
8861         gitlog-to-changelog: don't use "no_"-prefixed variable name
8862         * build-aux/gitlog-to-changelog (main): Use getopt's "!" attribute
8863         to enable both --cluster and --no-cluster.  Change variable name,
8864         s/\$no_cluster/$cluster/, and reverse usage to match.
8865
8866         gitlog-to-changelog: use "||", not "or" in expressions
8867         * build-aux/gitlog-to-changelog (main): Use "||", not "or" in
8868         expressions.
8869
8870 2012-01-17  Joel E. Denny  <joeldenny@joeldenny.org>
8871
8872         gitlog-to-changelog: new option --no-cluster
8873         * build-aux/gitlog-to-changelog: New option --no-cluster, disables
8874         clustering of adjacent commit messages.
8875
8876 2012-01-17  Jim Meyering  <meyering@redhat.com>
8877
8878         maint: spell file systems with two words, not one
8879         * m4/ls-mntd-fs.m4 (MOUNTED_INTERIX_STATVFS): Spell file systems with
8880         two words, not one.
8881
8882 2012-01-16  Jim Meyering  <meyering@redhat.com>
8883
8884         bootstrap: add a FIXME comment to ensure we eventually remove the hack
8885         * build-aux/bootstrap (gnulib_tool_options): Add comment.
8886
8887 2012-01-16  Eric Blake  <eblake@redhat.com>
8888
8889         bootstrap: cater to autoconf 2.59
8890         * build-aux/bootstrap (AUTORECONF): Work even when --no-recursive
8891         is not available.
8892
8893         bootstrap: properly check for libtool
8894         * build-aux/bootstrap (libtoolize): Also run libtool when older
8895         usage is detected.
8896
8897 2012-01-15  Bruno Haible  <bruno@clisp.org>
8898
8899         Improve support for MSVC 9.
8900         * lib/unistd.in.h: Include <io.h> when needed to avoid redefinition
8901         clashes on MSVC.
8902         * lib/fcntl.in.h: Likewise.
8903         * lib/stdlib.in.h: Likewise.
8904         * lib/sys_stat.in.h: Likewise.
8905
8906 2011-01-15  Stefano Lattarini  <stefano.lattarini@gmail.com>
8907
8908         gnupload: we hold the master copy of this script now
8909         For motivation and more information, see:
8910         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00222.html>
8911         * build-aux/gnupload: Make it clear in the heading comments that the
8912         master copy of this file is maintained by gnulib.  Since we are at
8913         it, bump its copyright year and ...
8914         ($scriptversion): ... the date in its version.
8915         ($usage): Patches and bug reports should be sent to the gnulib list,
8916         not the automake one.
8917         * config/srclist.txt: Don't try to sync 'gnupload' from automake
8918         anymore.
8919
8920 2012-01-15  Bruno Haible  <bruno@clisp.org>
8921
8922         Fix module 'random'.
8923         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether random, srandom,
8924         initstate, setstate are declared.
8925
8926 2012-01-14  Bruno Haible  <bruno@clisp.org>
8927
8928         Tests for module 'random'.
8929         * modules/random-tests: New file.
8930         * tests/test-random.c: New file, based on tests/test-random_r.c.
8931
8932         New module 'random'.
8933         * lib/stdlib.in.h (random, srandom, initstate, setstate): New
8934         declarations.
8935         * lib/random.c: New file, based on glibc/stdlib/random.c.
8936         * m4/random.m4: New file.
8937         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RANDOM,
8938         HAVE_RANDOM.
8939         * modules/stdlib (Makefile.am): Substitute GNULIB_RANDOM, HAVE_RANDOM.
8940         * modules/random: New file.
8941         * config/srclist.txt: Add an entry for random.c.
8942         * doc/posix-functions/random.texi: Mention the 'random' module.
8943         * doc/posix-functions/initstate.texi: Likewise.
8944         * doc/posix-functions/setstate.texi: Likewise.
8945         * doc/posix-functions/srandom.texi: Likewise.
8946
8947 2012-01-12  Bruno Haible  <bruno@clisp.org>
8948
8949         random_r: Use common idioms.
8950         * lib/random_r.c: Include <stdlib.h> first.
8951
8952         random_r: Override incompatible API on AIX, OSF/1.
8953         * lib/stdlib.in.h (random_r, srandom_r, initstate_r, setstate_r):
8954         Override the system function if REPLACE_RANDOM_R is 1.
8955         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Require AC_CANONICAL_HOST. On AIX
8956         and OSF/1, set REPLACE_RANDOM_R.
8957         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_RANDOM_R.
8958         * modules/stdlib (Makefile.am): Substitute REPLACE_RANDOM_R.
8959         * modules/random_r (configure.ac): Test REPLACE_RANDOM_R.
8960         * doc/glibc-functions/initstate_r.texi: Mention the AIX, OSF/1 problem.
8961         * doc/glibc-functions/random_r.texi: Likewise.
8962         * doc/glibc-functions/setstate_r.texi: Likewise.
8963
8964         random_r: Support for MSVC 9.
8965         * lib/random_r.c: Include stdint.h, not inttypes.h.
8966
8967 2012-01-12  Eric Blake  <eblake@redhat.com>
8968
8969         inet_ntop: guard extra work by IF_LINT
8970         * lib/inet_ntop.c (inet_ntop6): Mark spurious initialization, for
8971         better code generation when not checking for warnings.
8972         Suggested by Paul Eggert and Jim Meyering.
8973
8974         strptime: fix regression on mingw
8975         * lib/strptime.c (__strptime_internal) [!_LIBC && !HAVE_TM_GMTOFF]:
8976         Fix regression.  Reported by Bruno Haible.
8977
8978 2012-01-11  Reuben Thomas  <rrt@sc3d.org>
8979             Bruno Haible  <bruno@clisp.org>
8980
8981         copy-file: add error-code-returning variant.
8982         * lib/copy-file.h (GL_COPY_ERR_*): New enumeration items.
8983         (qcopy_file_preserving): New declaration.
8984         * lib/copy-file.c (qcopy_file_preserving): Renamed from
8985         copy_file_preserving. Change return type to 'int'. Don't emit an error
8986         message here.
8987         (copy_file_preserving): New function.
8988         * tests/test-copy-file.c: Include <stdlib.h>.
8989         (main): Test qcopy_file_preserving if the environment variable
8990         NO_STDERR_OUTPUT is set.
8991         * tests/test-copy-file-1.sh: Invoke test-copy-file.sh a second time,
8992         with NO_STDERR_OUTPUT
8993         * tests/test-copy-file-2.sh: Likewise.
8994
8995 2012-01-10  Bruno Haible  <bruno@clisp.org>
8996
8997         copy-file: Use 'quote' module consistently.
8998         * lib/copy-file.c (copy_file_preserving): Use quote().
8999
9000         copy-file: Refactor.
9001         * lib/copy-file.c: Include quote.h.
9002         (copy_file_preserving): Call qcopy_acl instead of copy_acl. Emit error
9003         message here.
9004         * modules/copy-file (Depends-on): Add quote.
9005
9006         acl: Export qcopy_acl.
9007         * lib/acl.h (qcopy_acl): New declaration.
9008         * lib/copy-acl.c (qcopy_acl): Make non-static.
9009
9010         acl: Rename a local variable.
9011         * lib/set-mode-acl.c (set_acl): Use same variable name as in copy_acl.
9012
9013         acl: Align return values of copy_acl and qcopy_acl.
9014         * lib/copy-acl.c (copy_acl): Return the same value as qcopy_acl,
9015         maybe < -1.
9016
9017 2012-01-11  Eric Blake  <eblake@redhat.com>
9018
9019         strptime: silence gcc warnings
9020         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT],
9021         [!_LIBC && !HAVE_TM_GMTOFF]: Avoid unused variables.
9022         Reported by Daniel P. Berrange.
9023
9024         inet_ntop: silence gcc warning
9025         * lib/inet_ntop.c (inet_ntop6): Initialize best.base.
9026         Reported by Daniel P. Berrange.
9027
9028 2012-01-11  Dmitry V. Levin  <ldv@altlinux.org>
9029
9030         getloadavg test: skip the test on GNU/Linux without /proc mounted
9031         GNU libc implements getloadavg(3) on Linux by parsing /proc/loadavg
9032         file.  When /proc is not mounted, it always fails with ENOENT.
9033         * tests/test-getloadavg.c (main): Treat ENOENT return code from
9034         getloadavg(3) the same way as ENOSYS and ENOTSUP.
9035
9036 2012-01-10  Bruno Haible  <bruno@clisp.org>
9037
9038         regex: Avoid link error on MSVC 9.
9039         * modules/regex (Depends-on): Add wctype.
9040
9041 2012-01-10  Bruno Haible  <bruno@clisp.org>
9042
9043         doc: Mention --with-tests option.
9044         * gnulib-tool (func_usage): Suggest --with-tests for --test etc.
9045         * doc/gnulib.texi (Extra tests modules): Mention the need to pass
9046         --with-tests.
9047         Reported by Reuben Thomas.
9048
9049 2012-01-10  Reuben Thomas  <rrt@sc3d.org>
9050
9051         users.txt: order package names lexicographically.
9052         * users.txt: Order package names lexicographically.
9053
9054 2012-01-10  Jim Meyering  <meyering@redhat.com>
9055
9056         maint.mk: fix description in comment
9057         * top/maint.mk (require_exactly_one_NL_at_EOF_): Fix comment.
9058
9059         ignore-value: remove deprecated ignore_ptr function
9060         * lib/ignore-value.h (ignore_ptr): Remove deprecated function.
9061         * NEWS: Note this.
9062
9063 2012-01-09  Jim Meyering  <meyering@redhat.com>
9064
9065         test-init.sh: avoid a subshell
9066         * tests/test-init.sh: Remove protective subshell.
9067         Suggested by Bernhard Voelker.  While a subshell is normally
9068         required to protect against older shells (Solaris, FreeBSD) that
9069         warn about a missing program before performing redirection, the
9070         shell-selection tests performed by init.sh probably exclude any
9071         offending shell.
9072
9073 2012-01-08  Bruno Haible  <bruno@clisp.org>
9074
9075         setlocale tests: Avoid test failure on Solaris 11 2011-11.
9076         * tests/test-setlocale2.sh: Use 'env' to set the LC_ALL environment
9077         variable.
9078
9079 2012-01-08  Bruno Haible  <bruno@clisp.org>
9080
9081         posix_spawn_file_actions_addopen: Work around Solaris 11 2011-11 bug.
9082         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
9083         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
9084         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN): New
9085         macro.
9086         * lib/spawn.in.h (posix_spawn_file_actions_addopen): Test
9087         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
9088         * lib/spawn_faction_addopen.c: Add workaround implementation if
9089         HAVE_WORKING_POSIX_SPAWN.
9090         * modules/spawn (Makefile): Substitute
9091         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN.
9092         * modules/posix_spawn_file_actions_addopen (configure.ac): Invoke
9093         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN. Test
9094         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDOPEN, not REPLACE_POSIX_SPAWN.
9095         (Depends-on): Update conditions.
9096         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
9097         the Solaris 11 bug.
9098
9099 2012-01-08  Bruno Haible  <bruno@clisp.org>
9100
9101         posix_spawn_file_actions_adddup2: Work around Solaris 11 2011-11 bug.
9102         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
9103         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
9104         * m4/posix_spawn.m4 (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2): New
9105         macro.
9106         * lib/spawn.in.h (posix_spawn_file_actions_adddup2): Test
9107         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
9108         * lib/spawn_faction_adddup2.c: Add workaround implementation if
9109         HAVE_WORKING_POSIX_SPAWN.
9110         * modules/spawn (Makefile): Substitute
9111         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2.
9112         * modules/posix_spawn_file_actions_adddup2 (configure.ac): Invoke
9113         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2. Test
9114         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDDUP2, not REPLACE_POSIX_SPAWN.
9115         (Depends-on): Update conditions.
9116         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
9117         the Solaris 11 bug.
9118
9119 2012-01-08  Bruno Haible  <bruno@clisp.org>
9120
9121         posix_spawn_file_actions_addclose: Work around Solaris 11 2011-11 bug.
9122         * m4/spawn_h.m4 (gl_SPAWN_H_DEFAULTS): Initialize
9123         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
9124         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Define
9125         HAVE_WORKING_POSIX_SPAWN.
9126         (gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE): New macro.
9127         * lib/spawn.in.h (posix_spawn_file_actions_addclose): Test
9128         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
9129         * lib/spawn_faction_addclose.c: Add workaround implementation if
9130         HAVE_WORKING_POSIX_SPAWN.
9131         * modules/spawn (Makefile): Substitute
9132         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE.
9133         * modules/posix_spawn_file_actions_addclose (configure.ac): Invoke
9134         gl_FUNC_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE. Test
9135         REPLACE_POSIX_SPAWN_FILE_ACTIONS_ADDCLOSE, not REPLACE_POSIX_SPAWN.
9136         (Depends-on): Update conditions.
9137         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
9138         the Solaris 11 bug.
9139
9140 2012-01-08  Bruno Haible  <bruno@clisp.org>
9141
9142         doc: Update for Solaris 11 2011-11.
9143         * doc/*/*.texi: Mention Solaris 11 2011-11 where appropriate.
9144         * m4/printf.m4: Update comments.
9145
9146 2012-01-08  Bruno Haible  <bruno@clisp.org>
9147
9148         mktime: Avoid compilation error on Solaris 11.
9149         * lib/mktime.c (WRAPV): Define to 0 on all non-glibc systems.
9150
9151 2012-01-08  Bruno Haible  <bruno@clisp.org>
9152
9153         doc: Small fix.
9154         * doc/posix-headers/nl_types.texi: Correct platforms list.
9155
9156 2012-01-08  Simon Josefsson  <simon@josefsson.org>
9157
9158         Add lgpl-3.0 module.
9159         * MODULES.html.sh (Support for building documentation): Add
9160         lgpl-3.0.
9161         * modules/lgpl-3.0: New file.
9162
9163 2012-01-08  Jim Meyering  <meyering@redhat.com>
9164
9165         select.c: indent with spaces, not TABs
9166         * lib/select.c (windows_poll_handle): Indent with spaces, not TABs.
9167
9168 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9169
9170         quotearg: do not use grave accent for left quote
9171         * lib/quotearg.c (gettext_quote): Map "`" to "'" for
9172         locale_quoting_style.
9173         (quotearg_buffer_restyled): Fix example.
9174         * tests/test-quotearg-simple.c (results_g): Adjust test vectors.
9175
9176 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9177
9178         quotearg: fall back to Unicode single quotes in UTF-8, GB-18030 locales
9179         Most programs do not have translation catalogs for English and much
9180         less separate catalogs for British and American English.  Drop the
9181         suggestion to translators about these two, and provide it
9182         automatically for Unicode locales.  Like most programs, even those
9183         using American English, we use single quotation marks.  This conflicts
9184         with the American typographic convention, but works better when you
9185         cite the entire error message within double quotes.  It also tries not
9186         to clash with established practice and with what non-gnulib programs
9187         will usually do.
9188         * lib/quotearg.c (gettext_quote): Hard-code U+2018 and U+2019 when
9189         using an UTF-8 or GB-18030 locale.  The list of other locales with
9190         quotes was provided by Bruno Haible.
9191         (quotearg_buffer_restyled): Adjust instructions to translators.
9192         * lib/quotearg.h (locale_quoting_style): Do not put an example in the
9193         text, since this would be wrong when using Unicode.
9194         * modules/quotearg: Depend on c-strcaseeq.
9195
9196 2012-01-07  Paolo Bonzini  <bonzini@gnu.org>
9197
9198         quotearg: fix Wikipedia link
9199         * lib/quotearg.c (quotearg_buffer_restyled): Fix link to Wikipedia.
9200
9201 2012-01-07  Simon Josefsson  <simon@josefsson.org>
9202
9203         Fix for mingw with MSVC9.
9204         * m4/ld-version-script.m4: Check that compiler rejects version
9205         scripts with syntax errors.  Reported by Bruno Haible
9206         <bruno@clisp.org>.
9207
9208 2012-01-06  Bruno Haible  <bruno@clisp.org>
9209
9210         Talk about "native Windows API", not "Woe32".
9211         * lib/accept4.c: Update comments to mention native Windows.
9212         * lib/execute.c: Likewise.
9213         * lib/fatal-signal.c: Likewise.
9214         * lib/localcharset.c: Likewise.
9215         * lib/nanosleep.c: Likewise.
9216         * lib/nl_langinfo.c: Likewise.
9217         * lib/pclose.c: Likewise.
9218         * lib/pipe-filter-gi.c: Likewise.
9219         * lib/pipe-filter-ii.c: Likewise.
9220         * lib/pipe.c: Likewise.
9221         * lib/pipe2.c: Likewise.
9222         * lib/popen.c: Likewise.
9223         * lib/progreloc.c: Likewise.
9224         * lib/relocatable.c: Likewise.
9225         * lib/sigaction.c: Likewise.
9226         * lib/sigprocmask.c: Likewise.
9227         * lib/spawn-pipe.h: Likewise.
9228         * lib/spawn-pipe.c: Likewise.
9229         * lib/spawni.c: Likewise.
9230         * lib/stat-time.h: Likewise.
9231         * lib/w32spawn.h: Likewise.
9232         * tests/test-isatty.c: Likewise.
9233         * lib/config.charset: More comments.
9234         * doc/gnulib-intro.texi: Mention native Windows.
9235         * doc/posix-functions/_Exit_C99.texi: Likewise.
9236         * doc/posix-headers/fcntl.texi: Likewise.
9237
9238 2012-01-06  Guillem Jover  <guillem@hadrons.org>  (tiny change)
9239
9240         argp: Avoid crash if translator uses % characters in a translation.
9241         * lib/argp-parse.c (argp_version_parser): Use a "%s" format string.
9242         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9243
9244 2012-01-06  Paul Eggert  <eggert@cs.ucla.edu>
9245
9246         doc: C11 and C++11 are now official
9247         * doc/posix-headers/assert.texi, doc/posix-headers/stdalign.texi:
9248         * doc/verify.texi, stdalign.in.h, verify.h, m4/gnulib-common.m4:
9249         * m4/stdalign.m4, modules/assert-h, modules/snippet/_Noreturn:
9250         * modules/stdalign:
9251         Replace references to draft C1X to C11, and to draft C++0X to C++11.
9252
9253 2012-01-06  Bruno Haible  <bruno@clisp.org>
9254
9255         uc-is-grapheme-break tests: Tweak.
9256         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Fix an error
9257         message.
9258
9259 2012-01-06  Bruno Haible  <bruno@clisp.org>
9260
9261         test-init.sh: correct the test for diff -u
9262         * tests/test-init.sh: Also redirect stdout to /dev/null.
9263
9264 2012-01-05  Paul Eggert  <eggert@cs.ucla.edu>
9265
9266         Use ', not `, for quoting output.
9267         * build-aux/announce-gen (usage, sizes, print_news_deltas)
9268         (print_changelog_deltas, get_tool_versions, main program):
9269         * build-aux/git-version-gen:
9270         * build-aux/gitlog-to-changelog (usage, parse_amend_file):
9271         * build-aux/move-if-change (help):
9272         * build-aux/useless-if-before-free (usage, main program):
9273         * check-module (parse_module_file, usage)
9274         (find_included_lib_files, check_module):
9275         * lib/argmatch.c (main) [TEST]:
9276         * lib/argp-help.c (_help):
9277         * lib/getopt1.c (main) [TEST]:
9278         * lib/git-merge-changelog.c (usage):
9279         * lib/xstrtol-error.c (xstrtol_error):
9280         * m4/alloca.m4 (_AC_LIBOBJ_ALLOCA):
9281         * m4/argz.m4 (gl_FUNC_ARGZ):
9282         * m4/bison.m4 (gl_BISON):
9283         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU):
9284         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS):
9285         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
9286         * m4/fpending.m4 (gl_PREREQ_FPENDING):
9287         * m4/gc-random.m4 (gl_GC_RANDOM):
9288         * m4/intl.m4 (gt_CHECK_DECL):
9289         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK):
9290         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT)
9291         (AC_TYPE_UNSIGNED_LONG_LONG_INT):
9292         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS):
9293         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK):
9294         * m4/onceonly.m4 (AC_CHECK_FUNCS_ONCE):
9295         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION):
9296         * tests/test-dirname.c (main):
9297         * tests/test-getpass.c (main):
9298         * tests/test-iconvme.c (main):
9299         * tests/test-parse-datetime.c (LOG):
9300         * tests/test-xstrtoimax.sh:
9301         * tests/test-xstrtol.sh:
9302         * tests/test-xstrtoll.sh:
9303         * tests/test-xstrtoumax.sh:
9304         * tests/unigbrk/test-uc-is-grapheme-break.c (main):
9305         * top/GNUmakefile (abort-due-to-no-makefile):
9306         Quote 'like this', not `like this', as per the recent change to
9307         the GNU coding standards.
9308
9309 2012-01-05  Bruno Haible  <bruno@clisp.org>
9310
9311         strtoimax: Don't force a replacement on systems where intmax_t is int.
9312         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Use a different test if
9313         'intmax_t' is not larger than 'int'.
9314         Reported by Pádraig Brady <P@draigBrady.com>.
9315
9316 2012-01-05  Bruno Haible  <bruno@clisp.org>
9317
9318         doc: Mention NetBSD bugs.
9319         * doc/posix-functions/*printf.texi: Mention a NetBSD 5.1 bug.
9320         * doc/posix-functions/nl_langinfo.texi: Mention another NetBSD 5.1 bug.
9321
9322 2012-01-05  Bruno Haible  <bruno@clisp.org>
9323
9324         strtoumax tests: Enhance tests.
9325         * tests/test-strtoumax.c (main): Add tests for large values.
9326
9327 2012-01-05  Bruno Haible  <bruno@clisp.org>
9328
9329         strtoimax: Work around AIX 5.1 bug.
9330         * lib/inttypes.in.h (strtoimax): Allow overriding the system's
9331         definition.
9332         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Check against the AIX 5.1 bug.
9333         Set HAVE_STRTOIMAX.
9334         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Initialize
9335         REPLACE_STRTOIMAX.
9336         * modules/inttypes-incomplete (Makefile.am): Substitute
9337         REPLACE_STRTOIMAX.
9338         * modules/strtoimax (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
9339         (configure.ac): Test HAVE_STRTOIMAX, REPLACE_STRTOIMAX.
9340         (Depends-on): Update conditions.
9341         * tests/test-strtoimax.c (main): Add tests for large values.
9342         * doc/posix-functions/strtoimax.texi: Mention the AIX 5.1 bug.
9343
9344 2012-01-05  Bruno Haible  <bruno@clisp.org>
9345
9346         inttypes: Modernize.
9347         * lib/inttypes.in.h (strtoimax, strtoumax): Use the C++ safe idioms.
9348         * modules/inttypes-incomplete (Depends-on): Add snippet/c++defs.
9349         (Makefile.am): Update inttypes.h rule.
9350
9351 2012-01-05  Jim Meyering  <meyering@redhat.com>
9352
9353         init.sh: don't waste a subshell just to redirect stderr
9354         * tests/init.sh: In testing for diff -u and diff -c, use a
9355         stderr-redirecting exec inside `...` rather than a subshell.
9356
9357         test-init.sh: avoid failure on HP-UX 11.00
9358         * tests/test-init.sh: Skip "diff -u"-comparing step when compare
9359         resolves to diff -c or cmp.  Reported by Bruno Haible.
9360
9361 2012-01-05  Bruno Haible  <bruno@clisp.org>
9362
9363         Tests for module 'strtoull'.
9364         * modules/strtoull-tests: New file.
9365         * tests/test-strtoull.c: New file, based on tests/test-strtoumax.c.
9366
9367 2012-01-05  Bruno Haible  <bruno@clisp.org>
9368
9369         Tests for module 'strtoll'.
9370         * modules/strtoll-tests: New file.
9371         * tests/test-strtoll.c: New file, based on tests/test-strtoimax.c.
9372
9373 2012-01-05  Bruno Haible  <bruno@clisp.org>
9374
9375         Tests for module 'strtoul'.
9376         * modules/strtoul-tests: New file.
9377         * tests/test-strtoul.c: New file, based on tests/test-strtoumax.c.
9378
9379 2012-01-05  Bruno Haible  <bruno@clisp.org>
9380
9381         Tests for module 'strtol'.
9382         * modules/strtol-tests: New file.
9383         * tests/test-strtol.c: New file, based on tests/test-strtoimax.c.
9384
9385 2012-01-04  Jim Meyering  <meyering@redhat.com>
9386
9387         test-init.sh: accommodate Solaris 5.10's different diff -u output
9388         * tests/test-init.sh: Also exempt @@ lines from the comparison
9389         of diff output, since Solaris 5.10 and GNU diff formats differ.
9390         Reported by Stefano Lattarini.
9391
9392 2012-01-04  Paul Eggert  <eggert@cs.ucla.edu>
9393
9394         test-posixtm: don't assume signed integer wraparound
9395         * tests/test-posixtm.c (main): Don't assume wraparound semantics
9396         after signed integer overflow.  Inspired by (though it may not
9397         fix) Bruno Haible's bug report in
9398         <http://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00066.html>.
9399
9400         Spell out "Windows 9x" and "Windows XP".
9401         * lib/poll.c, lib/select.c: In comments, replace "Win9x" with
9402         "Windows 9x" and "WinXP" with "Windows XP".
9403
9404 2012-01-04  Jim Meyering  <meyering@redhat.com>
9405
9406         test-vc-list-files-cvs.sh: remove obsolete comment
9407         * tests/test-vc-list-files-cvs.sh: Remove obsolete comment about
9408         double exit.  Now that's all encapsulated via skip_ and Exit.
9409
9410 2012-01-04  Bruno Haible  <bruno@clisp.org>
9411
9412         Talk about "native Windows API", not "Win32".
9413         * lib/classpath.c: Update comments to mention native Windows.
9414         * lib/csharpexec.c: Likewise.
9415         * lib/dup2.c: Likewise.
9416         * lib/error.c: Likewise.
9417         * lib/fcntl.c: Likewise.
9418         * lib/filename.h: Likewise.
9419         * lib/findprog.c: Likewise.
9420         * lib/get-rusage-as.c: Likewise.
9421         * lib/get-rusage-data.c: Likewise.
9422         * lib/getpagesize.c: Likewise.
9423         * lib/javaexec.c: Likewise.
9424         * lib/msvc-inval.c: Likewise.
9425         * lib/msvc-nothrow.c: Likewise.
9426         * lib/nanosleep.c: Likewise.
9427         * lib/nonblocking.c: Likewise.
9428         * lib/printf-parse.c: Likewise.
9429         * lib/setlocale.c: Likewise.
9430         * lib/sigaction.c: Likewise.
9431         * lib/strerror_r.c: Likewise.
9432         * lib/tmpdir.c: Likewise.
9433         * lib/vasnprintf.c: Likewise.
9434         * lib/w32spawn.h: Likewise.
9435         * lib/waitpid.c: Likewise.
9436         * lib/stdio.in.h (fdopen, fopen, freopen): Likewise.
9437         * m4/locale-ar.m4: Likewise.
9438         * m4/locale-fr.m4: Likewise.
9439         * m4/locale-ja.m4: Likewise.
9440         * m4/locale-tr.m4: Likewise.
9441         * m4/locale-zh.m4: Likewise.
9442         * m4/printf.m4: Likewise.
9443         * tests/test-cloexec.c: Likewise.
9444         * tests/test-copy-acl.sh: Likewise.
9445         * tests/test-copy-file.sh: Likewise.
9446         * tests/test-file-has-acl.sh: Likewise.
9447         * tests/test-set-mode-acl.sh: Likewise.
9448         * tests/test-dup-safer.c: Likewise.
9449         * tests/test-dup2.c: Likewise.
9450         * tests/test-dup3.c: Likewise.
9451         * tests/test-fcntl.c: Likewise.
9452         * tests/test-nonblocking-pipe.h: Likewise.
9453         * tests/test-nonblocking-socket.h: Likewise.
9454         * tests/test-pipe.c: Likewise.
9455         * tests/test-pipe2.c: Likewise.
9456         * tests/test-spawn-pipe-child.c: Likewise.
9457         * doc/acl-resources.txt: Likewise.
9458         * lib/getaddrinfo.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9459         * tests/test-poll.c (WINDOWS_NATIVE): Likewise.
9460         * tests/test-select.h (WINDOWS_NATIVE): Likewise.
9461         * lib/localcharset.c: Update comments to mention native Windows.
9462         (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9463         * lib/localename.c: Likewise.
9464         * lib/progreloc.c: Likewise.
9465         * lib/relocatable.c: Likewise.
9466         * lib/poll.c (WINDOWS_NATIVE): Renamed from WIN32_NATIVE.
9467         (windows_compute_revents): Renamed from win32_compute_revents.
9468         (windows_compute_revents_socket): Renamed from
9469         win32_compute_revents_socket.
9470         * lib/select.c: Update comments to mention native Windows.
9471         (windows_poll_handle): Renamed from win32_poll_handle.
9472         * m4/threadlib.m4: Update comments to mention native Windows.
9473         (gl_THREADLIB_EARLY_BODY, gl_THREADLIB_BODY): Expect
9474         --enable-threads=windows instead of --enable-threads=win32. Set
9475         USE_WINDOWS_THREADS, not USE_WIN32_THREADS.
9476         * lib/glthread/lock.h: Update comments to mention native Windows.
9477         (USE_WINDOWS_THREADS): Renamed from USE_WIN32_THREADS.
9478         * lib/glthread/lock.c (USE_WINDOWS_THREADS): Renamed from
9479         USE_WIN32_THREADS.
9480         * lib/glthread/cond.h (USE_WINDOWS_THREADS): Likewise.
9481         * lib/glthread/cond.c (USE_WINDOWS_THREADS): Likewise.
9482         * lib/glthread/thread.h (USE_WINDOWS_THREADS): Likewise.
9483         * lib/glthread/thread.c (USE_WINDOWS_THREADS): Likewise.
9484         * lib/glthread/tls.h (USE_WINDOWS_THREADS): Likewise.
9485         * lib/glthread/tls.c (USE_WINDOWS_THREADS): Likewise.
9486         * lib/glthread/yield.h (USE_WINDOWS_THREADS): Likewise.
9487         * tests/test-cond.c (USE_WINDOWS_THREADS): Likewise.
9488         * tests/test-thread_create.c (USE_WINDOWS_THREADS): Likewise.
9489         * tests/test-lock.c (USE_WINDOWS_THREADS): Likewise.
9490         (TEST_WINDOWS_THREADS): Renamed from TEST_WIN32_THREADS.
9491         * tests/test-tls.c: Likewise.
9492         Rationale:
9493         Microsoft renamed the "Win32 API" to "Windows API", as it is available
9494         on both 32-bit and 64-bit Windows systems.
9495         But in gnulib, we treat Cygwin like a Unix platform, therefore the main
9496         line of distinction is between "native Windows" on one side and Unix/
9497         POSIX systems on the other side. More details in
9498         <https://lists.gnu.org/archive/html/bug-gnulib/2012-01/msg00027.html>.
9499         Suggested by Paul Eggert.
9500
9501 2012-01-03  Bruno Haible  <bruno@clisp.org>
9502
9503         isatty: Support for MSVC 9.
9504         * doc/posix-functions/isatty.texi: Mention the MSVC problem.
9505         * lib/isatty.c: Include <errno.h>, msvc-inval.h.
9506         (_isatty_nothrow): New function.
9507         (isatty): Use it instead of _isatty.
9508         (IsConsoleHandle): Add comment, from Paolo Bonzini.
9509         * lib/poll.c (IsConsoleHandle): Likewise.
9510         * lib/select.c (IsConsoleHandle): Likewise.
9511         * m4/isatty.m4 (gl_FUNC_ISATTY): Fix comment. Reported by Eli Zaretskii.
9512         (gl_PREREQ_ISATTY): New macro.
9513         * modules/isatty (Depends-on): Add msvc-inval.
9514         (configure.ac): Invoke gl_PREREQ_ISATTY.
9515
9516 2012-01-03  Jim Meyering  <meyering@redhat.com>
9517
9518         maint.mk: remove temporary transition aid from over 1.5 years ago
9519         * top/maint.mk (_prohibit_regexp): Remove definition whose sole
9520         purpose was to aid in the transition (avoiding silent malfunction)
9521         from that old name to the new _sc_search_regexp.  This shim was
9522         added by commit 219c504b.
9523
9524         init.sh: do not try to accommodate compare arguments starting with "-"
9525         * tests/init.sh (compare_dev_null_): Do not try to accommodate
9526         compare arguments that start with "-".  Besides, we do not worry
9527         about this when invoking diff or cmp; why start now with sed?
9528         Using "--" to separate options from argument would trigger sed
9529         failure in at least Solaris 7, HP-UX 11.00, IRIX 6.5, FreeBSD 6.4,
9530         OpenBSD 4.9 and NetBSD 5.1.  Reported by Bruno Haible.
9531
9532 2012-01-02  Bruno Haible  <bruno@clisp.org>
9533
9534         Enhance tests for module 'isatty'.
9535         * modules/isatty-tests (Depends-on): Add pipe-posix.
9536         * tests/test-isatty.c: Include <fcntl.h>.
9537         (DEV_NULL): New macro.
9538         (main): Test the resut of isatty() also on regular files, pipes, and
9539         /dev/null.
9540
9541         New module 'isatty'.
9542         * lib/unistd.in.h (isatty): New declaration.
9543         * lib/isatty.c: New file, based on an idea of
9544         Bastien Roucariès <roucaries.bastien@gmail.com>.
9545         * m4/isatty.m4: New file.
9546         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether isatty is declared.
9547         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ISATTY, REPLACE_ISATTY.
9548         * modules/unistd (Makefile.am): Substitute GNULIB_ISATTY,
9549         REPLACE_ISATTY.
9550         * modules/isatty: New file.
9551         * doc/posix-functions/isatty.texi: Mention the new module.
9552         Suggested by Paolo Bonzini.
9553
9554 2012-01-02  Bruno Haible  <bruno@clisp.org>
9555
9556         canonicalize: Tweak 2011-12-29 commit.
9557         * lib/canonicalize.c (canonicalize_filename_mode): Fix typo in comment.
9558         * lib/canonicalize.h (canonicalize_filename_mode): Update specification.
9559
9560 2012-01-02  Jim Meyering  <meyering@redhat.com>
9561
9562         gitlog-to-changelog: describe input syntax in --help output
9563         * build-aux/gitlog-to-changelog (usage) [SPECIAL SYNTAX]: New section.
9564
9565         gitlog-to-changelog: fix typo in --help: show backslash before email @
9566         * build-aux/gitlog-to-changelog (usage): An "@" was backslash-escaped
9567         in sources, but not in actual output.
9568
9569 2011-12-30  Jim Meyering  <meyering@redhat.com>
9570
9571         gitlog-to-changelog: don't malfunction when name contains %-directive
9572         * build-aux/gitlog-to-changelog (main): Don't let a %-directive
9573         in a name string cause trouble.  E.g., with a user name of "%s",
9574         gitlog-to-changelog would fail with "Missing argument in sprintf at..."
9575
9576 2011-12-30  Gary V. Vaughan  <gary@gnu.org>
9577
9578         gitlog-to-changelog: Copyright-paperwork-exempt: yes == (tiny change)
9579         * build-aux/gitlog-to-changelog (main): Map the string, at beginning
9580         of line in a git commit log, "Copyright-paperwork-exempt: yes", to
9581         the "  (tiny change)" notation that is appended to the standard
9582         ChangeLog "date  name  email" header line.
9583
9584 2012-01-01  Jim Meyering  <meyering@redhat.com>
9585
9586         test-framework-sh: init.sh: fix "make dist" failure
9587         When using gnulib-tool's --with-tests option and any module that
9588         depends on test-framework-sh, "make dist" would fail due to the
9589         lack of init.sh *in lib/*.  The EXTRA_DIST += init.sh is required
9590         in the gltests directory, and not in the gllib/ directory.
9591         One way to work around that is to move the EXTRA_DIST += init.sh
9592         from the primary module to the -tests one:
9593         * modules/test-framework-sh-tests (EXTRA_DIST): Add init.sh here, ...
9594         * modules/test-framework-sh (Makefile.am): ...not here.
9595         Reported by Tom G. Christensen in
9596         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29519
9597
9598         version-etc: update copyright year reported by --version
9599         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2012.
9600
9601 2011-12-31  Pádraig Brady  <P@draigBrady.com>
9602
9603         canonicalize: only stat() if required
9604         * lib/canonicalize.c (canonicalize_filename_mode):
9605         Avoid calling l?stat() when both CAN_MISSING,
9606         and CAN_NOLINKS are set, as we neither need
9607         to resolve symlinks or test component existence.
9608
9609 2011-12-31  Paul Eggert  <eggert@cs.ucla.edu>
9610
9611         doc: cover st_ino issues once; add OpenVMS etc.
9612         * doc/posix-functions/stat.texi (stat):
9613         * doc/posix-functions/lstat.texi (lstat):
9614         * doc/posix-functions/fstatat.texi (fstatat):
9615         * doc/posix-functions/fstat.texi (fstat):
9616         Move general 'struct stat' stuff to sys_stat.texi,
9617         leaving behind a pointer.
9618         * doc/posix-headers/sys_stat.texi (sys/stat.h):
9619         Merge duplicate info about 'struct stat' problems into here.
9620         Mention issues with OpenVMS, GNU/Linux NFS, NetApp, ClearCase,
9621         and suggest partial workarounds.
9622
9623         same-inode: port to OpenVMS
9624         * lib/same-inode.h (SAME_INODE): Port to OpenVMS by checking all
9625         three st_ino values.
9626
9627 2011-12-30  Pádraig Brady  <P@draigBrady.com>
9628
9629         canonicalize: fix references to stat() and lstat()
9630         * lib/canonicalize.c (canonicalize_filename_mode):
9631         Ensure references always resolve to a replacement
9632         function if required (even via a macro).
9633
9634 2011-12-30  Jim Meyering  <meyering@redhat.com>
9635
9636         gitlog-to-changelog: remove a little duplication
9637         * build-aux/gitlog-to-changelog (main): Grep @lines once,
9638         rather than twice.
9639
9640 2011-12-29  Pádraig Brady  <P@draigBrady.com>
9641
9642         canonicalize: add support for not resolving symlinks
9643         * lib/canonicalize.h: Add the CAN_NOLINKS flag to
9644         indicate we don't want to follow symlinks.  Also
9645         provide CAN_MODE_MASK to aid setting these existing
9646         mutually exclusive values.
9647         * lib/canonicalize.c (canonicalize_filename_mode):
9648         Extract the flags from can_mode parameter, which
9649         are currently just used to select between stat()
9650         and lstat().  Also ensure that mutually exclusive
9651         values are flagged immediately as invalid.
9652         * tests/test-canonicalize.c: Verify symlinks are
9653         not followed, and that invalid flag combinations
9654         are diagnosed.
9655
9656 2011-12-25  Jim Meyering  <meyering@redhat.com>
9657
9658         gitlog-to-changelog: do not clump multi-paragraph entries
9659         Identical header lines (date,name,email+coauthors) are suppressed,
9660         thus putting all entries with those same characteristics under
9661         a single header.  However, when a log entry consists of two or
9662         more paragraphs, it may not be clear where it starts and ends.
9663         This change makes it so that such an entry is always separated
9664         from others by a header line, even when that header would
9665         otherwise be suppressed.
9666         * build-aux/gitlog-to-changelog: Implement the above.
9667         Inspired by a related request from Stefano Lattarini in
9668         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/29456
9669
9670 2011-12-25  Paul Eggert  <eggert@cs.ucla.edu>
9671
9672         announce-gen: fix `cmd' typo in diagnostic
9673         * build-aux/announce-gen (print_changelog_deltas): Fix typo in
9674         diagnostic: a missing '$' meant that the command was not output.
9675
9676 2011-12-23  Jim Meyering  <meyering@redhat.com>
9677
9678         test-framework-sh: distribute init.sh
9679         * modules/test-framework-sh (EXTRA_DIST): Append init.sh.
9680         Otherwise, "make -C gnulib-tests check" (at least in grep) would
9681         fail due to the lack of init.sh.
9682
9683         maint: remove explicit Files: tests/init.sh; depend on test-framework-sh
9684         * modules/atexit-tests: Rather than listing tests/init.sh,
9685         now that there's a module for it, simply depend on that new module.
9686         * modules/closein-tests: Likewise.
9687         * modules/exclude-tests: Likewise.
9688         * modules/getcwd-tests: Likewise.
9689         * modules/perror-tests: Likewise.
9690         * modules/pread-tests: Likewise.
9691         * modules/pwrite-tests: Likewise.
9692         * modules/vc-list-files-tests: Likewise.
9693         * modules/verify-tests: Likewise.
9694         * modules/xalloc-die-tests: Likewise.
9695         * modules/xstrtoimax-tests: Likewise.
9696         * modules/xstrtol-tests: Likewise.
9697         * modules/xstrtoll-tests: Likewise.
9698         * modules/xstrtoumax-tests: Likewise.
9699         * modules/yesno-tests: Likewise.
9700
9701 2011-12-22  Jim Meyering  <meyering@redhat.com>
9702
9703         test-framework-sh: add minimal tests of init.sh's compare function
9704         * modules/test-framework-sh-tests: New file.
9705         * tests/test-init.sh: New file.
9706
9707         test-framework-sh: new module
9708         * modules/test-framework-sh: New file.
9709         * MODULES.html.sh (Support for maintaining and releasing projects):
9710         List it.
9711
9712         init.sh: do not emit simulated diff output to stderr
9713         * tests/init.sh (compare_dev_null_): Print to stdout, not stderr.
9714
9715 2011-12-22  Reuben Thomas  <rrt@sc3d.org>
9716
9717         .gitignore: ignore gnulib.dvi and regex.info
9718         * doc/.gitignore:add gnulib.dvi and regex.info
9719
9720 2011-12-22  Jim Meyering  <meyering@redhat.com>
9721
9722         init.sh: correct previous change
9723         * tests/init.sh (compare): My previous change was wrong.
9724         Don't clobber "$?".  Spotted by Stefano Lattarini and Pádraig Brady.
9725
9726         init.sh: avoid unwarranted test failure when using "set -e"
9727         * tests/init.sh (compare): Ignore nonzero exit from compare_dev_null_.
9728         Otherwise, in a test script that uses "set -e" (like many in vc-dwim)
9729         a use like "compare exp out" would get evoke an unconditional failure.
9730
9731 2011-12-21  Alfred M. Szmidt  <ams@gnu.org>
9732
9733         bootstrap: fix it to honor $ACLOCAL_FLAGS once again
9734         The 2011-12-17 change, commit 767ccd40, replaced a manual invocation
9735         of aclocal that used explicit $ACLOCAL_FLAGS with an invocation of
9736         autoreconf that did not.
9737         * build-aux/bootstrap: Use $ACLOCAL_FLAGS when invoking autoreconf.
9738         Reported by Mats Erik Andersson <gnu@gisladisker.se>.
9739
9740 2011-12-17  Jim Meyering  <meyering@redhat.com>
9741
9742         bootstrap: remove some now-unneeded code
9743         This script arose back when gnulib-tool was young.
9744         Since then, it has seen improvements that render much of this
9745         script unnecessary.  In particular, it can now make symlinks
9746         to the files it uses.  Also, I no longer see as much value in
9747         marking files as read-only via comments.
9748         If you relied on the symlink-creation feature of the preceding
9749         version of this script, you can get most of that functionality
9750         by adding the --symlink option to the definition of
9751         gnulib_tool_option_extras in your bootstrap.conf file.
9752         * build-aux/bootstrap (AUTOPOINT, AUTORECONF): Factor out definitions.
9753         Run autopoint and libtoolize *before* gnulib-tool.
9754         After it, run an abbreviated autoreconf, rather than a loop around
9755         all tools.
9756         (slirp, bt_mark_as_generated): Remove functions.
9757
9758 2011-12-18  Paul Eggert  <eggert@cs.ucla.edu>
9759
9760         ftoastr: fix typo
9761         * lib/ftoastr.h: Fix misspelling in comment.
9762
9763 2011-12-18  Reuben Thomas  <rrt@sc3d.org>
9764
9765         * top/README-release: fix punctuation.
9766
9767 2011-12-17  Jim Meyering  <meyering@redhat.com>
9768
9769         bootstrap: correct the recent buildreq change
9770         The 2011-12-07 commit, 39f5f1e4, omitted some '*'s, and thus
9771         had no effect.
9772         * build-aux/bootstrap (buildreq): Bracket each search term with
9773         "*...*", so that the shell "case" statement works as intended.
9774         Add comments.
9775
9776 2011-12-17  Bernhard Voelker  <mail@bernhard-voelker.de>
9777
9778         build: let bootstrap resort to wget when downloading .po files
9779         * build-aux/bootstrap (download_po_files): Fallback to wget when
9780         downloading the .po files via rsync fails.  This is necessary to
9781         bootstrap from behind a strict firewall.
9782
9783 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9784
9785         stdint: don't assume C++11 when compiling with g++
9786         Problem reported for glibc 2.14 and g++ by Alexander V. Lukyanov in
9787         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00099.html>.
9788         * m4/stdint.m4 (gl_STDINT_H): Don't go to extra work to make it
9789         work also in C++ before C++11, as that improperly inhibits
9790         generating a substitute stdint.h for that case.
9791
9792 2011-12-15  Paul Eggert  <eggert@cs.ucla.edu>
9793
9794         alloca: protect comment from gnulib-tool
9795         * lib/alloca.c: Change "GCC version 2" to "GCC 2" in comment, so
9796         that gnulib-tool doesn't think it's a license, and munge it to
9797         say "GCC version 3".
9798
9799 2011-12-15  Ludovic Courtès  <ludo@gnu.org>  (tiny change)
9800
9801         localcharset: Use an absolute path in TESTS_ENVIRONMENT.
9802         * modules/localcharset (LOCALCHARSET_TESTS_ENVIRONMENT): Use
9803         $(abs_top_builddir) instead of $(top_builddir).
9804
9805 2011-12-14  Alex Nelson  <ajnelson@cs.ucsc.edu>  (tiny change)
9806
9807         strftime-tests: also test nanoseconds
9808         * tests/test-strftime.c (T): Add a test of %N.
9809
9810 2011-12-13  Paul Eggert  <eggert@cs.ucla.edu>
9811
9812         inttypes, stdint: add C++11 support
9813         C++11 says there's no need to define __STDC_CONSTANT_MACROS etc.
9814         when including inttypes.h and stdint.h.  Support this change to
9815         the standard.
9816         * doc/posix-headers/inttypes.texi (inttypes.h):
9817         * doc/posix-headers/stdint.texi (stdint.h): Document this.
9818         * lib/inttypes.in.h (__STDC_FORMAT_MACROS) [! __cplusplus]:
9819         Define if not defined already, for the benefit of pre-C++11 hosts.
9820         Define the standard format macros (e.g., PRId8) always.
9821         * lib/stdint.in.h (__STDC_CONSTANT_MACROS, __STDC_LIMIT_MACROS):
9822         Likewise, if __cpluspus.  Define the standard constant and limit
9823         macros (e.g., INT8_C, INT8_MAX) always.
9824         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Do not define
9825         GL_TRIGGER_STDC_LIMIT_MACROS or __STDC_LIMIT_MACROS; no longer needed.
9826         * m4/stdint.m4 (gl_STDINT_H): Update comments about these macros.
9827         * tests/test-inttypes.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS)
9828         (__STDC_FORMAT_MACROS): Do not define, since we assume C++11 API now.
9829         * tests/test-stdint.c (__STDC_LIMIT_MACROS, __STDC_CONSTANT_MACROS):
9830         Likewise.
9831
9832 2011-12-12  Paul Eggert  <eggert@cs.ucla.edu>
9833
9834         nonblocking tests: Fix test failure on Linux/PPC.
9835         Suggested by Prerna Saxena in
9836         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00080.html>.
9837         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/PPC64]:
9838         Set to 1100000.
9839
9840 2011-12-12  Jim Meyering  <meyering@redhat.com>
9841
9842         argmatch: don't hard-code `' when listing valid option arguments
9843         * lib/argmatch.c (argmatch_valid): Don't hard-code `%s'.  Instead,
9844         use the quote function to add quotes.  Use fputs rather than
9845         fprintf for the format string with no format directive.
9846
9847 2011-12-07  Eric Blake  <eblake@redhat.com>
9848
9849         bootstrap: detect tools required by gnulib-tool
9850         * build-aux/bootstrap (buildreq): Provide minimum implicit
9851         dependencies.
9852         * DEPENDENCIES: Mention patch as a prereq.
9853
9854 2011-12-04  Bruno Haible  <bruno@clisp.org>
9855
9856         sethostname: Port to Windows platforms.
9857         * lib/sethostname.c: Provide an alternate implementation for Windows
9858         platforms.
9859         * tests/test-sethostname2.c (geteuid): Redefine on Cygwin.
9860         (main): Skip the test if sethostname() fails with EPERM. On Windows
9861         platforms, don't check the result of gethostname().
9862
9863 2011-12-04  Bruno Haible  <bruno@clisp.org>
9864             Jim Meyering  <meyering@redhat.com>
9865
9866         tests: Avoid spurious error message on platforms without mktemp program.
9867         * tests/init.sh (mktempd_): Run mktemp in a subcommand.
9868
9869 2011-12-04  Bruno Haible  <bruno@clisp.org>
9870
9871         sethostname: Fix documentation.
9872         * doc/glibc-functions/sethostname.texi: Move the Solaris problem to the
9873         "not fixed" section.
9874
9875 2011-12-03  Bruno Haible  <bruno@clisp.org>
9876
9877         gnulib-tool: Verify that the License field is present and non-empty.
9878         * gnulib-tool (func_get_license_raw): New function, extracted from
9879         func_get_license.
9880         (func_get_license): Use it. Warn if the module is not a test module and
9881         has no license.
9882         Suggested by Jim Meyering.
9883
9884 2011-12-03  Bruno Haible  <bruno@clisp.org>
9885
9886         sethostname tests: Fix link error on mingw.
9887         * tests/test-sethostname1.c: New file, extracted from
9888         tests/test-sethostname.c.
9889         * tests/test-sethostname2.c: New file, extracted from
9890         tests/test-sethostname.c.
9891         * tests/test-sethostname.c: Remove file.
9892         * modules/sethostname-tests (Files): Add tests/test-sethostname1.c,
9893         tests/test-sethostname2.c. Remove tests/test-sethostname.c.
9894         (Depends-on): Add gethostname.
9895         (Makefile.am): Compile both test-sethostname1 and test-sethostname2.
9896         Link the latter with $(GETHOSTNAME_LIB).
9897
9898         sethostname tests: Fix compilation error on mingw.
9899         * tests/test-sethostname.c: Don't include <sys/types.h>.
9900         (geteuid): Use a dummy value without uid_t.
9901         * modules/sethostname-tests (Depends-on): Remove sys_types.
9902
9903         sethostname tests: Avoid a gcc warning.
9904         * tests/test-sethostname.c (main): Remove an unused variable.
9905
9906         Tweak last commit.
9907         * modules/sethostname-tests (Files): Sort by decreasing importance.
9908         (configure.ac): Check for geteuid.
9909         * tests/test-sethostname.c (main): Emit error messages to stderr. Skip
9910         the test when there's nothing to test. Drop an unnecessary cast.
9911         Improve an error message. Verify that the final sethostname() call
9912         succeeds.
9913
9914 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9915
9916         Add a test suite for the sethostname module.
9917         * modules/sethostname-tests: New file.  A test program
9918         for the sethostname module.
9919         * tests/test-sethostname.c: Likewise.
9920
9921 2011-12-03  Bruno Haible  <bruno@clisp.org>
9922
9923         Tweak last commit.
9924         * lib/unistd.in.h (sethostname): Keep declarations in alphabetic order.
9925         Fix preprocessor directives indentation. Fix typos.
9926         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Keep alphabetic order.
9927         * modules/unistd (Makefile): Likewise.
9928
9929 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9930
9931         Integrate the sethostname module into unistd.
9932         * lib/unistd.in.h: Integrate the SETHOSTNAME preprocessor handling
9933         into the unistd.h header.
9934         * m4/unistd_h.m4: Setup the autoconf handling for the SETHOSTNAME
9935         preprocessor directives.
9936         * modules/unistd: Setup the Makefile substitutions of the
9937         SETHOSTNAME preprocessor directives.
9938
9939 2011-12-03  Bruno Haible  <bruno@clisp.org>
9940
9941         Tweak last commit.
9942         * lib/sethostname.c: Don't include <string.h>.
9943         (sethostname): No need to copy the argument string to the stack. Don't
9944         call clearerr. Preserve errno when fprintf failed.
9945         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): Comment about HOST_NAME_MAX.
9946         Don't invoke AC_REPLACE_FUNCS.
9947         * modules/sethostname (Link): Remove empty section.
9948         * doc/glibc-functions/sethostname.texi: Gnulib does not fix the ENOSYS
9949         failure problem.
9950
9951 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9952
9953         New module 'sethostname'.
9954         * lib/sethostname.c (sethostname): New file.  Provide sethostname
9955         for systems that lack it.
9956         * m4/sethostname.m4 (gl_FUNC_SETHOSTNAME): New file.  Detection of
9957         sethostname declaration and function.
9958         * modules/sethostname: New file.  Define the sethostname module.
9959
9960 2011-12-03  Bruno Haible  <bruno@clisp.org>
9961
9962         Tweak last commit.
9963         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Trim blank line.
9964
9965 2011-12-01  Ben Walton  <bwalton@artsci.utoronto.ca>
9966
9967         Split the HOST_NAME_MAX detection into a separate m4 macro.
9968         * m4/gethostname.m4 (gl_PREREQ_HOST_NAME_MAX): Make this a separate
9969         macro so it can be used by the pending sethostname module.
9970
9971 2011-12-03  Bruno Haible  <bruno@clisp.org>
9972
9973         Fix module descriptions syntax.
9974         * modules/argv-iter (License): Fix syntax.
9975         * modules/di-set (License): Likewise.
9976         * modules/ino-map (License): Likewise.
9977         Reported by Stefano Lattarini <stefano.lattarini@gmail.com>.
9978
9979 2011-12-02  Paul Eggert  <eggert@cs.ucla.edu>
9980
9981         stdalign: port to Clang 3.0
9982         Problem reported by Simon Josefsson in
9983         <http://lists.gnu.org/archive/html/bug-gnulib/2011-12/msg00005.html>.
9984         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Clang 3.0,
9985         which has <stdalign.h> but which does not define alignof.
9986         * m4/stdalign.m4 (gl_STDALIGN_H): Check for Clang 3.0's problem.
9987
9988 2011-12-01  Eric Blake  <eblake@redhat.com>
9989
9990         mktempd: silence dd usage
9991         * build-aux/mktempd (rand_bytes): Silence dd.
9992
9993 2011-11-30  Simon Josefsson  <simon@josefsson.org>
9994
9995         manywarnings: Don't mention gcc version in docstring.
9996         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Doc fix.  Suggested by
9997         Jim Meyering <meyering@redhat.com>.
9998
9999 2011-11-30  Jim Meyering  <meyering@redhat.com>
10000
10001         hash: mark a few floating point constants with "f" suffix
10002         * lib/hash.c (DEFAULT_GROWTH_THRESHOLD, DEFAULT_GROWTH_FACTOR)
10003         (DEFAULT_SHRINK_THRESHOLD, DEFAULT_SHRINK_FACTOR): Mark literal
10004         floating point constants with "f", since they're destined to be
10005         saved/used as "float"s.
10006
10007 2011-11-29  Paolo Bonzini  <bonzini@gnu.org>
10008
10009         float tests: Correct and re-enable assertion about LDBL_MIN_EXP.
10010         * tests/test-float.c (test_long_double): Correct and re-enable the
10011         assertion about LDBL_MIN_EXP that was disabled on 2011-08-31.
10012
10013 2011-11-29  Matthew Wala  <wala1@illinois.edu>  (tiny change)
10014
10015         Avoid subtracting two pointers that don't point into the same block.
10016         * lib/argp-help.c (hol_append): Reorder pointer subtractions so that
10017         only pointers into the same memory block are subtracted. We cannot
10018         assume that sizeof (ptrdiff_t) == sizeof (void *).
10019
10020 2011-11-29  Eric Blake  <eblake@redhat.com>
10021
10022         maint.mk: add syntax check for use of compare from init.sh
10023         * top/maint.mk (sc_prohibit_reversed_compare_failure): New rule,
10024         moved here from coreutils.
10025
10026         manywarnings: drop -Wunsuffixed-float-constants
10027         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): C99 does not allow
10028         '1.0D', which is the only way to silence this warning for 'double'.
10029
10030 2011-11-29  Jim Meyering  <meyering@redhat.com>
10031
10032         hash: mark compute_bucket_size with the pure attribute
10033         * lib/hash.c (compute_bucket_size): Use _GL_ATTRIBUTE_PURE.
10034
10035         quotearg, propername: correct pragma guard expression
10036         * lib/quotearg.c: Enable pragma for gcc-4.6 and newer, not 4.3 and newer.
10037         * lib/propername.c: Likewise.  Reported by Bernhard Voelker.
10038
10039 2011-11-28  Jim Meyering  <meyering@redhat.com>
10040
10041         propername: do not mark proper_name with the const attribute
10042         * lib/propername.h (proper_name): Do *not* mark as _GL_ATTRIBUTE_CONST,
10043         since it examines data pointed to by its parameter.
10044         * lib/propername.c (proper_name): Instead, add a pragma to suppress
10045         the suggestion from -Wsuggest-attribute=const.
10046
10047         propername: mark one more function as const
10048         * lib/propername.h (proper_name): Mark as _GL_ATTRIBUTE_CONST.
10049
10050 2011-11-27  Jim Meyering  <meyering@redhat.com>
10051
10052         mark functions with const and pure attributes
10053
10054         Mark functions per suggestions from gcc-4.6 when using these options:
10055         -Wsuggest-attribute=pure -Wsuggest-attribute=const.
10056         Use gnulib's _GL_ATTRIBUTE_PURE and _GL_ATTRIBUTE_CONST macros.
10057         Follow these guidelines: when possible, apply the attribute to
10058         an extern declaration, not to its definition.  Apply it to the
10059         definition only when the definition is static.
10060         * lib/argmatch.h (argmatch, argmatch_to_argument): Mark.
10061         * lib/argv-iter.h (argv_iter_n_args): Likewise.
10062         * lib/base64.h (isbase64): Likewise.
10063         * lib/basename-lgpl.c (last_component, base_len): Likewise.
10064         * lib/c-ctype.h (c_isascii, c_isalnum, c_isalpha): Likewise.
10065         (c_isblank, c_iscntrl, c_isdigit, c_islower, c_isgraph): Likewise.
10066         (c_isprint, c_ispunct, c_isspace, c_isupper, c_isxdigit): Likewise.
10067         (c_tolower, c_toupper): Likewise.
10068         * lib/c-strcase.h (c_strcasecmp, c_strncasecmp): Likewise.
10069         * lib/chdir-long.c (find_non_slash): Likewise.
10070         * lib/dirname.h (base_len, dir_len, last_component): Likewise.
10071         * lib/exclude.h (fnmatch_pattern_has_wildcards): Likewise.
10072         * lib/file-type.h (file_type): Likewise.
10073         * lib/filenamecat-lgpl.c (longest_relative_suffix): Likewise.
10074         * lib/filevercmp.c (verrevcmp): Likewise.
10075         * lib/freadahead.h (freadahead): Likewise.
10076         * lib/fts.c (fts_maxarglen): Likewise.
10077         * lib/hash-pjw.h (hash_pjw): Likewise.
10078         * lib/hash-triple.h (triple_hash_no_name, triple_compare_ino_str):
10079         * lib/hash.c (is_prime, next_prime): Likewise.
10080         * lib/hash.c (hash_get_n_buckets, hash_get_n_buckets_used): Likewise.
10081         (hash_get_n_entries, hash_get_max_bucket_length): Likewise.
10082         (hash_table_ok, hash_get_first, hash_string): Likewise.
10083         (compute_bucket_size): Likewise.
10084         * lib/i-ring.h (i_ring_empty): Likewise.
10085         * lib/isnan.c (isnanl): Likewise.
10086         * lib/math.h (isnanl, rpl_isnanl): Likewise.
10087         * lib/memcasecmp.h (memcasecmp): Likewise.
10088         * lib/memchr2.h (memchr2): Likewise.
10089         * lib/memcmp2.h (memcmp2): Likewise.
10090         * lib/parse-datetime.y (lookup_zone): Likewise.
10091         * lib/sockets.h (gl_sockets_startup, gl_sockets_cleanup)
10092         [!WINDOWS_SOCKETS]: Likewise.
10093         * lib/strnlen1.h (strnlen1): Likewise.
10094         * lib/uniwidth.in.h (uc_width): Likewise.
10095         * lib/quotearg.c: Add pragma to avoid unwarranted suggestion from
10096         gcc's -Wsuggest-attribute=pure for quoting_options_from_style.
10097         (quoting_options_from_style): Add a comment.
10098         * lib/propername.h (proper_name): Add a comment.
10099
10100 2011-11-27  Bruno Haible  <bruno@clisp.org>
10101
10102         Remove unused macros from !_LIBC code in glibc-borrowed files.
10103         * lib/fnmatch.c (STRCOLL): Remove macro.
10104         * lib/fnmatch_loop.c (STRCOLL): Remove undef.
10105         * lib/glob.c (__stat, __readdir64): Remove macros.
10106         * lib/tempname.c (__open64, __xstat64): Remove macros.
10107         Suggested by Paul Eggert.
10108
10109 2011-11-27  Bruno Haible  <bruno@clisp.org>
10110
10111         getcwd: Fix link error on MSVC 9.
10112         * modules/getcwd (Depends-on): Add readdir, rewinddir.
10113
10114 2011-11-27  Bruno Haible  <bruno@clisp.org>
10115
10116         Don't set REPLACE_FOO to 1 if HAVE_FOO is 0.
10117         * m4/opendir.m4 (gl_FUNC_OPENDIR): Don't set REPLACE_OPENDIR to 1 if
10118         HAVE_OPENDIR is 0.
10119         * m4/closedir.m4 (gl_FUNC_CLOSEDIR): Don't set REPLACE_CLOSEDIR to 1 if
10120         HAVE_CLOSEDIR is 0.
10121         * m4/dup2.m4 (gl_FUNC_DUP2): Don't set REPLACE_DUP2 to 1 if HAVE_DUP2
10122         is 0.
10123         * m4/dup3.m4 (gl_FUNC_DUP3): Update comments.
10124
10125 2011-11-27  Bruno Haible  <bruno@clisp.org>
10126
10127         getcwd: Fix bug from 2011-08-17.
10128         * m4/getcwd.m4 (gl_FUNC_GETCWD): Set REPLACE_GETCWD to 1 only on
10129         platforms that need it.
10130         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Consider a return
10131         code of 4 to be a failure, not a success. This ensures that
10132         REPLACE_GETCWD becomes 1 on OpenBSD 4.9 and NetBSD 5.1.
10133
10134 2011-11-27  Bruno Haible  <bruno@clisp.org>
10135
10136         binary-io tests: Avoid test failure on mingw when libtool is used.
10137         * tests/test-binary-io.c (main): Don't remove t-bin-out2.tmp here.
10138         Don't verify the size of t-bin-out1.tmp here.
10139         * tests/test-binary-io.sh: Verify it here.
10140         Reported by Simon Josefsson.
10141
10142 2011-11-26  Bruno Haible  <bruno@clisp.org>
10143
10144         Fix conflict between two instantiations of module 'unistd'.
10145         * gnulib-tool (func_emit_autoconf_snippet): Substitute
10146         ${include_guard_prefix} also in the autoconf snippet.
10147         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Don't set GNULIB_UNISTD_H_GETOPT.
10148         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Don't initialize
10149         GNULIB_UNISTD_H_GETOPT.
10150         * modules/getopt-posix (configure.ac): Set the
10151         GNULIB_${gl_include_guard_prefix}_UNISTD_H_GETOPT variable.
10152         * modules/getopt-gnu (configure.ac): Likewise.
10153         * modules/unistd (Makefile.am): Change the substitution value of
10154         GNULIB_UNISTD_H_GETOPT to depend on the include guard prefix.
10155         Reported by Simon Josefsson.
10156
10157 2011-11-25  Bruno Haible  <bruno@clisp.org>
10158
10159         pagealign_alloc: Doc and comments.
10160         * doc/posix-functions/posix_memalign.texi: Refer to the pagealign_alloc
10161         module.
10162         * lib/pagealign_alloc.c (pagealign_alloc): Add comment.
10163
10164 2011-11-25  Jim Meyering  <meyering@redhat.com>
10165
10166         test-update-copyright.sh: avoid false-positive failure
10167         * tests/test-update-copyright.sh: Use $TMP.? (not $TMP.*), to work
10168         around false positive failure on Cygwin/Windows.  The latter was
10169         matching erroneously-created files with names like
10170         update-copyright.test-ex.4.bak.  Reported by Simon Josefsson.
10171
10172 2011-11-25  Simon Josefsson  <simon@josefsson.org>
10173
10174         valgrind-tests.m4: Avoid breakage if valgrind on bash fails.
10175         * m4/valgrind-tests.m4: Check that the parameters that will be
10176         used works, not just a subset of them.  Reported by Bruno Haible
10177         <bruno@clisp.org>.
10178
10179 2011-11-24  Jim Meyering  <meyering@redhat.com>
10180
10181         test-stdalign.c: comment out long double tests
10182         * tests/test-stdalign.c: Don't try to reduce alignment of long double
10183         variables.  That provokes errors like this from gcc-4.7.0 20111124:
10184         error: '_Alignas' specifiers cannot reduce alignment of \
10185         'static_longdouble_alignas'.
10186
10187 2011-11-22  Jim Meyering  <meyering@redhat.com>
10188
10189         init.sh: make "compare /dev/null FILE" output more readable
10190         * tests/init.sh (compare_): Document the preferred order of arguments.
10191         (emit_diff_u_header_): New function.
10192         (compare_dev_null_): Emit a simulated diff, rather than just the
10193         contents of the unexpected file.  Suggestion from Bruno Haible.
10194
10195 2011-11-21  Jim Meyering  <meyering@redhat.com>
10196             Eric Blake  <eblake@redhat.com>
10197
10198         init.sh: work around OSF/1 5.1's mishandling of /dev/null
10199         * tests/init.sh: Make our compare function slightly more portable.
10200         Reported by Bruno Haible in
10201         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/4020
10202
10203 2011-11-21  Simon Josefsson  <simon@josefsson.org>
10204
10205         * m4/gnulib-common.m4 (_Noreturn): Check that _MSC_VER is defined
10206         before using it, in code that ends up in config.h.
10207
10208 2011-11-20  Bruno Haible  <bruno@clisp.org>
10209
10210         getcwd: Work around getcwd bug on AIX 5..7.
10211         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Require
10212         AC_CANONICAL_HOST. Assign exit code 31 to the bug seen on AIX 5.1..7.1.
10213         Use a different value for gl_cv_func_getcwd_path_max. Move the
10214         definition of HAVE_PARTLY_WORKING_GETCWD from here...
10215         * m4/getcwd.m4 (gl_FUNC_GETCWD): ... to here. Invoke
10216         gl_FUNC_GETCWD_PATH_MAX also when $gl_cv_func_getcwd_null is 'no'.
10217         Define HAVE_MINIMALLY_WORKING_GETCWD.
10218         * lib/getcwd.c (__getcwd): Don't use the system's getcwd on platforms
10219         where it is not even minimally working, that is, on AIX.
10220         * tests/test-getcwd.c (test_long_name): Distinguish the same cases as
10221         m4/getcwd-path-max.m4.
10222         (main): Update exit code computation.
10223         * doc/posix-functions/getcwd.texi: Mention list of platforms where
10224         getcwd does not handle long file names.
10225
10226 2011-11-20  Bruno Haible  <bruno@clisp.org>
10227
10228         getcwd: Fix bug from 2009-09-10.
10229         * m4/getcwd.m4 (gl_FUNC_GETCWD): Treat "guessing yes" like "yes", not
10230         like "no".
10231
10232 2011-11-20  Simon Josefsson  <simon@josefsson.org>
10233
10234         * m4/manywarnings.m4: Add more warnings from gcc 4.6.2.
10235
10236 2011-11-20  Bruno Haible  <bruno@clisp.org>
10237
10238         fma tests: Avoid shadowing local variables.
10239         * tests/test-fma2.h (test_function): Reduce scope of x, y, z, result,
10240         expected.
10241
10242 2011-11-20  Bruno Haible  <bruno@clisp.org>
10243
10244         copysignf tests: Fix.
10245         * tests/test-copysignf.c: Fix signature check.
10246
10247 2011-11-20  Bruno Haible  <bruno@clisp.org>
10248
10249         fma: Remove unused code.
10250         * lib/fma.c (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): Remove
10251         unused macros.
10252
10253 2011-11-20  Bruno Haible  <bruno@clisp.org>
10254
10255         sethostname: Fix doc about AIX.
10256         * doc/glibc-functions/sethostname.texi: Drop mention that AIX 5.1 lacks
10257         sethostname; it has it.
10258
10259         sethostname: Mention more portability problems.
10260         * doc/glibc-functions/sethostname.texi: Mention the missing declaration
10261         problem.
10262         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
10263
10264 2011-11-19  Bruno Haible  <bruno@clisp.org>
10265
10266         Depend on module fcntl-h when AT_FDCWD is used.
10267         * modules/utimens (Depends-on): Add fcntl-h.
10268         * modules/areadlinkat (Depends-on): Likewise.
10269         * modules/areadlinkat-with-size (Depends-on): Likewise.
10270         * modules/faccessat (Depends-on): Likewise.
10271         * modules/fchmodat (Depends-on): Likewise.
10272         * modules/fchownat (Depends-on): Likewise.
10273         * modules/getcwd (Depends-on): Likewise.
10274         * modules/mkdirat (Depends-on): Likewise.
10275         * modules/mkfifoat (Depends-on): Likewise.
10276         * modules/readlinkat (Depends-on): Likewise.
10277         * modules/symlinkat (Depends-on): Likewise.
10278         * modules/dup2-tests (Depends-on): Likewise.
10279         * modules/fdutimensat-tests (Depends-on): Likewise.
10280         * modules/futimens-tests (Depends-on): Likewise.
10281
10282 2011-11-19  Bruno Haible  <bruno@clisp.org>
10283
10284         euidaccess: Update a comment.
10285         * lib/euidaccess.c: Update comment about platforms with faccessat.
10286
10287 2011-11-19  Bruno Haible  <bruno@clisp.org>
10288
10289         openat: Fix file list.
10290         * modules/openat (Files): Remove lib/at-func.c.
10291
10292 2011-11-19  Bruno Haible  <bruno@clisp.org>
10293
10294         fstatat: Simplify.
10295         * lib/fstatat.c (AT_FUNC_NAME): Define as fstatat. On platforms where
10296         gnulib should define rpl_fstatat, there is a
10297         "#define fstatat rpl_fstatat" in <sys/stat.h>.
10298
10299 2011-11-19  Bruno Haible  <bruno@clisp.org>
10300
10301         Ensure 'inline' can be used in tests/test-utimens-common.h.
10302         * modules/fdutimensat-tests (configure.ac): Require AC_C_INLINE.
10303         * modules/futimens-tests (configure.ac): Likewise.
10304         * modules/utimens-tests (configure.ac): Likewise.
10305         * modules/utimensat-tests (configure.ac): Likewise.
10306
10307 2011-11-19  Simon Josefsson  <simon@josefsson.org>
10308
10309         * lib/hash.c (hash_insert): Use hash_insert_if_absent,
10310         not hash_insert0.
10311         (hash_insert_if_absent): Doc fix.
10312
10313 2011-11-19  Simon Josefsson  <simon@josefsson.org>
10314
10315         * m4/readline.m4 (gl_FUNC_READLINE): Check for readline/history.h.
10316
10317 2011-11-18  Paul Eggert  <eggert@cs.ucla.edu>
10318
10319         test-getcwd: disambiguate exit status
10320         * tests/test-getcwd.c (test_long_name): Return 0..7.
10321         (main): Exit with an unambiguous exit status.  The old
10322         code yielded a mysterious mixture of two failure codes.
10323
10324         fstatat: fix configuration bug on mingw, OpenBSD 4, Solaris 8
10325         * lib/fstatat.c (AT_FUNC_NAME): Use HAVE_FSTAT, not
10326         HAVE_WORKING_FSTATAT_ZERO_FLAG, to decide whether to define
10327         rpl_fstatat or fstatat.  This should fix the other problem
10328         reported by Kai Habel in
10329         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10330         A similar problem was reported for OpenBSD 4.6 by Mats Erik Andersson
10331         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00239.html>
10332         and I reproduced it on a Solaris 8 host we still have in production.
10333
10334 2011-11-18  Jim Meyering  <meyering@redhat.com>
10335
10336         hash: deprecate poorly-named hash_insert0: use hash_insert_if_absent
10337         * lib/hash.c (hash_insert_if_absent): Rename from hash_insert0.
10338         Add a sentence to the comment.
10339         (hash_insert0): New function that simply calls hash_insert_if_absent.
10340         * lib/hash.h (hash_insert_if_absent): Declare it.
10341         (hash_insert0): Add deprecation attribute.
10342         (_GL_ATTRIBUTE_DEPRECATED): Define.
10343         * lib/di-set.c (di_set_insert): Use hash_insert_if_absent,
10344         not hash_insert0.
10345         * NEWS: Mention it, even though it's not really an incompatible change.
10346
10347 2011-11-18  Dagobert Michelsen  <dam@opencsw.org>  (tiny change)
10348
10349         openat: avoid compilation failure due to lack of <errno.h> inclusion
10350         * lib/openat.c: Include <errno.h>.
10351
10352 2011-11-17  Paul Eggert  <eggert@cs.ucla.edu>
10353
10354         * modules/getcwd (Depends-on): Add fdopendir.
10355         This fixes one of the two problems reported by Kai Habel in
10356         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00237.html>.
10357
10358         modules/crypto/gc-*: simplify dependencies and fix stdalign.h bug
10359         stdalign problem reported by Ian Beckwith in
10360         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00238.html>.
10361         * modules/crypto/gc-arcfour (Depends-on):
10362         Depend conditionally on crypto/arcfour.
10363         * modules/crypto/gc-arctwo (Depends-on):
10364         Depend conditionally on crypto/arctwo.
10365         * modules/crypto/gc-des (Depends-on):
10366         Depend conditionally on crypto/des.
10367         * modules/crypto/gc-hmac-md5 (Depends-on):
10368         Depend conditionally on crypto/hmac-md5.
10369         * modules/crypto/gc-hmac-sha1 (Depends-on):
10370         Depend conditionally on crypto/hmac-sha1.
10371         * modules/crypto/gc-md2 (Depends-on): Remove stdint, minmax.
10372         * modules/crypto/gc-md4 (Depends-on):
10373         Depend conditionally on crypto/md4.
10374         * modules/crypto/gc-md5 (Depends-on):
10375         Depend conditionally on crypto/md5.
10376         * modules/crypto/gc-rijndael (Depends-on):
10377         Depend conditionally on crypto/rijndael.
10378         * modules/crypto/gc-sha1 (Depends-on):
10379         Depend conditionally on crypto/sha1.
10380         * modules/crypto/gc-arcfour:
10381         * modules/crypto/gc-arctwo:
10382         * modules/crypto/gc-des:
10383         * modules/crypto/gc-hmac-md5:
10384         * modules/crypto/gc-hmac-sha1:
10385         * modules/crypto/gc-md2:
10386         * modules/crypto/gc-md4:
10387         * modules/crypto/gc-md5:
10388         * modules/crypto/gc-rijndael:
10389         * modules/crypto/gc-sha1:
10390         (Files, Depends-on, configure.ac): Remove now-unnecessary stuff,
10391         now that the conditional dependencies do the work for us.
10392
10393 2011-11-17  Jim Meyering  <meyering@redhat.com>
10394
10395         tests: factor st_ctime-comparison out of two headers
10396         * tests/test-utimens-common.h (ctime_compare): Define.
10397         * tests/test-futimens.h (test_futimens): Replace open-coded equivalent.
10398         * tests/test-lutimens.h (test_lutimens): Likewise.
10399         * tests/test-utimens.h (test_utimens): Likewise.
10400
10401         test-getcwd: don't leave behind a confdir3/ directory upon interrupt
10402         Invoke the test program via an init.sh-using wrapper.
10403         * tests/test-getcwd.sh: New file.
10404         * modules/getcwd-tests (Files): Add it.
10405         (Makefile.am) [TESTS]: Invoke the shell script wrapper.
10406
10407 2011-11-01  Gary V. Vaughan  <gary@gnu.org>
10408
10409         gitlog-to-changelog: support multi-author commits.
10410         The FSF cares about keeping track of all authors of patches to its
10411         projects, but Git doesn't provide obvious support for multi-author
10412         changesets. Consensus seems to be forming around the use of extra
10413         Signed-off-by inspired lines in the log message formatted as
10414         `Co-authored-by: A U Thor <email@example.com>' for round-tripping
10415         multi-author commits between version control systems.
10416         * gitlog-to-changelog: Extract `Co-authored-by:' lines from the git
10417         log message and output in standard ChangeLog multi-author format.
10418         Reported by Peter Rosin <peda@lysator.liu.se>
10419
10420 2011-11-15  Ben Walton <bwalton@artsci.utoronto.ca>  (tiny change)
10421             Bruno Haible  <bruno@clisp.org>
10422
10423         Fix some modules' file list.
10424         * modules/fstatat (Files): Add m4/lstat.m4.
10425         * modules/openat (Files): Likewise.
10426         * modules/unlinkat (Files): Likewise.
10427
10428 2011-11-15  Gary V. Vaughan  <gary@gnu.org>
10429
10430         maint.mk: fix tight-scope.mk generation in VPATH builds.
10431         * top/maint.mk (tight-scope.mk): Make sure to prefix file
10432         reference with $(srcdir) so that the file is found correctly even
10433         when running `make syntax-check' in a VPATH build.
10434
10435 2011-11-13  Bruno Haible  <bruno@clisp.org>
10436             Jim Meyering  <meyering@redhat.com>
10437
10438         Silence successful tests that use 'compare' on AIX, HP-UX, Solaris.
10439         * tests/init.sh (compare): Remove "No differences encountered" or
10440         synonymous output from the 'diff' program.
10441
10442 2011-11-13  Bruno Haible  <bruno@clisp.org>
10443
10444         Makefile: Tweak indentation.
10445         * Makefile: Use tab as first character in every line that contains rule
10446         commands.
10447
10448 2011-11-13  Bruno Haible  <bruno@clisp.org>
10449
10450         Syntax check for copyright statements.
10451         * check-copyright: New file.
10452         * Makefile (sc_check_copyright): New rule.
10453
10454 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10455
10456         * build-aux/git-version-gen: Add --prefix to configure the tag
10457         match string.
10458
10459 2011-11-13  Simon Josefsson  <simon@josefsson.org>
10460
10461         * build-aux/git-version-gen: Add --help and --version.
10462
10463 2011-11-12  Jim Meyering  <meyering@redhat.com>
10464
10465         revamp the other test-exclude?.sh scripts to use init.sh, too
10466         * tests/test-exclude1.sh: Use init.sh.
10467         * tests/test-exclude2.sh: Likewise.
10468         * tests/test-exclude3.sh: Likewise.
10469         * tests/test-exclude4.sh: Likewise.
10470         * tests/test-exclude5.sh: Likewise.
10471         * tests/test-exclude6.sh: Likewise.
10472         * tests/test-exclude7.sh: Likewise.
10473         * tests/test-exclude8.sh: Likewise.
10474         * modules/exclude-tests (Files): List init.sh.
10475
10476         test-exclude2.sh, test-exclude5.sh: fail if test-exclude fails
10477         These shell scripts ignored failure of the binary test-exclude,
10478         so making the latter return 77 didn't cause them to be skipped.
10479         * tests/test-exclude5.sh: Exit with test-exclude's error status
10480         when that program fails.  Revamp to use init.sh.
10481         * tests/test-exclude2.sh: Likewise.
10482
10483         test-exclude: fix a typo
10484         * tests/test-exclude.c (main): Test for "leading_dir", not "leading-dir".
10485
10486 2011-11-11  Bruno Haible  <bruno@clisp.org>
10487
10488         obstack: Fix compilation error on MSVC 9.
10489         * lib/obstack.c (print_and_abort): Declare with _Noreturn specifier.
10490
10491 2011-11-11  Jim Meyering  <meyering@redhat.com>
10492
10493         test-exclude: skip tests rather than failing on deficient systems
10494         * tests/test-exclude.c (main): Skip tests that use FNM_CASEFOLD
10495         and FNM_LEADING_DIR on systems that lack the definitions.  This affects
10496         at least Solaris 9.  Reported and diagnosed by Dagobert Michelsen in
10497         http://thread.gmane.org/gmane.comp.gnu.grep.bugs/3947/focus=3950
10498
10499 2011-11-10  Bruno Haible  <bruno@clisp.org>
10500
10501         ptsname_r test: Avoid gcc warning on glibc systems.
10502         * tests/test-ptsname_r.c (null_ptr): New function.
10503         (test_errors): Use it.
10504
10505 2011-11-10  Bruno Haible  <bruno@clisp.org>
10506
10507         ptsname_r: Avoid compilation error on OSF/1 5.1.
10508         * lib/stdlib.in.h (ptsname_r): Override if REPLACE_PTSNAME_R is 1.
10509         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_PTSNAME_R.
10510         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): Set REPLACE_PTSNAME_R if the
10511         function is not declared or incompatibly declared.
10512         * modules/stdlib (Makefile.am): Substitute REPLACE_PTSNAME_R.
10513         * modules/ptsname_r (Depends-on, configure.ac): Update.
10514         * doc/glibc-functions/ptsname_r.texi: Mention the OSF/1 problems.
10515
10516 2011-11-10  Bruno Haible  <bruno@clisp.org>
10517
10518         fstatat: Make cross-compilation guess succeed everywhere except on AIX.
10519         * m4/fstatat.m4 (gl_FUNC_FSTATAT): Require AC_CANONICAL_HOST.
10520         When cross-compiling, guess yes on all platforms except AIX.
10521         Reported by Ludovic Courtès <ludo@gnu.org>.
10522
10523 2011-11-09  Bruno Haible  <bruno@clisp.org>
10524
10525         ptsname_r tests: Fix bugs.
10526         * tests/test-ptsname_r.c (test_errors): Change return type to 'void'.
10527         Fix ptsname_r calls. Reduce loop rounds to a reasonable amount.
10528
10529 2011-11-09  Paul Eggert  <eggert@cs.ucla.edu>
10530
10531         fstatat: work with cross-compilation
10532         Problem reported by Ludovic Courtès in
10533         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00136.html>.
10534         * m4/fstatat.m4 (gl_FUNC_FSTATAT): When cross-compiling, report
10535         "cross-compiling" and assume the bug is present.  Replace
10536         FSTATAT_ZERO_FLAG_BROKEN with HAVE_WORKING_FSTATAT_ZERO_FLAG with
10537         an inverted sense, to be more conservative about our assumptions.
10538         * lib/fstatat.c (rpl_fstatat): Adjust to renamed macro.
10539
10540 2011-11-09  Bruno Haible  <bruno@clisp.org>
10541
10542         Improve MODULES.html output.
10543         * modules/mkfifoat (Description): Use the word "function".
10544         * modules/readlinkat (Description): Likewise.
10545         * modules/symlinkat (Description): Likewise.
10546
10547 2011-11-09  Eric Blake  <eblake@redhat.com>
10548
10549         ptsname_r-tests: new test module
10550         * modules/ptsname_r-tests: New module.
10551         * tests/test-ptsname_r.c: New file.
10552
10553         ptsname_r: new module
10554         * modules/ptsname_r: New module.
10555         * m4/ptsname_r.m4 (gl_FUNC_PTSNAME_R): New file.
10556         * lib/ptsname.c (__ptsname_r): Split...
10557         * lib/ptsname_r.c: ...into new file.
10558         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
10559         (gl_STDLIB_H_DEFAULTS): Set witness defaults.
10560         * modules/stdlib (Makefile.am): Substitute witnesses.
10561         * lib/stdlib.in.h (ptsname_r): Declare it.
10562         * doc/glibc-functions/ptsname_r.texi (ptsname_r): Document it.
10563         * MODULES.html.sh (Misc): Likewise.
10564         * modules/ptsname (Depends-on): Alter dependency.
10565         * doc/posix-functions/ptsname.texi (ptsname): Mention new module.
10566
10567 2011-11-09  Jim Meyering  <meyering@redhat.com>
10568
10569         announce-gen: be more concise when there's only one URL+tarball
10570         * build-aux/announce-gen (get_tool_versions): When you distribute
10571         only one type of tarball, combine the first two "Here are..."
10572         sections and make the key-checking grammar independent of
10573         how many tarballs there are.
10574
10575 2011-11-09  Eric Blake  <eblake@redhat.com>
10576
10577         openpty: provide a stub on mingw
10578         * lib/pty.in.h (includes): Provide forward declarations.
10579         * lib/openpty.c (openpty) [mingw]: Provide ENOSYS stub.
10580
10581         raise: fix mingw handling of SIGPIPE
10582         * lib/sigprocmask.c (_gl_raise_SIGPIPE): Provide a return value.
10583
10584 2011-11-08  Bruno Haible  <bruno@clisp.org>
10585
10586         More conditional dependencies.
10587         * modules/faccessat (Depends-on): Add conditions.
10588         * modules/fchmodat (Depends-on): Likewise.
10589         * modules/fchownat (Depends-on): Likewise.
10590         * modules/fstatat (Depends-on): Likewise.
10591         * modules/mkfifoat (Depends-on): Likewise.
10592         * modules/readlinkat (Depends-on): Likewise.
10593         * modules/symlinkat (Depends-on): Likewise.
10594         * modules/unlinkat (Depends-on): Likewise.
10595         * modules/utimensat (Depends-on): Likewise.
10596         * modules/mkdirat (Depends-on): Add sys_stat. Add conditions.
10597         * modules/linkat (Depends-on): Refine the conditions.
10598         * modules/renameat (Depends-on): Likewise.
10599
10600 2011-11-08  Bruno Haible  <bruno@clisp.org>
10601
10602         faccessat: Move AC_LIBOBJ invocation to module description.
10603         * m4/faccessat.m4 (gl_PREREQ_FACCESSAT): New macro.
10604         (gl_FUNC_FACESSAT): Don't test for access() here. Move AC_LIBOBJ
10605         invocation from here...
10606         * modules/faccessat (configure.ac): ... to here. Invoke
10607         gl_PREREQ_FACCESSAT.
10608
10609 2011-11-08  Bruno Haible  <bruno@clisp.org>
10610
10611         faccessat: Simplify autoconf macro.
10612         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Don't require gl_FUNC_OPENAT,
10613         gl_FUNC_EUIDACCESS.
10614
10615 2011-11-08  Bruno Haible  <bruno@clisp.org>
10616
10617         renameat: Fix dependencies.
10618         * modules/renameat (Depends-on): Add stdbool.
10619
10620 2011-11-08  Bruno Haible  <bruno@clisp.org>
10621
10622         mkfifoat: Fix module description.
10623         * modules/mkfifoat (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR,
10624         not gl_UNISTD_MODULE_INDICATOR.
10625
10626 2011-11-08  Bruno Haible  <bruno@clisp.org>
10627
10628         fstatat: Remove unused dependency.
10629         * modules/fstatat (Depends-on): Remove fstat.
10630
10631 2011-11-08  Simon Josefsson  <simon@josefsson.org>
10632
10633         GNUmakefile: behave when Makefile is missing.
10634         * top/GNUmakefile: Always initialize _build-aux and _autoreconf.
10635
10636 2011-11-08  Bruno Haible  <bruno@clisp.org>
10637
10638         openat: Conditionalize dependencies.
10639         * lib/openat.c: Reduce the scope of some #includes.
10640         * modules/openat (Depends-on): Add conditions.
10641
10642 2011-11-07  Jim Meyering  <meyering@redhat.com>
10643
10644         maint.mk: extract GPG key ID without using a temporary file
10645         * top/maint.mk (gpg_key_ID): Extract GPG key ID from signed tag, but
10646         without using a temporary file.  Based on a suggestion from Werner Koch
10647         in http://thread.gmane.org/gmane.comp.encryption.gpg.devel/16496
10648
10649 2011-11-07  Eric Blake  <eblake@redhat.com>
10650
10651         grantpt: fix typo
10652         * lib/stdlib.in.h (grantpt): Check correct function.
10653
10654         maint.mk: silence new syntax check
10655         * top/maint.mk (sc_prohibit_dirent_without_use): Add missing @.
10656
10657 2011-11-06  Bruno Haible  <bruno@clisp.org>
10658
10659         Doc about floating-point and math API.
10660         * doc/posix-headers/float.texi: Mention problem with FLT_ROUNDS.
10661         * doc/posix-headers/math.texi: Mention problem with math_errhandling.
10662
10663 2011-11-06  Bruno Haible  <bruno@clisp.org>
10664
10665         stdalign tests: Skip the test when compiled by Sun C.
10666         * tests/test-stdalign.c (main): Skip the test on Sun C.
10667
10668 2011-11-06  Bruno Haible  <bruno@clisp.org>
10669
10670         ansi-c++-opt: Complete the 2011-06-05 change.
10671         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is found but
10672         does not support namespaces, set the variable to "no", not to ":".
10673
10674 2011-11-06  Paul Eggert  <eggert@cs.ucla.edu>
10675
10676         * doc/posix-headers/stdalign.texi (stdalign.h): Mention Sun review ID.
10677
10678 2011-11-06  Bruno Haible  <bruno@clisp.org>
10679
10680         copysignl: Fix result for zero argument on HP-UX 11 with HP C.
10681         * lib/copysignl.c (compute_minus_zerol) [HP-UX]: New function.
10682         (minus_zerol) [HP-UX]: New macro.
10683         (unary_minus) [HP-UX]: New function.
10684         (copysignl) [HP-UX]: Use unary_minus function.
10685
10686 2011-11-06  Bruno Haible  <bruno@clisp.org>
10687
10688         ldexp, ldexpf, ldexpl: Enhance tests.
10689         * tests/test-ldexp.h: New file, combining code from tests/test-ldexp.c
10690         and tests/test-ldexpl.c.
10691         * tests/test-ldexpl.c: (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO,
10692         LDEXP, MIN_EXP, MAX_EXP): New macros.
10693         Include test-ldexp.h.
10694         (main): Just call test_function.
10695         * tests/test-ldexp.c: Include float.h, isnand-nolibm.h, minus-zero.h,
10696         infinity.h, nan.h.
10697         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10698         MAX_EXP): New macros.
10699         Include test-ldexp.h.
10700         (x, y): Remove variables.
10701         (main): Just call test_function.
10702         * tests/test-ldexpf.c: Include float.h, isnanf-nolibm.h, minus-zero.h,
10703         infinity.h, nan.h.
10704         (DOUBLE, ISNAN, INFINITY, NAN, L_, MINUS_ZERO, LDEXP, MIN_EXP,
10705         MAX_EXP): New macros.
10706         Include test-ldexp.h.
10707         (x, y): Remove variables.
10708         (main): Just call test_function.
10709         * modules/ldexpl-tests (Files): Add tests/test-ldexp.h.
10710         * modules/ldexp-tests (Files): Add tests/test-ldexp.h,
10711         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10712         (Depends-on): Add isnand-nolibm, signbit, float.
10713         * modules/ldexpf-tests (Files): Add tests/test-ldexp.h,
10714         tests/minus-zero.h, tests/infinity.h, tests/nan.h.
10715         (Depends-on): Add isnanf-nolibm, signbit, float.
10716
10717 2011-11-06  Bruno Haible  <bruno@clisp.org>
10718
10719         math tests: Cosmetics.
10720         * tests/test-math-c++.cc: Reorder declarations.
10721
10722 2011-11-05  Bruno Haible  <bruno@clisp.org>
10723
10724         fma*: Simplify test.
10725         * tests/test-fma2.h (FORGIVE_GLIBC_BUG): Remove macro.
10726         (test_function): Remove all if (FORGIVE_GLIBC_BUG) statements.
10727
10728         Tests for module 'fmal'.
10729         * modules/fmal-tests: New file.
10730         * tests/test-fmal1.c: New file.
10731         * tests/test-fmal2.c: New file.
10732
10733         New module 'fmal'.
10734         * lib/math.in.h (fmal): New declaration.
10735         * lib/fmal.c: New file.
10736         * m4/fmal.m4: New file.
10737         * m4/math_h.m4 (gl_MATH_H): Test whethern fmal is declared.
10738         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAL, HAVE_FMAL, REPLACE_FMAL.
10739         * modules/math (Makefile.am): Substitute GNULIB_FMAL, HAVE_FMAL,
10740         REPLACE_FMAL.
10741         * modules/fmal: New file.
10742         * doc/posix-functions/fmal.texi: Mention the new module and the various
10743         bugs.
10744
10745         Tests for module 'fmaf'.
10746         * modules/fmaf-tests: New file.
10747         * tests/test-fmaf1.c: New file.
10748         * tests/test-fmaf2.c: New file.
10749
10750         New module 'fmaf'.
10751         * lib/math.in.h (fmaf): New declaration.
10752         * lib/fmaf.c: New file.
10753         * m4/fmaf.m4: New file.
10754         * m4/math_h.m4 (gl_MATH_H): Test whethern fmaf is declared.
10755         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMAF, HAVE_FMAF, REPLACE_FMAF.
10756         * modules/math (Makefile.am): Substitute GNULIB_FMAF, HAVE_FMAF,
10757         REPLACE_FMAF.
10758         * modules/fmaf: New file.
10759         * doc/posix-functions/fmaf.texi: Mention the new module and the various
10760         bugs.
10761
10762         Tests for module 'fma'.
10763         * modules/fma-tests: New file.
10764         * tests/test-fma1.c: New file.
10765         * tests/test-fma1.h: New file.
10766         * tests/test-fma2.c: New file.
10767         * tests/test-fma2.h: New file.
10768
10769         New module 'fma'.
10770         * lib/math.in.h (fma): New declaration.
10771         * lib/fma.c: New file.
10772         * m4/fma.m4: New file.
10773         * m4/fegetround.m4: New file.
10774         * m4/math_h.m4 (gl_MATH_H): Test whethern fma is declared.
10775         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMA, HAVE_FMA, REPLACE_FMA.
10776         * modules/math (Makefile.am): Substitute GNULIB_FMA, HAVE_FMA,
10777         REPLACE_FMA.
10778         * modules/fma: New file.
10779         * doc/posix-functions/fma.texi: Mention the new module and the various
10780         bugs.
10781
10782         Extend gl_MATHFUNC.
10783         * m4/mathfunc.m4 (gl_MATHFUNC): Accept an 4th parameter of INCLUDES.
10784         Support 'void' as argument type.
10785         * m4/rint.m4 (gl_FUNC_RINT): Update gl_MATHFUNC invocation.
10786
10787 2011-11-05  Jim Meyering  <meyering@redhat.com>
10788
10789         maint.mk: also prohibit inclusion of dirent.h without use
10790         * top/maint.mk (sc_prohibit_dirent_without_use): New rule.
10791
10792 2011-11-05  Bruno Haible  <bruno@clisp.org>
10793
10794         ldexpl tests: Avoid test failure on MSVC 9.
10795         * tests/test-ldexpl.c (main): Use a temporary variable for the expected
10796         value. Needed in order to enforce the conversion from a value greater
10797         than LDBL_MAX to Infinity.
10798
10799 2011-11-05  Bruno Haible  <bruno@clisp.org>
10800
10801         New modules 'at-internal', 'openat-h', split off from module 'openat'.
10802         * modules/at-internal: New file, extracted from modules/openat.
10803         * modules/openat-h: New file.
10804         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_OPENAT. Don't
10805         invoke gl_PREREQ_OPENAT and gl_MODULE_INDICATOR.
10806         * modules/openat (Description): Add reference to POSIX function.
10807         (Files): Remove lib/openat.h, lib/openat-proc.c.
10808         (Depends-on): Add at-internal, openat-h. Remove fdopendir, gettext-h,
10809         intprops, unistd.
10810         (configure.ac): Remove AC_LIBOBJ of openat-proc. Invoke
10811         gl_PREREQ_OPENAT, gl_MODULE_INDICATOR here. Invoke
10812         gl_FCNTL_MODULE_INDICATOR.
10813         (Include): Remove unistd.h, openat.h.
10814         * modules/areadlinkat (Files): Add lib/at-func.c.
10815         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10816         openat-die, openat-h, save-cwd.
10817         * modules/areadlinkat-with-size (Files): Add lib/at-func.c.
10818         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10819         openat-die, openat-h, save-cwd, unistd.
10820         * modules/faccessat (Files): Add lib/at-func.c, lib/openat-priv.h.
10821         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10822         openat-h, save-cwd. Remove fcntl-h, openat.
10823         * modules/fchmodat (Files): Remove lib/openat.h.
10824         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10825         openat, stdbool, unistd.
10826         * modules/fchownat (Files): Remove lib/openat.h.
10827         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10828         openat, stdbool, sys_stat.
10829         * modules/fdopendir (Files): Remove lib/openat-priv.h,
10830         lib/openat-proc.c.
10831         (Depends-on): Add at-internal.
10832         (condigure.ac): Remove AC_LIBOBJ of openat-proc.
10833         * modules/fstatat (Files): Remove lib/openat.h.
10834         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10835         stdbool, unistd.
10836         * modules/fts (Depends-on): Add openat-h.
10837         * modules/linkat (Depends-on): Add at-internal, openat-h. Remove
10838         openat.
10839         * modules/mkdirat (Files): Remove lib/openat.h.
10840         (Depends-on): Add at-internal, openat-h. Remove dirent, fcntl-h,
10841         openat, stdbool, sys_stat.
10842         * modules/mkfifoat (Files): Add lib/at-func.c.
10843         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10844         openat-h, save-cwd. Remove fcntl-h, openat.
10845         * modules/openat-die (Depends-on): Add openat-h. Remove openat.
10846         * modules/readlinkat (Files): Add lib/at-func.c.
10847         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10848         openat-h, save-cwd. Remove fcntl-h, openat.
10849         * modules/renameat (Depends-on): Add at-internal, openat-h. Remove
10850         openat.
10851         * modules/selinux-at (Files): Add lib/at-func.c.
10852         (Depends-on): Add at-internal, dosname, errno, extensions, fchdir,
10853         fcntl-h, openat-die, openat-h, save-cwd, unistd. Remove openat.
10854         * modules/symlinkat (Files): Add lib/at-func.c.
10855         (Depends-on): Add at-internal, dosname, errno, fchdir, openat-die,
10856         openat-h, save-cwd. Remove fcntl-h, openat.
10857         * modules/unlinkat (Files): Remove lib/openat.h.
10858         (Depends-on): Add at-internal, openat-h. Remove dirent, openat,
10859         stdbool.
10860         * modules/utimensat (Files): Add lib/at-func.c.
10861         (Depends-on): Add at-internal, dosname, errno, fchdir, fcntl-h,
10862         openat-die, openat-h, save-cwd.
10863         * modules/fchownat-tests (Depends-on): Add openat-h. Remove openat.
10864         * modules/fdutimensat-tests (Depends-on): Add openat.
10865         * modules/fstatat-tests (Depends-on): Add openat-h.
10866         * modules/readlinkat-tests (Depends-on): Add openat.
10867         * modules/symlinkat-tests (Depends-on): Add openat.
10868
10869 2011-11-05  Bruno Haible  <bruno@clisp.org>
10870
10871         openat: Include <stdbool.h>.
10872         * lib/openat.c: Include <stdbool.h>.
10873
10874 2011-11-04  Bruno Haible  <bruno@clisp.org>
10875
10876         fchownat, renameat, unlinkat: Fix dependencies.
10877         * modules/fchownat (Depends-on): Add fstatat.
10878         * modules/renameat (Depends-on): Likewise.
10879         * modules/unlinkat (Depends-on): Likewise.
10880
10881 2011-11-04  Paul Eggert  <eggert@cs.ucla.edu>
10882
10883         openat: remove direct dependency on dirent
10884         * lib/openat.h: Don't include <dirent.h>; it's no longer needed,
10885         and hasn't been needed ever since fdopendir was split into its own
10886         module on 2009-08-31.
10887         * modules/openat (Depends-on): Remove dirent.
10888
10889 2011-11-04  Bruno Haible  <bruno@clisp.org>
10890
10891         renameat: Optimize code size.
10892         * modules/renameat (configure.ac): Don't compile at-func2.c if
10893         REPLACE_RENAMEAT is 1.
10894
10895 2011-11-04  Bruno Haible  <bruno@clisp.org>
10896
10897         openat tests: Fix file list.
10898         * modules/openat-tests (Files): Add tests/test-open.h.
10899
10900 2011-11-04  Bruno Haible  <bruno@clisp.org>
10901
10902         openat, fchmodat, fchownat, linkat, renameat: Fix dependencies.
10903         * modules/fchmodat (Depends-on): Add openat-die.
10904         * modules/fchownat (Depends-on): Likewise.
10905         * modules/linkat (Depends-on): Likewise.
10906         * modules/renameat (Depends-on): Likewise.
10907         * modules/openat (Depends-on): Add dirent.
10908
10909 2011-11-04  Jim Meyering  <meyering@redhat.com>
10910
10911         at-func*.c: fix comments
10912         * lib/at-func2.c: Correct/improve first-line comment.
10913         * lib/at-func.c: Correct grammar in first-line comment.
10914
10915 2011-11-04  Bruno Haible  <bruno@clisp.org>
10916
10917         New module 'mkdirat', split off from module 'openat'.
10918         * m4/mkdirat.m4: New file. extracted from m4/openat.m4.
10919         * m4/openat.m4 (gl_FUNC_OPENAT): Don't require gl_SYS_STAT_H_DEFAULTS.
10920         Don't test for mkdirat. Don't set GNULIB_MKDIRAT, HAVE_MKDIRAT.
10921         * modules/mkdirat: New file, extracted from modules/openat.
10922         * modules/openat (Files): Remove lib/mkdirat.c.
10923         (Depends-on): Remove mkdir.
10924         (configure.ac): Remove AC_LIBOBJ of mkdirat.
10925         (Include): Remove <sys/stat.h>.
10926         * modules/mkdirat-tests: New file, extracted from modules/openat-tests.
10927         * modules/openat-tests (Files): Remove tests/test-mkdirat.c,
10928         tests/test-mkdir.h.
10929         (Depends-on): Remove ignore-value.
10930         (Makefile.am): Remove rules for test-mkdirat.
10931         * doc/posix-functions/mkdirat.texi: Mention module 'mkdirat' instead
10932         of module 'openat'.
10933         * NEWS: Mention the change.
10934
10935 2011-11-04  Bruno Haible  <bruno@clisp.org>
10936
10937         closedir: Avoid warning on mingw.
10938         * lib/closedir.c: Include <unistd.h>.
10939
10940 2011-11-04  Bruno Haible  <bruno@clisp.org>
10941
10942         New module 'fstatat', split off from module 'openat'.
10943         * lib/openat.h (statat, lstatat): Enable only if GNULIB_FSTATAT is
10944         defined.
10945         * m4/fstatat.m4: New file. extracted from m4/openat.m4.
10946         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FSTATAT. Don't invoke
10947         gl_FUNC_FSTATAT.
10948         (gl_FUNC_FSTATAT): Moved to m4/fstatat.m4.
10949         * modules/fstatat: New file, extracted from modules/openat.
10950         * modules/openat (Files): Remove lib/fstatat.c.
10951         (Depends-on): Remove lstat.
10952         (configure.ac): Remove AC_LIBOBJ of fstatat.
10953         * modules/fstatat-tests: New file, extracted from modules/openat-tests.
10954         * modules/openat-tests (Files): Remove tests/test-fstatat.c,
10955         tests/test-lstat.h, tests/test-stat.h.
10956         (Depends-on): Remove getcwd-lgpl.
10957         (Makefile.am): Remove rules for test-fstatat.
10958         * doc/posix-functions/fstatat.texi: Mention module 'fstatat' instead
10959         of module 'openat'.
10960         * NEWS: Mention the change.
10961         * modules/getcwd (Depends-on): Add fstatat.
10962         * modules/linkat (Depends-on): Likewise.
10963         * modules/mkfifoat-tests (Depends-on): Likewise.
10964         * modules/utimensat (Depends-on): Add fstatat. Remove openat.
10965
10966 2011-11-03  Bruno Haible  <bruno@clisp.org>
10967
10968         New module 'unlinkat', split off from module 'openat'.
10969         * m4/unlinkat.m4: New file, extracted from m4/openat.m4.
10970         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_UNLINKAT,
10971         REPLACE_UNLINKAT, HAVE_UNLINKAT. Don't test for unlinkat.
10972         * modules/unlinkat: New file, extracted from modules/openat. Correct
10973         the dependency conditions.
10974         * modules/openat (Files): Remove lib/unlinkat.c.
10975         (Depends-on): Remove rmdir, unlink.
10976         (configure.ac): Remove AC_LIBOBJ of unlinkat.
10977         * modules/unlinkat-tests: New file, extracted from modules/openat-tests.
10978         * modules/openat-tests (Files): Remove tests/test-unlinkat.c,
10979         tests/test-rmdir.h, tests/test-unlink.h.
10980         (Depends-on): Remove unlinkdir.
10981         (Makefile.am): Remove rules for test-unlinkat.
10982         * doc/posix-functions/unlinkat.texi: Mention module 'unlinkat' instead
10983         of module 'openat'.
10984         * NEWS: Mention the change.
10985         * modules/linkat-tests (Depends-on): Add unlinkat.
10986         * modules/mkfifoat-tests (Depends-on): Likewise.
10987         * modules/readlinkat-tests (Depends-on): Likewise.
10988
10989 2011-11-02  Bruno Haible  <bruno@clisp.org>
10990
10991         New module 'fchmodat', split off from module 'openat'.
10992         * lib/openat.h (chmodat, lchmodat): Enable only if GNULIB_FCHMODAT is
10993         defined.
10994         * m4/fchmodat.m4: New file, extracted from m4/openat.m4.
10995         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHMODAT. Don't test
10996         for fchmodat, lchmod. Don't set HAVE_FCHMODAT.
10997         * modules/fchmodat: New file, extracted from modules/openat.
10998         * modules/openat (Files): Remove lib/fchmodat.c.
10999         (configure.ac): Remove AC_LIBOBJ of fchmodat.
11000         * modules/fchmodat-tests: New file, extracted from modules/openat-tests.
11001         * modules/openat-tests (Files): Remove tests/test-fchmodat.c.
11002         (Makefile.am): Remove rules for test-fchmodat.
11003         * doc/posix-functions/fchmodat.texi: Mention module 'fchmodat' instead
11004         of module 'openat'.
11005         * NEWS: Mention the change.
11006
11007 2011-11-02  Jim Meyering  <meyering@redhat.com>
11008
11009         putenv: indent #definition of "environ" to placate cppi
11010         * lib/putenv.c (environ): Make indentation reflect cpp nesting.
11011
11012         gitlog-to-changelog: provide a ChangeLog-repair mechanism
11013         Git logs are often treated as immutable, because editing them
11014         changes the SHA1 checksums of all descendants.  Thus, errors in
11015         git logs tend to stay there forever.  However, when we generate
11016         a ChangeLog file -- typically for distribution -- from that git log,
11017         we can actually make corrections in the generated file.  The key
11018         lies in recording in machine-readable/applicable form the desired
11019         corrections.  See --help for description and an example.
11020         * build-aux/gitlog-to-changelog (parse_amend_file): New function.
11021         (usage): Describe it; alphabetize option descriptions.
11022         (main): Honor the new option, carefully.
11023
11024 2011-11-01  Jim Meyering  <meyering@redhat.com>
11025
11026         gitlog-to-changelog: avoid an infloop
11027         * build-aux/gitlog-to-changelog: Don't infloop for a commit log
11028         that ends up being empty.
11029
11030 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
11031
11032         * MODULES.html.sh: Fix sed-script shell quoting and locale issues.
11033         (func_module): Replace foo=` ... sed -e COMPLICATED ... ` with
11034         bar=COMPLICATED; foo=` ... sed -e "$bar" ... ` when COMPLICATED
11035         contains (possibly-quoted) backslashes.  This should avoid
11036         all-too-common shell bugs if COMPLICATED contains backslashes in
11037         the "wrong" places.  Reported by David Evans in
11038         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00013.html>.
11039         When 'sed' uses character ranges like A-Z, invoke it in the C locale,
11040         because we want ASCII ranges.  Is there some reason we don't use
11041         the C locale everywhere in this script?
11042         (func_module, top level): Avoid unwanted pathname expansion when
11043         $repo_url_prefix or $repo_url_suffix_repl contain shell
11044         metacharacters like '?' and '*'.
11045
11046 2011-11-01  Bruno Haible  <bruno@clisp.org>
11047
11048         fchownat: Improve description.
11049         * modules/fchownat (Description): Add link to function.
11050
11051 2011-11-01  Paul Eggert  <eggert@cs.ucla.edu>
11052
11053         * tests/test-stdalign.c (TEST_ALIGNMENT): Shrink back to 8.
11054         mingw supports alignments only up to 8 (!).  Reported by Bruno Haible in
11055         <http://lists.gnu.org/archive/html/bug-gnulib/2011-11/msg00006.html>.
11056         * doc/posix-headers/stdalign.texi (stdalign.h): Document this.
11057
11058 2011-11-01  Bruno Haible  <bruno@clisp.org>
11059
11060         alignof: Avoid collision with stdalign module.
11061         * lib/alignof.h (alignof): Remove macro.
11062         * NEWS: Mention the change.
11063         Reported by Paul Eggert.
11064
11065 2011-11-01  Bruno Haible  <bruno@clisp.org>
11066
11067         New module 'fchownat', split off from module 'openat'.
11068         * lib/openat.h (chownat, lchownat): Enable only if GNULIB_FCHOWNAT is
11069         defined.
11070         * m4/fchownat.m4: New file, extracted from m4/openat.m4.
11071         * m4/openat.m4 (gl_FUNC_OPENAT): Don't set GNULIB_FCHOWNAT. Don't
11072         invoke gl_FUNC_FCHOWNAT.
11073         (gl_FUNC_FCHOWNAT_DEREF_BUG, gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG,
11074         gl_FUNC_FCHOWNAT): Moved to m4/fchownat.m4.
11075         * modules/fchownat: New file, extracted from modules/openat.
11076         * modules/openat (Files): Remove lib/fchownat.c.
11077         (Depends-on): Remove lchown.
11078         (configure.ac): Remove AC_LIBOBJ of fchownat.
11079         * modules/fchownat-tests: New file, extracted from modules/openat-tests.
11080         * modules/openat-tests (Files): Remove tests/test-fchownat.c,
11081         tests/test-chown.h, tests/test-lchown.h, tests/nap.h.
11082         (Depends-on): Remove mgetgroups, usleep, stat-time.
11083         (configure.ac): Remove test for getegid.
11084         (Makefile.am): Remove rules for test-fchownat.
11085         * doc/posix-functions/fchownat.texi: Mention module 'fchownat' instead
11086         of module 'openat'.
11087         * NEWS: Mention the change.
11088
11089 2011-10-31  Paul Eggert  <eggert@cs.ucla.edu>
11090
11091         stdalign: port better to MSVC and to Sun C 5.11
11092         This fixes some of the problems reported by Bruno Haible in
11093         <http://lists.gnu.org/archive/html/bug-gnulib/2011-10/msg00300.html>.
11094         * doc/posix-headers/stdalign.texi (stdalign.h): Document more
11095         shortcomings of MSVC and of Sun C 5.11.
11096         * lib/stdalign.in.h (_Alignas): Omit bogus extra parenthesis
11097         around __declspec arg.
11098         * modules/stdalign-tests (Files): Add tests/macros.h.
11099         * tests/test-stdalign.c: Do not include <stdlib.h>; no longer needed.
11100         Include macros.h, for ASSERT.
11101         (DECLARE_ALIGNED): Remove.
11102         (TEST_ALIGNMENT): Define to 16 if alignment is supported (more likely
11103         to catch bug), and to 1 if not (simplifies the rest of the code).
11104         (CHECK_STATIC): Always declare the alignment test vars; that's simpler.
11105         (CHECK_AUTO): Remove.
11106         (CHECK_ALIGNED): Check only the alignment of the static vars,
11107         since auto var alignment isn't supported by Sun C 5.11.
11108         (CHECK_TYPES): Remove.  All uses replaced by inline code, so that
11109         ASSERT failures are easier to diagnose.
11110
11111 2011-10-31  Bruno Haible  <bruno@clisp.org>
11112
11113         doc about some IRIX 5.3 problems.
11114         * doc/posix-functions/getpwnam_r.texi: Mention incompatible declaration
11115         on IRIX 5.3.
11116         * doc/posix-headers/poll.texi: Mention missing nfds_t on IRIX 5.3.
11117         * doc/posix-functions/ptsname.texi: Mention missing declaration on IRIX
11118         5.3.
11119         * doc/posix-functions/grantpt.texi: Likewise.
11120         * doc/posix-functions/unlockpt.texi: Likewise.
11121         * doc/posix-functions/lgamma.texi: Likewise.
11122         * doc/posix-functions/nextafter.texi: Likewise.
11123         * doc/posix-functions/remainder.texi: Likewise.
11124         * doc/posix-functions/select.texi: Mention misplaced declaration on
11125         IRIX 5.3.
11126         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11127
11128 2011-10-31  Dmitry V. Levin  <ldv@altlinux.org>
11129
11130         gitlog-to-changelog: fix git-log invocation.
11131         git-log mishandles date strings before 1970-01-01 UTC, and there is
11132         no use to specify --since=1970-01-01 by default anyway.
11133         * build-aux/gitlog-to-changelog: By default, when no --since option
11134         was given, do not specify explicit --since option to git-log.
11135
11136 2011-10-30  Dmitry V. Levin  <ldv@altlinux.org>
11137
11138         gitlog-to-changelog: new option --append-dot.
11139         * build-aux/gitlog-to-changelog: New option --append-dot, makes the
11140         first non-blank line of each commit message terminated with a dot.
11141
11142 2011-10-30  Bruno Haible  <bruno@clisp.org>
11143
11144         ffsl, ffsll: Avoid compilation error due to 'restrict'.
11145         * lib/ffsl.h: Include <config.h>.
11146         Suggested by Tom G. Christensen <tgc@jupiterrise.com>.
11147
11148 2011-10-30  Jim Meyering  <meyering@redhat.com>
11149
11150         GNUmakefile: reenable "make syntax-check" for most projects
11151         Since Friday's commit 05e2d798, "maint.mk: don't maintain a second
11152         build-aux variable", "syntax-check" would do nothing but succeed with
11153         the "No version control files detected..." diagnostic (unless you
11154         happened to override _build-aux via cfg.mk).
11155         * top/GNUmakefile (_autoreconf, _build-aux): Move default definitions
11156         to precede inclusion of maint.mk.  Otherwise, these variables would
11157         be used undefined in any project that does not override the default.
11158
11159 2011-10-29  Dmitry V. Levin  <ldv@altlinux.org>
11160
11161         gitlog-to-changelog: treat a message with only blank lines as empty.
11162         * build-aux/gitlog-to-changelog: Move the code that removes leading and
11163         trailing blank lines before the code that issues a warning about an
11164         empty commit message.
11165
11166 2011-10-30  Jim Meyering  <meyering@redhat.com>
11167
11168         test-parse-datetime.c: avoid new DST-related false positive test failure
11169         * tests/test-parse-datetime.c (gmt_offset): Determine the "gmt_offset"
11170         based on the time/date we'll convert, not the current time.
11171         Otherwise, the moment we cross a DST boundary like today's in
11172         Europe, (CEST to CET), that offset ends up being one hour off.
11173
11174 2011-10-27  Bruno Haible  <bruno@clisp.org>
11175
11176         fstat: Tweak documentation.
11177         * modules/fstat (Description): More precise description.
11178
11179 2011-10-27  Bruno Haible  <bruno@clisp.org>
11180
11181         Update documentation regarding 'largefile' module.
11182         * doc/posix-functions/fstat.texi: Tweak wording.
11183         * doc/posix-functions/opendir.texi: Mention that the module fixes the
11184         problems with huge directories and/or small ino_t types.
11185         * doc/posix-functions/readdir.texi: Likewise.
11186         * doc/posix-functions/rewinddir.texi: Likewise.
11187
11188 2011-10-28  Gary V. Vaughan  <gary@gnu.org>
11189
11190         maint.mk: don't maintain a second build-aux variable.
11191         * maint.mk (build_aux): Removed.  The maintainer-makefile module
11192         depends on GNUmakefile, which already maintains a cfg.mk
11193         overridable $(_build-aux) for projects with a non-standard
11194         build-aux directory location, although without the $(srcdir)
11195         prefix.  Use that variable consistently instead of introducing a
11196         second one.  Adjust all call sites.
11197
11198 2011-10-27  Paul Eggert  <eggert@cs.ucla.edu>
11199
11200         Add stdalign module and use it in other modules.
11201         This is based on a previous proposal by Bruno Haible
11202         <https://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00226.html>.
11203
11204         stdalign: new module
11205         * doc/posix-headers/stdalign.texi, lib/stdalign.in.h, m4/stdalign.m4:
11206         * modules/stdalign: New files.
11207         * MODULES.html.sh (c1x_core_properties): Add stdalign.
11208         * doc/gnulib.texi (Header File Substitutes): Add stdalign.
11209
11210         stdalign-tests: new module
11211         * modules/stdalign-tests, tests/test-stdalign.c: New files.
11212
11213         argp: use stdalign
11214         * lib/argp-parse.c: Include <stdalign.h>.
11215         (alignof): Remove.
11216         * modules/argp (Depends-on): Add stdalign.
11217
11218         crypto libraries: use stdalign
11219         * lib/md4.c, lib/md5.c, lib/sha1.c, lib/sha256.c, lib/sha512.c:
11220         Include <stdalign.h> and <stdint.h>.  Do not include <stddef.h>.
11221         Do not include <stdlib.h> twice, in md4.c.
11222         (UNALIGNED_P): Simplify by using alignof.  Use uintptr_t, not size_t,
11223         because we are accessing a pointer's bit-pattern, not a size.
11224         * modules/crypto/gc-md4 (Depends-on): Add stdalign.
11225         * modules/crypto/gc-md5, modules/crypto/gc-sha1, modules/crypto/md4:
11226         * modules/crypto/md5, modules/crypto/sha1, modules/crypto/sha256:
11227         * modules/crypto/sha512: Likewise.
11228
11229         sys_socket: use stdalign, not alignof
11230         * lib/sys_socket.in.h: Include <stdalign.h> instead of <alignof.h>.
11231         * modules/sys_socket (Depends-on): Depend on stdalign, not alignof.
11232
11233 2011-10-27  Bruno Haible  <bruno@clisp.org>
11234
11235         raise test: Avoid a test failure on Linux/MIPS.
11236         * tests/test-raise.c (main): Try raising signal 199, not 99. Needed
11237         because 99 is a valid signal on Linux/MIPS.
11238
11239 2011-10-27  Bruno Haible  <bruno@clisp.org>
11240
11241         nonblocking tests: Fix test failure on Linux/MIPS.
11242         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/MIPS]:
11243         Set to 270000.
11244
11245 2011-10-27  Bruno Haible  <bruno@clisp.org>
11246
11247         utimensat: Work around problem on Linux/hppa.
11248         * lib/utimensat.c (rpl_utimensat) [Linux/hppa]: Reject invalid tv_nsec
11249         values.
11250         * doc/posix-functions/utimensat.texi: Mention the problem on Linux/hppa.
11251
11252 2011-10-25  Jim Meyering  <meyering@redhat.com>
11253
11254         maint.mk: fix a bug in sc_prohibit_stddef_without_use
11255         * top/maint.mk (sc_prohibit_stddef_without_use): Don't require / *\(/
11256         after symbols like NULL, size_t, etc.
11257         Reported by Alfred M. Szmidt.
11258
11259         maint.mk: exempt ENODATA from a syntax-check rule
11260         * top/maint.mk (gl_extract_significant_defines_): Also exempt ENODATA
11261         from the sc_prohibit_always-defined_macros syntax-check rule.
11262         Add a comment.  See this for more details:
11263         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739/focus=28795
11264
11265 2011-10-23  Jim Meyering  <meyering@redhat.com>
11266
11267         fts: close parent dir FD before returning from post-traversal fts_read
11268         The problem: the fts-using "mkdir -p A/B; rm -rf A" would attempt to
11269         unlink A, even though an FD open on A remained.  This is suboptimal
11270         (holding a file descriptor open longer than needed), but otherwise not
11271         a problem on Unix-like kernels.  However, on Cygwin with certain Novell
11272         file systems, (see http://cygwin.com/ml/cygwin/2011-10/msg00365.html),
11273         that represents a real problem: it causes the removal of A to fail
11274         with e.g., "rm: cannot remove `A': Device or resource busy"
11275
11276         fts visits each directory twice and keeps a cache (fts_fd_ring) of
11277         directory file descriptors.  After completing the final, FTS_DP,
11278         visit of a directory, RESTORE_INITIAL_CWD intended to clear the FD
11279         cache, but then proceeded to add a new FD to it via the subsequent
11280         FCHDIR (which calls cwd_advance_fd and i_ring_push).  Before, the
11281         final file descriptor would be closed only via fts_close's call to
11282         fd_ring_clear.  Now, it is usually closed earlier, via the final
11283         FTS_DP-returning fts_read call.
11284         * lib/fts.c (restore_initial_cwd): New function, converted from
11285         the macro.  Call fd_ring_clear *after* FCHDIR, not before it.
11286         Update callers.
11287         Reported by Franz Sirl via the above URL, with analysis by Eric Blake
11288         in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28739
11289
11290 2011-10-23  Gary V. Vaughan  <gary@gnu.org>
11291             Bruno Haible  <bruno@clisp.org>
11292             Jim Meyering  <jim@meyering.net>
11293
11294         readme-release: improve safety of release prep instructions.
11295         * README-release: Don't git pull all branches when only master
11296         is needed for the release process.
11297         Run make maintainer-clean before changing trees and merging.
11298         Don't try to run ./configure right after git pull in case files
11299         that influence the bootstrap process have changed, move the
11300         ./configure step to after running ./bootstrap.
11301         Don't bootstrap "one last time"... it's the first time!
11302
11303 2011-10-22  Bruno Haible  <bruno@clisp.org>
11304
11305         errno, strerror-override: Support for MSVC 10.
11306         * lib/errno.in.h (GNULIB_defined_ETXTBSY): Remove macro.
11307         (ENOMSG, EIDRM, ENOLINK, EPROTO, EBADMSG, EOVERFLOW, ENOTSUP,
11308         ENETRESET, ECONNABORTED, ECANCELED, EINPROGRESS, EALREADY, ENOTSOCK,
11309         EDESTADDRREQ, EMSGSIZE, EPROTOTYPE, ENOPROTOOPT, EPROTONOSUPPORT,
11310         EOPNOTSUPP, EAFNOSUPPORT, EADDRINUSE, EADDRNOTAVAIL, ENETDOWN,
11311         ENETUNREACH, ECONNRESET, ENOBUFS, EISCONN, ENOTCONN, ETIMEDOUT,
11312         ECONNREFUSED, ELOOP, EHOSTUNREACH, EWOULDBLOCK, ETXTBSY) [Win32]:
11313         Assign values compatible with MSVC 10.
11314         (ENODATA, ENOSR, ENOSTR, ENOTRECOVERABLE, EOWNERDEAD, ETIME, EOTHER):
11315         New macros.
11316         (GNULIB_defined_EWINSOCK): New macro.
11317         * lib/strerror-override.c (strerror_override): Update accordingly.
11318         * lib/strerror-override.h: Likewise.
11319         * lib/w32sock.h (set_winsock_errno): Map those WSA* values that are no
11320         longer equal to the corresponding errno value.
11321         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11322
11323 2011-10-22  Bruno Haible  <bruno@clisp.org>
11324
11325         perror: Recognize when test program crashes.
11326         * m4/perror.m4 (gl_FUNC_PERROR): If the test program crashes due to
11327         strerror, set gl_cv_func_perror_works to no.
11328         Reported by Daniel Richard G. <skunk@iskunk.org>.
11329
11330         perror: Fix indentation.
11331         * m4/perror.m4 (gl_FUNC_PERROR): Fix indentation.
11332
11333 2011-10-22  Bruno Haible  <bruno@clisp.org>
11334
11335         isfinite, isinf, isnan, signbit: Don't define as a macro in C++.
11336         * lib/math.in.h (_GL_MATH_CXX_REAL_FLOATING_DECL_1,
11337         _GL_MATH_CXX_REAL_FLOATING_DECL_2): nEW MACROS.
11338         (isfinite, isinf, isnan, signbit): In C++, define as overloaded
11339         functions, not as a macro.
11340         * tests/test-math-c++.cc (REAL_FLOATING_CHECK, OVERLOADED_CHECK): New
11341         macros.
11342         (isfinite, isinf, isnan, signbit): Check overloaded functions and
11343         absence of macro.
11344         Suggested by Eric Blake.
11345         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
11346
11347 2011-10-21  Bruno Haible  <bruno@clisp.org>
11348
11349         relocatable-prog-wrapper: Don't leave object files behind.
11350         * build-aux/install-reloc: Re-synchronize list of .o files to be
11351         removed with list of compilation units.
11352
11353 2011-10-20  Bruno Haible  <bruno@clisp.org>
11354
11355         openpty, posix_openpt: Remove code duplication.
11356         * lib/posix_openpt.c: Add comments about platforms, from lib/openpty.c.
11357         * lib/openpty.c: Include <stdlib.h>.
11358         (openpty): Use posix_openpt on all platforms except IRIX.
11359         * modules/openpty (Depends-on): Add posix_openpt. Add conditions.
11360
11361 2011-10-20  Bruno Haible  <bruno@clisp.org>
11362
11363         unlockpt: Detect invalid argument.
11364         * lib/unlockpt.c: Include <fcntl.h>.
11365         (unlockpt): Check whether fd is valid, using fcntl().
11366         * modules/unlockpt (Depends-on): Add fcntl-h.
11367
11368 2011-10-20  Bruno Haible  <bruno@clisp.org>
11369
11370         openpty: Avoid compilation error on AIX 6.1.
11371         * lib/pty.in.h [AIX]: Include <sys/ioctl.h>, for 'struct winsize'.
11372
11373 2011-10-20  Bruno Haible  <bruno@clisp.org>
11374
11375         posix_openpt: Support for OpenBSD.
11376         * lib/posix_openpt.c [OpenBSD]: Include <sys/ioctl.h>, <sys/tty.h>.
11377         (posix_openpt) [OpenBSD]: New code.
11378         * lib/grantpt.c: Include <fcntl.h>.
11379         (grantpt) [OpenBSD]: Only test whether fd is valid, nothing else.
11380         * modules/grantpt (Depends-on): Add fcntl-h.
11381
11382 2011-10-20  Bruno Haible  <bruno@clisp.org>
11383
11384         posix_openpt test: Coding style.
11385         * tests/test-posix_openpt.c: Use GNU coding style.
11386
11387 2011-10-20  Bruno Haible  <bruno@clisp.org>
11388
11389         grantpt: Support --avoid=pt_chown.
11390         * modules/grantpt (Files): Add lib/pty-private.h.
11391
11392 2011-10-20  Bruno Haible  <bruno@clisp.org>
11393
11394         posix_openpt: Fix autoconf macro.
11395         * m4/posix_openpt.m4 (gl_FUNC_POSIX_OPENPT): Fix variable name. Remove
11396         unneeded check for _getpty.
11397
11398 2011-10-20  Bruno Haible  <bruno@clisp.org>
11399
11400         openpty: Update comments.
11401         * lib/openpty.c: Add comments about Minix.
11402
11403 2011-10-19  Eric Blake  <eblake@redhat.com>
11404
11405         openpty: relax license
11406         * modules/openpty (License): Change from LGPLv3+ to LGPLv2+.
11407
11408         pt_chown: use configmake to simplify build
11409         * modules/pt_chown (Makefile.am): Drop line guaranteed by configmake.
11410
11411         ptsname and others: relax license
11412         * modules/grantpt (License): Change from LGPLv3+ to LGPLv2+.
11413         * modules/unlockpt (License): Likewise.
11414         * modules/pt_chown (License): Likewise.
11415         * modules/ptsname (License): Likewise.
11416         * modules/ttyname_r (License): Likewise.
11417
11418 2011-10-19  Jim Meyering  <meyering@redhat.com>
11419
11420         posix_openpt: remove spurious #endif
11421         * lib/posix_openpt.c (posix_openpt): Remove spurious #endif.
11422
11423 2011-10-19  Gary V. Vaughan  <gary@gnu.org>
11424
11425         maint.mk: Respect $(build_aux) in web-manual rule.
11426         * top/maint.mk (web-manual): Find gen-announce script in user's
11427         $(build_aux) directory instead of hard-coding 'build-aux'.
11428
11429 2011-10-19  Bruno Haible  <bruno@clisp.org>
11430
11431         posix_openpt: Fix compilation error.
11432         * lib/posix_openpt.c (posix_openpt): Renamed from posix_openpty.
11433         * doc/posix-functions/posix_openpt.texi: Mention ENOENT error code.
11434         Mention the openpty module as an alternative.
11435
11436 2011-10-19  Bruno Haible  <bruno@clisp.org>
11437
11438         Support for old NeXTstep 3.3 frexp().
11439         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Check for alarm. Limit the
11440         execution time of the test to 5 seconds.
11441         Reported by Daniel Richard G. <skunk@iskunk.org>.
11442
11443 2011-10-19  Bruno Haible  <bruno@clisp.org>
11444
11445         Support for old NeXTstep 3.3 sed.
11446         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): In the sed address
11447         part, use /.../, not \|...|. Escape periods in the header file name.
11448         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
11449         Reported by Daniel Richard G. <skunk@iskunk.org>.
11450
11451 2011-10-18  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11452
11453         Support for old NeXTstep 3.3 gcc.
11454         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Write
11455         'defined __STRICT_ANSI__', not '__STRICT_ANSI__'.
11456         * lib/math.in.h (_GL_NUM_UINT_WORDS etc.): Likewise.
11457         * lib/spawn.in.h (_Restrict_arr_): Likewise.
11458         * lib/regex.h (_Restrict_arr_): Likewise.
11459         * lib/regex_internal.h (re_token_t): Likewise.
11460         * lib/regexec.c (check_node_accept_bytes): Likewise.
11461         * tests/test-printf-posix.c (func1, func2, func3, func4): Likewise.
11462
11463 2011-10-18  Eric Blake  <eblake@redhat.com>
11464
11465         posix_openpt: new module
11466         * modules/posix_openpt: New module.
11467         * m4/posix_openpt.m4: New file.
11468         * lib/posix_openpt.c: Likewise.
11469         * m4/stdlib_h.m4 (gl_STDLIB_H): Check for decl.
11470         (gl_STDLIB_H_DEFAULTS): Set defaults.
11471         * modules/stdlib (Makefile.am): Substitute macros.
11472         * lib/stdlib.in.h (posix_openpt): Declare.
11473         * MODULES.html.sh (systems lacking POSIX:2008): Document it.
11474         * doc/posix-functions/posix_openpt.texi (posix_openpt): Likewise.
11475         * modules/posix_openpt-tests: New test module.
11476         * tests/test-posix_openpt.c: New test.
11477
11478 2011-10-15  Bruno Haible  <bruno@clisp.org>
11479
11480         xstrtoll: Fix compilation failure.
11481         * lib/xstrtol.c (ULLONG_MAX, LLONG_MAX, LLONG_MIN): New macros, taken
11482         from lib/strtol.c.
11483         * doc/posix-headers/limits.texi: Mention missing numerical limits on
11484         some platforms.
11485         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
11486
11487 2011-10-15  Bruno Haible  <bruno@clisp.org>
11488
11489         vasnprintf: Optimize bit search operation.
11490         * lib/vasnprintf.c (divide): Use optimizations from integer_length.c.
11491         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require
11492         gl_DOUBLE_EXPONENT_LOCATION.
11493         * modules/vasnprintf (Files): Add m4/exponentd.m4.
11494         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11495         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11496         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11497         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11498         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11499         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11500         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11501         * m4/isnand.m4 (gl_PREREQ_ISNAND): Use AC_REQUIRE.
11502
11503 2011-10-15  Bruno Haible  <bruno@clisp.org>
11504
11505         vasnprintf: Fix comments.
11506         * lib/vasnprintf.c (decode_long_double, decode_double): Fix comments.
11507
11508 2011-10-14  Bruno Haible  <bruno@clisp.org>
11509
11510         Tests for module 'integer_length_ll'.
11511         * modules/integer_length_ll-tests: New file.
11512         * tests/test-integer_length_ll.c: New file.
11513
11514         New module 'integer_length_ll'.
11515         * lib/integer_length_ll.c: New file.
11516         * modules/integer_length_ll: New file.
11517
11518 2011-10-14  Bruno Haible  <bruno@clisp.org>
11519
11520         Tests for module 'integer_length_l'.
11521         * modules/integer_length_l-tests: New file.
11522         * tests/test-integer_length_l.c: New file.
11523
11524         New module 'integer_length_l'.
11525         * lib/integer_length_l.c: New file.
11526         * modules/integer_length_l: New file.
11527
11528 2011-10-14  Bruno Haible  <bruno@clisp.org>
11529
11530         Tests for module 'integer_length'.
11531         * modules/integer_length-tests: New file.
11532         * tests/test-integer_length.c: New file.
11533
11534         New module 'integer_length'.
11535         * lib/integer_length.h: New file.
11536         * lib/integer_length.c: New file.
11537         * modules/integer_length: New file.
11538
11539 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11540
11541         popen: Fix dependency conditions.
11542         * modules/popen (Depends-on, configure.ac): Fix shell syntax error.
11543
11544 2011-10-14  Daniel Richard G.  <skunk@iskunk.org>  (tiny change)
11545
11546         perror: Fix autoconf test.
11547         * m4/perror.m4 (gl_FUNC_PERROR): In the test program, include
11548         <stdlib.h> and <string.h>.
11549
11550 2011-10-14  Bruno Haible  <bruno@clisp.org>
11551
11552         ffsl: Optimize on 64-bit platforms.
11553         * lib/ffsl.h (FUNC): Omit a test from the last loop round. Do loop
11554         unrolling.
11555
11556 2011-10-13  Bruno Haible  <bruno@clisp.org>
11557
11558         ffsl: Optimize on 32-bit platforms.
11559         * lib/ffsl.h (FUNC): If TYPE has the same representation as 'int', just
11560         use ffs() without a loop.
11561
11562         ffsl, ffsll: Optimize for GCC.
11563         * lib/ffsl.h (FUNC): Use GCC_BUILTIN if defined.
11564         * lib/ffsl.c (GCC_BUILTIN): New macro.
11565         * lib/ffsll.c (GCC_BUILTIN): Likewise.
11566
11567 2011-10-13  Bruno Haible  <bruno@clisp.org>
11568
11569         ffs, bcopy, memset: Support symbol renaming via config.h.
11570         * lib/ffs.c: Include <config.h>.
11571         * lib/bcopy.c: Likewise.
11572         * lib/memset.c: Likewise.
11573
11574 2011-10-10  Bruno Haible  <bruno@clisp.org>
11575
11576         atanl: Simplify for platforms where 'long double' == 'double'.
11577         * lib/atanl.c (atanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11578         alternative implementation.
11579         * m4/atanl.m4 (gl_FUNC_ATANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11580         Determine ATANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11581         * modules/atanl (Depends-on): Add atan. Update conditions.
11582
11583 2011-10-10  Bruno Haible  <bruno@clisp.org>
11584
11585         acosl: Simplify for platforms where 'long double' == 'double'.
11586         * lib/acosl.c (acosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11587         alternative implementation.
11588         * m4/acosl.m4 (gl_FUNC_ACOSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11589         Determine ACOSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11590         * modules/acosl (Depends-on): Add acos. Update conditions.
11591
11592 2011-10-10  Bruno Haible  <bruno@clisp.org>
11593
11594         asinl: Simplify for platforms where 'long double' == 'double'.
11595         * lib/asinl.c (asinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11596         alternative implementation.
11597         * m4/asinl.m4 (gl_FUNC_ASINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11598         Determine ASINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11599         * modules/asinl (Depends-on): Add asin. Update conditions.
11600
11601 2011-10-10  Bruno Haible  <bruno@clisp.org>
11602
11603         tanl: Simplify for platforms where 'long double' == 'double'.
11604         * lib/tanl.c (tanl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11605         implementation.
11606         * m4/tanl.m4 (gl_FUNC_TANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11607         Determine TANL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11608         * modules/tanl (Depends-on): Add tan. Update conditions.
11609         (configure.ac): Don't compile trigl.c if
11610         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11611
11612 2011-10-10  Bruno Haible  <bruno@clisp.org>
11613
11614         cosl: Simplify for platforms where 'long double' == 'double'.
11615         * lib/cosl.c (cosl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11616         implementation.
11617         * m4/cosl.m4 (gl_FUNC_COSL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11618         Determine COSL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11619         * modules/cosl (Depends-on): Add cos. Update conditions.
11620         (configure.ac): Don't compile sincosl.c and trigl.c if
11621         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11622
11623 2011-10-10  Bruno Haible  <bruno@clisp.org>
11624
11625         sinl: Simplify for platforms where 'long double' == 'double'.
11626         * lib/sinl.c (sinl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11627         implementation.
11628         * m4/sinl.m4 (gl_FUNC_SINL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11629         Determine SINL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11630         * modules/sinl (Depends-on): Add sin. Update conditions.
11631         (configure.ac): Don't compile sincosl.c and trigl.c if
11632         HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11633
11634 2011-10-10  Bruno Haible  <bruno@clisp.org>
11635
11636         logl: Simplify for platforms where 'long double' == 'double'.
11637         * lib/logl.c (logl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11638         implementation.
11639         * m4/logl.m4 (gl_FUNC_LOGL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11640         Determine LOGL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11641         * modules/logl (Depends-on): Add log. Update conditions.
11642
11643 2011-10-10  Bruno Haible  <bruno@clisp.org>
11644
11645         expl: Simplify for platforms where 'long double' == 'double'.
11646         * lib/expl.c (expl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New alternative
11647         implementation.
11648         * m4/expl.m4 (gl_FUNC_EXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11649         Determine EXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11650         * modules/expl (Depends-on): Add exp. Update conditions.
11651
11652 2011-10-10  Bruno Haible  <bruno@clisp.org>
11653
11654         sqrtl: Simplify for platforms where 'long double' == 'double'.
11655         * lib/sqrtl.c (sqrtl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11656         alternative implementation.
11657         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11658         Determine SQRTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11659         * modules/sqrtl (Depends-on): Update conditions.
11660
11661 2011-10-10  Bruno Haible  <bruno@clisp.org>
11662
11663         ldexpl: Simplify for platforms where 'long double' == 'double'.
11664         * lib/ldexpl.c (ldexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11665         alternative implementation.
11666         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11667         Determine LDEXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11668         * modules/ldexpl (Depends-on): Add ldexp. Update conditions.
11669
11670 2011-10-10  Tom G. Christensen  <tgc@jupiterrise.com>  (tiny change)
11671
11672         ffsll: set correct witness
11673         * modules/ffsll (configure.ac): Fix typo.
11674
11675 2011-10-10  Bruno Haible  <bruno@clisp.org>
11676
11677         printf-frexpl: Simplify for platforms where 'long double' == 'double'.
11678         * lib/printf-frexpl.c: Include <config.h>.
11679         (printf_frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11680         * lib/printf-frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a
11681         second time.
11682         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Require
11683         gl_LONG_DOUBLE_VS_DOUBLE.
11684         * modules/printf-frexpl (Depends-on): Add printf-frexp. Update
11685         conditions.
11686
11687 2011-10-10  Bruno Haible  <bruno@clisp.org>
11688
11689         frexpl: Simplify for platforms where 'long double' == 'double'.
11690         * lib/frexpl.c: Include <config.h>.
11691         (frexpl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11692         * lib/frexp.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11693         time.
11694         * m4/frexpl.m4 (gl_FUNC_FREXPL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11695         Determine FREXPL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11696         (gl_FUNC_FREXPL_NO_LIBM): Require gl_LONG_DOUBLE_VS_DOUBLE.
11697         * modules/frexpl (Depends-on): Add frexp. Update conditions.
11698         * modules/frexpl-nolibm (Depends-on): Add frexp-nolibm. Update
11699         conditions.
11700
11701 2011-10-10  Jim Meyering  <meyering@redhat.com>
11702
11703         test-renameat: don't leave behind a temporary file
11704         * tests/test-renameat.c (main): Don't forget to remove a temporary file.
11705           ERROR: files left in build directory after distclean:
11706           ./gltests/test-renameat.too
11707           make[1]: *** [distcleancheck] Error 1
11708         Reported by Tom G. Christensen.
11709
11710 2011-10-09  Bruno Haible  <bruno@clisp.org>
11711
11712         rint: Determine RINT_LIBM correctly on AIX 7.
11713         * m4/mathfunc.m4 (gl_MATHFUNC): Try to invoke the function also
11714         directly, not only through a function pointer. Also accept an optional
11715         4th argument with extra code.
11716         * m4/rint.m4 (gl_FUNC_RINT): Pass an extra code that gets turned into a
11717         rintf() call by gcc when optimizing.
11718
11719         mathfunc.m4: Refactor.
11720         * m4/mathfunc.m4 (gl_MATHFUNC): Assign the argument list to a temporary
11721         m4 variable.
11722
11723 2011-10-09  Bruno Haible  <bruno@clisp.org>
11724
11725         rintl: Simplify for platforms where 'long double' == 'double'.
11726         * lib/rintl.c: Include <config.h>.
11727         (rintl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11728         * lib/rint.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11729         time.
11730         * m4/rintl.m4 (gl_FUNC_RINTL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11731         Determine RINTL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11732         * modules/rintl (Depends-on): Add rint. Update conditions.
11733
11734 2011-10-09  Bruno Haible  <bruno@clisp.org>
11735
11736         roundl: Simplify for platforms where 'long double' == 'double'.
11737         * lib/roundl.c: Include <config.h>.
11738         (roundl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11739         * lib/round.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11740         time.
11741         * m4/roundl.m4 (gl_FUNC_ROUNDL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11742         Determine ROUNDL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11743         * modules/roundl (Depends-on): Add round. Update conditions.
11744
11745 2011-10-09  Bruno Haible  <bruno@clisp.org>
11746
11747         truncl: Simplify for platforms where 'long double' == 'double'.
11748         * lib/truncl.c: Include <config.h>.
11749         (truncl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11750         * lib/trunc.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11751         time.
11752         * m4/truncl.m4 (gl_FUNC_TRUNCL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11753         Determine TRUNCL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11754         * modules/truncl (Depends-on): Add trunc. Update conditions.
11755
11756 2011-10-09  Bruno Haible  <bruno@clisp.org>
11757
11758         ceill: Simplify for platforms where 'long double' == 'double'.
11759         * lib/ceill.c: Include <config.h>.
11760         (ceill) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11761         * lib/ceil.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11762         time.
11763         * m4/ceill.m4 (gl_FUNC_CEILL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11764         Determine CEILL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11765         * modules/ceill (Depends-on): Add ceil. Update conditions.
11766
11767 2011-10-09  Bruno Haible  <bruno@clisp.org>
11768
11769         floorl: Simplify for platforms where 'long double' == 'double'.
11770         * lib/floorl.c: Include <config.h>.
11771         (floorl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New function.
11772         * lib/floor.c [!USE_LONG_DOUBLE]: Don't include <config.h> a second
11773         time.
11774         * m4/floorl.m4 (gl_FUNC_FLOORL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11775         Determine FLOORL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11776         * modules/floorl (Depends-on): Add floor. Update conditions.
11777
11778 2011-10-09  Bruno Haible  <bruno@clisp.org>
11779
11780         rint: Fix ordering constraints.
11781         * m4/rint.m4 (gl_FUNC_RINT): Require gl_MATH_H_DEFAULTS.
11782         * m4/rintf.m4 (gl_FUNC_RINTF): Likewise.
11783         * m4/rintl.m4 (gl_FUNC_RINTL): Likewise.
11784
11785 2011-10-09  Bruno Haible  <bruno@clisp.org>
11786
11787         copysignl: Simplify for platforms where 'long double' == 'double'.
11788         * lib/copysignl.c (copysignl) [HAVE_SAME_LONG_DOUBLE_AS_DOUBLE]: New
11789         alternative.
11790         * m4/copysignl.m4 (gl_FUNC_COPYSIGNL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11791         Determine COPYSIGNL_LIBM according to HAVE_SAME_LONG_DOUBLE_AS_DOUBLE.
11792         * modules/copysignl (Depends-on): Add copysign. Update conditions.
11793
11794 2011-10-09  Bruno Haible  <bruno@clisp.org>
11795
11796         Tests for module 'rintl'.
11797         * modules/rintl-tests: New file.
11798         * tests/test-rintl.c: New file.
11799
11800         New module 'rintl'.
11801         * lib/math.in.h (rintl): New declaration.
11802         * lib/rintl.c: New file.
11803         * m4/rintl.m4: New file.
11804         * m4/math_h.m4 (gl_MATH_H): Test whether rintl is declared.
11805         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTL, HAVE_RINTL.
11806         * modules/math (Makefile.am): Substitute GNULIB_RINTL, HAVE_RINTL.
11807         * modules/rintl: New file.
11808         * tests/test-math-c++.cc: Check the declaration of rintl.
11809         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11810         $(RINTL_LIBM). Needed on IRIX 6.5 with cc.
11811         * doc/posix-functions/rintl.texi: Mention the new module.
11812
11813 2011-10-09  Bruno Haible  <bruno@clisp.org>
11814
11815         Tests for module 'rintf'.
11816         * modules/rintf-tests: New file.
11817         * tests/test-rintf.c: New file.
11818
11819         New module 'rintf'.
11820         * lib/math.in.h (rintf): New declaration.
11821         * lib/rintf.c: New file.
11822         * m4/rintf.m4: New file.
11823         * m4/math_h.m4 (gl_MATH_H): Test whether rintf is declared.
11824         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINTF, HAVE_RINTF.
11825         * modules/math (Makefile.am): Substitute GNULIB_RINTF, HAVE_RINTF.
11826         * modules/rintf: New file.
11827         * tests/test-math-c++.cc: Check the declaration of rintf.
11828         * doc/posix-functions/rintf.texi: Mention the new module.
11829
11830 2011-10-09  Bruno Haible  <bruno@clisp.org>
11831
11832         rint: Support for MSVC.
11833         * lib/math.in.h (rint): New declaration.
11834         * lib/rint.c: New file.
11835         * m4/rint.m4: New file.
11836         * m4/math_h.m4 (gl_MATH_H): Test whether rint is declared.
11837         (gl_MATH_H_DEFAULTS): Initialize GNULIB_RINT, HAVE_RINT.
11838         * modules/math (Makefile.am): Substitute GNULIB_RINT, HAVE_RINT.
11839         * modules/rint (Description): Fix.
11840         (Files): Add lib/rint.c, m4/rint.m4.
11841         (Depends-on): Add math.
11842         (configure.ac): Invoke gl_FUNC_RINT, AC_LIBOBJ,
11843         gl_MATH_MODULE_INDICATOR.
11844         * tests/test-math-c++.cc: Check the declaration of rint.
11845         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11846         $(RINT_LIBM). Needed on IRIX 6.5 with cc.
11847         * doc/posix-functions/rint.texi: Mention the replacement provided by
11848         the module.
11849
11850         rint tests: More tests.
11851         * tests/test-rint.c: Include <float.h>, <stdio.h>, isnand-nolibm.h,
11852         minus-zero.h, infinity.h, nan.h.
11853         (main): Skip the test if the current rounding mode is not standard. Add
11854         tests for negative numbers, minus zero, infinity, NaN.
11855         * modules/rint-tests (Files): Add tests/minus-zero.h, tests/infinity.h,
11856         tests/nan.h.
11857         (Depends-on): Add isnand-nolibm.
11858
11859 2011-10-09  Bruno Haible  <bruno@clisp.org>
11860
11861         Tests for module 'copysignl'.
11862         * modules/copysignl-tests: New file.
11863         * tests/test-copysignl.c: New file.
11864
11865         New module 'copysignl'.
11866         * lib/math.in.h (copysignl): New declaration.
11867         * lib/copysignl.c: New file.
11868         * m4/copysignl.m4: New file.
11869         * m4/math_h.m4 (gl_MATH_H): Test whether copysignl is declared.
11870         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNL, HAVE_COPYSIGNL.
11871         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNL,
11872         HAVE_COPYSIGNL.
11873         * modules/copysignl: New file.
11874         * tests/test-math-c++.cc: Check the declaration of copysignl.
11875         * modules/math-c++-tests (Makefile.am): Link test-math-c++ against
11876         $(COPYSIGNL_LIBM). Needed on IRIX 6.5 with cc.
11877         * doc/posix-functions/copysignl.texi: Mention the new module.
11878
11879 2011-10-09  Bruno Haible  <bruno@clisp.org>
11880
11881         Tests for module 'copysignf'.
11882         * modules/copysignf-tests: New file.
11883         * tests/test-copysignf.c: New file.
11884
11885         New module 'copysignf'.
11886         * lib/math.in.h (copysignf): New declaration.
11887         * lib/copysignf.c: New file.
11888         * m4/copysignf.m4: New file.
11889         * m4/math_h.m4 (gl_MATH_H): Test whether copysignf is declared.
11890         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGNF, HAVE_COPYSIGNF.
11891         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGNF,
11892         HAVE_COPYSIGNF.
11893         * modules/copysignf: New file.
11894         * tests/test-math-c++.cc: Check the declaration of copysignf.
11895         * doc/posix-functions/copysignf.texi: Mention the new module.
11896
11897 2011-10-09  Bruno Haible  <bruno@clisp.org>
11898
11899         Ensure that HAVE_* variables are set to 1 before they are set to 0.
11900         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Require gl_DIRENT_H_DEFAULTS.
11901         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS.
11902         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
11903         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Require
11904         gl_SIGNAL_H_DEFAULTS.
11905
11906 2011-10-09  Bruno Haible  <bruno@clisp.org>
11907
11908         poll: Make macro safer.
11909         * m4/poll.m4 (gl_FUNC_POLL): Complain if, after invoking gl_POLL_H,
11910         ac_cv_header_poll_h is not set.
11911
11912 2011-10-09  Bruno Haible  <bruno@clisp.org>
11913
11914         copysign: Provide replacement.
11915         * lib/math.in.h (copysign): New declaration.
11916         * lib/copysign.c: New file.
11917         * m4/copysign.m4: New file.
11918         * m4/math_h.m4 (gl_MATH_H): Test whether copysign is declared.
11919         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COPYSIGN, HAVE_COPYSIGN.
11920         * modules/math (Makefile.am): Substitute GNULIB_COPYSIGN,
11921         HAVE_COPYSIGN.
11922         * modules/copysign (Description): Clarify.
11923         (Files): Add lib/copysign.c, m4/copysign.m4.
11924         (Depends-on): Add math, signbit.
11925         (configure.ac): Invoke gl_FUNC_COPYSIGN, AC_LIBOBJ,
11926         gl_MATH_MODULE_INDICATOR.
11927         * tests/test-math-c++.cc: Check the declaration of copysign.
11928         * doc/posix-functions/copysign.texi: Mention the effects of the module
11929         on Minix and MSVC.
11930
11931 2011-10-09  Bruno Haible  <bruno@clisp.org>
11932
11933         isinf: Ensure macro on AIX 5.1.
11934         * m4/isinf.m4 (gl_ISINF): Also test whether isinf is defined as a
11935         macro.
11936         * doc/posix-functions/isinf.texi: Mention also AIX 5.1 as deficient.
11937
11938 2011-10-09  Bruno Haible  <bruno@clisp.org>
11939
11940         *printf-posix tests: Fix for platforms where 'long double' == 'double'.
11941         * modules/snprintf-posix-tests (configure.ac): Require
11942         gl_LONG_DOUBLE_VS_DOUBLE.
11943         * modules/sprintf-posix-tests (configure.ac): Likewise.
11944         * modules/vasnprintf-posix-tests (configure.ac): Likewise.
11945         * modules/vasprintf-posix-tests (configure.ac): Likewise.
11946         * modules/vsnprintf-posix-tests (configure.ac): Likewise.
11947         * modules/vsprintf-posix-tests (configure.ac): Likewise.
11948         * tests/test-snprintf-posix.h (test_function): Avoid 80-bit long double
11949         tests on platforms where 'long double' is the same as 'double'.
11950         * tests/test-sprintf-posix.h (test_function): Likewise.
11951         * tests/test-vasnprintf-posix.c (test_function): Likewise.
11952         * tests/test-vasprintf-posix.c (test_function): Likewise.
11953
11954         *printf: Fix for platforms where 'long double' == 'double'.
11955         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
11956         gl_LONG_DOUBLE_VS_DOUBLE. Don't blindly assume 80-bit 'long double'.
11957         * modules/dprintf-posix (Files): Add m4/math_h.m4.
11958         * modules/fprintf-posix (Files): Likewise.
11959         * modules/obstack-printf-posix (Files): Likewise.
11960         * modules/snprintf-posix (Files): Likewise.
11961         * modules/sprintf-posix (Files): Likewise.
11962         * modules/vasnprintf (Files): Likewise.
11963         * modules/vasnprintf-posix (Files): Likewise.
11964         * modules/vasprintf-posix (Files): Likewise.
11965         * modules/vdprintf-posix (Files): Likewise.
11966         * modules/vfprintf-posix (Files): Likewise.
11967         * modules/vsnprintf-posix (Files): Likewise.
11968         * modules/vsprintf-posix (Files): Likewise.
11969         * modules/unistdio/u8-vasnprintf (Files): Likewise.
11970         * modules/unistdio/u8-u8-vasnprintf (Files): Likewise.
11971         * modules/unistdio/u16-vasnprintf (Files): Likewise.
11972         * modules/unistdio/u16-u16-vasnprintf (Files): Likewise.
11973         * modules/unistdio/u32-vasnprintf (Files): Likewise.
11974         * modules/unistdio/u32-u32-vasnprintf (Files): Likewise.
11975         * modules/unistdio/ulc-vasnprintf (Files): Likewise.
11976
11977         isnanl[-nolibm]: Fix for platforms where 'long double' == 'double'.
11978         * lib/isnan.c (rpl_isnanl): Don't blindly assume 80-bit 'long double'.
11979         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Require gl_LONG_DOUBLE_VS_DOUBLE.
11980         (gl_FUNC_ISNANL_WORKS): Likewise. Don't blindly assume 80-bit
11981         'long double'.
11982         * modules/isnanl-nolibm (Files): Add m4/math_h.m4.
11983
11984         isinf: Fix for platforms where 'long double' == 'double'.
11985         * m4/isinf.m4 (gl_ISINFL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11986         Don't blindly assume 80-bit 'long double'.
11987
11988         isfinite: Fix for platforms where 'long double' == 'double'.
11989         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Require gl_LONG_DOUBLE_VS_DOUBLE.
11990         Don't blindly assume 80-bit 'long double'.
11991
11992         isfinite, isinf, isnan tests: Avoid syntax error on MSVC 9.
11993         * m4/math_h.m4 (gl_LONG_DOUBLE_VS_DOUBLE): New macro.
11994         * modules/isfinite-tests (configure.ac): Require
11995         gl_LONG_DOUBLE_VS_DOUBLE.
11996         * modules/isinf-tests (configure.ac): Likewise.
11997         * modules/isnan-tests (configure.ac): Likewise.
11998         * modules/isnanl-tests (configure.ac): Likewise.
11999         * modules/isnanl-nolibm-tests (configure.ac): Likewise.
12000         * tests/test-isfinite.c (test_isfinitel): Avoid 80-bit long double
12001         tests on platforms where 'long double' is the same as 'double'.
12002         * tests/test-isinf.c (test_isinfl): Likewise.
12003         * tests/test-isnan.c (test_long_double): Likewise.
12004         * tests/test-isnanl.h (main): Likewise.
12005
12006 2011-10-08  Bruno Haible  <bruno@clisp.org>
12007
12008         Tests for module 'tanhf'.
12009         * modules/tanhf-tests: New file.
12010         * tests/test-tanhf.c: New file.
12011
12012         New module 'tanhf'.
12013         * lib/math.in.h (tanhf): New declaration.
12014         * lib/tanhf.c: New file.
12015         * m4/tanhf.m4: New file.
12016         * m4/math_h.m4 (gl_MATH_H): Test whether tanhf is declared.
12017         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANHF, HAVE_TANHF.
12018         * modules/math (Makefile.am): Substitute GNULIB_TANHF, HAVE_TANHF.
12019         * modules/tanhf: New file.
12020         * tests/test-math-c++.cc: Check the declaration of tanhf.
12021         * doc/posix-functions/tanhf.texi: Mention the new module.
12022
12023         tanh: Use a .m4 file.
12024         * m4/tanh.m4: New file.
12025         * modules/tanh (Files): Add it.
12026         (configure.ac): Just invoke gl_FUNC_TANH.
12027
12028 2011-10-08  Bruno Haible  <bruno@clisp.org>
12029
12030         Tests for module 'coshf'.
12031         * modules/coshf-tests: New file.
12032         * tests/test-coshf.c: New file.
12033
12034         New module 'coshf'.
12035         * lib/math.in.h (coshf): New declaration.
12036         * lib/coshf.c: New file.
12037         * m4/coshf.m4: New file.
12038         * m4/math_h.m4 (gl_MATH_H): Test whether coshf is declared.
12039         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSHF, HAVE_COSHF.
12040         * modules/math (Makefile.am): Substitute GNULIB_COSHF, HAVE_COSHF.
12041         * modules/coshf: New file.
12042         * tests/test-math-c++.cc: Check the declaration of coshf.
12043         * doc/posix-functions/coshf.texi: Mention the new module.
12044
12045         cosh: Use a .m4 file.
12046         * m4/cosh.m4: New file.
12047         * modules/cosh (Files): Add it.
12048         (configure.ac): Just invoke gl_FUNC_COSH.
12049
12050 2011-10-08  Bruno Haible  <bruno@clisp.org>
12051
12052         Tests for module 'sinhf'.
12053         * modules/sinhf-tests: New file.
12054         * tests/test-sinhf.c: New file.
12055
12056         New module 'sinhf'.
12057         * lib/math.in.h (sinhf): New declaration.
12058         * lib/sinhf.c: New file.
12059         * m4/sinhf.m4: New file.
12060         * m4/math_h.m4 (gl_MATH_H): Test whether sinhf is declared.
12061         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINHF, HAVE_SINHF.
12062         * modules/math (Makefile.am): Substitute GNULIB_SINHF, HAVE_SINHF.
12063         * modules/sinhf: New file.
12064         * tests/test-math-c++.cc: Check the declaration of sinhf.
12065         * doc/posix-functions/sinhf.texi: Mention the new module.
12066
12067         sinh: Use a .m4 file.
12068         * m4/sinh.m4: New file.
12069         * modules/sinh (Files): Add it.
12070         (configure.ac): Just invoke gl_FUNC_SINH.
12071
12072 2011-10-08  Bruno Haible  <bruno@clisp.org>
12073
12074         Tests for module 'atan2f'.
12075         * modules/atan2f-tests: New file.
12076         * tests/test-atan2f.c: New file.
12077
12078         New module 'atan2f'.
12079         * lib/math.in.h (atan2f): New declaration.
12080         * lib/atan2f.c: New file.
12081         * m4/atan2f.m4: New file.
12082         * m4/math_h.m4 (gl_MATH_H): Test whether atan2f is declared.
12083         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATAN2F, HAVE_ATAN2F.
12084         * modules/math (Makefile.am): Substitute GNULIB_ATAN2F, HAVE_ATAN2F.
12085         * modules/atan2f: New file.
12086         * tests/test-math-c++.cc: Check the declaration of atan2f.
12087         * doc/posix-functions/atan2f.texi: Mention the new module.
12088
12089         atan2: Use a .m4 file.
12090         * m4/atan2.m4: New file.
12091         * modules/atan2 (Files): Add it.
12092         (configure.ac): Just invoke gl_FUNC_ATAN2.
12093
12094 2011-10-08  Bruno Haible  <bruno@clisp.org>
12095
12096         Tests for module 'atanf'.
12097         * modules/atanf-tests: New file.
12098         * tests/test-atanf.c: New file.
12099
12100         New module 'atanf'.
12101         * lib/math.in.h (atanf): New declaration.
12102         * lib/atanf.c: New file.
12103         * m4/atanf.m4: New file.
12104         * m4/math_h.m4 (gl_MATH_H): Test whether atanf is declared.
12105         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ATANF, HAVE_ATANF.
12106         * modules/math (Makefile.am): Substitute GNULIB_ATANF, HAVE_ATANF.
12107         * modules/atanf: New file.
12108         * tests/test-math-c++.cc: Check the declaration of atanf.
12109         * doc/posix-functions/atanf.texi: Mention the new module.
12110
12111         atan: Use a .m4 file.
12112         * m4/atan.m4: New file.
12113         * modules/atan (Files): Add it.
12114         (configure.ac): Just invoke gl_FUNC_ATAN.
12115
12116 2011-10-08  Bruno Haible  <bruno@clisp.org>
12117
12118         Tests for module 'acosf'.
12119         * modules/acosf-tests: New file.
12120         * tests/test-acosf.c: New file.
12121
12122         New module 'acosf'.
12123         * lib/math.in.h (acosf): New declaration.
12124         * lib/acosf.c: New file.
12125         * m4/acosf.m4: New file.
12126         * m4/math_h.m4 (gl_MATH_H): Test whether acosf is declared.
12127         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ACOSF, HAVE_ACOSF.
12128         * modules/math (Makefile.am): Substitute GNULIB_ACOSF, HAVE_ACOSF.
12129         * modules/acosf: New file.
12130         * tests/test-math-c++.cc: Check the declaration of acosf.
12131         * doc/posix-functions/acosf.texi: Mention the new module.
12132
12133         acos: Use a .m4 file.
12134         * m4/acos.m4: New file.
12135         * modules/acos (Files): Add it.
12136         (configure.ac): Just invoke gl_FUNC_ACOS.
12137
12138 2011-10-08  Bruno Haible  <bruno@clisp.org>
12139
12140         Tests for module 'asinf'.
12141         * modules/asinf-tests: New file.
12142         * tests/test-asinf.c: New file.
12143
12144         New module 'asinf'.
12145         * lib/math.in.h (asinf): New declaration.
12146         * lib/asinf.c: New file.
12147         * m4/asinf.m4: New file.
12148         * m4/math_h.m4 (gl_MATH_H): Test whether asinf is declared.
12149         (gl_MATH_H_DEFAULTS): Initialize GNULIB_ASINF, HAVE_ASINF.
12150         * modules/math (Makefile.am): Substitute GNULIB_ASINF, HAVE_ASINF.
12151         * modules/asinf: New file.
12152         * tests/test-math-c++.cc: Check the declaration of asinf.
12153         * doc/posix-functions/asinf.texi: Mention the new module.
12154
12155         asin: Use a .m4 file.
12156         * m4/asin.m4: New file.
12157         * modules/asin (Files): Add it.
12158         (configure.ac): Just invoke gl_FUNC_ASIN.
12159
12160 2011-10-08  Bruno Haible  <bruno@clisp.org>
12161
12162         Tests for module 'tanf'.
12163         * modules/tanf-tests: New file.
12164         * tests/test-tanf.c: New file.
12165
12166         New module 'tanf'.
12167         * lib/math.in.h (tanf): New declaration.
12168         * lib/tanf.c: New file.
12169         * m4/tanf.m4: New file.
12170         * m4/math_h.m4 (gl_MATH_H): Test whether tanf is declared.
12171         (gl_MATH_H_DEFAULTS): Initialize GNULIB_TANF, HAVE_TANF.
12172         * modules/math (Makefile.am): Substitute GNULIB_TANF, HAVE_TANF.
12173         * modules/tanf: New file.
12174         * tests/test-math-c++.cc: Check the declaration of tanf.
12175         * doc/posix-functions/tanf.texi: Mention the new module.
12176
12177         tan: Use a .m4 file.
12178         * m4/tan.m4: New file.
12179         * modules/tan (Files): Add it.
12180         (configure.ac): Just invoke gl_FUNC_TAN.
12181
12182 2011-10-08  Bruno Haible  <bruno@clisp.org>
12183
12184         Tests for module 'cosf'.
12185         * modules/cosf-tests: New file.
12186         * tests/test-cosf.c: New file.
12187
12188         New module 'cosf'.
12189         * lib/math.in.h (cosf): New declaration.
12190         * lib/cosf.c: New file.
12191         * m4/cosf.m4: New file.
12192         * m4/math_h.m4 (gl_MATH_H): Test whether cosf is declared.
12193         (gl_MATH_H_DEFAULTS): Initialize GNULIB_COSF, HAVE_COSF.
12194         * modules/math (Makefile.am): Substitute GNULIB_COSF, HAVE_COSF.
12195         * modules/cosf: New file.
12196         * tests/test-math-c++.cc: Check the declaration of cosf.
12197         * doc/posix-functions/cosf.texi: Mention the new module.
12198
12199         cos: Use a .m4 file.
12200         * m4/cos.m4: New file.
12201         * modules/cos (Files): Add it.
12202         (configure.ac): Just invoke gl_FUNC_COS.
12203
12204 2011-10-08  Bruno Haible  <bruno@clisp.org>
12205
12206         Tests for module 'sinf'.
12207         * modules/sinf-tests: New file.
12208         * tests/test-sinf.c: New file.
12209
12210         New module 'sinf'.
12211         * lib/math.in.h (sinf): New declaration.
12212         * lib/sinf.c: New file.
12213         * m4/sinf.m4: New file.
12214         * m4/math_h.m4 (gl_MATH_H): Test whether sinf is declared.
12215         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SINF, HAVE_SINF.
12216         * modules/math (Makefile.am): Substitute GNULIB_SINF, HAVE_SINF.
12217         * modules/sinf: New file.
12218         * tests/test-math-c++.cc: Check the declaration of sinf.
12219         * doc/posix-functions/sinf.texi: Mention the new module.
12220
12221         sin: Use a .m4 file.
12222         * m4/sin.m4: New file.
12223         * modules/sin (Files): Add it.
12224         (configure.ac): Just invoke gl_FUNC_SIN.
12225
12226 2011-10-08  Bruno Haible  <bruno@clisp.org>
12227
12228         Tests for module 'powf'.
12229         * modules/powf-tests: New file.
12230         * tests/test-powf.c: New file.
12231
12232         New module 'powf'.
12233         * lib/math.in.h (powf): New declaration.
12234         * lib/powf.c: New file.
12235         * m4/powf.m4: New file.
12236         * m4/math_h.m4 (gl_MATH_H): Test whether powf is declared.
12237         (gl_MATH_H_DEFAULTS): Initialize GNULIB_POWF, HAVE_POWF.
12238         * modules/math (Makefile.am): Substitute GNULIB_POWF, HAVE_POWF.
12239         * modules/powf: New file.
12240         * tests/test-math-c++.cc: Check the declaration of powf.
12241         * doc/posix-functions/powf.texi: Mention the new module.
12242
12243         pow: Use a .m4 file.
12244         * m4/pow.m4: New file.
12245         * modules/pow (Files): Add it.
12246         (configure.ac): Just invoke gl_FUNC_POW.
12247
12248 2011-10-08  Bruno Haible  <bruno@clisp.org>
12249
12250         Tests for module 'log10f'.
12251         * modules/log10f-tests: New file.
12252         * tests/test-log10f.c: New file.
12253
12254         New module 'log10f'.
12255         * lib/math.in.h (log10f): New declaration.
12256         * lib/log10f.c: New file.
12257         * m4/log10f.m4: New file.
12258         * m4/math_h.m4 (gl_MATH_H): Test whether log10f is declared.
12259         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOG10F, HAVE_LOG10F.
12260         * modules/math (Makefile.am): Substitute GNULIB_LOG10F, HAVE_LOG10F.
12261         * modules/log10f: New file.
12262         * tests/test-math-c++.cc: Check the declaration of log10f.
12263         * doc/posix-functions/log10f.texi: Mention the new module.
12264
12265         log10: Use a .m4 file.
12266         * m4/log10.m4: New file.
12267         * modules/log10 (Files): Add it.
12268         (configure.ac): Just invoke gl_FUNC_LOG10.
12269
12270 2011-10-08  Bruno Haible  <bruno@clisp.org>
12271
12272         Tests for module 'logf'.
12273         * modules/logf-tests: New file.
12274         * tests/test-logf.c: New file.
12275
12276         New module 'logf'.
12277         * lib/math.in.h (logf): New declaration.
12278         * lib/logf.c: New file.
12279         * m4/logf.m4: New file.
12280         * m4/math_h.m4 (gl_MATH_H): Test whether logf is declared.
12281         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGF, HAVE_LOGF.
12282         * modules/math (Makefile.am): Substitute GNULIB_LOGF, HAVE_LOGF.
12283         * modules/logf: New file.
12284         * tests/test-math-c++.cc: Check the declaration of logf.
12285         * doc/posix-functions/logf.texi: Mention the new module.
12286
12287         log: Use a .m4 file.
12288         * m4/log.m4: New file.
12289         * modules/log (Files): Add it.
12290         (configure.ac): Just invoke gl_FUNC_LOG.
12291
12292 2011-10-08  Bruno Haible  <bruno@clisp.org>
12293
12294         Tests for module 'expf'.
12295         * modules/expf-tests: New file.
12296         * tests/test-expf.c: New file.
12297
12298         New module 'expf'.
12299         * lib/math.in.h (expf): New declaration.
12300         * lib/expf.c: New file.
12301         * m4/expf.m4: New file.
12302         * m4/math_h.m4 (gl_MATH_H): Test whether expf is declared.
12303         (gl_MATH_H_DEFAULTS): Initialize GNULIB_EXPF, HAVE_EXPF.
12304         * modules/math (Makefile.am): Substitute GNULIB_EXPF, HAVE_EXPF.
12305         * modules/expf: New file.
12306         * tests/test-math-c++.cc: Check the declaration of expf.
12307         * doc/posix-functions/expf.texi: Mention the new module.
12308
12309         exp: Use a .m4 file.
12310         * m4/exp.m4: New file.
12311         * modules/exp (Files): Add it.
12312         (configure.ac): Just invoke gl_FUNC_EXP.
12313
12314 2011-10-08  Bruno Haible  <bruno@clisp.org>
12315
12316         Tests for module 'sqrtf'.
12317         * modules/sqrtf-tests: New file.
12318         * tests/test-sqrtf.c: New file.
12319
12320         New module 'sqrtf'.
12321         * lib/math.in.h (sqrtf): New declaration.
12322         * lib/sqrtf.c: New file.
12323         * m4/sqrtf.m4: New file.
12324         * m4/math_h.m4 (gl_MATH_H): Test whether sqrtf is declared.
12325         (gl_MATH_H_DEFAULTS): Initialize GNULIB_SQRTF, HAVE_SQRTF.
12326         * modules/math (Makefile.am): Substitute GNULIB_SQRTF, HAVE_SQRTF.
12327         * modules/sqrtf: New file.
12328         * tests/test-math-c++.cc: Check the declaration of sqrtf.
12329         * doc/posix-functions/sqrtf.texi: Mention the new module.
12330
12331 2011-10-08  Bruno Haible  <bruno@clisp.org>
12332
12333         Tests: Avoid link failures w.r.t. libintl.
12334         * modules/faccessat-tests (Makefile.am): Link test-faccessat against
12335         $(LIBINTL).
12336         * modules/fchdir-tests (Makefile.am): Link test-fchdir against
12337         $(LIBINTL).
12338         * modules/getcwd-lgpl-tests (Makefile.am): Link test-getcwd-lgpl
12339         against $(LIBINTL).
12340         * modules/getcwd-tests (Makefile.am): Link test-getcwd against
12341         $(LIBINTL).
12342         * modules/openat-tests (Makefile.am): Link test-fchmodat against
12343         $(LIBINTL).
12344         * modules/stat-tests (Makefile.am): Link test-stat against $(LIBINTL).
12345
12346 2011-10-08  Bruno Haible  <bruno@clisp.org>
12347
12348         pow tests: Defeat compiler optimizations.
12349         * tests/test-pow.c (main): Assign arguments to x and y before use.
12350
12351 2011-10-08  Bruno Haible  <bruno@clisp.org>
12352
12353         gnulib-tool: Improve last commit.
12354         * gnulib-tool (func_modules_transitive_closure): Simplify code.
12355         (func_emit_autoconf_snippets): Instead of invoking func_acceptable,
12356         ignore dependencies that are not among the modules list.
12357
12358 2011-10-07  Paul Eggert  <eggert@cs.ucla.edu>
12359
12360         gnulib-tool: don't follow dependencies to avoided modules
12361         This fixes a bug that is related to the previous one.
12362         * gnulib-tool (func_modules_transitive_closure)
12363         (func_emit_autoconf_snippets):
12364         Check whether a dependency is acceptable before using it.
12365         (--extract-dependencies): Report an error if --avoid is also used,
12366         since this combination of options is not yet supported.
12367
12368         gnulib-tool: fix typo that broke Emacs on powerpc-apple-darwin9.8.0.
12369         Problem reported by Peter Dyballa in
12370         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=9696>.
12371         * gnulib-tool (func_emit_autoconf_snippets): Quote with "", not '',
12372         when echoing "$condition".
12373
12374 2011-10-07  Bruno Haible  <bruno@clisp.org>
12375
12376         Fix documentation about math functions on MacOS X.
12377         * doc/posix-functions/exp2.texi: Don't say the function is missing on
12378         MacOS X 10.5.
12379         * doc/posix-functions/fdim.texi: Likewise.
12380         * doc/posix-functions/feclearexcept.texi: Likewise.
12381         * doc/posix-functions/fegetenv.texi: Likewise.
12382         * doc/posix-functions/fegetround.texi: Likewise.
12383         * doc/posix-functions/feholdexcept.texi: Likewise.
12384         * doc/posix-functions/feraiseexcept.texi: Likewise.
12385         * doc/posix-functions/fesetenv.texi: Likewise.
12386         * doc/posix-functions/fesetround.texi: Likewise.
12387         * doc/posix-functions/fetestexcept.texi: Likewise.
12388         * doc/posix-functions/feupdateenv.texi: Likewise.
12389         * doc/posix-functions/fmax.texi: Likewise.
12390         * doc/posix-functions/fmin.texi: Likewise.
12391         * doc/posix-functions/log2.texi: Likewise.
12392         * doc/posix-functions/modff.texi: Likewise.
12393         * doc/posix-functions/nan.texi: Likewise.
12394         * doc/posix-functions/nanf.texi: Likewise.
12395         * doc/posix-functions/nextafterf.texi: Likewise.
12396         * doc/posix-functions/remquo.texi: Likewise.
12397
12398 2011-10-07  Bruno Haible  <bruno@clisp.org>
12399
12400         modff: Drop assumption about library that defines modff.
12401         * m4/modff.m4 (gl_FUNC_MODFF): Use gl_MATHFUNC macro instead of
12402         AC_CHECK_FUNCS.
12403         * modules/modff (Files): Add m4/mathfunc.m4.
12404
12405 2011-10-07  Bernhard Voelker  <mail@bernhard-voelker.de>
12406
12407         raise tests: Avoid a GCC warning.
12408         * tests/test-raise.c (handler): Use _Noreturn.
12409
12410 2011-10-07  Bruno Haible  <bruno@clisp.org>
12411
12412         Tests for module 'ldexpf'.
12413         * modules/ldexpf-tests: New file.
12414         * tests/test-ldexpf.c: New file.
12415
12416         New module 'ldexpf'.
12417         * lib/math.in.h (ldexpf): New declaration.
12418         * lib/ldexpf.c: New file.
12419         * m4/ldexpf.m4: New file.
12420         * m4/math_h.m4 (gl_MATH_H): Test whether ldexpf is declared.
12421         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LDEXPF, HAVE_LDEXPF.
12422         * modules/math (Makefile.am): Substitute GNULIB_LDEXPF, HAVE_LDEXPF.
12423         * modules/ldexpf: New file.
12424         * tests/test-math-c++.cc: Check the declaration of ldexpf.
12425         * doc/posix-functions/ldexpf.texi: Mention the new module.
12426
12427 2011-10-06  Bruno Haible  <bruno@clisp.org>
12428
12429         frexpf: Work around problems on IRIX and mingw.
12430         * lib/math.in.h (frexpf): Consider also REPLACE_FREXPF.
12431         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPF.
12432         * m4/frexpf.m4 (gl_FUNC_FREXPF_WORKS): New macro.
12433         (gl_FUNC_FREXPF): Invoke it. Set REPLACE_FREXPF.
12434         * modules/frexpf (Depends-on, configure.ac): Consider REPLACE_FREXPF.
12435         * modules/math (Makefile.am): Substitute REPLACE_FREXPF.
12436         * doc/posix-functions/frexpf.texi: Mention the IRIX and mingw problems.
12437
12438 2011-10-06  Bruno Haible  <bruno@clisp.org>
12439
12440         fabsf: Drop assumption about library that defines fabsf.
12441         * m4/fabsf.m4 (gl_FUNC_FABSF): Use gl_MATHFUNC macro instead of
12442         AC_CHECK_FUNCS.
12443         * modules/fabsf (Files): Add m4/mathfunc.m4.
12444
12445 2011-10-06  Bruno Haible  <bruno@clisp.org>
12446
12447         frexpf: Drop assumption about library that defines frexpf.
12448         * m4/mathfunc.m4 (gl_MATHFUNC): Support also the argument types
12449         'int *', 'float *', 'long double *', 'float', 'long double'.
12450         * m4/frexpf.m4 (gl_FUNC_FREXPF): Use gl_MATHFUNC macro instead of
12451         AC_CHECK_FUNCS.
12452         * modules/frexpf (Files): Add m4/mathfunc.m4.
12453
12454         Tests for module 'frexpf'.
12455         * modules/frexpf-tests: New file.
12456         * tests/test-frexpf.c: New file.
12457
12458         New module 'frexpf'.
12459         * lib/math.in.h (frexpf): New declaration.
12460         * lib/frexpf.c: New file.
12461         * m4/frexpf.m4: New file.
12462         * m4/math_h.m4 (gl_MATH_H): Test whether frexpf is declared.
12463         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPF, HAVE_FREXPF.
12464         * modules/math (Makefile.am): Substitute GNULIB_FREXPF, HAVE_FREXPF.
12465         * modules/frexpf: New file.
12466         * tests/test-math-c++.cc: Check the declaration of frexpf.
12467         * doc/posix-functions/frexpf.texi: Mention the new module.
12468
12469 2011-10-06  Bruno Haible  <bruno@clisp.org>
12470
12471         math: Sort function declarations of math.in.h.
12472         * lib/math.in.h (frexp, logb): Move declarations.
12473
12474 2011-10-05  Bruno Haible  <bruno@clisp.org>
12475
12476         Tests for module 'modff'.
12477         * modules/modff-tests: New file.
12478         * tests/test-modff.c: New file.
12479
12480         New module 'modff'.
12481         * lib/math.in.h (modff): New declaration.
12482         * lib/modff.c: New file.
12483         * m4/modff.m4: New file.
12484         * m4/math_h.m4 (gl_MATH_H): Test whether modff is declared.
12485         (gl_MATH_H_DEFAULTS): Initialize GNULIB_MODFF, HAVE_MODFF.
12486         * modules/math (Makefile.am): Substitute GNULIB_MODFF, HAVE_MODFF.
12487         * modules/modff: New file.
12488         * tests/test-math-c++.cc: Check the declaration of modff.
12489         * doc/posix-functions/modff.texi: Mention the new module.
12490
12491         modf tests: Make test sharper.
12492         * tests/test-modf.c (main): Strengthen upper bound.
12493
12494         modf: Use a .m4 file.
12495         * m4/modf.m4: New file.
12496         * modules/modf (Files): Add it.
12497         (configure.ac): Just invoke gl_FUNC_MODF.
12498
12499 2011-10-05  Bruno Haible  <bruno@clisp.org>
12500
12501         Tests for module 'fmodf'.
12502         * modules/fmodf-tests: New file.
12503         * tests/test-fmodf.c: New file.
12504
12505         New module 'fmodf'.
12506         * lib/math.in.h (fmodf): New declaration.
12507         * lib/fmodf.c: New file.
12508         * m4/fmodf.m4: New file.
12509         * m4/math_h.m4 (gl_MATH_H): Test whether fmodf is declared.
12510         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FMODF, HAVE_FMODF.
12511         * modules/math (Makefile.am): Substitute GNULIB_FMODF, HAVE_FMODF.
12512         * modules/fmodf: New file.
12513         * tests/test-math-c++.cc: Check the declaration of fmodf.
12514         * doc/posix-functions/fmodf.texi: Mention the new module.
12515
12516         fmod: Use a .m4 file.
12517         * m4/fmod.m4: New file.
12518         * modules/fmod (Files): Add it.
12519         (configure.ac): Just invoke gl_FUNC_FMOD.
12520
12521 2011-10-05  Bruno Haible  <bruno@clisp.org>
12522
12523         Tests for module 'fabsf'.
12524         * modules/fabsf-tests: New file.
12525         * tests/test-fabsf.c: New file.
12526
12527         New module 'fabsf'.
12528         * lib/math.in.h (fabsf): New declaration.
12529         * lib/fabsf.c: New file.
12530         * m4/fabsf.m4: New file.
12531         * m4/math_h.m4 (gl_MATH_H): Test whether fabsf is declared.
12532         (gl_MATH_H_DEFAULTS): Initialize GNULIB_FABSF, HAVE_FABSF.
12533         * modules/math (Makefile.am): Substitute GNULIB_FABSF, HAVE_FABSF.
12534         * modules/fabsf: New file.
12535         * tests/test-math-c++.cc: Check the declaration of fabsf.
12536         * doc/posix-functions/fabsf.texi: Mention the new module.
12537
12538         fabs: Use a .m4 file.
12539         * m4/fabs.m4: New file.
12540         * modules/fabs (Files): Add it.
12541         (configure.ac): Just invoke gl_FUNC_FABS.
12542
12543 2011-10-05  Jim Meyering  <meyering@redhat.com>
12544
12545         file-has-acl: revert both recent changes, 80af92af and 95f7c57f
12546         * lib/file-has-acl.c: While the 2011-10-03 change does fix the
12547         ls -lL regression introduced in coreutils-8.12, it does so at the
12548         cost of an additional stat call in the common case.  Besides, now
12549         that the kernel change that prompted commit 95f7c57f has been reverted
12550         (see https://bugzilla.redhat.com/show_bug.cgi?id=720325#c24)
12551         we have no use for commit 95f7c57f, "file-has-acl: use
12552         acl_extended_file_nofollow if available".
12553
12554 2011-10-03  Kamil Dudka  <kdudka@redhat.com>
12555
12556         file-has-acl: revert unintended change in behavior of ls -L
12557         * lib/file-has-acl.c (acl_extended_file_wrap): New function,
12558         derived from...
12559         (file_has_acl): ...code here.  Call it.
12560         This problem was introduced with 2011-07-22 commit 95f7c57f,
12561         "file-has-acl: use acl_extended_file_nofollow if available".
12562         See http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/28538
12563
12564 2011-10-03  Bruno Haible  <bruno@clisp.org>
12565
12566         poll: Avoid link errors on MSVC.
12567         * m4/poll.m4 (gl_FUNC_POLL): Determine LIB_POLL.
12568         * modules/poll (Depends-on): Add sockets.
12569         (Link): New section.
12570         * NEWS: Mention the change.
12571         * modules/poll-tests (Makefile.am): Link test-poll against $(LIB_POLL).
12572         * modules/poll-h-c++-tests (Makefile.am): Link test-poll-h-c++ against
12573         $(LIB_POLL) instead of $(LIBSOCKET).
12574
12575 2011-10-03  Bruno Haible  <bruno@clisp.org>
12576
12577         sys_select tests: Fix link error on MSVC 9.
12578         * modules/sys_select-c++-tests (Makefile.am): Link test-sys_select-c++
12579         with $(LIB_SELECT) instead of $(LIBSOCKET).
12580
12581 2011-10-03  Bruno Haible  <bruno@clisp.org>
12582
12583         sys_select: Fix compilation error on mingw.
12584         * lib/sys_select.in.h: On native Windows, include <io.h>.
12585
12586 2011-10-03  Bruno Haible  <bruno@clisp.org>
12587
12588         wmemset: Support for MSVC.
12589         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Use a small test program to test
12590         whether wmemset() exists.
12591
12592 2011-10-03  Bruno Haible  <bruno@clisp.org>
12593
12594         wmemmove: Support for MSVC.
12595         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Use a small test program to test
12596         whether wmemmove() exists.
12597
12598 2011-10-03  Bruno Haible  <bruno@clisp.org>
12599
12600         wmemcpy: Support for MSVC.
12601         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Use a small test program to test
12602         whether wmemcpy() exists.
12603
12604 2011-10-03  Bruno Haible  <bruno@clisp.org>
12605
12606         wmemcmp: Support for MSVC.
12607         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Use a small test program to test
12608         whether wmemcmp() exists.
12609
12610 2011-10-03  Bruno Haible  <bruno@clisp.org>
12611
12612         wmemchr: Support for MSVC.
12613         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Use a small test program to test
12614         whether wmemchr() exists.
12615
12616 2011-10-03  Bruno Haible  <bruno@clisp.org>
12617
12618         glthread/*, strsignal: Support for MSVC.
12619         * lib/glthread/cond.h: Define WIN32_LEAN_AND_MEAN, so as to avoid
12620         including <winsock.h> on MSVC 9.
12621         * lib/glthread/lock.h: Likewise.
12622         * lib/glthread/thread.h: Likewise.
12623         * lib/glthread/tls.h: Likewise.
12624         * lib/glthread/yield.h: Likewise.
12625         * lib/strsignal.c: Include <string.h> first. Don't include <unistd.h>
12626         if HAVE_UNISTD_H is false.
12627         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Test for <unistd.h>.
12628
12629 2011-10-03  Bruno Haible  <bruno@clisp.org>
12630
12631         nonblocking tests: Fix test failure on OpenBSD/SPARC64.
12632         * tests/test-nonblocking-socket.h (SOCKET_DATA_BLOCK_SIZE) [OpenBSD]:
12633         Set to 100000.
12634
12635 2011-10-03  Bruno Haible  <bruno@clisp.org>
12636
12637         acl: Fix specification.
12638         * lib/file-has-acl.c (file_has_acl): Fix specification.
12639
12640 2011-10-03  Bruno Haible  <bruno@clisp.org>
12641
12642         relocatable-lib[-lgpl]: Avoid expensive /proc access on Linux, Cygwin.
12643         * lib/relocatable.c (ENABLE_COSTLY_RELOCATABLE): New macro.
12644         (compute_curr_prefix, shared_library_fullname,
12645         find_shared_library_fullname, get_shared_library_fullname, relocate):
12646         Use it together with PIC && INSTALLDIR.
12647         Reported by <jojelino@gmail.com>
12648         via Charles Wilson <cygwin@cwilson.fastmail.fm>.
12649
12650 2011-10-01  Jim Meyering  <meyering@redhat.com>
12651
12652         maint.mk: adjust a release-related rule not to require use of gzip
12653         * top/maint.mk (writable-files): Don't hard-code use of .tar.gz.
12654         Instead, check each file in $(DIST_ARCHIVES).  This is better for
12655         projects that build only .tar.xz files.  Also fix an erroneous test.
12656
12657         test-linkat: don't leave behind a temporary file
12658         * tests/test-linkat.c (main): Don't forget to remove a temporary file.
12659         Otherwise, coreutils' "make distcheck" would fail with this:
12660           Only in /c/cu/tests/torture/coreutils/test/\
12661             coreutils-8.13.22-d5caf.old/gnulib-tests: test-linkat.too
12662           make[2]: *** [my-distcheck] Error 1
12663
12664         float, math: add omitted file
12665         * lib/itold.c: Add file, required for yesterday's float change.
12666
12667 2011-10-01  Bruno Haible  <bruno@clisp.org>
12668
12669         isinf: Fix for OpenBSD/x86.
12670         * m4/isinf.m4 (gl_ISINFL_WORKS): Also test the behaviour of isinf on
12671         pseudo-NaNs, pseudo-Infinities, and other non-IEEE values.
12672         * doc/posix-functions/isinf.texi: Mention the problem on OpenBSD/x86.
12673
12674 2011-10-01  Bruno Haible  <bruno@clisp.org>
12675
12676         isfinite: Fix syntax error in configure test.
12677         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Fix syntax error.
12678
12679         isfinite: Fix typo.
12680         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): When cross-compiling, set
12681         gl_cv_func_isfinitel_works, not gl_cv_func_isnanl_works.
12682
12683 2011-10-01  Bruno Haible  <bruno@clisp.org>
12684
12685         nonblocking tests: Fix test failure on Linux/IA-64.
12686         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/IA-64]:
12687         Set to 270000.
12688
12689 2011-10-01  Bruno Haible  <bruno@clisp.org>
12690
12691         mkfifoat tests: Fix a test failure on mingw.
12692         * tests/test-mkfifoat.c (main): Allow mkfifoat or test_mknodat to fail
12693         with error ENOSYS.
12694
12695 2011-09-30  Bruno Haible  <bruno@clisp.org>
12696
12697         float, math: Fix 'int' to 'long double' conversion on Linux/SPARC64.
12698         * m4/float_h.m4 (gl_FLOAT_H): Test conversion from 'int' to
12699         'long double'. Set REPLACE_ITOLD.
12700         * lib/float.in.h (_Qp_itoq, _gl_float_fix_itold): New declarations.
12701         * lib/math.in.h (_Qp_itoq, _gl_math_fix_itold): New declarations.
12702         * lib/itold.c: New file.
12703         * modules/float (Files): Add lib/itold.c.
12704         (configure.ac): When REPLACE_ITOLD is 1, arrange to compile itold.c.
12705         (Makefile.am): Substitute REPLACE_ITOLD.
12706         * modules/math (Depends-on): Add float.
12707         (Makefile.am): Substitute REPLACE_ITOLD.
12708         * doc/posix-headers/float.texi: Mention problem on Linux/SPARC64.
12709         * doc/posix-headers/math.texi: Likewise.
12710         * doc/posix-functions/logl.texi: Likewise.
12711
12712 2011-09-30  Bruno Haible  <bruno@clisp.org>
12713
12714         nonblocking tests: Fix test failure on Linux/SPARC (32-bit and 64-bit).
12715         * tests/test-nonblocking-pipe.h (PIPE_DATA_BLOCK_SIZE) [Linux/SPARC]:
12716         Set to 140000.
12717
12718 2011-09-30  Bruno Haible  <bruno@clisp.org>
12719
12720         gnulib-tool: Improve suggestion where to put gl_EARLY invocation.
12721         * gnulib-tool (func_import): If the configure.ac has an AC_PROG_CC_STDC
12722         invocation, say "right after AC_PROG_CC_STDC", not "right after
12723         AC_PROG_CC".
12724         Reported by Gary V. Vaughan <gary@gnu.org>.
12725
12726 2011-09-30  Bruno Haible  <bruno@clisp.org>
12727
12728         Centralize C99 requirement.
12729         * m4/gnulib-common.m4 (gl_PROG_CC_C99): New macro.
12730         * modules/stdarg (configure.ac-early): Invoke it instead of
12731         AC_PROG_CC_STDC.
12732         Reported by Gary V. Vaughan and Paul Eggert.
12733
12734 2011-09-29  Bruno Haible  <bruno@clisp.org>
12735
12736         float: Fix LDBL_MAX value on Linux/PowerPC.
12737         * m4/float_h.m4 (gl_FLOAT_H): Set FLOAT_H and REPLACE_FLOAT_LDBL also
12738         on Linux/PowerPC.
12739         * lib/float.in.h (LDBL_MAX): Redefine also on Linux/PowerPC.
12740         * lib/float.c (gl_LDBL_MAX): Also define on Linux/PowerPC.
12741         * doc/posix-headers/float.texi: Mention Linux/PowerPC as an affected
12742         platform.
12743         Reported by Andreas Metzler <ametzler@downhill.at.eu.org>.
12744
12745 2011-09-29  Bruno Haible  <bruno@clisp.org>
12746
12747         doc: Improve doc about gl_EARLY.
12748         * doc/gnulib-tool.texi (Initial import): Mention where to place an
12749         AC_PROG_CC_STDC invocation.
12750         Reported by Gary V. Vaughan <gary@gnu.org>.
12751
12752 2011-09-28  Bruno Haible  <bruno@clisp.org>
12753
12754         fgetc, fputc, fread, fwrite tests: Fix link error.
12755         * tests/test-fgetc.c (main): Don't invoke gl_msvc_inval_ensure_handler
12756         on non-MSVC platforms.
12757         * tests/test-fputc.c (main): Likewise.
12758         * tests/test-fread.c (main): Likewise.
12759         * tests/test-fwrite.c (main): Likewise.
12760         Reported by Jim Meyering.
12761
12762 2011-09-27  Bruno Haible  <bruno@clisp.org>
12763
12764         fputc, fwrite tests: Avoid test failure on MSVC.
12765         * tests/test-fgetc.c: Include msvc-inval.h.
12766         (main): Invoke gl_msvc_inval_ensure_handler.
12767         * tests/test-fputc.c: Include msvc-inval.h.
12768         (main): Invoke gl_msvc_inval_ensure_handler.
12769         * tests/test-fread.c: Include msvc-inval.h.
12770         (main): Invoke gl_msvc_inval_ensure_handler.
12771         * tests/test-fwrite.c: Include msvc-inval.h.
12772         (main): Invoke gl_msvc_inval_ensure_handler.
12773         * modules/fgetc-tests (Depends-on): Add msvc-inval.
12774         * modules/fputc-tests (Depends-on): Likewise.
12775         * modules/fread-tests (Depends-on): Likewise.
12776         * modules/fwrite-tests (Depends-on): Likewise.
12777
12778 2011-09-27  Bruno Haible  <bruno@clisp.org>
12779
12780         raise: Fix double declaration with modules 'sigprocmask' and 'sigpipe'.
12781         * lib/signal.in.h (GNULIB_defined_signal_blocking): New macro.
12782         (raise): Remove older, duplicated declaration.
12783         (_gl_raise_SIGPIPE): New declaration.
12784         * lib/sigprocmask.c (_gl_raise_SIGPIPE): New function.
12785         (rpl_raise): Remove function.
12786         * lib/raise.c (rpl_raise, raise): Merge into a single function. Handle
12787         a gnulib-defined SIGPIPE here.
12788         * m4/raise.m4 (gl_FUNC_RAISE): Set REPLACE_RAISE also if the module
12789         'sigprocmask' has detected missing signal-blocking and the module
12790         'sigpipe' is enabled.
12791         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
12792
12793 2011-09-26  Gijs van Tulder  <gvtulder@gmail.com>
12794
12795         base64-tests: avoid memory leak
12796         * tests/test-base64.c (main): Plug memory leak.
12797
12798         base32: new module
12799         * modules/base32: New module.
12800         * lib/base32.c: New file.
12801         * lib/base32.h: Likewise.
12802         * m4/base32.m4: Likewise.
12803         * modules/base32-tests: New test.
12804         * tests/test-base32.c: Likewise.
12805         * MODULES.html.sh (Misc): Mention it.
12806
12807 2011-09-26  Paul Eggert  <eggert@cs.ucla.edu>
12808
12809         gnulib: use more-standard license notice wording
12810         * gnulib-tool (func_emit_copyright_notice): When emitting a
12811         license notice into a file, use the standard wording as suggested
12812         by the current information for GNU maintainers, except say "file"
12813         rather than "program".  The new wording gives a license version
12814         number, which addresses an issue raised by Glenn Morris in
12815         <http://lists.gnu.org/archive/html/bug-gnulib/2011-09/msg00397.html>.
12816         * m4/onceonly.m4: Use that same wording here, too.
12817
12818         dup2: minor simplification
12819         * m4/dup2.m4 (gl_PREREQ_DUP2): Don't require AC_C_INLINE,
12820         as lib/dup2.c no longer uses 'inline'.
12821
12822 2011-09-25  Bruno Haible  <bruno@clisp.org>
12823
12824         strings: Fix compilation error on MSVC.
12825         * lib/strings.in.h: Include <stddef.h> for size_t.
12826
12827 2011-09-25  Bruno Haible  <bruno@clisp.org>
12828
12829         fflush et al.: Document limitation on MSVC.
12830         * doc/posix-functions/fflush.texi: Document possible crash in handling
12831         mode other than DEFAULT_HANDLING.
12832         * doc/posix-functions/fgetc.texi: Likewise.
12833         * doc/posix-functions/fputc.texi: Likewise.
12834         * doc/posix-functions/fread.texi: Likewise.
12835         * doc/posix-functions/fwrite.texi: Likewise.
12836
12837 2011-09-25  Bruno Haible  <bruno@clisp.org>
12838
12839         msvc-inval: Allow three invalid parameter handling modes.
12840         * lib/msvc-inval.h: Don't include <stdlib.h> here.
12841         (DEFAULT_HANDLING, HAIRY_LIBRARY_HANDLING, SANE_LIBRARY_HANDLING): New
12842         macros.
12843         (gl_msvc_inval_ensure_handler, TRY_MSVC_INVAL, CATCH_MSVC_INVAL,
12844         DONE_MSVC_INVAL): Implement DEFAULT_HANDLING. Treat
12845         SANE_LIBRARY_HANDLING as a no-op.
12846         * lib/msvc-inval.c: Treat SANE_LIBRARY_HANDLING as a no-op. Include
12847         <stdlib.h>.
12848         (gl_msvc_invalid_parameter_handler): Implement DEFAULT_HANDLING.
12849
12850 2011-09-25  Bruno Haible  <bruno@clisp.org>
12851
12852         msvc-inval: Make handler multithread-safe.
12853         * lib/msvc-inval.h (struct gl_msvc_inval_per_thread): New type.
12854         (gl_msvc_inval_restart, gl_msvc_inval_restart_valid): Remove
12855         declarations.
12856         (gl_msvc_inval_current): New declaration.
12857         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12858         Operate on the structure returned by gl_msvc_inval_current().
12859         * lib/msvc-inval.c (gl_msvc_inval_restart, gl_msvc_inval_restart_valid):
12860         Remove varaiables.
12861         (tls_index, tls_initialized): New variables.
12862         (not_per_thread): New variable.
12863         (gl_msvc_inval_current): New function.
12864         (gl_msvc_invalid_parameter_handler) [!_MSC_VER]: Use the structure
12865         returned by gl_msvc_inval_current().
12866
12867 2011-09-25  Bruno Haible  <bruno@clisp.org>
12868
12869         msvc-inval: Install handler globally.
12870         * lib/msvc-inval.h (STATUS_GNULIB_INVALID_PARAMETER): Define also for
12871         !_MSC_VER.
12872         (gl_msvc_invalid_parameter_handler): Remove declaration.
12873         (gl_msvc_inval_restart_valid, gl_msvc_inval_ensure_handler): New
12874         declarations.
12875         (TRY_MSVC_INVAL, CATCH_MSVC_INVAL, DONE_MSVC_INVAL) [!_MSC_VER]:
12876         Install the handler globally, don't uninstall it.
12877         * lib/msvc-inval.c (gl_msvc_inval_restart_valid): New variable.
12878         (gl_msvc_invalid_parameter_handler): Make static. If the restart is not
12879         currently valid, call RaiseException instead.
12880         (gl_msvc_inval_initialized, gl_msvc_inval_ensure_handler): Define also
12881         for !_MSC_VER.
12882
12883 2011-09-25  Bruno Haible  <bruno@clisp.org>
12884
12885         strerror_r-posix: Fix for MSVC 9.
12886         * lib/strerror_r.c (local_snprintf): New function.
12887         (snprintf): Define to local_snprintf, not to _snprintf.
12888
12889 2011-09-25  Bruno Haible  <bruno@clisp.org>
12890
12891         ftruncate: Support for MSVC 9.
12892         * lib/ftruncate.c: Include errno.h, msvc-inval.h.
12893         (chsize_nothrow): New function.
12894         (chsize): Redefine as a macro.
12895         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): Require AC_C_INLINE.
12896         * modules/ftruncate (Depends-on): Add msvc-inval.
12897
12898 2011-09-25  Bruno Haible  <bruno@clisp.org>
12899
12900         New module 'fstat'.
12901         * lib/sys_stat.in.h (fstat): Declare only if GNULIB_FSTAT is set.
12902         * lib/fstat.c: New file, based on a piece of lib/fchdir.c.
12903         * lib/fchdir.c (rpl_fstat): Remove function.
12904         * m4/fstat.m4: New file.
12905         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_FSTAT.
12906         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Test whether fstat is
12907         declared.
12908         (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_FSTAT.
12909         * modules/sys_stat (Makefile.am): Substitute GNULIB_FSTAT.
12910         * modules/fstat: New file.
12911         * modules/sys_stat-tests (Depends-on): Remove fstat-tests.
12912         * tests/test-sys_stat-c++.cc (fstat): Check only if GNULIB_TEST_FSTAT
12913         is set.
12914         * doc/posix-functions/fstat.texi: Mention the new module and the
12915         problem on MSVC.
12916         * NEWS: Mention the change.
12917         * modules/acl (Depends-on): Add fstat.
12918         * modules/chdir-safer (Depends-on): Likewise.
12919         * modules/chown (Depends-on): Likewise.
12920         * modules/copy-file (Depends-on): Likewise.
12921         * modules/fchdir (Depends-on): Likewise.
12922         * modules/fdopendir (Depends-on): Likewise.
12923         * modules/fopen (Depends-on): Likewise.
12924         * modules/fts (Depends-on): Likewise.
12925         * modules/getcwd (Depends-on): Likewise.
12926         * modules/isapipe (Depends-on): Likewise.
12927         * modules/linkat (Depends-on): Likewise.
12928         * modules/lseek (Depends-on): Likewise.
12929         * modules/mkdir-p (Depends-on): Likewise.
12930         * modules/open (Depends-on): Likewise.
12931         * modules/openat (Depends-on): Likewise.
12932         * modules/read-file (Depends-on): Likewise.
12933         * modules/renameat (Depends-on): Likewise.
12934         * modules/utimens (Depends-on): Likewise.
12935
12936 2011-09-25  Bruno Haible  <bruno@clisp.org>
12937
12938         linkat: Fix compilation on MSVC 9.
12939         * lib/linkat.c: Don't include <stdint.h>.
12940
12941 2011-09-25  Bruno Haible  <bruno@clisp.org>
12942
12943         fclose: Support for MSVC 9.
12944         * lib/fclose.c: Include msvc-inval.h.
12945         (fclose_nothrow): New function.
12946         (rpl_fclose): Use it.
12947         * modules/fclose (Depends-on): Add msvc-inval.
12948         * doc/posix-functions/fclose.texi: Mention the problem on MSVC.
12949
12950 2011-09-24  Paul Eggert  <eggert@cs.ucla.edu>
12951
12952         dup2: minor simplifications
12953         * lib/dup2.c (ms_windows_dup2): Omit 'inline' as it's not clear
12954         that it's a performance win.
12955         (rpl_dup2): Change "if !((defined _WIN32 || defined __WIN32__) &&
12956         ! defined __CYGWIN__)" to "ifdef F_GETFL".
12957
12958 2011-09-24  Jim Meyering  <meyering@redhat.com>
12959
12960         test-futimens: avoid a warning from gcc -Wshadow
12961         * tests/test-futimens.h (test_futimens): Rename inner local, s/fd/fd0/
12962         to avoid a shadowing warning.
12963
12964 2011-09-24  Bruno Haible  <bruno@clisp.org>
12965
12966         fdopen: Support for MSVC 9.
12967         * m4/fdopen.m4 (gl_FUNC_FDOPEN): Set REPLACE_FDOPEN also if
12968         HAVE_MSVC_INVALID_PARAMETER_HANDLER is 1.
12969         * lib/fdopen.c: Include msvc-inval.h.
12970         (fdopen_nothrow): New function.
12971         (rpl_fdopen): Use it.
12972         * modules/fdopen (Depends-on): Add msvc-inval.
12973         * modules/fclose-tests (Depends-on): Add fdopen.
12974         * modules/fflush-tests (Depends-on): Likewise.
12975         * modules/fgetc-tests (Depends-on): Likewise.
12976         * modules/fputc-tests (Depends-on): Likewise.
12977         * modules/fread-tests (Depends-on): Likewise.
12978         * modules/freopen-tests (Depends-on): Likewise.
12979         * modules/fseeko-tests (Depends-on): Likewise.
12980         * modules/ftello-tests (Depends-on): Likewise.
12981         * modules/fwrite-tests  (Depends-on): Likewise.
12982         * doc/posix-functions/fdopen.texi: Mention the problem on MSVC.
12983
12984 2011-09-24  Bruno Haible  <bruno@clisp.org>
12985
12986         fgetc, fputc, fread, fwrite tests: Avoid compilation error on MSVC.
12987         * modules/fgetc-tests (Depends-on): Add unistd.
12988         * modules/fputc-tests (Depends-on): Likewise.
12989         * modules/fread-tests (Depends-on): Likewise.
12990         * modules/fwrite-tests (Depends-on): Likewise.
12991
12992 2011-09-24  Bruno Haible  <bruno@clisp.org>
12993
12994         dup: Simplify autoconf test.
12995         * m4/dup.m4 (gl_FUNC_DUP): Don't run a test program. Instead, just rely
12996         on gl_MSVC_INVAL's result.
12997
12998 2011-09-24  Bruno Haible  <bruno@clisp.org>
12999
13000         Tests for function fwrite().
13001         * modules/fwrite-tests: New file.
13002         * tests/test-fwrite.c: New file.
13003         * modules/stdio-tests (Depends-on): Add fwrite-tests.
13004
13005         Tests for function fread().
13006         * modules/fread-tests: New file.
13007         * tests/test-fread.c: New file.
13008         * modules/stdio-tests (Depends-on): Add fread-tests.
13009
13010         Activate fputc tests.
13011         * modules/stdio-tests (Depends-on): Add fputc-tests.
13012
13013         Enhance fgetc, fputc tests.
13014         * tests/test-fgetc.c (main): Also test the stream's error indicator.
13015         * tests/test-fputc.c (main): Likewise.
13016
13017 2011-09-24  Bruno Haible  <bruno@clisp.org>
13018
13019         write: Support for MSVC 9.
13020         * lib/unistd.in.h (write): Replace also when GNULIB_UNISTD_H_NONBLOCKING
13021         is not 1.
13022         * lib/write.c (write_nothrow): New function.
13023         (rpl_write): Define also when GNULIB_NONBLOCKING or GNULIB_SIGPIPE is
13024         not 1. Use write_nothrow.
13025         * m4/write.m4 (gl_FUNC_WRITE): Replace read if the platform has an
13026         invalid parameter handler.
13027         (gl_PREREQ_WRITE): New macro.
13028         * modules/write (Depends-on): Add msvc-inval.
13029         (configure.ac): Invoke gl_PREREQ_WRITE.
13030         * doc/posix-functions/write.texi: Mention the problem on MSVC.
13031
13032 2011-09-24  Bruno Haible  <bruno@clisp.org>
13033
13034         read: Fix last commit.
13035         * lib/read.c (read_nothrow): Change return type to 'ssize_t'.
13036
13037 2011-09-24  Bruno Haible  <bruno@clisp.org>
13038
13039         dup2: Fix last commit.
13040         * lib/dup2.c: Restore comments. Treat Cygwin like Unix.
13041         (rpl_dup2): Disable fcntl workaround on native Windows.
13042
13043         sigprocmask: Make code safer.
13044         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' before the code
13045         section that changes macro definitions for this compilation unit.
13046
13047 2011-09-23  Paul Eggert  <eggert@cs.ucla.edu>
13048
13049         dup2: clarify by coalescing Windows-specific material
13050         * lib/dup2.c: Move '#include "msvc-inval.h"' and '#include
13051         "msvc-nothrow.h"' to the Windows-specific section, so that the
13052         Emacs source need not contain these include files.
13053         (ms_windows_dup2): Rename from dup2_nothrow, and move all the
13054         Windows-specific fixes into this function rather than just the
13055         nothrow fix, as this shortens and clarifies the code.  Always
13056         define as a function, as that's a bit cleaner than having it be
13057         sometimes a function and sometimes a macro.
13058         (rpl_dup2): Move the Windows-specific stuff out of here and into
13059         ms_windows_dup2.  Don't protect the Haiku-related fix with
13060         "#if !defined __linux__", as the same code also works around
13061         a Linux kernel bug, and it doesn't add any system calls on any
13062         platform.  Add comment about FreeBSD 6.1.
13063
13064         sigprocmask: move #include directive
13065         * lib/sigprocmask.c: Move '#include "msvc-inval.h"' to the
13066         Windows-specific section, so that the Emacs source need not
13067         contain msvc-inval.h.
13068
13069 2011-09-23  Bruno Haible  <bruno@clisp.org>
13070
13071         read: Support for MSVC 9.
13072         * lib/unistd.in.h (read): Replace also when GNULIB_UNISTD_H_NONBLOCKING
13073         is not 1.
13074         * lib/read.c (read_nothrow): New function.
13075         (rpl_read): Define also when GNULIB_NONBLOCKING is not 1. Use
13076         read_nothrow.
13077         * m4/read.m4 (gl_FUNC_READ): Replace read if the platform has an
13078         invalid parameter handler.
13079         (gl_PREREQ_READ): New macro.
13080         * modules/read (Depends-on): Add msvc-inval.
13081         (configure.ac): Invoke gl_PREREQ_READ.
13082         * doc/posix-functions/read.texi: Mention the problem on MSVC.
13083
13084 2011-09-23  Bruno Haible  <bruno@clisp.org>
13085
13086         close: Support for MSVC 9.
13087         * lib/close.c: Include <errno.h>, msvc-inval.h.
13088         (close_nothrow): New function.
13089         (rpl_close): Use it.
13090         * m4/close.m4 (gl_FUNC_CLOSE): Replace close if the platform has an
13091         invalid parameter handler.
13092         * modules/close (Depends-on): Add msvc-inval.
13093         * modules/dup2-tests (Depends-on): Add close.
13094         * modules/dup3-tests (Depends-on): Likewise.
13095         * modules/fcntl-tests (Depends-on): Likewise.
13096         * modules/spawn-pipe-tests (Depends-on): Likewise.
13097         * modules/unistd-safer-tests (Depends-on): Likewise.
13098         * doc/posix-functions/close.texi: Mention the problem on MSVC.
13099
13100 2011-09-23  Bruno Haible  <bruno@clisp.org>
13101
13102         New module 'dup'.
13103         * lib/unistd.in.h (dup): Declare only if the 'dup' module is in use.
13104         Allow replacement.
13105         * lib/dup.c: New file.
13106         * lib/fchdir.c (rpl_dup): Remove function.
13107         * m4/dup.m4: New file.
13108         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_DUP here.
13109         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether 'dup' is declared.
13110         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP.
13111         * modules/unistd (Makefile.am): Substitute GNULIB_DUP.
13112         * modules/dup: New file.
13113         * tests/test-unistd-c++.cc: Check the signature of 'dup' only if the
13114         'dup' module is in use.
13115         * modules/fdopendir (Depends-on): Add dup.
13116         * modules/fdutimensat-tests (Depends-on): Likewise.
13117         * modules/fts (Depends-on): Likewise.
13118         * modules/futimens-tests (Depends-on): Likewise.
13119         * modules/posix_spawnp-tests (Depends-on): Likewise.
13120         * modules/unistd-safer-tests (Depends-on): Likewise.
13121         * modules/utimens-tests (Depends-on): Likewise.
13122         * doc/posix-functions/dup.texi: Mention the new module and the problem
13123         on MSVC.
13124
13125 2011-09-23  Bruno Haible  <bruno@clisp.org>
13126
13127         getdtablesize: Support for MSVC 9.
13128         * lib/getdtablesize.c: Include msvc-inval.h.
13129         (_setmaxstdio_nothrow): New function.
13130         (_setmaxstdio): Redefine it.
13131         * m4/getdtablesize.m4 (gl_PREREQ_GETDTABLESIZE): New macro.
13132         * modules/getdtablesize (Depends-on): Add msvc-inval.
13133         (configure.ac): Invoke gl_PREREQ_GETDTABLESIZE.
13134
13135 2011-09-23  Bruno Haible  <bruno@clisp.org>
13136
13137         signal-h: Rename from signal.
13138         * modules/signal-h: Renamed from modules/signal.
13139         * modules/pthread_sigmask (Depends-on): Update.
13140         * modules/raise (Depends-on): Likewise.
13141         * modules/sigaction (Depends-on): Likewise.
13142         * modules/sigpipe (Depends-on): Likewise.
13143         * modules/sigprocmask (Depends-on): Likewise.
13144         * modules/sys_select (Depends-on): Likewise.
13145         * modules/signal-h-tests: Renamed from modules/signal-tests.
13146         (Files, Depends-on, Makefile.am): Update.
13147         * tests/test-signal-h.c: Renamed from tests/test-signal.c.
13148         * modules/signal-h-c++-tests: Renamed from modules/signal-c++-tests.
13149         (Files, Makefile.am): Update.
13150         * tests/test-signal-h-c++.cc: Renamed from tests/test-signal-c++.cc.
13151         * tests/test-signal-h-c++2.cc: Renamed from tests/test-signal-c++2.cc.
13152         * modules/signal: New placeholder file.
13153         * MODULES.html.sh (Support for systems lacking POSIX:2008): Update.
13154         * doc/posix-headers/signal.texi: Update.
13155         * NEWS: Mention the change.
13156
13157 2011-09-23  Bruno Haible  <bruno@clisp.org>
13158
13159         sigprocmask: Avoid crashes through signal() on MSVC 9.
13160         * lib/sigprocmask.c: Include msvc-inval.h.
13161         (signal_nothrow): New function.
13162         (signal): Redefine it.
13163         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Require AC_C_INLINE.
13164         * modules/sigprocmask (Depends-on): Add msvc-inval.
13165         * doc/posix-functions/signal.texi: Mention the problem on MSVC.
13166
13167 2011-09-23  Bruno Haible  <bruno@clisp.org>
13168
13169         Tests for module 'raise'.
13170         * modules/raise-tests: New file.
13171         * tests/test-raise.c: New file.
13172
13173         raise: Support for MSVC.
13174         * lib/signal.in.h (raise): New declaration.
13175         * lib/raise.c (raise_nothrow, rpl_raise): New alternate implementation
13176         for native Windows platforms.
13177         * m4/raise.m4: New file.
13178         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize GNULIB_RAISE,
13179         HAVE_RAISE, REPLACE_RAISE.
13180         * modules/signal (Makefile.am): Substitute GNULIB_RAISE, HAVE_RAISE,
13181         REPLACE_RAISE.
13182         * modules/raise (Status, Notice): Remove fields.
13183         (Files): Add m4/raise.m4.
13184         (Depends-on): Add signal, msvc-inval.
13185         (configure.ac): Use the common idioms.
13186         (Maintainer): Add me.
13187         * tests/test-signal-c++.cc: Check the signature of raise.
13188         * doc/posix-functions/raise.texi: Mention the problem on MSVC.
13189
13190 2011-09-23  Bruno Haible  <bruno@clisp.org>
13191
13192         pipe2: Fix compilation on pre-C99 compilers.
13193         * lib/pipe2.c (pipe2): Surround verify(...) declaration with braces.
13194
13195 2011-09-23  Bruno Haible  <bruno@clisp.org>
13196
13197         New module 'msvc-nothrow'. Makes _get_osfhandle safe on MSVC 9.
13198         * lib/msvc-nothrow.h: New file.
13199         * lib/msvc-nothrow.c: New file.
13200         * m4/msvc-nothrow.m4: New file.
13201         * modules/msvc-nothrow: New file.
13202         * lib/dup2.c: Include msvc-nothrow.h.
13203         (rpl_dup2): No need to protect _get_osfhandle call here.
13204         * lib/accept4.c: Include msvc-nothrow.h.
13205         * lib/error.c: Likewise.
13206         * lib/fcntl.c: Likewise.
13207         * lib/lseek.c: Likewise.
13208         * lib/nonblocking.c: Likewise.
13209         * lib/poll.c: Likewise.
13210         * lib/read.c: Likewise.
13211         * lib/select.c: Likewise.
13212         * lib/sockets.h: Likewise.
13213         * lib/sockets.c: Likewise.
13214         * lib/stdio-read.c: Likewise.
13215         * lib/stdio-write.c: Likewise.
13216         * lib/write.c: Likewise.
13217         * lib/w32sock.h: Likewise.
13218         * lib/w32spawn.h: Likewise.
13219         * lib/flock.c: Include msvc-nothrow.h instead of <io.h>.
13220         * lib/fsync.c: Likewise.
13221         * lib/isapipe.c: Likewise.
13222         * modules/dup2 (Depends-on): Add msvc-nothrow.
13223         * modules/accept4 (Depends-on): Likewise.
13224         * modules/error (Depends-on): Likewise.
13225         * modules/fcntl (Depends-on): Likewise.
13226         * modules/lseek (Depends-on): Likewise.
13227         * modules/nonblocking (Depends-on): Likewise.
13228         * modules/poll (Depends-on): Likewise.
13229         * modules/read (Depends-on): Likewise.
13230         * modules/select (Depends-on): Likewise.
13231         * modules/sockets (Depends-on): Likewise.
13232         * modules/sigpipe (Depends-on): Likewise.
13233         * modules/write (Depends-on): Likewise.
13234         * modules/accept (Depends-on): Likewise.
13235         * modules/bind (Depends-on): Likewise.
13236         * modules/connect (Depends-on): Likewise.
13237         * modules/gethostname (Depends-on): Likewise.
13238         * modules/getpeername (Depends-on): Likewise.
13239         * modules/getsockname (Depends-on): Likewise.
13240         * modules/getsockopt (Depends-on): Likewise.
13241         * modules/ioctl (Depends-on): Likewise.
13242         * modules/listen (Depends-on): Likewise.
13243         * modules/recv (Depends-on): Likewise.
13244         * modules/recvfrom (Depends-on): Likewise.
13245         * modules/send (Depends-on): Likewise.
13246         * modules/sendto (Depends-on): Likewise.
13247         * modules/setsockopt (Depends-on): Likewise.
13248         * modules/shutdown (Depends-on): Likewise.
13249         * modules/socket (Depends-on): Likewise.
13250         * modules/execute (Depends-on): Likewise.
13251         * modules/spawn-pipe (Depends-on): Likewise.
13252         * modules/flock (Depends-on): Likewise.
13253         * modules/fsync (Depends-on): Likewise.
13254         * modules/isapipe (Depends-on): Likewise.
13255         * tests/test-cloexec.c: Include msvc-nothrow.h.
13256         * tests/test-dup-safer.c: Likewise.
13257         * tests/test-dup2.c: Likewise.
13258         * tests/test-dup3.c: Likewise.
13259         * tests/test-fcntl.c: Likewise.
13260         * tests/test-pipe.c: Likewise.
13261         * tests/test-pipe2.c: Likewise.
13262         * modules/cloexec-tests (Depends-on): Add msvc-nothrow.
13263         * modules/unistd-safer-tests (Depends-on): Likewise.
13264         * modules/dup2-tests (Depends-on): Likewise.
13265         * modules/dup3-tests (Depends-on): Likewise.
13266         * modules/fcntl-tests (Depends-on): Likewise.
13267         * modules/pipe-posix-tests (Depends-on): Likewise.
13268         * modules/pipe2-tests (Depends-on): Likewise.
13269
13270 2011-09-23  Bruno Haible  <bruno@clisp.org>
13271
13272         dup2: Make code more maintainable.
13273         * lib/dup2.c (dup2_nothrow): New function, extracted from rpl_dup2.
13274         (rpl_dup2): Use it.
13275         * m4/dup2.m4 (gl_PREREQ_DUP2): New macro.
13276         * modules/dup2 (configure.ac): Invoke it.
13277         Reported by Paul Eggert.
13278
13279 2011-09-23  Bruno Haible  <bruno@clisp.org>
13280
13281         msvc-inval: Fix compilation error.
13282         * lib/msvc-inval.h: Include <excpt.h>.
13283
13284 2011-09-23  Bruno Haible  <bruno@clisp.org>
13285
13286         mkdir: Tweak for MSVC 9.
13287         * lib/sys_stat.in.h: Update comments.
13288         * doc/posix-functions/mkdir.texi: Mention problem on MSVC 9.
13289
13290         Tests for module 'chdir'.
13291         * modules/chdir-tests: New file.
13292         * tests/test-chdir.c: New file.
13293
13294         New module 'chdir'.
13295         * modules/chdir: New file.
13296         * lib/unistd.in.h: Include <io.h>, <direct.h> also for chdir.
13297         (chdir): New declaration.
13298         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether chdir is declared.
13299         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CHDIR.
13300         * modules/unistd (Makefile.am): Substitute GNULIB_CHDIR.
13301         * tests/test-unistd-c++.cc: Check signature of chdir.
13302         * doc/posix-functions/chdir.texi: Mention problem on native Windows.
13303         * modules/chdir-long (Depends-on): Add chdir.
13304         * modules/fchdir (Depends-on): Likewise.
13305         * modules/rename (Depends-on): Likewise.
13306         * modules/savewd (Depends-on): Likewise.
13307
13308         rmdir: Support for mingw, MSVC 9.
13309         * lib/unistd.in.h: Include <io.h> and <direct.h> also for rmdir.
13310         * doc/posix-functions/getcwd.texi: Mention problem on native Windows.
13311
13312         getcwd: Tweak for MSVC 9.
13313         * lib/unistd.in.h: Update comments.
13314         * doc/posix-functions/getcwd.texi: Mention problem on MSVC 9.
13315
13316 2011-09-22  Bruno Haible  <bruno@clisp.org>
13317
13318         strerror_r-posix: Avoid a link error on MSVC.
13319         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Check for snprintf.
13320         * lib/strerror_r.c (snprintf): Define to _snprintf if it doesn't exist.
13321
13322 2011-09-22  Bruno Haible  <bruno@clisp.org>
13323
13324         select: Avoid link errors on MSVC.
13325         * m4/select.m4 (gl_FUNC_SELECT): Determine LIB_SELECT.
13326         * modules/select (Link): Replace $(LIBSOCKET) with $(LIB_SELECT).
13327         * modules/pselect (Link): Likewise.
13328         * NEWS: Mention the change.
13329         * modules/select-tests (Makefile.am): Link test-select, test-select-fd,
13330         test-select-stdin against $(LIB_SELECT).
13331         * modules/pselect-tests (Makefile.am): Link test-pselect against
13332         $(LIB_SELECT).
13333
13334 2011-09-22  Bruno Haible  <bruno@clisp.org>
13335
13336         select: Avoid compilation error on MSVC.
13337         * lib/select.c: Don't include <stdbool.h>.
13338
13339 2011-09-21  Bruno Haible  <bruno@clisp.org>
13340
13341         Consolidate all uses of PATH_MAX in *.m4 files.
13342         * m4/pathmax.m4 (gl_PATHMAX_SNIPPET, gl_PATHMAX_SNIPPET_PREREQ): New
13343         macros.
13344         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Use gl_PATHMAX_SNIPPET_PREREQ
13345         and gl_PATHMAX_SNIPPET.
13346         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
13347         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
13348         * modules/chdir-long (Files): Add m4/pathmax.m4.
13349         * modules/getcwd (Files): Likewise.
13350
13351 2011-09-21  Bruno Haible  <bruno@clisp.org>
13352
13353         ftruncate: Un-deprecate, concentrate on Win32 support.
13354         * modules/ftruncate (Status, Notice): Remove sections.
13355         (Depends-on): Add largefile.
13356         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Drop failure message on
13357         non-mingw platforms.
13358         * lib/ftruncate.c: Remove code for the older platforms. For Win32,
13359         include <io.h>.
13360         * modules/perror-tests (Depends-on): Add ftruncate.
13361         * doc/posix-functions/ftruncate.texi: Mention the MSVC problem and the
13362         'ftruncate' module.
13363
13364 2011-09-21  Bruno Haible  <bruno@clisp.org>
13365
13366         Add dependencies to new dirent related modules.
13367         * modules/opendir (Depends-on): Add closedir.
13368         * modules/getcwd (Depends-on): Add opendir, closedir.
13369         * modules/dirent-safer-tests (Depends-on): Likewise.
13370         * modules/fdopendir-tests (Depends-on): Likewise.
13371         * modules/rename-tests (Depends-on): Add opendir, readdir, closedir.
13372         * modules/renameat-tests (Depends-on): Likewise.
13373
13374 2011-09-21  Bruno Haible  <bruno@clisp.org>
13375
13376         opendir: Avoid compilation error on mingw.
13377         * lib/opendir.c: Include <stddef.h> always. Include <unistd.h> as well.
13378         * modules/opendir (Depends-on): Add unistd.
13379
13380 2011-09-21  Bruno Haible  <bruno@clisp.org>
13381
13382         ftruncate tests: Avoid a test failure on mingw.
13383         * tests/test-ftruncate.c (main): Allow a failure with EACCES.
13384
13385 2011-09-21  Bruno Haible  <bruno@clisp.org>
13386
13387         select tests: Avoid test failures on OSF/1 5.1 and mingw.
13388         * tests/test-select.h (test_bad_fd): Disable all tests on OSF/1 and
13389         native Windows.
13390
13391 2011-09-21  Bruno Haible  <bruno@clisp.org>
13392
13393         New module 'fdopen'.
13394         * lib/stdio.in.h (fdopen): New declaration.
13395         * lib/fdopen.c: New file.
13396         * m4/fdopen.m4: New file.
13397         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FDOPEN,
13398         REPLACE_FDOPEN.
13399         * modules/stdio (Makefile.am): Substitute GNULIB_FDOPEN,
13400         REPLACE_FDOPEN.
13401         * modules/fdopen: New file.
13402         * modules/stdio-tests (Depends-on): Remove fdopen-tests.
13403         * tests/test-stdio-c++.cc: Check signature of fdopen.
13404         * doc/posix-functions/fdopen.texi: Mention the new module.
13405
13406 2011-09-21  Bruno Haible  <bruno@clisp.org>
13407
13408         unlockpt tests: Avoid test failure on NetBSD 5.1.
13409         * tests/test-unlockpt.c (main): Skip the EBADF tests on NetBSD.
13410         * doc/posix-functions/unlockpt.texi: Mention the bug on NetBSD.
13411
13412 2011-09-21  Bruno Haible  <bruno@clisp.org>
13413
13414         getlogin, getlogin_r tests: Avoid test failure on Linux/SPARC.
13415         * tests/test-getlogin.c (main): Allow a failure with EINVAL.
13416         * tests/test-getlogin_r.c (main): Likewise.
13417
13418 2011-09-20  Bruno Haible  <bruno@clisp.org>
13419
13420         time tests: Don't require pid_t.
13421         * doc/posix-headers/time.texi: Revert last change.
13422         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Revert last change.
13423         * tests/test-time.c: Comment out the check for pid_t.
13424
13425 2011-09-20  Bruno Haible  <bruno@clisp.org>
13426
13427         fsync tests: Avoid a test failure on mingw.
13428         * tests/test-fsync.c (main): Allow a failure with EIO.
13429
13430 2011-09-20  Bruno Haible  <bruno@clisp.org>
13431
13432         euidaccess: Update comments.
13433         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Update comments.
13434
13435 2011-09-20  Bruno Haible  <bruno@clisp.org>
13436
13437         Ensure EBADF returns for socket functions on mingw.
13438         * lib/accept.c (rpl_accept): Fail with error EBADF if the file
13439         descriptor is invalid.
13440         * lib/bind.c (rpl_bind): Likewise.
13441         * lib/connect.c (rpl_connect): Likewise.
13442         * lib/getpeername.c (rpl_getpeername): Likewise.
13443         * lib/getsockname.c (rpl_getsockname): Likewise.
13444         * lib/getsockopt.c (rpl_getsockopt): Likewise.
13445         * lib/listen.c (rpl_listen): Likewise.
13446         * lib/recv.c (rpl_recv): Likewise.
13447         * lib/recvfrom.c (rpl_recvfrom): Likewise.
13448         * lib/send.c (rpl_send): Likewise.
13449         * lib/sendto.c (rpl_sendto): Likewise.
13450         * lib/setsockopt.c (rpl_setsockopt): Likewise.
13451         * lib/shutdown.c (rpl_shutdown): Likewise.
13452
13453 2011-09-20  Bruno Haible  <bruno@clisp.org>
13454
13455         select tests: EBADF tests.
13456         * tests/test-select.h (do_select_bad_fd, do_select_bad_fd_nowait,
13457         test_bad_fd): New functions.
13458         (test_function): Invoke also test_bad_fd.
13459
13460 2011-09-20  Bruno Haible  <bruno@clisp.org>
13461
13462         Tests for module 'posix_spawn_file_actions_addopen.
13463         * modules/posix_spawn_file_actions_addopen-tests: New file.
13464         * tests/test-posix_spawn_file_actions_addopen.c: New file.
13465
13466         Tests for module 'posix_spawn_file_actions_adddup2'.
13467         * modules/posix_spawn_file_actions_adddup2-tests: New file.
13468         * tests/test-posix_spawn_file_actions_adddup2.c: New file.
13469
13470         Tests for module 'posix_spawn_file_actions_addclose'.
13471         * modules/posix_spawn_file_actions_addclose-tests: New file.
13472         * tests/test-posix_spawn_file_actions_addclose.c: New file.
13473
13474 2011-09-20  Bruno Haible  <bruno@clisp.org>
13475
13476         Tests for module 'unlockpt'.
13477         * modules/unlockpt-tests: New file.
13478         * tests/test-unlockpt.c: New file.
13479         * doc/posix-functions/unlockpt.texi: Mention the Cygwin 1.7 problem.
13480
13481         Tests for module 'grantpt'.
13482         * modules/grantpt-tests: New file.
13483         * tests/test-grantpt.c: New file.
13484         * doc/posix-functions/grantpt.texi: Mention the Cygwin 1.7 problem.
13485
13486 2011-09-20  Bruno Haible  <bruno@clisp.org>
13487
13488         freopen tests: EBADF tests.
13489         * tests/test-freopen.c: Include errno.h, unistd.h.
13490         (main): Add tests for EBADF, commented out for the moment.
13491
13492         fclose tests: EBADF tests.
13493         * tests/test-fclose.c (main): Add tests for EBADF.
13494
13495         fflush tests: EBADF tests.
13496         * tests/test-fflush.c: Include errno.h, macros.h.
13497         (main): Add tests for EBADF.
13498
13499         ftello tests: EBADF tests.
13500         * tests/test-ftello4.sh: New file.
13501         * tests/test-ftello4.c: New file.
13502         * modules/ftello-tests (Files): Add them.
13503         (Makefile.am): Arrange to compile test-ftello4 and run test-ftello4.sh.
13504
13505         fseeko tests: EBADF tests.
13506         * tests/test-fseeko4.sh: New file.
13507         * tests/test-fseeko4.c: New file.
13508         * modules/fseeko-tests (Files): Add them.
13509         (Makefile.am): Arrange to compile test-fseeko4 and run test-fseeko4.sh.
13510
13511         Tests for function fputc().
13512         * modules/fputc-tests: New file.
13513         * tests/test-fputc.c: New file.
13514         * modules/stdio-tests (Depends-on): Add fputc-tests.
13515
13516         Tests for function fgetc().
13517         * modules/fgetc-tests: New file.
13518         * tests/test-fgetc.c: New file.
13519         * modules/stdio-tests (Depends-on): Add fgetc-tests.
13520
13521         Tests for function fdopen().
13522         * modules/fdopen-tests: New file.
13523         * tests/test-fdopen.c: New file.
13524         * modules/stdio-tests (Depends-on): Add fdopen-tests.
13525
13526         Tests for module 'vdprintf'.
13527         * modules/vdprintf-tests: New file.
13528         * tests/test-vdprintf.c: New file.
13529
13530         Tests for module 'dprintf'.
13531         * modules/dprintf-tests: New file.
13532         * tests/test-dprintf.c: New file.
13533
13534 2011-09-20  Bruno Haible  <bruno@clisp.org>
13535
13536         Tests for module 'ioctl'.
13537         * modules/ioctl-tests: New file.
13538         * tests/test-ioctl.c: New file.
13539
13540 2011-09-20  Bruno Haible  <bruno@clisp.org>
13541
13542         fcntl tests: EBADF tests.
13543         * tests/test-fcntl.c (main): Add more tests for EBADF.
13544
13545 2011-09-20  Bruno Haible  <bruno@clisp.org>
13546
13547         utimensat tests: EBADF tests.
13548         * tests/test-utimensat.c (main): Add tests for EBADF.
13549
13550         renameat tests: EBADF tests.
13551         * tests/test-renameat.c (main): Add tests for EBADF.
13552
13553         mkfifoat tests: EBADF tests.
13554         * tests/test-mkfifoat.c (main): Add tests for EBADF.
13555
13556         readlinkat tests: EBADF tests.
13557         * tests/test-readlinkat.c (main): Add tests for EBADF.
13558
13559         symlinkat tests: EBADF tests.
13560         * tests/test-symlinkat.c (main): Add tests for EBADF.
13561
13562         linkat tests: EBADF tests.
13563         * tests/test-linkat.c (main): Add tests for EBADF.
13564
13565         Tests for module 'faccessat'.
13566         * modules/faccessat-tests: New file.
13567         * tests/test-faccessat.c: New file.
13568
13569         fdopendir tests: EBADF tests.
13570         * tests/test-fdopendir.c (main): Add more tests for EBADF.
13571
13572         openat tests: EBADF tests.
13573         * tests/test-fchownat.c (main): Add tests for EBADF.
13574         * tests/test-fstatat.c (main): Likewise.
13575         * tests/test-mkdirat.c (main): Likewise.
13576         * tests/test-openat.c (main): Likewise.
13577         * tests/test-unlinkat.c (main): Likewise.
13578         * tests/test-fchmodat.c: New file.
13579         * modules/openat-tests (Files): Add tests/test-fchmodat.c.
13580         (Makefile.am): Also run 'test-fchmodat'.
13581
13582 2011-09-20  Bruno Haible  <bruno@clisp.org>
13583
13584         utimens, futimens, fdutimensat tests: EBADF tests.
13585         * tests/test-futimens.h (test_futimens): Add more tests for EBADF.
13586
13587         Tests for function fstat().
13588         * modules/fstat-tests: New file.
13589         * tests/test-fstat.c: New file.
13590         * modules/sys_stat-tests (Depends-on): Add fstat-tests.
13591
13592 2011-09-20  Bruno Haible  <bruno@clisp.org>
13593
13594         test-ttyname_r tests: EBADF tests.
13595         * tests/test-ttyname_r.c (main): Add tests for EBADF.
13596
13597         Tests for module 'isatty'.
13598         * modules/isatty-tests: New file.
13599         * tests/test-isatty.c: New file.
13600
13601         Tests for module 'write'.
13602         * modules/write-tests: New file.
13603         * tests/test-write.c: New file.
13604
13605         Tests for module 'read'.
13606         * modules/read-tests: New file.
13607         * tests/test-read.c: New file.
13608
13609         pwrite tests: EBADF tests.
13610         * tests/test-pwrite.c (main): Add tests for EBADF.
13611
13612         pread tests: EBADF tests.
13613         * tests/test-pread.c (main): Add tests for EBADF.
13614
13615         lseek tests: EBADF tests.
13616         * tests/test-lseek.c (main): Add more tests for EBADF.
13617
13618         Tests for module 'ftruncate'.
13619         * modules/ftruncate-tests: New file.
13620         * tests/test-ftruncate.sh: New file.
13621         * tests/test-ftruncate.c: New file.
13622
13623         fsync tests: EBADF tests.
13624         * tests/test-fsync.c (main): Add more tests for EBADF.
13625
13626         fdatasync tests: EBADF tests.
13627         * tests/test-fdatasync.c (main): Add more tests for EBADF.
13628
13629         Tests for module 'fchown'.
13630         * modules/fchown-tests: New file.
13631         * tests/test-fchown.c: New file.
13632
13633         Tests for module 'fchmod'.
13634         * modules/fchmod-tests: New file.
13635         * tests/test-fchmod.c: New file.
13636
13637         fchdir tests: EBADF tests.
13638         * tests/test-fchdir.c (main): Add more tests for EBADF.
13639
13640         dup2 tests: EBADF tests.
13641         * tests/test-dup2.c (main): Add more tests for EBADF.
13642
13643         Tests for module 'dup'.
13644         * modules/dup-tests: New file.
13645         * tests/test-dup.c: New file.
13646
13647         Tests for module 'close'.
13648         * modules/close-tests: New file.
13649         * tests/test-close.c: New file.
13650
13651 2011-09-20  Bruno Haible  <bruno@clisp.org>
13652
13653         Tests for module 'shutdown'.
13654         * modules/shutdown-tests: New file.
13655         * tests/test-shutdown.c: New file.
13656
13657         Tests for module 'setsockopt'.
13658         * modules/setsockopt-tests: New file.
13659         * tests/test-setsockopt.c: New file.
13660
13661         Tests for module 'sendto'.
13662         * modules/sendto-tests: New file.
13663         * tests/test-sendto.c: New file.
13664
13665         Tests for module 'send'.
13666         * modules/send-tests: New file.
13667         * tests/test-send.c: New file.
13668
13669         Tests for module 'recvfrom'.
13670         * modules/recvfrom-tests: New file.
13671         * tests/test-recvfrom.c: New file.
13672
13673         Tests for module 'recv'.
13674         * modules/recv-tests: New file.
13675         * tests/test-recv.c: New file.
13676
13677         Tests for module 'listen'.
13678         * modules/listen-tests: New file.
13679         * tests/test-listen.c: New file.
13680
13681         Tests for module 'getsockopt'.
13682         * modules/getsockopt-tests: New file.
13683         * tests/test-getsockopt.c: New file.
13684
13685         Tests for module 'getsockname'.
13686         * modules/getsockname-tests: New file.
13687         * tests/test-getsockname.c: New file.
13688
13689         Tests for module 'getpeername'.
13690         * modules/getpeername-tests: New file.
13691         * tests/test-getpeername.c: New file.
13692
13693         Tests for module 'connect'.
13694         * modules/connect-tests: New file.
13695         * tests/test-connect.c: New file.
13696
13697         Tests for module 'bind'.
13698         * modules/bind-tests: New file.
13699         * tests/test-bind.c: New file.
13700
13701         accept4 tests: Fix for native Windows.
13702         * tests/test-accept4.c: Include sockets.h.
13703         (main): Invoke gl_sockets_startup.
13704         * modules/accept4-tests (Depends-on): Add sockets.
13705
13706         accept tests: Fix for native Windows.
13707         * tests/test-accept.c: Include sockets.h.
13708         (main): Invoke gl_sockets_startup.
13709         * modules/accept-tests (Depends-on): Add sockets.
13710
13711 2011-09-19  Bruno Haible  <bruno@clisp.org>
13712
13713         msvc-inval: Require a semicolon after DONE_MSVC_INVAL.
13714         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Wrap in a
13715         do...while(0).
13716         * lib/dup2.c (rpl_dup2): Add a semicolon after DONE_MSVC_INVAL.
13717         Suggested by Paul Eggert.
13718
13719 2011-09-19  Bruno Haible  <bruno@clisp.org>
13720
13721         sched: Ensure pid_t is defined.
13722         * m4/sched_h.m4 (gl_SCHED_H): Arrange to override <sched.h> if it does
13723         not define pid_t.
13724         * lib/sched.in.h: Include <sys/types.h>.
13725         * doc/posix-headers/sched.texi: Mention the pid_t problem.
13726         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
13727
13728 2011-09-19  Bruno Haible  <bruno@clisp.org>
13729
13730         msvc-inval: Ensure the entire expansion is a single statement.
13731         * lib/msvc-inval.h (TRY_MSVC_INVAL, DONE_MSVC_INVAL): Add an extra pair
13732         of braces.
13733
13734 2011-09-19  Jim Meyering  <meyering@redhat.com>
13735
13736         tests: use printf, not echo in init.sh's warn_ function
13737         * tests/init.sh (warn_): Use printf, not echo.  The latter would
13738         misbehave when given strings containing a backslash or starting
13739         with e.g., -n.  James Youngman suggested setting IFS.
13740
13741 2011-09-19  Eric Blake  <eblake@redhat.com>
13742
13743         futimens: enhance test
13744         * tests/test-futimens.h (test_futimens): Also check for EBADF on
13745         closed non-negative fd.
13746
13747         date: accept 'hence' as opposite of 'ago'
13748         * lib/parse-datetime.y (relative_time_table): Add 'hence'.
13749         * tests/test-parse-datetime.c (main): Enhance test.
13750         Suggested by Jesse Wilson.
13751
13752 2011-09-19  Jim Meyering  <meyering@redhat.com>
13753
13754         getcwd: don't fail in a deep directory on a system without openat
13755         Before this change, getcwd would fail when called from a directory
13756         of depth PATH_MAX / 3 or greater.  That was due to the fact that
13757         the non-openat implementation used "..", "../..", "../../..", etc.
13758         to access ancestor directories.  With too many, that string would
13759         be longer than PATH_MAX.
13760         * lib/getcwd.c (HAVE_OPENAT_SUPPORT): Define also when we are
13761         using gnulib's openat replacement.
13762         * m4/openat.m4: Set GNULIB_OPENAT, so getcwd.c knows when
13763         we're using the replacement function.
13764
13765 2011-09-14  Martin von Gagern  <Martin.vGagern@gmx.net>
13766
13767         maint.mk: avoid warnings from perl about missing files
13768         * top/maint.mk (def_sym_regex): Ignore files listed in
13769         $(gl_other_headers_) that do not exist, say because a project
13770         does not use a corresponding module.
13771
13772 2011-09-18  Paul Eggert  <eggert@cs.ucla.edu>
13773
13774         stat: use pathmax.h only if needed
13775         * lib/stat.c: Include pathmax.h only if REPLACE_FUNC_STAT_DIR.
13776         This is better for Emacs, which does not have a mingw port and
13777         therefore can avoid the pathmax module.
13778
13779         utimens: remove dependency on dup2
13780         * lib/utimens.c (fdutimens): Don't invoke dup2; it's not needed
13781         to work around the Linux kernel bug.
13782         * modules/utimens (Depends-on): Remove dup2.
13783
13784 2011-09-18  Bruno Haible  <bruno@clisp.org>
13785
13786         inet_ntop, inet_pton: Look for it also in libresolv.
13787         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): If the function was not found in
13788         libnsl, search for it in libresolv.
13789         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
13790         Needed on Solaris 7.
13791
13792 2011-09-18  Bruno Haible  <bruno@clisp.org>
13793
13794         accept, accept4 tests: Avoid link error on Solaris.
13795         * modules/accept-tests (Makefile.am): Link test-accept against
13796         $(LIBSOCKET).
13797         * modules/accept4-tests (Makefile.am): Link test-accept4 against
13798         $(LIBSOCKET).
13799
13800         accept4: Avoid link error on Solaris.
13801         * modules/accept4 (Link): New section.
13802
13803         socket functions: Avoid link errors on Solaris.
13804         * modules/accept (Depends-on): Add socketlib.
13805         (Link): New section.
13806         * modules/bind (Depends-on): Add socketlib.
13807         (Link): New section.
13808         * modules/connect (Depends-on): Add socketlib.
13809         (Link): New section.
13810         * modules/getpeername (Depends-on): Add socketlib.
13811         (Link): New section.
13812         * modules/getsockname (Depends-on): Add socketlib.
13813         (Link): New section.
13814         * modules/getsockopt (Depends-on): Add socketlib.
13815         (Link): New section.
13816         * modules/listen (Depends-on): Add socketlib.
13817         (Link): New section.
13818         * modules/recv (Depends-on): Add socketlib.
13819         (Link): New section.
13820         * modules/recvfrom (Depends-on): Add socketlib.
13821         (Link): New section.
13822         * modules/send (Depends-on): Add socketlib.
13823         (Link): New section.
13824         * modules/sendto (Depends-on): Add socketlib.
13825         (Link): New section.
13826         * modules/setsockopt (Depends-on): Add socketlib.
13827         (Link): New section.
13828         * modules/shutdown (Depends-on): Add socketlib.
13829         (Link): New section.
13830         * modules/socket (Depends-on): Add socketlib.
13831         (Link): New section.
13832
13833 2011-09-18  Bruno Haible  <bruno@clisp.org>
13834
13835         ptsname tests: Let the test fail rather than hang (e.g. on AIX 5.1).
13836         * tests/test-ptsname.c (main): Terminate the test if it takes longer
13837         than 5 seconds.
13838         * modules/ptsname-tests (configure.ac): Test for alarm.
13839
13840 2011-09-18  Bruno Haible  <bruno@clisp.org>
13841
13842         posix_spawn_file_actions_add*: Fix module dependencies.
13843         * modules/posix_spawn_file_actions_addclose (Dependencies): Add
13844         posix_spawn_file_actions_init.
13845         * modules/posix_spawn_file_actions_adddup2 (Dependencies): Likewise.
13846         * modules/posix_spawn_file_actions_addopen (Dependencies): Likewise.
13847
13848 2011-09-18  Bruno Haible  <bruno@clisp.org>
13849
13850         rename, renameat tests: Avoid test failures on FreeBSD 6.4.
13851         * tests/test-rename.h (test_rename): Allow error code EEXIST.
13852         * tests/test-renameat.c (main): Likewise.
13853
13854 2011-09-18  Bruno Haible  <bruno@clisp.org>
13855
13856         Tests for module 'accept4'.
13857         * modules/accept4-tests: New file.
13858         * tests/test-accept4.c: New file.
13859
13860 2011-09-18  Bruno Haible  <bruno@clisp.org>
13861
13862         Tests for module 'accept'.
13863         * modules/accept-tests: New file.
13864         * tests/test-accept.c: New file.
13865
13866 2011-09-18  Bruno Haible  <bruno@clisp.org>
13867
13868         dup2: Support for MSVC.
13869         * lib/dup2.c: Include msvc-inval.h.
13870         (rpl_dup2): Handle invalid parameter notifications during dup2 and
13871         _get_osfhandle calls.
13872         * modules/dup2 (Depends-on): Add msvc-inval.
13873         * doc/posix-functions/dup2.texi: Mention problem on MSVC.
13874
13875         New module 'msvc-inval'.
13876         * lib/msvc-inval.h: New file.
13877         * lib/msvc-inval.c: New file.
13878         * m4/msvc-inval.m4: New file.
13879         * modules/msvc-inval: New file.
13880
13881 2011-09-17  Bruno Haible  <bruno@clisp.org>
13882
13883         Tests for module 'pclose'.
13884         * modules/pclose-tests: New file.
13885
13886         New module 'pclose'.
13887         * lib/stdio.in.h (pclose): New declaration.
13888         * lib/pclose.c: New file.
13889         * m4/pclose.m4: New file.
13890         * m4/stdio_h.m4 (gl_STDIO_H): Test whether pclose is declared.
13891         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PCLOSE, HAVE_PCLOSE.
13892         * modules/stdio (Makefile.am): Substitute GNULIB_PCLOSE, HAVE_PCLOSE.
13893         * modules/pclose: New file.
13894         * modules/popen-tests (Depends-on): Add pclose.
13895         * modules/popen-safer-tests (Depends-on): Likewise.
13896         * doc/posix-functions/pclose.texi: Mention the new module.
13897
13898 2011-09-17  Bruno Haible  <bruno@clisp.org>
13899
13900         popen: Support for MSVC.
13901         * lib/stdio.in.h (popen): Declare it if the system lacks this function.
13902         * lib/popen.c (popen): Provide alternate definition for native Windows.
13903         * m4/popen.m4 (gl_FUNC_POPEN): Test if popen exists. Set HAVE_POPEN.
13904         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_POPEN.
13905         * modules/popen (Depends-on, configure.ac): Update condition.
13906         * modules/stdio (Makefile.am): Substitute HAVE_POPEN.
13907         * doc/posix-functions/popen.texi: Mention that the MSVC problem is
13908         fixed.
13909
13910 2011-09-17  Bruno Haible  <bruno@clisp.org>
13911
13912         isnanl, isnand, isnanf: Work around MSVC bug.
13913         * lib/isnan.c (FUNC): Use alternate ways of computing NaN and Infinity.
13914
13915 2011-09-17  Bruno Haible  <bruno@clisp.org>
13916
13917         sys_socket tests: Fix recent mistake.
13918         * tests/test-sys_socket.c (t1): Avoid collision of identifiers.
13919
13920 2011-09-17  Bruno Haible  <bruno@clisp.org>
13921
13922         putenv: Support for MSVC.
13923         * modules/putenv (Depends-on): Add environ.
13924         * lib/putenv.c (environ): Disable declaration.
13925         * lib/unistd.in.h: Update comment.
13926
13927 2011-09-17  Bruno Haible  <bruno@clisp.org>
13928
13929         math: Avoid macro redefinition warnings on MSVC.
13930         * lib/math.in.h (ceilf, ceill, floorf, floorl, frexpl, ldexpl):
13931         Undefine before redefining.
13932
13933 2011-09-17  Bruno Haible  <bruno@clisp.org>
13934
13935         doc: Mention functions which are declared as macros.
13936         * doc/posix-functions/*[fl].texi: Mention that some functions are
13937         defined as macros with arguments only.
13938
13939 2011-09-17  Bruno Haible  <bruno@clisp.org>
13940
13941         Add dependencies to new dirent related modules.
13942         * modules/backupfile (Depends-on): Add opendir, readdir, closedir.
13943         * modules/fts (Depends-on): Likewise.
13944         * modules/glob (Depends-on): Likewise.
13945         * modules/savedir (Depends-on): Likewise.
13946         * modules/scandir (Depends-on): Likewise.
13947         * modules/dirent-safer (Depends-on): Add opendir, closedir.
13948         * modules/fdopendir (Depends-on): Add opendir.
13949
13950 2011-09-17  Bruno Haible  <bruno@clisp.org>
13951
13952         inet_pton: Support for MSVC on Windows Vista or newer.
13953         * lib/arpa_inet.in.h (inet_pton): Also consider REPLACE_INET_PTON.
13954         * lib/inet_pton.c (rpl_inet_pton): Use a simple wrapper if
13955         HAVE_DECL_INET_PTON is defined.
13956         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13957         On platforms with <winsock2.h>, test whether inet_pton is declared in
13958         <ws2tcpip.h>. If so, arrange to replace it.
13959         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13960         REPLACE_INET_PTON.
13961         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_PTON.
13962         * modules/inet_pton (Files): Add m4/sys_socket_h.m4.
13963         (Depends-on, configure.ac): Update condition.
13964         * doc/posix-functions/inet_pton.texi: Mention the MSVC problem.
13965
13966 2011-09-17  Bruno Haible  <bruno@clisp.org>
13967
13968         inet_ntop: Support for MSVC on Windows Vista or newer.
13969         * lib/arpa_inet.in.h (inet_ntop): Also consider REPLACE_INET_NTOP.
13970         * lib/inet_ntop.c (rpl_inet_ntop): Use a simple wrapper if
13971         HAVE_DECL_INET_NTOP is defined.
13972         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Invoke gl_PREREQ_SYS_H_WINSOCK2.
13973         On platforms with <winsock2.h>, test whether inet_ntop is declared in
13974         <ws2tcpip.h>. If so, arrange to replace it.
13975         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Initialize
13976         REPLACE_INET_NTOP.
13977         * modules/arpa_inet (Makefile.am): Substitute REPLACE_INET_NTOP.
13978         * modules/inet_ntop (Files): Add m4/sys_socket_h.m4.
13979         (Depends-on, configure.ac): Update condition.
13980         * doc/posix-functions/inet_ntop.texi: Mention the MSVC problem.
13981
13982 2011-09-16  Eric Blake  <eblake@redhat.com>
13983
13984         test-fsync: yet another enhancement
13985         * tests/test-fsync.c (main): Also test behavior on read-only text
13986         file.
13987
13988 2011-09-16  Bruno Haible  <bruno@clisp.org>
13989
13990         Enhance fsync, fdatasync tests.
13991         * tests/test-fsync.c (main): Test both STDIN_FILENO and STDOUT_FILENO.
13992         * tests/test-fdatasync.c (main): Likewise.
13993
13994 2011-09-16  Bruno Haible  <bruno@clisp.org>
13995
13996         Support for MSVC compiler: Ensure mode_t gets defined.
13997         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_MODE_T.
13998         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
13999         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
14000         * m4/sys_types_h.m4 (gl_SYS_TYPES_H): Likewise.
14001         * tests/test-fcntl-h.c: Check that mode_t is defined.
14002         * tests/test-sys_stat.c: Likewise.
14003         * tests/test-sys_types.c: Likewise.
14004         * doc/posix-headers/fcntl.texi: Mention the missing mode_t problem.
14005         * doc/posix-headers/sys_stat.texi: Likewise.
14006         * doc/posix-headers/sys_types.texi: Likewise.
14007
14008 2011-09-16  Bruno Haible  <bruno@clisp.org>
14009
14010         sys_stat: Support for MSVC.
14011         * lib/sys_stat.in.h (S_IFIFO): Define to _S_IFIFO if that exists.
14012         * tests/test-sys_stat.c: Don't assume that S_IFBLK exists.
14013         * doc/posix-headers/sys_stat.texi: Mention missing S_IFIFO, S_IFBLK on
14014         MSVC.
14015
14016 2011-09-16  Bruno Haible  <bruno@clisp.org>
14017
14018         Support for MSVC compiler: Ensure off_t gets defined.
14019         * lib/unistd.in.h: Include <sys/types.h>.
14020         * tests/test-fcntl-h.c: Check that off_t is defined.
14021         * tests/test-sys_stat.c: Likewise.
14022         * tests/test-sys_types.c: Likewise.
14023
14024 2011-09-16  Eric Blake  <eblake@redhat.com>
14025
14026         fdatasync: port to Solaris
14027         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Set LIB_FDATASYNC.
14028         * modules/fdatasync (Link): Document it.
14029         * modules/fdatasync-tests (test_fdatasync_LDADD): Link with it.
14030
14031         fdatasync: port to MacOS X 10.7
14032         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): Check for present but not
14033         declared.
14034         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Another default.
14035         * modules/unistd (Makefile.am): Substitute it.
14036         * lib/unistd.in.h (fdatasync): Declare on MacOS.
14037         * doc/posix-functions/fdatasync.texi (fdatasync): Document it.
14038
14039         fdatasync: minor improvements
14040         * modules/fdatasync (Depends-on): Add condition for fsync.
14041         * lib/fdatasync.c (fdatasync): Add comment.
14042         * tests/test-unistd-c++.cc: Test fdatasync.
14043
14044         unistd: update refs to newer POSIX
14045         * lib/unistd.in.h: Prefer POSIX 2008 over 2001.
14046         Suggested by Bruno Haible.
14047
14048         fdatasync: new module
14049         * modules/fsync (Description): Document difference to fdatasync.
14050         * modules/fdatasync: New module.
14051         * m4/fdatasync.m4 (gl_FUNC_FDATASYNC): New file.
14052         * lib/fdatasync.c (fdatasync): Likewise.
14053         * m4/unistd_h.m4 (gl_UNISTD_H, gl_UNISTD_H_DEFAULTS): Set up
14054         defaults.
14055         * modules/unistd (Makefile.am): Set witnesses.
14056         * lib/unistd.in.h (fdatasync): Declare.
14057         * MODULES.html.sh: Document it.
14058         * doc/posix-functions/fdatasync.texi (fdatasync): Likewise.
14059         * modules/fdatasync-tests: New test.
14060         * tests/test-fdatasync.c: Likewise.
14061
14062 2011-09-16  Eric Blake  <eblake@redhat.com>
14063
14064         test-fsync: enhance tests
14065         * modules/fsync-tests (Depends-on): Add errno, for mingw.
14066         * tests/test-fsync.c (main): Enhance test.
14067
14068 2011-09-15  Bruno Haible  <bruno@clisp.org>
14069
14070         Support for MSVC compiler: Ensure ssize_t gets defined.
14071         * doc/posix-headers/sys_types.texi: Mention the missing ssize_t problem.
14072         * doc/posix-headers/stdio.texi: Likewise.
14073         * modules/stdio (Depends-on): Add ssize_t.
14074         * modules/sys_socket (Depends-on): Likewise.
14075         * modules/sys_types (Depends-on): Likewise.
14076         * modules/sys_uio (Depends-on): Likewise.
14077         * modules/unistd (Depends-on): Likewise.
14078         * tests/test-sys_socket.c: Check that size_t and ssize_t are defined.
14079         * tests/test-sys_types.c: Check that ssize_t is defined.
14080
14081 2011-09-14  Bruno Haible  <bruno@clisp.org>
14082
14083         Avoid using #, the m4 comment starter character, near brackets.
14084         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Use |, not #, as
14085         delimiter character in sed expressions.
14086         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Likewise.
14087         Suggested by Eric Blake.
14088
14089         Properly quote AC_CHECK_DECLS' 4th argument.
14090         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Double-quote AC_CHECK_DECLS' 4th
14091         argument.
14092         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
14093         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
14094         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
14095         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
14096         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
14097         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): Likewise.
14098         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Likewise.
14099         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Likewise.
14100         * m4/gethrxtime.m4 (gl_GETHRXTIME): Likewise.
14101         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
14102         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Likewise.
14103         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Likewise.
14104         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
14105         * m4/isinf.m4 (gl_ISINF): Likewise.
14106         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
14107         * m4/readutmp.m4 (gl_READUTMP): Likewise.
14108         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
14109         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
14110         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
14111         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
14112         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
14113         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
14114         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Likewise.
14115         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
14116         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
14117         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
14118         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Likewise.
14119         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
14120         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
14121         Reported by Eric Blake.
14122
14123         Properly quote AC_CHECK_DECL's 4th argument.
14124         * m4/acosl.m4 (gl_FUNC_ACOSL): Double-quote AC_CHECK_DECL's 4th
14125         argument.
14126         * m4/argp.m4 (gl_ARGP): Likewise.
14127         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
14128         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
14129         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
14130         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
14131         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Likewise.
14132         * m4/getloadavg.m4 (gl_GETLOADAVG): Likewise.
14133         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Likewise.
14134         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
14135         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
14136         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
14137         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
14138         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
14139         Reported by Eric Blake.
14140
14141 2011-09-14  Eric Blake  <eblake@redhat.com>
14142
14143         opendir: avoid compile warning
14144         * lib/opendir.c (includes): Always include errno.h.
14145         Reported by Tatsuro MATSUOKA.
14146
14147 2011-09-14  Jim Meyering  <meyering@redhat.com>
14148
14149         maint.mk: sc_tight_scope: propagate failure from sub-make
14150         * top/maint.mk (sc_tight_scope): Actually initialize and use $fail.
14151         Reported by Martin von Gagern.
14152
14153 2011-09-13  Bruno Haible  <bruno@clisp.org>
14154
14155         tempname: Support for MSVC.
14156         * doc/posix-headers/fcntl.texi: Document the problem with O_ACCMODE on
14157         MSVC.
14158         * modules/tempname (Depends-on): Add fcntl-h.
14159
14160 2011-09-13  Bruno Haible  <bruno@clisp.org>
14161
14162         sys_time: Support for MSVC.
14163         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Invoke
14164         gl_PREREQ_SYS_H_WINSOCK2. When testing for 'struct timeval', also
14165         include <winsock2.h>.
14166         * lib/sys_time.in.h: On MSVC, include <winsock2.h> and hide its
14167         function declarations that collide with POSIX.
14168         * modules/sys_time (Files): Add m4/sys_socket_h.m4.
14169         (Makefile.am): Substitute HAVE_WINSOCK2_H.
14170
14171 2011-09-13  Bruno Haible  <bruno@clisp.org>
14172
14173         stat: Support for MSVC.
14174         * lib/stat.c: Include pathmax.h.
14175         * modules/stat (Depends-on): Add pathmax.
14176
14177         pathmax: Support for native Windows.
14178         * lib/pathmax.h (PATH_MAX): Define to 260 on native Windows.
14179
14180 2011-09-12  Bruno Haible  <bruno@clisp.org>
14181
14182         New modules 'opendir', 'readdir', 'rewinddir', 'closedir'.
14183         * lib/dirent.in.h (struct dirent): New type.
14184         (DT_UNKNOWN, DT_FIFO, DT_CHR, DT_DIR, DT_BLK, DT_REG, DT_LNK, DT_SOCK,
14185         DT_WHT): New macros.
14186         (DIR): New type.
14187         (opendir, closedir): Declare only if the module 'opendir' is enabled.
14188         (readdir, rewinddir): New declarations.
14189         * lib/dirent-private.h: New file.
14190         * lib/opendir.c: New file.
14191         * lib/readdir.c: New file.
14192         * lib/rewinddir.c: New file.
14193         * lib/closedir.c: New file.
14194         * lib/fchdir.c (rpl_closedir, rpl_opendir): Remove functions.
14195         * m4/opendir.m4: New file.
14196         * m4/readdir.m4: New file.
14197         * m4/rewinddir.m4: New file.
14198         * m4/closedir.m4: New file.
14199         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't set REPLACE_OPENDIR,
14200         REPLACE_CLOSEDIR here.
14201         * m4/dirent_h.m4 (gl_DIRENT_H): Also check whether closedir, opendir,
14202         readdir, rewinddir are declared.
14203         (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_OPENDIR, GNULIB_READDIR,
14204         GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR, HAVE_READDIR,
14205         HAVE_REWINDDIR, HAVE_CLOSEDIR.
14206         * modules/dirent (Makefile.am): Substitute GNULIB_OPENDIR,
14207         GNULIB_READDIR, GNULIB_REWINDDIR, GNULIB_CLOSEDIR, HAVE_OPENDIR,
14208         HAVE_READDIR, HAVE_REWINDDIR, HAVE_CLOSEDIR.
14209         * modules/opendir: New file.
14210         * modules/readdir: New file.
14211         * modules/rewinddir: New file.
14212         * modules/closedir: New file.
14213         * doc/posix-functions/opendir.texi: Mention the 'opendir' module.
14214         * doc/posix-functions/readdir.texi: Mention the 'readdir' module.
14215         * doc/posix-functions/rewinddir.texi: Mention the 'rewinddir' module.
14216         * doc/posix-functions/closedir.texi: Mention the 'closedir' module.
14217         * NEWS: Mention the 'fchdir' change.
14218
14219 2011-09-11  Bruno Haible  <bruno@clisp.org>
14220
14221         asm-underscore.m4: Support for MSVC.
14222         * m4/asm-underscore.m4 (gl_C_ASM): New macro.
14223         (gl_ASM_SYMBOL_PREFIX): Require it. Use its results.
14224
14225 2011-09-11  Reuben Thomas  <rrt@sc3d.org>
14226
14227         Doc about crypt functions.
14228         * doc/posix-functions/crypt.texi: Expand range of glibc versions
14229         needing for _GNU_SOURCE to get crypt.
14230         * doc/posix-functions/encrypt.texi: Likewise.
14231         * doc/posix-functions/setkey.texi: Likewise.
14232
14233 2011-09-11  Bruno Haible  <bruno@clisp.org>
14234
14235         doc: Update regarding MSVC 9.
14236         * doc/gnulib-intro.texi (Target Platforms): Classify MSVC as "rarely
14237         tested".
14238         * doc/posix-functions/*.texi: Update with info about MSVC 9.
14239         * doc/posix-headers/*.texi: Likewise.
14240         * doc/pastposix-functions/*.texi: Likewise.
14241         * doc/glibc-functions/*.texi: Likewise.
14242         * doc/glibc-headers/*.texi: Likewise.
14243
14244 2011-09-11  Bruno Haible  <bruno@clisp.org>
14245
14246         unistd et al.: Don't assume <unistd.h> exists.
14247         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Don't include <unistd.h> if it
14248         does not exist.
14249         * m4/environ.m4 (gl_ENVIRON): Don't include <unistd.h> if it does not
14250         exist. But include <stdlib.h>.
14251         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): If <unistd.h> does not exist,
14252         include <io.h> and <stdlib.h> instead. Don't test symbolink links if
14253         symlink() does not exist.
14254         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): If <unistd.h> does not exist,
14255         include <io.h> instead.
14256         * m4/free.m4 (gl_FUNC_FREE): Assume free(NULL) works on native Windows.
14257         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): If <unistd.h> does not exist,
14258         include <direct.h> instead.
14259         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): Likewise.
14260         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
14261         * m4/lseek.m4 (gl_FUNC_LSEEK): If <unistd.h> does not exist, include
14262         <io.h> instead.
14263         * m4/rename.m4 (gl_FUNC_RENAME): Assume rename() manages hard links
14264         correctly if the system does not have hard links.
14265         * m4/rmdir.m4 (gl_FUNC_RMDIR): If <unistd.h> does not exist, include
14266         <direct.h> instead.
14267         * m4/unistd_h.m4 (gl_UNISTD_H): If <unistd.h> does not exist, bypass
14268         it when looking for function declarations.
14269         * m4/unlink.m4 (gl_FUNC_UNLINK): If <unistd.h> does not exist, include
14270         <direct.h> and <io.h> instead.
14271         * doc/posix-headers/unistd.texi: More details about MSVC problem.
14272
14273 2011-09-11  Bruno Haible  <bruno@clisp.org>
14274
14275         strcase: Support for MSVC.
14276         * modules/strcase (Status, Notice): Remove obsoletion mark.
14277         * doc/posix-functions/strcasecmp.texi: Mention MSVC problem.
14278         * doc/posix-functions/strncasecmp.texi: Likewise.
14279
14280         strings: Don't assume <strings.h> exists.
14281         * lib/strings.in.h: Include <strings.h> only if HAVE_STRINGS_H is 1.
14282         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Set HAVE_STRINGS_H.
14283         * modules/strings (Makefile.am): Substitute HAVE_STRINGS_H.
14284         * doc/posix-headers/strings.texi: Mention the MSVC problem.
14285
14286 2011-09-11  Bruno Haible  <bruno@clisp.org>
14287
14288         dirent: Don't assume <dirent.h> exists.
14289         * lib/dirent.in.h: Include <dirent.h> only if HAVE_DIRENT_H is 1.
14290         * m4/dirent_h.m4 (gl_DIRENT_H): Set HAVE_DIRENT_H.
14291         * modules/dirent (Makefile.am): Substitute HAVE_DIRENT_H.
14292         * doc/posix-headers/dirent.texi: Mention the MSVC problem.
14293
14294 2011-09-11  Bruno Haible  <bruno@clisp.org>
14295
14296         Fix wint_t on MSVC.
14297         * lib/wchar.in.h (wint_t): On MSVC, override it.
14298         * lib/wctype.in.h (wint_t): Likewise.
14299         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Override BITSIZEOF_WINT_T on
14300         MSVC.
14301         * doc/posix-headers/wchar.texi: Mention the problem with wint_t on MSVC.
14302         * doc/posix-headers/wctype.texi: Likewise.
14303
14304 2011-09-11  Bruno Haible  <bruno@clisp.org>
14305
14306         sys_types: Fix typo.
14307         * lib/sys_types.in.h: Fix typo in comment.
14308         Reported by Paul Eggert.
14309
14310         Support for MSVC compiler: Ensure size_t gets defined.
14311         * modules/strings (Depends-on): Add 'sys_types'.
14312         * modules/sys_uio (Depends-on): Likewise.
14313         * lib/sys_uio.in.h: Update comment.
14314
14315         C++ tests for module 'sys_types'.
14316         * modules/sys_types-c++-tests: New file.
14317         * tests/test-sys_types-c++.cc: New file.
14318
14319         Tests for module 'sys_types'.
14320         * modules/sys_types-tests: New file.
14321         * tests/test-sys_types.c: New file.
14322
14323         New module 'sys_types'.
14324         * lib/sys_types.in.h: New file.
14325         * m4/sys_types_h.m4: New file.
14326         * modules/sys_types: New file.
14327         * doc/posix-headers/sys_types.texi: Mention the new module and the
14328         size_t problem on MSVC 9.
14329
14330 2011-09-11  Bruno Haible  <bruno@clisp.org>
14331
14332         Support for MSVC compiler: Avoid division by a literal 0.
14333         * lib/math.in.h (NAN): Define through a function call also on MSVC.
14334         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Divide by 'zero' instead of 0.0.
14335         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_DIRECTIVE_A,
14336         gl_PRINTF_DIRECTIVE_F, gl_PRINTF_FLAG_ZERO): Likewise.
14337         (gl_PRINTF_INFINITE_LONG_DOUBLE): Divide by 'zeroL' instead of 0.0L.
14338         * tests/infinity.h: New file.
14339         * tests/nan.h (NaNf, NaNd, NaNl): Define through a function call also
14340         on MSVC.
14341         * tests/test-ceilf1.c: Include infinity.h.
14342         (main): Use Infinityf.
14343         * tests/test-ceil1.c: Include infinity.h.
14344         (main): Use Infinityd.
14345         * tests/test-ceill.c: Include infinity.h.
14346         (main): Use Infinityl.
14347         * tests/test-dprintf-posix.c: Include infinity.h.
14348         (test_function): Use Infinityd.
14349         * tests/test-floorf1.c: Include infinity.h.
14350         (main): Use Infinityf.
14351         * tests/test-floor1.c: Include infinity.h.
14352         (main): Use Infinityd.
14353         * tests/test-floorl.c: Include infinity.h.
14354         (main): Use Infinityl.
14355         * tests/test-fprintf-posix.c: Include infinity.h.
14356         (test_function): Use Infinityd.
14357         * tests/test-frexp.c: Include infinity.h.
14358         (main): Use Infinityd.
14359         * tests/test-frexpl.c: Include infinity.h.
14360         (main): Use Infinityl.
14361         * tests/test-isfinite.c: Include infinity.h.
14362         (test_isfinitef): Use Infinityf.
14363         (test_isfinited): Use Infinityd.
14364         (test_isfinitel): Use Infinityl.
14365         * tests/test-isinf.c: Include infinity.h.
14366         (test_isinff): Use Infinityf.
14367         (test_isinfd): Use Infinityd.
14368         (test_isinfl): Use Infinityl.
14369         * tests/test-isnan.c: Include infinity.h.
14370         (test_float): Use Infinityf.
14371         (test_double): Use Infinityd.
14372         (test_long_double): Use Infinityl.
14373         * tests/test-isnanf.h: Include infinity.h.
14374         (main): Use Infinityf.
14375         * tests/test-isnand.h: Include infinity.h.
14376         (main): Use Infinityd.
14377         * tests/test-isnanl.h: Include infinity.h.
14378         (main): Use Infinityl.
14379         * tests/test-ldexpl.c: Include infinity.h.
14380         (main): Use Infinityl.
14381         * tests/test-printf-posix.h: Include infinity.h.
14382         (test_function): Use Infinityd.
14383         * tests/test-roundf1.c: Include infinity.h.
14384         (main): Use Infinityf.
14385         * tests/test-round1.c: Include infinity.h.
14386         (main): Use Infinityd.
14387         * tests/test-roundl.c: Include infinity.h.
14388         (main): Use Infinityl.
14389         * tests/test-signbit.c: Include infinity.h.
14390         (test_signbitf): Use Infinityf.
14391         (test_signbitd): Use Infinityd.
14392         (test_signbitl): Use Infinityl.
14393         * tests/test-snprintf-posix.h: Include infinity.h.
14394         (test_function): Use Infinityd, Infinityl.
14395         * tests/test-sprintf-posix.h: Include infinity.h.
14396         (test_function): Use Infinityd, Infinityl.
14397         * tests/test-truncf1.c: Include infinity.h.
14398         (main): Use Infinityf.
14399         * tests/test-trunc1.c: Include infinity.h.
14400         (main): Use Infinityd.
14401         * tests/test-truncl.c: Include infinity.h.
14402         (main): Use Infinityl.
14403         * tests/test-vasnprintf-posix.c: Include infinity.h.
14404         (test_function): Use Infinityd, Infinityl.
14405         * tests/test-vasprintf-posix.c: Include infinity.h.
14406         (test_function): Use Infinityd, Infinityl.
14407         * modules/ceilf-tests (Files): Add tests/infinity.h.
14408         * modules/ceil-tests (Files): Likewise.
14409         * modules/ceill-tests (Files): Likewise.
14410         * modules/dprintf-posix-tests (Files): Likewise.
14411         * modules/floorf-tests (Files): Likewise.
14412         * modules/floor-tests (Files): Likewise.
14413         * modules/floorl-tests (Files): Likewise.
14414         * modules/fprintf-posix-tests (Files): Likewise.
14415         * modules/frexp-tests (Files): Likewise.
14416         * modules/frexp-nolibm-tests (Files): Likewise.
14417         * modules/frexpl-tests (Files): Likewise.
14418         * modules/frexpl-nolibm-tests (Files): Likewise.
14419         * modules/isfinite-tests (Files): Likewise.
14420         * modules/isinf-tests (Files): Likewise.
14421         * modules/isnan-tests (Files): Likewise.
14422         * modules/isnanf-tests (Files): Likewise.
14423         * modules/isnanf-nolibm-tests (Files): Likewise.
14424         * modules/isnand-tests (Files): Likewise.
14425         * modules/isnand-nolibm-tests (Files): Likewise.
14426         * modules/isnanl-tests (Files): Likewise.
14427         * modules/isnanl-nolibm-tests (Files): Likewise.
14428         * modules/ldexpl-tests (Files): Likewise.
14429         * modules/printf-posix-tests (Files): Likewise.
14430         * modules/roundf-tests (Files): Likewise.
14431         * modules/round-tests (Files): Likewise.
14432         * modules/roundl-tests (Files): Likewise.
14433         * modules/signbit-tests (Files): Likewise.
14434         * modules/snprintf-posix-tests (Files): Likewise.
14435         * modules/sprintf-posix-tests (Files): Likewise.
14436         * modules/truncf-tests (Files): Likewise.
14437         * modules/trunc-tests (Files): Likewise.
14438         * modules/truncl-tests (Files): Likewise.
14439         * modules/vasnprintf-posix-tests (Files): Likewise.
14440         * modules/vasprintf-posix-tests (Files): Likewise.
14441         * modules/vdprintf-posix-tests (Files): Likewise.
14442         * modules/vfprintf-posix-tests (Files): Likewise.
14443         * modules/vprintf-posix-tests (Files): Likewise.
14444         * modules/vsnprintf-posix-tests (Files): Likewise.
14445         * modules/vsprintf-posix-tests (Files): Likewise.
14446         * modules/xprintf-posix-tests (Files): Likewise.
14447
14448 2011-09-11  Bruno Haible  <bruno@clisp.org>
14449
14450         Ensure pid_t gets defined.
14451         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_TYPE_PID_T.
14452         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
14453         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
14454         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
14455         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
14456         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
14457         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
14458         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
14459         * tests/test-fcntl-h.c: Check that pid_t is defined.
14460         * tests/test-sched.c: Likewise.
14461         * tests/test-termios.c: Likewise.
14462         * tests/test-time.c: Likewise.
14463         * doc/posix-headers/fcntl.texi: Mention lack of pid_t on MSVC platform.
14464         * doc/posix-headers/signal.texi: Likewise.
14465         * doc/posix-headers/sys_types.texi: Likewise.
14466         * doc/posix-headers/time.texi: Likewise.
14467
14468 2011-09-11  Bruno Haible  <bruno@clisp.org>
14469
14470         acl: Fix compilation on Solaris 10 (older version).
14471         * lib/file-has-acl.c (acl_ace_nontrivial): Use NEW_ACE_EVERYONE instead
14472         of ACE_EVERYONE.
14473         * lib/set-mode-acl.c (qset_acl): Likewise.
14474         Reported by Christian Jullien <eligis@orange.fr>.
14475
14476 2011-09-10  Bruno Haible  <bruno@clisp.org>
14477
14478         iconv, unsetenv: Add support for MSVC compiler.
14479         * m4/iconv.m4 (AM_ICONV): Use ISO C declaration syntax on MSVC.
14480         * m4/setenv.m4 (gl_FUNC_UNSETENV): Drop support for K&R C compilers.
14481
14482 2011-09-10  Bruno Haible  <bruno@clisp.org>
14483
14484         *printf: Add support for MSVC compiler.
14485         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N): On MSVC, install a handler that
14486         handles the exception caused by the %n directive. When cross-compiling,
14487         guess no on native Windows.
14488         (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
14489         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1): When snprintf is missing,
14490         emulate it through vsnprintf.
14491         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Update comment.
14492         * doc/posix-functions/dprintf.texi: Update documentation regarding
14493         MSVC 9.
14494         * doc/posix-functions/fprintf.texi: Likewise.
14495         * doc/posix-functions/printf.texi: Likewise.
14496         * doc/posix-functions/snprintf.texi: Likewise.
14497         * doc/posix-functions/sprintf.texi: Likewise.
14498         * doc/posix-functions/swprintf.texi: Likewise.
14499         * doc/posix-functions/vdprintf.texi: Likewise.
14500         * doc/posix-functions/vfprintf.texi: Likewise.
14501         * doc/posix-functions/vprintf.texi: Likewise.
14502         * doc/posix-functions/vsnprintf.texi: Likewise.
14503         * doc/posix-functions/vsprintf.texi: Likewise.
14504         * doc/glibc-functions/asprintf.texi: Likewise.
14505         * doc/glibc-functions/obstack_printf.texi: Likewise.
14506         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
14507         * doc/glibc-functions/vasprintf.texi: Likewise.
14508
14509 2011-09-10  Bruno Haible  <bruno@clisp.org>
14510
14511         nocrash: Add support for native Windows.
14512         * m4/nocrash.m4 (GL_NOCRASH): Avoid a crash also on native Windows.
14513
14514 2011-09-10  Michael Goffioul  <michael.goffioul@gmail.com>  (tiny change)
14515             Bruno Haible  <bruno@clisp.org>
14516
14517         absolute-header, include-next: Add support for MSVC compiler.
14518         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): Require
14519         AC_CANONICAL_HOST. On native Windows, recognize also backslash as
14520         directory separator in #line directives.
14521         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): On native Windows,
14522         recognize also backslash as directory separator in #line directives.
14523
14524 2011-09-08  Jim Meyering  <meyering@redhat.com>
14525
14526         maint.mk: mark the post-release commit log with "maint: " prefix
14527         * top/maint.mk (emit-commit-log): Add "maint: " prefix to the
14528         one-line commit-log summary.
14529
14530 2011-09-08  Reuben Thomas  <rrt@sc3d.org>
14531             Bruno Haible  <bruno@clisp.org>
14532
14533         Doc about crypt functions.
14534         * doc/posix-functions/crypt.texi: Mention need for _GNU_SOURCE on glibc
14535         systems.
14536         * doc/posix-functions/encrypt.texi: Likewise.
14537         * doc/posix-functions/setkey.texi: Likewise.
14538
14539 2011-09-08  Simon Josefsson  <simon@josefsson.org>
14540
14541         * lib/gc.h: Fix copyright header.
14542
14543 2011-09-07  Bruno Haible  <bruno@clisp.org>
14544
14545         pthread: Determine $(LIB_PTHREAD) correctly on OSF/1 5.1.
14546         * m4/pthread.m4 (gl_PTHREAD_CHECK): Use AC_CACHE_CHECK and
14547         AC_LINK_IFELSE instead of AC_SEARCH_LIBS.
14548
14549 2011-09-07  Bruno Haible  <bruno@clisp.org>
14550
14551         openat: Work around compilation error with OSF/1 5.1 DTK cc.
14552         * lib/fopen.c: Use different syntax for include of <stdio.h>.
14553         * lib/freopen.c: Likewise.
14554         * lib/fstatat.c: Use different syntax for include of <sys/stat.h>.
14555         * lib/lstat.c: Likewise.
14556         * lib/stat.c: Likewise.
14557         * lib/open.c: Use different syntax for include of <fcntl.h>.
14558         * lib/openat.c: Include fcntl.h again, explicitly.
14559
14560 2011-09-04  J.T. Conklin  <jtc@acorntoolworks.com>
14561
14562         parse-datetime: document the newly accepted format
14563         * doc/parse-datetime.texi (Combined date and time of day items):
14564         New section.
14565
14566 2011-09-06  Bruno Haible  <bruno@clisp.org>
14567
14568         acl: Fix a test failure on newer Solaris 10 with ZFS.
14569         * tests/test-sameacls.c (main): Interpret acl GETACLCNT failure with
14570         ENOSYS as no ACL.
14571         Reported by Jim Meyering.
14572
14573 2011-09-06  Bruno Haible  <bruno@clisp.org>
14574
14575         acl: Update for AIX >= 5.3 with NFS.
14576         * lib/file-has-acl.c (file_has_acl): Interpret aclx_get failure with
14577         ENOSYS as no ACL.
14578
14579         acl: Fix a test failure on AIX >= 5.3 with NFS.
14580         * tests/test-sameacls.c (main): Interpret aclx_get failure with ENOSYS
14581         as no ACL.
14582
14583 2011-09-06  Bruno Haible  <bruno@clisp.org>
14584
14585         acl: Fix a test failure on IRIX 6.5 with NFS.
14586         * lib/acl-internal.h (MODE_INSIDE_ACL): Define to 0 on IRIX.
14587         * lib/set-mode-acl.c (qset_acl): Test !HAVE_ACL_TYPE_EXTENDED instead
14588         of MODE_INSIDE_ACL. If !MODE_INSIDE_ACL, do a chmod_or_fchmod always.
14589         * lib/copy-acl.c (qcopy_acl): Likewise.
14590
14591 2011-09-05  Paul Eggert  <eggert@cs.ucla.edu>
14592
14593         openat: port to AIX 7.1 with large files
14594         AIX 7.1 does a "#define openat open64at" if large files are in use,
14595         so we can't simply #undef openat.  Use the orig_openat trick (similar
14596         to orig_open in lib/open.c) to work around the problem.  Problem
14597         reported by Kevin Brott for GNU tar, in the thread containing
14598         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00032.html>.
14599         * lib/openat.c (__need_system_fcntl_h): Define first.
14600         Include <fcntl.h> and <sys/types.h> before undefining.
14601         (orig_openat) [HAVE_OPENAT]: New inline function.
14602         (openat) [HAVE_OPENAT]: Do not undef.
14603         (rpl_openat): Use orig_openat, not openat.
14604
14605 2011-09-05  Joachim Schmitz  <schmitz@hp.com>  (tiny change)
14606             Bruno Haible  <bruno@clisp.org>
14607
14608         acl: Avoid errors on NonStop Kernel.
14609         * lib/file-has-acl.c (file_has_acl) [NonStop Kernel]: Ignore ENOSYS and
14610         ENOTSUP errors.
14611
14612 2011-09-05  Bruno Haible  <bruno@clisp.org>
14613
14614         acl: Clean up Solaris code.
14615         * lib/acl-internal.h: Remove no-op #if.
14616         * lib/file-has-acl.c: Likewise.
14617         * lib/set-mode-acl.c (qset_acl): Remove unused Solaris code.
14618         * lib/copy-acl.c (qcopy_acl): Likewise.
14619
14620 2011-09-05  Bruno Haible  <bruno@clisp.org>
14621
14622         acl: Fix a bug with NFSv4 ACLs on Solaris 10 (newer version) in
14623         binaries built on the original Solaris 10.
14624         * lib/file-has-acl.c (file_has_acl): ACLs with 4..6 ACEs can be
14625         trivial.
14626
14627 2011-09-05  Bruno Haible  <bruno@clisp.org>
14628
14629         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14630         * lib/acl-internal.h (acl_nontrivial): Declare also on newer Solaris
14631         10.
14632         * lib/file-has-acl.c (acl_nontrivial): Define also on newer Solaris 10.
14633         (acl_ace_nontrivial): Likewise. Recognize the trivial ACLs with 6 ACEs.
14634         * lib/copy-acl.c (qcopy_acl): On newer Solaris 10, use acl or facl
14635         instead of acl_get, facl_get, acl_set, facl_set.
14636
14637 2011-09-05  Bruno Haible  <bruno@clisp.org>
14638
14639         copy-file: Try unit tests on more file systems.
14640         * tests/test-copy-file-1.sh: New file.
14641         * tests/test-copy-file-2.sh: New file.
14642         * modules/copy-file-tests (Files): Add them.
14643         (Makefile.am): Add them to TESTS.
14644
14645         acl: Try unit tests on more file systems.
14646         * tests/test-file-has-acl-1.sh: New file.
14647         * tests/test-file-has-acl-2.sh: New file.
14648         * tests/test-set-mode-acl-1.sh: New file.
14649         * tests/test-set-mode-acl-2.sh: New file.
14650         * tests/test-copy-acl-1.sh: New file.
14651         * tests/test-copy-acl-2.sh: New file.
14652         * modules/acl-tests (Files): Add them.
14653         (Makefile.am): Add them to TESTS.
14654
14655 2011-09-04  Bruno Haible  <bruno@clisp.org>
14656
14657         acl: Improve support of NFSv4 ACLs on Solaris 10 (newer version).
14658         * lib/acl-internal.h (ACE_*, NEW_ACE_*): Define also on newer Solaris
14659         10.
14660         (OLD_ALLOW, OLD_DENY): New macros.
14661         (NEW_ACE_ACCESS_ALLOWED_ACE_TYPE): Renamed from
14662         ACE_ACCESS_ALLOWED_ACE_TYPE.
14663         (NEW_ACE_ACCESS_DENIED_ACE_TYPE): Renamed from
14664         ACE_ACCESS_DENIED_ACE_TYPE.
14665         (OLD_ACE_OWNER, OLD_ACE_GROUP, OLD_ACE_OTHER): New macros.
14666         (NEW_ACE_EXECUTE): Fix value.
14667         (NEW_ACE_APPEND_DATA, NEW_ACE_READ_NAMED_ATTRS,
14668         NEW_ACE_WRITE_NAMED_ATTRS, NEW_ACE_DELETE_CHILD,
14669         NEW_ACE_READ_ATTRIBUTES, NEW_ACE_WRITE_ATTRIBUTES, NEW_ACE_DELETE,
14670         NEW_ACE_READ_ACL, NEW_ACE_WRITE_ACL, NEW_ACE_WRITE_OWNER,
14671         NEW_ACE_SYNCHRONIZE): New macros.
14672         * lib/set-mode-acl.c (qset_acl): On newer Solaris 10, use acl or facl
14673         instead of acl_fromtext, acl_set, facl_set.
14674         Fixes a coreutils/tests/cp/perm failure.
14675
14676 2011-09-03  Paul Eggert  <eggert@cs.ucla.edu>
14677
14678         openat: test for fstatat (..., 0) bug
14679         Further testing with tar suggests that fstatat (..., 0)
14680         does not work in general, on AIX 7.1; see
14681         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00023.html>.
14682         So, give up entirely on AIX 7.1's fstatat, and fall back on our
14683         replacement fstatat (which is what older AIX releases were using
14684         anyway).
14685         * lib/fstatat.c (fstatat) [HAVE_FSTATAT]: Do not undef.  The only
14686         use is now changed to orig_fstatat.  This was probably the right
14687         thing to do anyway.
14688         (FSTATAT_AT_FDCWD_0_BROKEN): Remove; no longer used.
14689         (rpl_fstatat) [FSTATAT_ZERO_FLAG_BROKEN]: Remove.
14690         (rpl_fstatat): Simplify, assuming !FSTATAT_ZERO_FLAG_BROKEN.
14691         (AT_FUNC_NAME) [FSTATAT_ZERO_FLAG_BROKEN]: Now rpl_fstatat.
14692         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for the more-general bug
14693         and define FSTATAT_ZERO_FLAG_BROKEN, not FSTATAT_AT_FDCWD_0_BROKEN,
14694         if the bug is found.
14695
14696         openat: test for fstatat (AT_FDCWD, ..., 0) bug
14697         This tests for another fstatat bug on AIX 7.1:
14698         fstatat (AT_FDCWD, ..., 0) does not work.  See
14699         <http://lists.gnu.org/archive/html/bug-tar/2011-09/msg00015.html>.
14700         * lib/fstatat.c (FSTATAT_AT_FDCWD_0_BROKEN)
14701         (LSTAT_FOLLOWS_SLASHED_SYMLINK): Default to 0.
14702         (rpl_fstatat): Adjust so that it works around either (or both)
14703         bugs if present.
14704         * m4/openat.m4 (gl_FUNC_FSTATAT): Test for this fstatat bug.
14705
14706 2011-09-03  Karl Berry  <karl@gnu.org>
14707
14708         * doc/regex.texi (Character Class Operators): Avoid literal ":"
14709         in index entries.
14710
14711 2011-09-02  Bruno Haible  <bruno@clisp.org>
14712
14713         Allow the user to override the choice of AR, ARFLAGS, RANLIB.
14714         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Don't override the given
14715         values of AR, ARFLAGS, RANLIB.
14716         Reported by John W. Eaton <jwe@gnu.org> for Octave.
14717
14718 2011-09-02  Bruno Haible  <bruno@clisp.org>
14719
14720         Find 'ar' program that fits with --host argument.
14721         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): Use AC_CHECK_TOOL.
14722
14723 2011-09-02  Bruno Haible  <bruno@clisp.org>
14724
14725         tests: init.sh: Support any non-GNU diff.
14726         * tests/init.sh (compare): If "diff -c" is supported but "diff -u" is
14727         not, use "diff -c". Useful on AIX 6.1, HP-UX 11.31, OSF/1 5.1,
14728         Solaris 8.
14729
14730 2011-09-02  Bruno Haible  <bruno@clisp.org>
14731
14732         tests: init.sh: work also with any non-GNU diff that supports -u
14733         * tests/init.sh: Relax check for diff -u support.
14734         Rather than checking for GNU diff via --version, simply check
14735         for support for -u itself.  Useful at least on OpenBSD 4.9,
14736         AIX 7.1, IRIX 6.5, and Solaris 10.
14737
14738 2011-09-01  Bruno Haible  <bruno@clisp.org>
14739
14740         strtoimax, strtoumax: Document problem on HP-UX 11.
14741         * doc/posix-functions/strtoimax.texi: Mention HP-UX 11.11 problem.
14742         * doc/posix-functions/strtoumax.texi: Likewise.
14743
14744 2011-09-01  Bruno Haible  <bruno@clisp.org>
14745
14746         strtoumax: Avoid link error on OSF/1 with DTK cc.
14747         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Always test whether strtoumax is
14748         defined as a function.
14749         * modules/strtoumax (Depends-on, configure.ac): Test only whether
14750         strtoumax is defined, not whether it is declared.
14751
14752 2011-09-01  Bruno Haible  <bruno@clisp.org>
14753
14754         strtoimax: Avoid link error on OSF/1 with DTK cc.
14755         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Always test whether strtoimax is
14756         defined as a function.
14757         * modules/strtoimax (Depends-on, configure.ac): Test only whether
14758         strtoimax is defined, not whether it is declared.
14759
14760 2011-09-01  Bruno Haible  <bruno@clisp.org>
14761
14762         imaxdiv: Avoid link error on OSF/1 with DTK cc.
14763         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Also test whether imaxdiv is defined
14764         as a function.
14765         * modules/imaxdiv (configure.ac): Test whether imaxdiv is defined, not
14766         whether it is declared.
14767
14768 2011-09-01  Bruno Haible  <bruno@clisp.org>
14769
14770         imaxabs: Avoid link error on OSF/1 with DTK cc.
14771         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Also test whether imaxabs is defined
14772         as a function.
14773         * modules/imaxabs (configure.ac): Test whether imaxabs is defined, not
14774         whether it is declared.
14775
14776 2011-09-01  Bruno Haible  <bruno@clisp.org>
14777
14778         Tests for module 'strtoumax'.
14779         * modules/strtoumax-tests: New file.
14780         * tests/test-strtoumax.c: New file.
14781
14782         Tests for module 'strtoimax'.
14783         * modules/strtoimax-tests: New file.
14784         * tests/test-strtoimax.c: New file.
14785
14786         Tests for module 'imaxdiv'.
14787         * modules/imaxdiv-tests: New file.
14788         * tests/test-imaxdiv.c: New file.
14789
14790         Tests for module 'imaxabs'.
14791         * modules/imaxabs-tests: New file.
14792         * tests/test-imaxabs.c: New file.
14793
14794 2011-09-01  Bruno Haible  <bruno@clisp.org>
14795
14796         pthread: Determine $(LIB_PTHREAD) correctly on IRIX 6.5.
14797         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_join, not
14798         pthread_create.
14799
14800 2011-09-01  Paul Eggert  <eggert@cs.ucla.edu>
14801
14802         openat: work around AIX 7.1 fstatat issue
14803         This should fix the problem that was not properly fixed
14804         in the previous change, dated 2011-08-30.
14805         * lib/fstatat.c: Include <sys/stat.h> twice, the first with
14806         __need_system_stat_h defined.
14807         (orig_fstatat) [HAVE_FSTATAT]: New function.
14808         (rpl_fstatat): Go back to the old way of doing things,
14809         except call orig_fstatat instead of fstatat.
14810         * m4/openat.m4 (gl_FUNC_FSTATAT): Remove unnecessary check for openat.
14811         Remove unnecessary check whether fstatat fills in st_size etc.
14812
14813 2011-09-01  Bruno Haible  <bruno@clisp.org>
14814
14815         sys_select: Avoid a syntax error regarding timespec_t on IRIX 6.5.
14816         * lib/sys_select.in.h [__sgi]: When included from <sys/bsd_types.h>,
14817         just include the system's header.
14818
14819 2011-08-31  Jim Meyering  <meyering@redhat.com>
14820
14821         tests: avoid spurious assertion failure in test-float.c on ppc64
14822         * tests/test-float.c (test_long_double): Comment out an assertion,
14823         LDBL_MIN_EXP <= DBL_MIN_EXP, that is failing at least on PowerPC-64
14824         with gcc-4.4.4.
14825
14826         maint: indent with spaces, not TABs
14827         I need to get in the habit of running gnulib's "make check".
14828         Both of these would have been caught.
14829         * m4/largefile.m4: Indent with spaces, not TABs.
14830         * lib/parse-datetime.y (iso_8601_time): Likewise.
14831         Spotted by Pádraig Brady.
14832
14833         test-parse-datetime.c: accommodate a relatively strict gcc warning
14834         * tests/test-parse-datetime.c (gmt_offset): Declare function "static",
14835         to avoid a warning from gcc's -Werror=missing-declarations.
14836         Insert a few spaces-before-funcall-parenthesis.
14837
14838 2011-08-17  J.T. Conklin  <jtc@acorntoolworks.com>
14839
14840         parse-datetime: accept ISO 8601 date and time rep with "T" separator
14841         The parser now accepts ISO 8601 date-time strings with "T" as the
14842         separator.  It has long parsed dates like "2004-02-29 16:21:42"
14843         with a space between the date and time strings.  Now it also parses
14844         "2004-02-29T16:21:42" and fractional-second and time-zone-annotated
14845         variants like "2004-02-29T16:21:42.333-07:00"
14846         * lib/parse-datetime.y: Parse ISO 8601 extended date and time
14847         of day representation using the 'T' separator character.
14848         * doc/parse-datetime.texi (General date syntax): replace use of
14849         deprecated --iso-8601 option with --rfc-3339 in example of date
14850         command output formats that can be parsed.
14851         * tests/test-parse-datetime.c (tm_diff): New function, taken from
14852         lib/parse-datetime.y.
14853         (gmt_offset): New function.
14854         (main): Add additional test cases to validate ISO8601 extended
14855         date and time of day parsing.
14856
14857 2011-08-31  Bruno Haible  <bruno@clisp.org>
14858
14859         freopen: Documentation.
14860         * doc/posix-functions/freopen.texi: Document the bug with the NULL file
14861         name.
14862         Reported by Claudio Bley <claudio.bley@gmail.com>.
14863
14864 2011-08-31  Claudio Bley  <claudio.bley@gmail.com>  (tiny change)
14865
14866         freopen: Don't crash if the filename argument is NULL.
14867         * lib/freopen.c (rpl_freopen): Don't compare the filename if it is
14868         NULL.
14869
14870 2011-08-30  Paul Eggert  <eggert@cs.ucla.edu>
14871
14872         openat: work around AIX 7.1 fstatat bug
14873         Problem reported by Kevin Brott for GNU tar, in the thread containing
14874         <http://lists.gnu.org/archive/html/bug-tar/2011-08/msg00015.html>.
14875         * lib/fstatat.c (rpl_fstatat): Do not invoke underlying fstatat if
14876         FSTATAT_ST_SIZE_ETC_BROKEN.
14877         (fstatat) [FSTATAT_ST_SIZE_ETC_BROKEN && HAVE_FSTATAT]: #define to
14878         rpl_fstatat.
14879         * m4/openat.m4 (gl_FUNC_FSTATAT): New macro, with the fstatat-relevant
14880         part of gl_FUNC_OPENAT.  Also, check for the AIX 7.1 bug, and use
14881         AC_CHECK_FUNCS_ONCE for fstatat.
14882         (gl_FUNC_OPENAT): Use it.  Use AC_CHECK_FUNCS_ONCE for
14883         fchmodat, mkdirat, openat and unlinkat.
14884
14885 2011-08-30  Bruno Haible  <bruno@clisp.org>
14886
14887         Avoid endless recursions if config.h includes some header files.
14888         * lib/fopen.c (__need_FILE): Define already before including config.h.
14889         * lib/freopen.c (__need_FILE): Likewise.
14890         * lib/open.c (__need_system_fcntl_h): Likewise.
14891         * lib/stat.c (__need_system_sys_stat_h): Likewise.
14892         * lib/lstat.c (__need_system_sys_stat_h): Likewise.
14893         Reported by Michael Goffioul <michael.goffioul@gmail.com>.
14894
14895 2011-08-25  Karl Berry  <karl@gnu.org>
14896
14897         * config/srclist.txt (ylwrap): new try.
14898         * build-aux/ylwrap: new file.
14899
14900 2011-08-23  Bruno Haible  <bruno@clisp.org>
14901
14902         tmpdir: Use a good default directory on native Windows.
14903         * lib/tmpdir.c: Include <windows.h>, pathmax.h.
14904         (P_tmpdir): Default to _P_tmpdir on native Windows.
14905         (path_search): On native Windows, try the value returned by GetTempPath
14906         before trying P_tmpdir.
14907         * modules/tmpdir (Depends-on): Add pathmax.
14908         Suggested by John Darrington <john@darrington.wattle.id.au>.
14909
14910 2011-08-20  Reuben Thomas  <rrt@sc3d.org>
14911
14912         doc: fix typo in README-release
14913         * top/README-release: Capitalize first word of a sentence.
14914
14915 2011-08-19  Jim Meyering  <meyering@redhat.com>
14916
14917         fts: do not exhaust memory when processing million-entry directories
14918         Before this change, traversing (via rm -rf, find, du, etc.) an N-entry
14919         directory would require about 256*N bytes of memory.  Thus, it was
14920         easy to construct a directory too large to be processed by any of
14921         those tools.  With this change, fts' maximum memory utilization is
14922         now limited to around 30MB.
14923         * lib/fts.c (FTS_MAX_READDIR_ENTRIES): Define.
14924         (fts_read): When we've processed the final entry (i.e., when
14925         ->fts_link is NULL) and fts_dirp is non-NULL, call fts_build
14926         using the parent entry to read any remaining entries.  Dispatch
14927         depending on what fts_build returns:
14928         - NULL+stop, aka failure: stop
14929         - NULL otherwise: move up in the dir hierarchy
14930         - non-NULL: handle this new entry
14931         (fts_build): Declare and use new local, continue_readdir.
14932         Prepare to be called from fts_read, when the entries
14933         from a partially-read directory have just been exhausted.
14934         In that case, we'll skip the opendir and instead use the parent's
14935         fts_dirp and derive dir_fd from that.
14936         Finally, in the readdir loop, if we read max_entries entries,
14937         exit the loop ensuring *not* to call closedir.  This is required
14938         so that fts_dirp can be reused on a subsequent call.
14939         Prompted by Ben England's report of memory exhaustion in find
14940         and rm -rf vs. NFS: https://bugzilla.redhat.com/719749.
14941
14942         maint: fts: move decl of `dp' down into while loop; split a long line
14943         * lib/fts.c (fts_build): No semantic change.
14944
14945         fts: add/use new struct member, fts_dirp
14946         We are about to use this to manage any directory with
14947         too many entries to read all of them into memory at once.
14948         To do that, we'll need to save the DIR* pointer in each
14949         affected FTSENT struct.
14950         * lib/fts_.h: Include <dirent.h>.
14951         (struct FTSENT) [fts_dirp]: New member.
14952         * lib/fts.c (closedir_and_clear): Define.
14953         Use it in place of closedir so that we are sure to
14954         clear the new fts_dirp member when done with it.
14955         (fts_alloc): Initialize the new member.
14956         (fts_lfree): Free, if needed.
14957
14958         maint: fts: give __opendir2 a new parameter and rename
14959         * lib/fts.c (__opendir2): Give it a new parameter, Pdir_fd, rather
14960         than surreptitiously using sole caller's "dir_fd".
14961         (fts_opendir): Rename from __opendir2.
14962
14963         maint: fts.c: remove __opendir2's now-unused parameter, oflag
14964         * lib/fts.c (__opendir2): Remove unused parameter, oflag.
14965
14966         maint: fts.c: correct off-by-one indentation
14967         * lib/fts.c (fts_build): Correct indentation, change style
14968         of a couple of block comments, and bracing style.
14969
14970         maint: fts.c: move __opendir2 #define "up" out of function body
14971         * lib/fts.c (__opendir2): Move "up".  No semantic change.
14972
14973         maint: fts.c: remove #if-0'd FTS_WHITEOUT code
14974         * lib/fts.c: Remove #if-0'd FTS_WHITEOUT code.  It's been #if-0'd
14975         out for a long time and besides was useful only on BSD systems.
14976
14977 2011-08-18  Paul Eggert  <eggert@cs.ucla.edu>
14978
14979         regex: port to Stratus OpenVOS
14980         * lib/regex_internal.h (internal_function) [!_LIBC]: Simply
14981         define to empty, rather than attempting nonportable optimizations.
14982         Problem reported by Paul Green in:
14983         http://lists.gnu.org/archive/html/bug-diffutils/2011-08/msg00047.html
14984         and fix suggested by Eric Blake in:
14985         http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00143.html
14986
14987 2011-08-17  Eric Blake  <eblake@redhat.com>
14988
14989         getcwd: fix test failures on mingw
14990         * lib/getcwd.c (__getcwd): Early exit for ERANGE.
14991         * tests/test-getcwd.c (test_abort_bug, test_long_name): Don't fail
14992         test if long directory cannot be created, and allow mingw errno.
14993
14994         getcwd-lgpl: fix m4 to match relaxed test for BSD
14995         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Relax probe.
14996         (gl_FUNC_GETCWD_SIGNATURE): New macro.
14997         (gl_FUNC_GETCWD_LGPL, gl_FUNC_GETCWD): Use it.
14998         * doc/posix-functions/getcwd.texi (getcwd): Tweak mentions of
14999         signature problem.
15000
15001         getcwd: fix compilation on mingw64
15002         * lib/unistd.in.h (includes) [mingw]: Include <direct.h> for
15003         getcwd.
15004         Reported by Marc-André Lureau.
15005
15006         pipe2: silence compiler warning
15007         * lib/pipe2.c (pipe2): Hide label if it is not used.
15008
15009 2011-08-15  Ben Pfaff  <blp@cs.stanford.edu>
15010
15011         relocatable-prog: fix link error
15012         * modules/relocatable-prog (configure.ac) [RELOCATABLE]: Also
15013         invoke AC_LIBOBJ([relocatable]).  This invocation was previously
15014         in the gl_RELOCATABLE_LIBRARY macro.  That invocation was moved
15015         into modules/relocatable-lib without noticing that
15016         modules/relocatable-prog also invokes gl_RELOCATABLE_LIBRARY and
15017         also needs to build relocatable.c.
15018
15019 2011-08-12  Paul Eggert  <eggert@cs.ucla.edu>
15020
15021         getaddrinfo: fix sh typo in gai_strerrorA decl checking
15022         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix typo in the generated
15023         shell code: it contained a 'break' that was not in a loop.
15024         Apparently the macro assumed that AC_CHECK_DECLS is implemenented
15025         via a shell-language loop; this may have been true in old Autoconf
15026         versions, but it's not true in Autoconf 2.68.  I found this bug
15027         when testing coreutils git on Solaris 8, whose shell complains
15028         about the syntax error.
15029
15030 2011-08-12  Simon Josefsson  <simon@josefsson.org>
15031
15032         * lib/base64.c: Fix comment to reference RFC 4648.
15033         Suggested by Bruno Haible <bruno@clisp.org> and Gijs van Tulder
15034         <gvtulder@gmail.com>.
15035
15036 2011-08-11  Paul Eggert  <eggert@cs.ucla.edu>
15037
15038         * build-aux/bootstrap (slurp): Remove obsolescent gettext.m4 patch.
15039
15040         po/Makefile.in.in: fix make -q problem
15041         * build-aux/po/Makefile.in.in (check-macro-version): Remove this
15042         rule, since there's no file named 'check-macro-version' and its
15043         use as a file breaks make -q.
15044         (all): Don't depend on check-macro-version.
15045         (CHECK_MACRO_VERSION): New macro.
15046         (stamp-po): Use it.
15047
15048         configmake: fix make -q problem
15049         * modules/configmake (configmake.h): Update configmake.h's time stamp
15050         even if the file does not change.  Otherwise, 'make -q' fails.
15051         Problem reported by Simon Josefsson in
15052         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00088.html>.
15053
15054 2011-08-11  Jim Meyering  <meyering@redhat.com>
15055
15056         git-version-gen: correct the advice in a comment
15057         * build-aux/git-version-gen: Correct comment.
15058         Don't recommend to list .tarball-version in .gitignore.
15059
15060 2011-08-10  Paul Eggert  <eggert@cs.ucla.edu>
15061
15062         base64: fix off-by-one buffer size bug
15063         Problem and (trivial) fix reported by Gijs van Tulder in
15064         <http://lists.gnu.org/archive/html/bug-gnulib/2011-08/msg00083.html>.
15065         * lib/base64.c (base64_decode_alloc_ctx): Allocate one more byte.
15066         * tests/test-base64.c (main): Catch the bug.
15067
15068 2011-08-10  Eric Blake  <eblake@redhat.com>
15069
15070         closein: correct comments
15071         * lib/closein.c (close_stdin): Improve comments.
15072
15073 2011-08-09  Bruno Haible  <bruno@clisp.org>
15074
15075         More tests for 'fseeko'.
15076         * tests/test-fseeko3.c: New file, from Eric Blake.
15077         * tests/test-fseeko3.sh: New file.
15078         * modules/fseeko-tests (Files): Add them.
15079         (TESTS): Add test-fseeko3.sh.
15080         (check_PROGRAMS): Add test-fseeko3.
15081
15082 2011-08-09  Eric Blake  <eblake@redhat.com>
15083
15084         fseeko: remove unneeded hack
15085         * lib/fseeko.c (fseeko): Don't special-case SEEK_END.
15086
15087         fseeko: fix bug on glibc
15088         * lib/fseeko.c (fseeko): Set stream offset to match fd offset.
15089         Reported by John W. Eaton.
15090
15091 2011-08-08  Bruno Haible  <bruno@clisp.org>
15092
15093         unictype/base: Fix interoperability with preinstalled libunistring.
15094         * modules/unictype/base (configure.ac): Bump minimum version to 0.9.4.
15095         Reported by Simon Josefsson.
15096
15097 2011-08-08  Bruno Haible  <bruno@clisp.org>
15098
15099         iswblank: Detect declaration correctly.
15100         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Use correct headers in
15101         AC_CHECK_DECLS invocation.
15102
15103 2011-08-08  Bruno Haible  <bruno@clisp.org>
15104
15105         tcgetsid: Detect declaration correctly.
15106         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Use correct headers in
15107         AC_CHECK_DECLS invocation.
15108         Reported by Simon Josefsson.
15109
15110 2011-08-08  Eric Blake  <eblake@redhat.com>
15111
15112         largefile: fix typo that regressed large file support
15113         * modules/largefile (configure.ac-early): Fix section name.
15114
15115 2011-08-06  Karl Berry  <karl@gnu.org>
15116
15117         * MODULES.html.sh (func_all_files): _Noreturn is no longer
15118         a separate module.
15119
15120 2011-08-05  Simon Josefsson  <simon@josefsson.org>
15121
15122         openat: Fix warnings and commens when building unlinkat.c on Hurd.
15123         * lib/unlinkat.c: Mention Hurd in comments.  Include stdlib.h to
15124         get prototype for free.
15125
15126 2011-08-04  Bruno Haible  <bruno@clisp.org>
15127
15128         Tests for module 'pathmax'.
15129         * modules/pathmax-tests: New file.
15130         * tests/test-pathmax.c: New file.
15131
15132         canonicalize-lgpl: Support larger filenames on the Hurd.
15133         * lib/canonicalize-lgpl.c (__realpath): Bump path_max fallback to 8192.
15134         Reported by Paul Eggert.
15135
15136         pathmax: Leave PATH_MAX undefined on the Hurd, and a constant otherwise.
15137         * lib/pathmax.h (PATH_MAX): Leave it undefined on GNU/Hurd.
15138         * lib/chdir-long.h: Include pathmax.h.
15139         * lib/clean-temp.c (PATH_MAX): Remove code that is done by pathmax.h.
15140         * lib/getcwd.c: Include pathmax.h instead of <limits.h>.
15141         (PATH_MAX): Remove code that is done by pathmax.h.
15142         * lib/canonicalize.c (PATH_MAX): Provide a fallback value.
15143         * lib/tmpfile.c: Add a comment.
15144         * m4/pathmax.m4 (gl_PATHMAX): Don't test for pathconf.
15145         * modules/chdir-long (Depends-on): Add pathmax.
15146         * modules/getcwd (Depends-on): Add pathmax.
15147         * tests/test-getcwd.c (test_abort_bug): Avoid syntax error when PATH_MAX
15148         is not defined.
15149         * doc/posix-headers/limits.texi: Mention the pathmax module.
15150         * NEWS: Mention the change.
15151
15152 2011-08-02  Bruno Haible  <bruno@clisp.org>
15153
15154         pthread_sigmask: Actually use results of gl_THREADLIB.
15155         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test and require
15156         gl_THREADLIB, not gl_[]THREADLIB.
15157         Reported by Eric Blake.
15158
15159 2011-08-02  Jim Meyering  <meyering@redhat.com>
15160
15161         maint.mk: relax the default _gl_TS_function_match regexp
15162         * top/maint.mk (_gl_TS_function_match): Don't require at least one
15163         space between function name and "(" in an "extern" declaration.
15164         That would fail to match a decl with no space there: extern void foo();
15165
15166 2011-07-31  Iain Nicol  <iain@thenicols.net>
15167
15168         git-version-gen: document that EXTRA_DIST must include .version
15169         * build-aux/git-version-gen: In the how-to-use comment, document
15170         that EXTRA_DIST must include .version.  Otherwise, "make distcheck"
15171         will fail when run from an unpacked distribution tarball.
15172
15173 2011-08-01  Bruno Haible  <bruno@clisp.org>
15174
15175         wctype-h: Fix last change.
15176         * m4/wctype_h.m4 (gl_WCTYPE_H): If towlower is defined, set
15177         REPLACE_TOWLOWER to 0.
15178         Reported by Sam Steingold <sds@gnu.org>.
15179
15180 2011-07-31  Bruno Haible  <bruno@clisp.org>
15181
15182         frexpl: Update autoconf test.
15183         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Update overrides of <float.h>,
15184         according to changes of 2011-06-20.
15185
15186 2011-07-31  Bruno Haible  <bruno@clisp.org>
15187
15188         sys_utsname: Add support for Minix.
15189         * lib/sys_utsname.in.h [Minix]: Include <stddef.h> before
15190         <sys/utsname.h>.
15191         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
15192         * doc/posix-headers/sys_utsname.texi: Document the Minix problem.
15193
15194 2011-07-31  Bruno Haible  <bruno@clisp.org>
15195
15196         strings: Add support for Minix.
15197         * lib/strings.in.h [Minix]: Include <sys/types.h> before <strings.h>.
15198         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
15199         * doc/posix-headers/strings.texi: Document the Minix problem.
15200
15201 2011-07-31  Bruno Haible  <bruno@clisp.org>
15202
15203         wctype-h: Add support for Minix.
15204         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towlower is declared. Set
15205         REPLACE_TOWLOWER.
15206         * modules/wctype-h (Makefile.am): Substitute REPLACE_TOWLOWER.
15207         * lib/wctype.in.h (towlower, towupper): Test REPLACE_TOWLOWER, not
15208         REPLACE_ISWCNTRL.
15209
15210 2011-07-31  Paul Eggert  <eggert@cs.ucla.edu>
15211
15212         * lib/xalloc.h (DEFAULT_MXFAST): Track 64-bit glibc.
15213         This is a performance improvement for 64-bit hosts: it causes the
15214         value of DEFAULT_MXFAST to track what's in glibc on such hosts.
15215
15216 2011-07-31  Bruno Haible  <bruno@clisp.org>
15217
15218         stdioext: Add support for Minix.
15219         * lib/fbufmode.c (fbufmode) [__minix]: Add conditional code.
15220         * lib/fpurge.c (fpurge): Likewise.
15221         * lib/freadahead.c (freadahead): Likewise.
15222         * lib/freadable.c (freadable): Likewise.
15223         * lib/freading.c (freading): Likewise.
15224         * lib/freadptr.c (freadptr): Likewise.
15225         * lib/freadseek.c (freadptrinc): Likewise.
15226         * lib/fseeko.c (rpl_fseeko): Likewise.
15227         * lib/fseterr.c (fseterr): Likewise.
15228         * lib/fwritable.c (fwritable): Likewise.
15229         * lib/fwriting.c (fwriting): Likewise.
15230         * lib/fflush.c (clear_ungetc_buffer): Update comment.
15231         * m4/fpending.m4 (gl_PREREQ_FPENDING): Add a variant for Minix.
15232
15233 2011-07-31  Bruno Haible  <bruno@clisp.org>
15234
15235         errno: Port to Minix.
15236         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Test also whether ENETRESET and
15237         ECONNABORTED are defined.
15238         * lib/errno.in.h (ENETRESET, GNULIB_defined_ENETRESET, ECONNABORTED,
15239         GNULIB_defined_ECONNABORTED): New macros.
15240         * lib/strerror-override.h (strerror_override): Test also
15241         GNULIB_defined_ENETRESET, GNULIB_defined_ECONNABORTED.
15242         * lib/strerror-override.c (strerror_override): Handle also ENETRESET,
15243         ECONNABORTED.
15244         * doc/posix-headers/errno.texi: Mention the Minix problem.
15245
15246 2011-07-31  Bruno Haible  <bruno@clisp.org>
15247
15248         Work around declaration collisions on Minix.
15249         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): If mbsinit is declared but not
15250         defined, set REPLACE_MBSINIT.
15251         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): If mbrtowc is declared but not
15252         defined, set REPLACE_MBRTOWC.
15253         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): If mbrlen is declared but not defined,
15254         set REPLACE_MBRLEN.
15255         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): If mbsrtowcs is declared but not
15256         defined, set REPLACE_MBSRTOWCS.
15257         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): If wcrtomb is declared but not
15258         defined, set REPLACE_WCRTOMB.
15259         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): If wcsrtombs is declared but not
15260         defined, set REPLACE_WCSRTOMBS.
15261
15262 2011-07-31  Bruno Haible  <bruno@clisp.org>
15263
15264         Add support for Minix with ACK compiler.
15265         * m4/gnulib-common.m4 (gl_PROG_AR_RANLIB): New macro.
15266         * gnulib-tool (func_import, func_create_testdir): Emit invocation of
15267         gl_PROG_AR_RANLIB instead of AC_PROG_RANLIB.
15268
15269 2011-07-31  Bruno Haible  <bruno@clisp.org>
15270
15271         Documentation about Minix.
15272         * doc/posix-headers/*.texi: Add info about Minix 3.1.8.
15273         * doc/glibc-headers/*.texi: Likewise.
15274         * doc/posix-functions/*.texi: Likewise.
15275         * doc/glibc-functions/*.texi: Likewise.
15276
15277 2011-07-31  Bruno Haible  <bruno@clisp.org>
15278
15279         snippet/warn-on-use: Fix indentation.
15280         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Fix indentation.
15281
15282 2011-07-25  Jim Meyering  <meyering@redhat.com>
15283
15284         tests: test-update-copyright.sh: remove unnecessary "rm" commands
15285         * tests/test-update-copyright.sh: Remove unused rm -f $TMP.*.bak
15286         commands.
15287
15288 2011-07-27  Jim Meyering  <meyering@redhat.com>
15289
15290         maint.mk: avoid sc_prohibit_always-defined_macros failure in coreutils
15291         * top/maint.mk (gl_extract_significant_defines_): Now that
15292         SA_RESETHAND and SA_RESTART are #defined (albeit conditionally) in
15293         gnulib/lib/signal.in.h, and now that we recommend to
15294         define-if-undefined those two symbols in application code,
15295         we must filter them out of the "significant" list.
15296         This avoids a "make syntax-check" failure in coreutils.
15297
15298 2011-07-26  Eric Blake  <eblake@redhat.com>
15299
15300         warnings: add comments about previous patch
15301         * m4/absolute-header.m4: Document AS_VAR_PUSHDEF limitation.
15302         * m4/include_next.m4: Likewise.
15303         * m4/warn-on-use.m4: Likewise.
15304         * m4/warnings.m4: Likewise, and simplify use.
15305         Suggested by Stefano Lattarini.
15306
15307         include-next, warnings: support older autoconf
15308         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): Use
15309         AS_VAR_PUSHDEF in a way that works with older autoconf.
15310         * m4/warnings.m4 (gl_WARN_ADD): Likewise.
15311         Reported by Daniel P. Berrange.
15312
15313 2011-07-25  Bruno Haible  <bruno@clisp.org>
15314
15315         fseek, ftell: Fix doc.
15316         * doc/posix-functions/fseek.texi: Reword statement about
15317         AC_SYS_LARGEFILE.
15318         * doc/posix-functions/ftell.texi: Likewise.
15319
15320 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15321             Bruno Haible  <bruno@clisp.org>
15322
15323         Add dependencies to the 'largefile' module.
15324         * modules/fopen (Depends-on): Add 'largefile'.
15325         * modules/freopen (Depends-on): Likewise.
15326         * modules/fseeko (Depends-on): Likewise.
15327         * modules/ftello (Depends-on): Likewise.
15328         * modules/glob (Depends-on): Likewise.
15329         * modules/lseek (Depends-on): Likewise.
15330         * modules/lstat (Depends-on): Likewise.
15331         * modules/mkostemp (Depends-on): Likewise.
15332         * modules/mkostemps (Depends-on): Likewise.
15333         * modules/mkstemp (Depends-on): Likewise.
15334         * modules/mkstemps (Depends-on): Likewise.
15335         * modules/open (Depends-on): Likewise.
15336         * modules/openat (Depends-on): Likewise.
15337         * modules/pread (Depends-on): Likewise.
15338         * modules/pwrite (Depends-on): Likewise.
15339         * modules/scandir (Depends-on): Likewise.
15340         * modules/stat (Depends-on): Likewise.
15341         * modules/tmpfile (Depends-on): Likewise.
15342         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Do not require AC_SYS_LARGEFILE,
15343         since the containing module now depends on the largefile module.
15344         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Likewise.
15345         * doc/posix-functions/fopen.texi: Mention that the problem of 32-bit
15346         off_t is fixed by gnulib.
15347         * doc/posix-functions/freopen.texi: Likewise.
15348         * doc/posix-functions/fseeko.texi: Likewise.
15349         * doc/posix-functions/fstatat.texi: Likewise.
15350         * doc/posix-functions/ftello.texi: Likewise.
15351         * doc/posix-functions/glob.texi: Likewise.
15352         * doc/posix-functions/lseek.texi: Likewise.
15353         * doc/posix-functions/lstat.texi: Likewise.
15354         * doc/posix-functions/mkstemp.texi: Likewise.
15355         * doc/posix-functions/open.texi: Likewise.
15356         * doc/posix-functions/openat.texi: Likewise.
15357         * doc/posix-functions/pread.texi: Likewise.
15358         * doc/posix-functions/pwrite.texi: Likewise.
15359         * doc/posix-functions/scandir.texi: Likewise.
15360         * doc/posix-functions/stat.texi: Likewise.
15361         * doc/posix-functions/tmpfile.texi: Likewise.
15362         * doc/glibc-functions/mkostemp.texi: Likewise.
15363         * doc/glibc-functions/mkostemps.texi: Likewise.
15364         * doc/glibc-functions/mkstemps.texi: Likewise.
15365
15366 2011-07-25  Bruno Haible  <bruno@clisp.org>
15367
15368         fcntl: Move AC_LIBOBJ invocation to module description.
15369         * m4/fcntl.m4 (gl_REPLACE_FCNTL): Don't invoke AC_LIBOBJ.
15370         * modules/fcntl (configure.ac): Invoke AC_LIBOBJ.
15371
15372         fcntl: Remove call-in from fchdir.m4.
15373         * m4/fcntl.m4 (gl_FUNC_FCNTL): Conditionally invoke gl_TEST_FCHDIR.
15374         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_FCNTL.
15375
15376         dup3: Remove potential call-in from fchdir.m4.
15377         * m4/dup3.m4 (gl_FUNC_DUP3): Add comment about fchdir.
15378         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Remove comment about dup3.
15379
15380         dup2: Move AC_LIBOBJ invocation to module description.
15381         * m4/dup2.m4 (gl_REPLACE_DUP2): Remove macro.
15382         (gl_FUNC_DUP2): Instead of gl_REPLACE_DUP2, just set REPLACE_DUP2 to 1.
15383         Don't invoke AC_LIBOBJ.
15384         * modules/dup2 (configure.ac): Invoke AC_LIBOBJ.
15385
15386         dup2: Remove call-in from fchdir.m4.
15387         * m4/dup2.m4 (gl_FUNC_DUP2): Conditionally invoke gl_TEST_FCHDIR.
15388         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_DUP2.
15389
15390         fclose: Move AC_LIBOBJ invocation to module description.
15391         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Remove macro.
15392         (gl_FUNC_FCLOSE): Instead of gl_REPLACE_FCLOSE, just set REPLACE_FCLOSE
15393         to 1.
15394         * modules/fclose (configure.ac): Invoke AC_LIBOBJ.
15395
15396         fclose: Remove call-in from close.m4.
15397         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_CLOSE.
15398         * m4/close.m4 (gl_FUNC_CLOSE): Don't invoke gl_REPLACE_FCLOSE.
15399
15400         close: Move AC_LIBOBJ invocation to module description.
15401         * m4/close.m4 (gl_REPLACE_CLOSE): Remove macro.
15402         (gl_FUNC_CLOSE): Instead of gl_REPLACE_CLOSE, just set REPLACE_CLOSE to
15403         1.
15404         * modules/close (configure.ac): Invoke AC_LIBOBJ.
15405
15406         close: Remove call-in from fchdir.m4.
15407         * m4/close.m4 (gl_FUNC_CLOSE): Conditionally invoke gl_TEST_FCHDIR.
15408         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_CLOSE.
15409
15410         open: Move AC_LIBOBJ invocation to module description.
15411         * m4/open.m4 (gl_REPLACE_OPEN): Remove macro.
15412         (gl_FUNC_OPEN): Instead of gl_REPLACE_OPEN, just set REPLACE_OPEN to 1.
15413         * modules/open (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_OPEN.
15414
15415         open: Remove call-in from fchdir.m4.
15416         * m4/open.m4 (gl_FUNC_OPEN): Conditionally invoke gl_TEST_FCHDIR.
15417         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Don't invoke gl_REPLACE_OPEN.
15418
15419         fchdir: Start to remove gl_REPLACE_* idiom.
15420         * m4/fchdir.m4 (gl_TEST_FCHDIR): New macro.
15421         (gl_FUNC_FCHDIR): Invoke it.
15422
15423 2011-07-25  Paul Eggert  <eggert@cs.ucla.edu>
15424
15425         * lib/ftell.c (ftell): Comment out cast.
15426
15427         close: use gl_REPLACE_FCLOSE only if defined
15428         * m4/close.m4 (gl_REPLACE_CLOSE): Use gl_REPLACE_FCLOSE only if it
15429         is defined.  The close module doesn't depend on the fclose module
15430         any more, so gl_REPLACE_CLOSE's existence cannot be assumed.  See
15431         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00392.html>.
15432         I reproduced the problem with "./gnulib-tool --test close sys_socket".
15433
15434 2011-07-24  Jim Meyering  <meyering@redhat.com>
15435
15436         test-select.h: avoid warning when using gcc's -Wmissing-declarations
15437         * tests/test-select.h (test_function): Declare as "static".
15438
15439 2011-07-24  Bruno Haible  <bruno@clisp.org>
15440
15441         doc: Mention the effects of AC_SYS_LARGEFILE.
15442         * doc/posix-functions/aio_cancel.texi: Mention the effects of AC_SYS_LARGEFILE
15443         on this function.
15444         * doc/posix-functions/aio_error.texi: Likewise.
15445         * doc/posix-functions/aio_fsync.texi: Likewise.
15446         * doc/posix-functions/aio_read.texi: Likewise.
15447         * doc/posix-functions/aio_return.texi: Likewise.
15448         * doc/posix-functions/aio_suspend.texi: Likewise.
15449         * doc/posix-functions/aio_write.texi: Likewise.
15450         * doc/posix-functions/fgetpos.texi: Likewise.
15451         * doc/posix-functions/fopen.texi: Likewise.
15452         * doc/posix-functions/freopen.texi: Likewise.
15453         * doc/posix-functions/fsetpos.texi: Likewise.
15454         * doc/posix-functions/fstatvfs.texi: Likewise.
15455         * doc/posix-functions/ftruncate.texi: Likewise.
15456         * doc/posix-functions/ftw.texi: Likewise.
15457         * doc/posix-functions/getrlimit.texi: Likewise.
15458         * doc/posix-functions/glob.texi: Likewise.
15459         * doc/posix-functions/lio_listio.texi: Likewise.
15460         * doc/posix-functions/lockf.texi: Likewise.
15461         * doc/posix-functions/mkstemp.texi: Likewise.
15462         * doc/posix-functions/mmap.texi: Likewise.
15463         * doc/posix-functions/nftw.texi: Likewise.
15464         * doc/posix-functions/openat.texi: Likewise.
15465         * doc/posix-functions/opendir.texi: Likewise.
15466         * doc/posix-functions/posix_fadvise.texi: Likewise.
15467         * doc/posix-functions/posix_fallocate.texi: Likewise.
15468         * doc/posix-functions/pread.texi: Likewise.
15469         * doc/posix-functions/pwrite.texi: Likewise.
15470         * doc/posix-functions/readdir.texi: Likewise.
15471         * doc/posix-functions/readdir_r.texi: Likewise.
15472         * doc/posix-functions/rewinddir.texi: Likewise.
15473         * doc/posix-functions/scandir.texi: Likewise.
15474         * doc/posix-functions/seekdir.texi: Likewise.
15475         * doc/posix-functions/setrlimit.texi: Likewise.
15476         * doc/posix-functions/statvfs.texi: Likewise.
15477         * doc/posix-functions/telldir.texi: Likewise.
15478         * doc/posix-functions/tmpfile.texi: Likewise.
15479         * doc/posix-functions/truncate.texi: Likewise.
15480         * doc/glibc-functions/fallocate.texi: Likewise.
15481         * doc/glibc-functions/fstatfs.texi: Likewise.
15482         * doc/glibc-functions/fts_children.texi: Likewise.
15483         * doc/glibc-functions/fts_read.texi: Likewise.
15484         * doc/glibc-functions/getdirentries.texi: Likewise.
15485         * doc/glibc-functions/mkostemp.texi: Likewise.
15486         * doc/glibc-functions/mkostemps.texi: Likewise.
15487         * doc/glibc-functions/mkstemps.texi: Likewise.
15488         * doc/glibc-functions/preadv.texi: Likewise.
15489         * doc/glibc-functions/pwritev.texi: Likewise.
15490         * doc/glibc-functions/sendfile.texi: Likewise.
15491         * doc/glibc-functions/statfs.texi: Likewise.
15492
15493 2011-07-24  Bruno Haible  <bruno@clisp.org>
15494
15495         doc: Fix typo.
15496         * doc/posix-functions/fstat.texi: Talk about fstat, not stat.
15497
15498 2011-07-24  Bruno Haible  <bruno@clisp.org>
15499
15500         doc: Mention fsusage.
15501         * doc/posix-functions/statvfs.texi: Mention the fsusage module.
15502
15503 2011-07-24  Bruno Haible  <bruno@clisp.org>
15504
15505         doc: Mention new glibc headers and functions.
15506         * doc/glibc-headers/gshadow.texi: New file.
15507         * doc/glibc-functions/endsgent.texi: New file.
15508         * doc/glibc-functions/fgetsgent.texi: New file.
15509         * doc/glibc-functions/fgetsgent_r.texi: New file.
15510         * doc/glibc-functions/getsgent.texi: New file.
15511         * doc/glibc-functions/getsgent_r.texi: New file.
15512         * doc/glibc-functions/getsgnam.texi: New file.
15513         * doc/glibc-functions/getsgnam_r.texi: New file.
15514         * doc/glibc-functions/putsgent.texi: New file.
15515         * doc/glibc-functions/setsgent.texi: New file.
15516         * doc/glibc-functions/sgetsgent.texi: New file.
15517         * doc/glibc-functions/sgetsgent_r.texi: New file.
15518         * doc/glibc-functions/malloc_info.texi: New file.
15519         * doc/glibc-functions/preadv.texi: New file.
15520         * doc/glibc-functions/pwritev.texi: New file.
15521         * doc/glibc-functions/register_printf_modifier.texi: New file.
15522         * doc/glibc-functions/register_printf_specifier.texi: New file.
15523         * doc/glibc-functions/register_printf_type.texi: New file.
15524         * doc/glibc-functions/pthread_attr_getaffinity_np.texi: New file.
15525         * doc/glibc-functions/pthread_attr_setaffinity_np.texi: New file.
15526         * doc/glibc-functions/pthread_getaffinity_np.texi: New file.
15527         * doc/glibc-functions/pthread_getname_np.texi: New file.
15528         * doc/glibc-functions/pthread_mutex_consistent_np.texi: New file.
15529         * doc/glibc-functions/pthread_mutexattr_getrobust_np.texi: New file.
15530         * doc/glibc-functions/pthread_mutexattr_setrobust_np.texi: New file.
15531         * doc/glibc-functions/pthread_setaffinity_np.texi: New file.
15532         * doc/glibc-functions/pthread_setname_np.texi: New file.
15533         * doc/glibc-functions/pthread_sigqueue.texi: New file.
15534         * doc/glibc-functions/pthread_timedjoin_np.texi: New file.
15535         * doc/glibc-functions/pthread_tryjoin_np.texi: New file.
15536         * doc/glibc-functions/qsort_r.texi: New file.
15537         * doc/glibc-functions/quick_exit.texi: New file.
15538         * doc/glibc-functions/syncfs.texi: New file.
15539         * doc/gnulib.texi: Include them.
15540         (Glibc gshadow.h, Glibc sys/uio.h): New sections.
15541         * doc/posix-functions/psiginfo.texi: Fix info about glibc version.
15542         * doc/posix-functions/pthread_mutex_consistent.texi: Likewise.
15543         * doc/posix-functions/pthread_mutexattr_getrobust.texi: Likewise.
15544         * doc/posix-functions/pthread_mutexattr_setrobust.texi: Likewise.
15545         * doc/glibc-functions/execvpe.texi: Likewise.
15546
15547 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15548
15549         ftell: don't include <unistd.h>
15550         * lib/ftell.c: Don't include <unistd.h>.  <stdio.h> is now
15551         guaranteed to define off_t, and the ftell module depends on the
15552         stdio module.
15553
15554         ftell: do not assume wraparound signed arithmetic
15555         * lib/ftell.c: Include <limits.h>.
15556         (ftell): Don't assume wraparound signed arithmetic.
15557
15558 2011-07-24  Bruno Haible  <bruno@clisp.org>
15559
15560         close: No longer depend on module 'fclose'.
15561         * modules/close (Depends-on): Remove fclose.
15562         * NEWS: Mention the change.
15563         Suggested by Sam Steingold <sds@gnu.org>.
15564
15565 2011-07-24  Bruno Haible  <bruno@clisp.org>
15566
15567         fsusage: Enable large volume support on AIX >= 5.2.
15568         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): If 'struct statvfs64' has a
15569         larger f_blocks field than 'struct statvfs', define STAT_STATVFS64
15570         instead of STAT_STATVFS.
15571         * lib/fsusage.c (get_fs_usage) [STAT_STATVFS64]: Use statvfs64.
15572
15573         fsusage: Restore previous behaviour on AIX, Cygwin, Interix.
15574         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Enforce a 64-bit struct statvfs
15575         f_blocks field only on MacOS X.
15576
15577         fsusage: Support large volumes on glibc/Hurd, HP-UX, Solaris, MacOS X.
15578         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Require AC_SYS_LARGEFILE.
15579         * modules/fsusage (Depends-on): Add largefile.
15580
15581 2011-07-24  Paul Eggert  <eggert@cs.ucla.edu>
15582
15583         * README: Modernize discussion of signed integers.
15584         Assuming overflow wraparound is no longer safe.
15585         Mention ones' complement and signed magnitude.
15586
15587 2011-07-22  Bruno Haible  <bruno@clisp.org>
15588
15589         select tests, pselect tests: Refactor.
15590         * tests/test-select.h: New file, extracted from tests/test-select.c.
15591         (select_fn): New type.
15592         (test, do_select, do_select_nowait, do_select_wait, test_tty,
15593         test_connect_first, test_accept_first, test_pair, test_socket_pair,
15594         test_pipe): Add my_select argument.
15595         (test_function): Renamed from main. Add my_select argument.
15596         * tests/test-select.c: Move most code to tests/test-select.h. Include
15597         test-select.h.
15598         * modules/select-tests (Files): Add tests/test-select.h.
15599         * tests/test-pselect.c: Include test-select.h instead of test-select.c.
15600         (my_select, main): New functions.
15601         * modules/pselect-tests (Files): Add tests/test-select.h,
15602         tests/macros.h, tests/signature.h.
15603         (Depends-on): Remove select-tests. Add dependencies of test-select.h.
15604         (configure.ac): Check for <sys/wait.h>.
15605
15606 2011-07-22  Bruno Haible  <bruno@clisp.org>
15607
15608         sys_select tests: Check the signature of FD_*.
15609         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Move
15610         signature tests from here...
15611         * tests/test-sys_select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): ... to
15612         here.
15613         * modules/sys_select-tests (Files): Add tests/signature.h.
15614
15615 2011-07-22  Paul Eggert  <eggert@cs.ucla.edu>
15616
15617         largefile: new module, replacing large-inode
15618         Pádraig Brady suggested this in        <http://debbugs.gnu.org/9140#20>.
15619         * MODULES.html.sh: Add largefile, remove large-inode.
15620         * modules/largefile, m4/largefile.m4: New files.
15621         * modules/large-inode, m4/large-inode.m4: Remove.
15622
15623         fsusage: port to MacOS X 10.7 with 4 TiB file systems
15624         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Reject statvfs
15625         implementations that use only 32 bits to count blocks.
15626         On typical hosts with 1024-byte blocks, this fails with file
15627         systems as small as 4 TiB.  Problem reported by Herb Wartens
15628         <http://debbugs.gnu.org/9140> and this should also fix a similar
15629         problem reported by Tim Spriggs <http://debbugs.gnu.org/7355>.
15630
15631         large-inode: New module
15632         * MODULES.html.sh: Add it.
15633         * modules/large-inode, m4/large-inode.m4: New files.
15634
15635         extensions: Enable extensions on MacOS X 10.5 and later.
15636         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Define _DARWIN_C_SOURCE.
15637
15638 2011-07-22  Kamil Dudka  <kdudka@redhat.com>
15639
15640         file-has-acl: use acl_extended_file_nofollow if available
15641         * lib/acl-internal.h (HAVE_ACL_EXTENDED_FILE): New macro.
15642         (acl_extended_file): New macro.
15643         * lib/file-has-acl.c (file_has_acl): Use acl_extended_file_nofollow.
15644         * m4/acl.m4 (gl_FUNC_ACL): Check for acl_extended_file_nofollow.
15645
15646 2011-07-21  Bruno Haible  <bruno@clisp.org>
15647
15648         Declare system functions in a way that works with C++.
15649         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR) [C++]: In the test program,
15650         declare fdopendir as extern "C".
15651         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS) [C++]: In the test program,
15652         declare frexpl as extern "C".
15653         * m4/getaddrinfo.m4 (gl_GETADDRINFO) [C++]: In the test program,
15654         declare gai_strerror as extern "C".
15655         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME) [C++]: In the test
15656         programs, declare gai_strerror as extern "C".
15657         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R) [C++]: In the test program,
15658         declare getlogin_r as extern "C".
15659         * m4/ioctl.m4 (gl_FUNC_IOCTL) [C++]: In the test program, declare ioctl
15660         as extern "C".
15661         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS) [C++]: In the test program,
15662         declare ldexpl as extern "C".
15663         * m4/logb.m4 (gl_FUNC_LOGB) [C++]: In the test programs, declare logb
15664         as extern "C".
15665         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS) [C++]: In the test
15666         program, declare getmntinfo as extern "C".
15667         * m4/stpncpy.m4 (gl_FUNC_STPNCPY) [C++]: In the test program, declare
15668         stpncpy as extern "C".
15669         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS) [C++]: In the test
15670         program, declare __xpg_strerror_r as extern "C".
15671         * m4/strndup.m4 (gl_FUNC_STRNDUP) [C++]: In the test program, declare
15672         strndup as extern "C".
15673         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT) [C++]: In the test program,
15674         declare memset and bzero as extern "C".
15675         Reported by Sam Steingold <sds@gnu.org>.
15676
15677 2011-07-12  Jim Meyering  <meyering@redhat.com>
15678
15679         maint.mk: prohibit inclusion of "verify.h" without use
15680         * top/maint.mk (sc_prohibit_verify_without_use): New rule.
15681
15682 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15683
15684         timer-time: A new module to check for timer_settime()
15685         * m4/timer_time.m4: Check for the posix function.
15686         * modules/timer-time: Add the new module.
15687         * MODULES.html.sh (Compat checks for POSIX:2008 functions):
15688         Mention it.
15689
15690 2011-07-19  Paul Eggert  <eggert@cs.ucla.edu>
15691             Bruno Haible  <bruno@clisp.org>
15692
15693         pthread_sigmask: assume POSIX threads if --avoid=threadlib
15694         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): If gl_THREADLIB is
15695         not defined, assume POSIX threads and look for pthread_sigmask in
15696         $LIBS, without changing $CPPFLAGS.
15697
15698 2011-07-19  Bruno Haible  <bruno@clisp.org>
15699
15700         strstr: Update cross-compilation guess.
15701         * m4/strstr.m4 (gl_FUNC_STRSTR): On glibc > 2.12 with x86 or x86_64
15702         CPUs, guess no, in view of glibc
15703         BZ #12100 <http://sourceware.org/bugzilla/show_bug.cgi?id=12100>.
15704         Suggested by Eric Blake. Reported by Reuben Thomas.
15705
15706 2011-07-19  Pádraig Brady  <P@draigBrady.com>
15707
15708         getopt-gnu: suppress core dumps from detection code
15709         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Use the nocrash module
15710         to suppress core dumps that may well occur on glibc systems.
15711         * modules/getopt-gnu: Depend on nocrash.
15712
15713 2011-07-16  Paul Eggert  <eggert@cs.ucla.edu>
15714
15715         pthread_sigmask: ensure usleep is declared
15716         * lib/pthread_sigmask.c [PTHREAD_SIGMASK_UNBLOCK_BUG]:
15717         Include <unistd.h>, to declare usleep.  Needed on Solaris 8,
15718
15719 2011-07-15  Paul Eggert  <eggert@cs.ucla.edu>
15720
15721         doc: Document NonStop portability issues.
15722         * doc/posix-functions/sigaction.texi (sigaction):
15723         * doc/posix-headers/signal.texi (signal.h):
15724         Document NonStop.  See Joachim Schmitz in
15725         http://lists.gnu.org/archive/html/bug-coreutils/2011-07/msg00062.html
15726
15727 2011-07-15  Bruno Haible  <bruno@clisp.org>
15728
15729         ffsl, ffsll: Avoid unportable behaviour.
15730         * lib/ffsl.h (FUNC): Use 'unsigned int' instead of 'int'.
15731
15732 2011-07-15  Bruno Haible  <bruno@clisp.org>
15733
15734         ffs: More tests.
15735         * tests/test-ffs.c (NBITS): New macro.
15736         (main): Add more tests.
15737         * tests/test-ffsl.c (NBITS): New macro.
15738         (main): Add more tests.
15739         * tests/test-ffsll.c (NBITS): New macro.
15740         (main): Add more tests.
15741
15742 2011-07-15  Eric Blake  <eblake@redhat.com>
15743
15744         ffsl, ffsll: new modules
15745         * modules/ffsl: New file.
15746         * modules/ffsll: Likewise.
15747         * m4/ffsl.m4: Likewise.
15748         * m4/ffsll.m4: Likewise.
15749         * lib/ffsl.c: Likewise.
15750         * lib/ffsl.h: Likewise.
15751         * lib/ffsll.c: Likewise.
15752         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY)
15753         (gl_HEADER_STRING_H_DEFAULTS): Add defaults.
15754         * modules/string (Makefile.am): Substitute witnesses.
15755         * lib/strings.in.h (ffsl, ffsll): Declare.
15756         * modules/ffsl-tests: New test file.
15757         * modules/ffsll-tests: Likewise.
15758         * tests/test-ffsl.c: Likewise.
15759         * tests/test-ffsll.c: Likewise.
15760         * MODULES.html.sh (Integer arithmetic functions): Mention it.
15761         * doc/glibc-functions/ffsl.texi (ffsl): Likewise.
15762         * doc/glibc-functions/ffsll.texi (ffsll): Likewise.
15763
15764         ffs: fix m4 prerequisite
15765         * m4/ffs.m4 (gl_FUNC_FFS): Require strings.h defaults.
15766
15767         ffs: avoid undefined behavior
15768         * lib/ffs.c (ffs): Provide fallback for non-32-bit int.
15769         * tests/test-ffs.c (naive, main): Avoid signed shifts.
15770         Reported by Bruno Haible.
15771
15772 2011-07-12  Bruno Haible  <bruno@clisp.org>
15773
15774         pthread_sigmask: Rely on module 'threadlib'.
15775         * modules/pthread_sigmask (Depends-on): Add threadlib.
15776         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Assume gl_THREADLIB
15777         is defined.
15778
15779 2011-07-12  Bruno Haible  <bruno@clisp.org>
15780
15781         regex: Depend on module 'strcase'.
15782         * modules/regex (Depends-on): Add strcase, for strcasecmp().
15783
15784 2011-07-12  Jim Meyering  <meyering@redhat.com>
15785
15786         warn-on-use: fix typo in file name
15787         * modules/snippet/warn-on-use (Files): Correct file name:
15788         include /snippet/ component in "build-aux/snippet/warn-on-use.h".
15789
15790 2011-07-12  Bruno Haible  <bruno@clisp.org>
15791
15792         strings: Document module.
15793         * doc/posix-headers/strings.texi: Mention module 'strings'.
15794
15795 2011-07-12  Bruno Haible  <bruno@clisp.org>
15796
15797         Rename module '_Noreturn' to 'snippet/_Noreturn'.
15798         * modules/snippet/_Noreturn: Renamed from modules/_Noreturn.
15799         (Files, Makefile.am): Update.
15800         * build-aux/snippet/_Noreturn.h: Renamed from build-aux/_Noreturn.h.
15801         * modules/stdlib (Depends-on): Update.
15802
15803 2011-07-12  Bruno Haible  <bruno@clisp.org>
15804
15805         * NEWS: Mention the changes.
15806
15807         Rename module 'warn-on-use' to 'snippet/warn-on-use'.
15808         * modules/snippet/warn-on-use: Renamed from modules/warn-on-use.
15809         (Files, Makefile.am): Update.
15810         * build-aux/snippet/warn-on-use.h: Renamed from build-aux/warn-on-use.h.
15811         * modules/arpa_inet (Depends-on): Update.
15812         * modules/ctype (Depends-on): Update.
15813         * modules/dirent (Depends-on): Update.
15814         * modules/fcntl-h (Depends-on): Update.
15815         * modules/glob (Depends-on): Update.
15816         * modules/iconv-h (Depends-on): Update.
15817         * modules/inttypes-incomplete (Depends-on): Update.
15818         * modules/langinfo (Depends-on): Update.
15819         * modules/locale (Depends-on): Update.
15820         * modules/math (Depends-on): Update.
15821         * modules/netdb (Depends-on): Update.
15822         * modules/poll-h (Depends-on): Update.
15823         * modules/pty (Depends-on): Update.
15824         * modules/search (Depends-on): Update.
15825         * modules/signal (Depends-on): Update.
15826         * modules/spawn (Depends-on): Update.
15827         * modules/stdio (Depends-on): Update.
15828         * modules/stdlib (Depends-on): Update.
15829         * modules/string (Depends-on): Update.
15830         * modules/strings (Depends-on): Update.
15831         * modules/sys_file (Depends-on): Update.
15832         * modules/sys_ioctl (Depends-on): Update.
15833         * modules/sys_select (Depends-on): Update.
15834         * modules/sys_socket (Depends-on): Update.
15835         * modules/sys_stat (Depends-on): Update.
15836         * modules/sys_time (Depends-on): Update.
15837         * modules/sys_times (Depends-on): Update.
15838         * modules/sys_utsname (Depends-on): Update.
15839         * modules/sys_wait (Depends-on): Update.
15840         * modules/termios (Depends-on): Update.
15841         * modules/time (Depends-on): Update.
15842         * modules/unistd (Depends-on): Update.
15843         * modules/wchar (Depends-on): Update.
15844         * modules/wctype-h (Depends-on): Update.
15845         * MODULES.html.sh (Support for building libraries and executables):
15846         Update.
15847
15848         Rename module 'unused-parameter' to 'snippet/unused-parameter'.
15849         * modules/snippet/unused-parameter: Renamed from
15850         modules/unused-parameter.
15851         (Files, Makefile.am): Update.
15852         * build-aux/snippet/unused-parameter.h: Renamed from
15853         build-aux/unused-parameter.h.
15854         * modules/selinux-h (Depends-on): Update.
15855         * modules/unistr/base (Depends-on): Update.
15856         * MODULES.html.sh (Core language properties): Update.
15857
15858         Rename module 'link-warning' to 'snippet/link-warning'.
15859         * modules/snippet/link-warning: Renamed from modules/link-warning.
15860         (Files, Makefile.am): Update.
15861         * build-aux/snippet/link-warning.h: Renamed from
15862         build-aux/link-warning.h.
15863         * MODULES.html.sh (Support for building libraries and executables):
15864         Update.
15865
15866         Rename module 'c++defs' to 'snippet/c++defs'.
15867         * modules/snippet/c++defs: Renamed from modules/c++defs.
15868         (Files, Makefile.am): Update.
15869         * build-aux/snippet/c++defs.h: Renamed from build-aux/c++defs.h.
15870         * modules/arpa_inet (Depends-on): Update.
15871         * modules/ctype (Depends-on): Update.
15872         * modules/dirent (Depends-on): Update.
15873         * modules/fcntl-h (Depends-on): Update.
15874         * modules/glob (Depends-on): Update.
15875         * modules/iconv-h (Depends-on): Update.
15876         * modules/langinfo (Depends-on): Update.
15877         * modules/locale (Depends-on): Update.
15878         * modules/math (Depends-on): Update.
15879         * modules/netdb (Depends-on): Update.
15880         * modules/poll-h (Depends-on): Update.
15881         * modules/pty (Depends-on): Update.
15882         * modules/search (Depends-on): Update.
15883         * modules/signal (Depends-on): Update.
15884         * modules/spawn (Depends-on): Update.
15885         * modules/stdio (Depends-on): Update.
15886         * modules/stdlib (Depends-on): Update.
15887         * modules/string (Depends-on): Update.
15888         * modules/strings (Depends-on): Update.
15889         * modules/sys_ioctl (Depends-on): Update.
15890         * modules/sys_select (Depends-on): Update.
15891         * modules/sys_socket (Depends-on): Update.
15892         * modules/sys_stat (Depends-on): Update.
15893         * modules/sys_time (Depends-on): Update.
15894         * modules/sys_wait (Depends-on): Update.
15895         * modules/termios (Depends-on): Update.
15896         * modules/time (Depends-on): Update.
15897         * modules/unistd (Depends-on): Update.
15898         * modules/wchar (Depends-on): Update.
15899         * modules/wctype-h (Depends-on): Update.
15900
15901         Rename module 'arg-nonnull' to 'snippet/arg-nonnull'.
15902         * modules/snippet/arg-nonnull: Renamed from modules/arg-nonnull.
15903         (Files, Makefile.am): Update.
15904         * build-aux/snippet/arg-nonnull.h: Renamed from build-aux/arg-nonnull.h.
15905         * modules/argv-iter (Depends-on): Update.
15906         * modules/arpa_inet (Depends-on): Update.
15907         * modules/dirent (Depends-on): Update.
15908         * modules/fcntl-h (Depends-on): Update.
15909         * modules/fnmatch (Depends-on): Update.
15910         * modules/getopt-posix (Depends-on): Update.
15911         * modules/glob (Depends-on): Update.
15912         * modules/iconv-h (Depends-on): Update.
15913         * modules/inttypes-incomplete (Depends-on): Update.
15914         * modules/locale (Depends-on): Update.
15915         * modules/math (Depends-on): Update.
15916         * modules/netdb (Depends-on): Update.
15917         * modules/search (Depends-on): Update.
15918         * modules/signal (Depends-on): Update.
15919         * modules/spawn (Depends-on): Update.
15920         * modules/stdio (Depends-on): Update.
15921         * modules/stdlib (Depends-on): Update.
15922         * modules/string (Depends-on): Update.
15923         * modules/strings (Depends-on): Update.
15924         * modules/sys_socket (Depends-on): Update.
15925         * modules/sys_stat (Depends-on): Update.
15926         * modules/sys_time (Depends-on): Update.
15927         * modules/sys_times (Depends-on): Update.
15928         * modules/sys_utsname (Depends-on): Update.
15929         * modules/time (Depends-on): Update.
15930         * modules/unistd (Depends-on): Update.
15931         * modules/wchar (Depends-on): Update.
15932         * MODULES.html.sh (Support for building libraries and executables):
15933         Update.
15934
15935 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15936
15937         Improvements on _Noreturn and related modules.
15938
15939         modules/_Exit-tests: test _Noreturn too
15940         * tests/test-_Exit.c (MTA, Charlie): New functions, taken from the
15941         old tests/test-stdnoreturn.c.  This tests the _Noreturn keyword a bit.
15942         (main): Use them.
15943
15944         stdnoreturn, stdnoreturn-tests: remove modules
15945         They're not needed here and a bit premature for use elsewhere.  See
15946         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00209.html>.
15947         * m4/stdnoreturn.m4, modules/stdnoreturn, modules/stdnoreturn-tests:
15948         * tests/test-stdnoreturn.c: Remove files.
15949         * MODULES.html.sh (_Noreturn <stdnoreturn.h>): Remove section.
15950         * lib/openat.h, lib/sigpipe-die.h, lib/xalloc.h, lib/xmemdup0.h:
15951         * lib/xstrtol.h: Use _Noreturn rather than including <stdnoreturn.h>
15952         and using noreturn.
15953         * modules/openat, modules/sigpipe-die, modules/xalloc:
15954         * modules/xmemdup0, modules/xstrtol:
15955         Remove dependency on stdnoreturn.
15956
15957         _Noreturn: Ignore __STDC_VERSION__; observe _MSC_VER.
15958         * build-aux/_Noreturn.h (_Noreturn): Ignore __STDC_VERSION__.
15959         Reparenthesize to avoid GCC warning.
15960         Support Microsoft's syntax.
15961         * m4/gnulib-common.m4 (gl_COMMON_BODY): Likewise.
15962
15963         _Noreturn-tests: remove module
15964         * modules/_Noreturn-tests: Remove.
15965         * modules/stdnoreturn-tests (Files): Remove tests/test-_Noreturn.c.
15966         * tests/test-_Noreturn.c: Remove.
15967         * tests/test-stdnoreturn.c: Merge from the old
15968         tests/test-_Noreturn.c, testing both noreturn and _Noreturn.
15969
15970 2011-07-12  Paul Eggert  <eggert@cs.ucla.edu>
15971
15972         _Noreturn, stdnoreturn, and related modules.
15973
15974         * top/maint.mk: Adjust to new noreturn support.
15975         (gl_extract_significant_defines_): Omit pattern ATTRIBUTE_NORETURN.
15976         (def_sym_regex): Do not remove ATTRIBUTE_NORETURN.
15977
15978         xalloc: use stdnoreturn.h
15979         * lib/xalloc.h: Include <stdnoreturn.h>.
15980         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15981         * modules/xalloc (Depends-on): Add stdnoreturn.
15982
15983         xstrtol: use stdnoreturn.h
15984         * lib/xstrtol.h: Include <stdnoreturn.h>.
15985         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15986         * modules/xstrtol (Depends-on): Add stdnoreturn.
15987
15988         xmemdup0: use stdnoreturn.h
15989         * lib/xmemdup0.h: Include <stdnoreturn.h>.
15990         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15991         * modules/xmemdup0 (Depends-on): Add stdnoreturn.
15992
15993         sigpipe-die: use stdnoreturn.h
15994         * lib/sigpipe-die.h: Include <stdnoreturn.h>.
15995         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
15996         * modules/sigpipe-die (Depends-on): Add stdnoreturn.
15997
15998         openat: use stdnoreturn.h
15999         * lib/openat.h: Include <stdnoreturn.h>.
16000         (_GL_ATTRIBUTE_NORETURN): Remove; all uses replaced with noreturn.
16001         * modules/openat (Depends-on): Add stdnoreturn.
16002
16003         * lib/openat-die.c (openat_save_fail): Modernize comment.
16004
16005         * lib/xalloc-die.c (xalloc_die): Modernize comment.
16006
16007         * lib/glthread/thread.h: Modernize comment.
16008
16009         obstack: use _Noreturn
16010         * lib/obstack.c (__attribute__): Remove macro.
16011         (print_and_abort): Use _Noreturn.
16012
16013         c-stack: use _Noreturn
16014         * lib/c-stack.c (die, overflow_handler, segv_handler):
16015         Use _Noreturn rather than __attribute__((noreturn)).
16016
16017         argmatch-tests, exclude_tests: use _Noreturn
16018         * tests/test-argmatch.c, tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN):
16019         Remove.
16020         (ARGMATCH_DIE_DECL): Use _Noreturn instead.
16021
16022         stdlib: use _Noreturn
16023         * lib/stdlib.in.h (_GL_ATTRIBUTE_NORETURN): Remove.
16024         (_Exit): Use _Noreturn rather than _GL_ATTRIBUTE_NORETURN.
16025         * modules/stdlib (Depends-on): Add _Noreturn.
16026         (stdlib.h): Depend on $(_NORETURN_H), and copy it in.
16027
16028         stdnoreturn-tests: new module
16029         * modules/stdnoreturn-tests, tests/test-stdnoreturn.c: New files.
16030
16031         stdnoreturn: new module
16032         * MODULES.html.sh (Noreturn <stdnoreturn.h>): New section.
16033         * m4/stdnoreturn.m4, modules/stdnoreturn: New files.
16034
16035         _Noreturn-tests: new module
16036         * modules/_Noreturn-tests, tests/test-_Noreturn.c: New files.
16037
16038         _Noreturn: new module
16039         * MODULES.html.sh (Support for systems lacking draft ISO C 1X):
16040         New section, mentioning it.
16041         * build-aux/_Noreturn.h, modules/_Noreturn: New files.
16042
16043         * m4/gnulib-common.m4 (gl_COMMON_BODY): Add _Noreturn.
16044
16045 2011-07-11  Eric Blake  <eblake@redhat.com>
16046
16047         ffs: new module
16048         * modules/ffs: New file.
16049         * m4/ffs.m4: Likewise.
16050         * lib/ffs.c: Likewise.
16051         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_DEFAULTS): Add default.
16052         * modules/strings (Makefile.am): Substitute witness.
16053         (Depends-on): Add c++defs.
16054         * lib/strings.in.h (ffs): Declare.
16055         * modules/ffs-tests: New test file.
16056         * tests/test-ffs.c: Test new module.
16057         * MODULES.html.sh (Integer arithmetic functions): Mention it.
16058         * doc/posix-functions/ffs.texi (ffs): Likewise.
16059
16060         regex: avoid compiler warning
16061         * lib/regex.c (includes): Include <strings.h>, for use of
16062         strcasecmp in regcomp.c.
16063         Reported by Joachim Schmitz.
16064
16065 2011-07-09  Paul Eggert  <eggert@cs.ucla.edu>
16066
16067         stdint: respect system's intmax_t if INTMAX_MAX
16068         * lib/stdint.in.h (intmax_t, uintmax_t): If the system defines
16069         INTMAX_MAX, assume its intmax_t is OK.  Similarly for and
16070         uintmax_t.  This is for some Mac OS X builds, where intmax_t is
16071         long but int64_t is long long, and where we will clash with the
16072         system intmax_t if we override it.  See
16073         <http://lists.gnu.org/archive/html/bug-gnulib/2011-07/msg00160.html>.
16074         (INTMAX_C, UINTMAX_C): For consistency, respect the system's
16075         INTMAX_C if INTMAX_MAX and INTMAX_C are both defined, and
16076         similarly for UINTMAX_C.
16077
16078 2011-07-08  Bruno Haible  <bruno@clisp.org>
16079
16080         pthread_sigmask tests: Avoid a compiler warning.
16081         * tests/test-pthread_sigmask1.c (main): Complain if system() returns
16082         non-zero.
16083
16084         sigprocmask tests: A better way to avoid a compiler warning.
16085         * tests/test-sigprocmask.c: Don't include "ignore-value.h".
16086         (main): Complain if system() returns non-zero.
16087         * modules/sigprocmask-tests (Depends-on): Remove ignore-value.
16088
16089 2011-07-08  Bruno Haible  <bruno@clisp.org>
16090
16091         pthread_sigmask: Work around IRIX bug.
16092         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the IRIX
16093         bug.
16094         * lib/pthread_sigmask.c (pthread_sigmask): usleep for some time when
16095         there may be unblocked pending signals.
16096         * doc/posix-functions/pthread_sigmask.texi: Mention the IRIX bug.
16097
16098 2011-07-08  Bruno Haible  <bruno@clisp.org>
16099
16100         pthread_sigmask: Work around Cygwin bug.
16101         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the Cygwin
16102         bug.
16103         * lib/pthread_sigmask.c (pthread_sigmask): Fix the return value from
16104         the system's pthread_sigmask function.
16105         * doc/posix-functions/pthread_sigmask.texi: Mention the Cygwin bug.
16106
16107 2011-07-08  Bruno Haible  <bruno@clisp.org>
16108
16109         pthread_sigmask: Work around bug in single-threaded implementation.
16110         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Test for the
16111         FreeBSD, HP-UX, Solaris bug.
16112         (gl_PREREQ_PTHREAD_SIGMASK): New macro.
16113         * lib/pthread_sigmask.c: Include <stddef.h>.
16114         (pthread_sigmask): If HAVE_PTHREAD_SIGMASK, define as a wrapper around
16115         the system's pthread_sigmask function.
16116         * modules/pthread_sigmask (configure.ac): Invoke
16117         gl_PREREQ_PTHREAD_SIGMASK.
16118         * doc/posix-functions/pthread_sigmask.texi: Mention bug on FreeBSD,
16119         HP-UX, Solaris.
16120
16121 2011-07-08  Eric Blake  <eblake@redhat.com>
16122
16123         test-sigprocmask: avoid compiler warning
16124         * modules/sigprocmask-tests (Depends-on): Add ignore-value.
16125         * tests/test-sigprocmask.c (main): Use it to silence warning.
16126         Reported by Jim Meyering.
16127
16128         test-snprintf: avoid compiler warning
16129         * tests/test-snprintf.c (main): Avoid shadowed declaration.
16130         * tests/test-vsnprintf.c (main): Likewise.
16131         Reported by Jim Meyering.
16132
16133 2011-07-08  Bruno Haible  <bruno@clisp.org>
16134
16135         Tests for module 'pthread_sigmask'.
16136         * modules/pthread_sigmask-tests: New file.
16137         * tests/test-pthread_sigmask1.c: New file, based on
16138         tests/test-sigprocmask.c.
16139         * tests/test-pthread_sigmask2.c: New file.
16140
16141 2011-07-08  Jim Meyering  <meyering@redhat.com>
16142
16143         test-getopt.h: avoid warning about an unused variable
16144         * tests/test-getopt.h (test_getopt): Remove unused variable, "c".
16145
16146 2011-07-07  Jim Meyering  <meyering@redhat.com>
16147
16148         maint: reduce list of files exempt from sc_prohibit_leading_TABs
16149         * Makefile (sc_prohibit_leading_TABs): Don't exempt m4/po.m4,
16150         now that it no longer contains leading TABs.
16151         Remove unused "url=FIXME" statement.
16152
16153 2011-07-08  Paul Eggert  <eggert@cs.ucla.edu>
16154
16155         pthread_sigmask: Assume POSIX when not gl_THREADLIB.
16156         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
16157         When gl_THREADLIB is not in use, assume that the POSIX sematics
16158         are desired.  This is better for Emacs, which uses POSIX semantics
16159         on GNUish and/or POSIXish platforms, and does not use threads at
16160         all otherwise.
16161
16162         pthread_sigmask: fix typo when testing for libraries
16163         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK):
16164         AC_LINK_IFELSE, not AC_COMPILE_IFELSE.
16165
16166 2011-07-08  Eric Blake  <eblake@redhat.com>
16167
16168         fts: introduce FTS_NOATIME
16169         * lib/fts_.h (FTS_NOATIME): New bit flag.
16170         (FTS_OPTIONMASK): Adjust.
16171         * lib/fts.c (diropen, fts_open, fts_build): Honor it.
16172         (fd_ring_check): Debug code unconditionally uses O_NOATIME.
16173
16174 2011-07-08  Bruno Haible  <bruno@clisp.org>
16175
16176         Tests for module 'thread'.
16177         * modules/thread-tests: New file.
16178         * tests/test-thread_self.c: New file.
16179         * tests/test-thread_create.cc: New file.
16180
16181 2011-07-08  Bruno Haible  <bruno@clisp.org>
16182
16183         thread: Avoid gcc warnings when using gl_thread_self().
16184         * lib/glthread/thread.h (gl_thread_self): Return a pthread_t, not a
16185         'void *'.
16186         (gl_thread_self_pointer): Update.
16187
16188 2011-07-07  Bruno Haible  <bruno@clisp.org>
16189
16190         signal-c++-tests: Check declaration of pthread_sigmask.
16191         * tests/test-signal-c++.cc: Check declaration of pthread_sigmask.
16192         * modules/signal-c++-tests (Makefile.am): Link test-signal-c++ against
16193         $(LIB_PTHREAD_SIGMASK).
16194
16195 2011-07-07  Bruno Haible  <bruno@clisp.org>
16196
16197         pthread_sigmask: Fix link requirements on OSF/1 5.1 and with pth.
16198         * lib/signal.in.h (pthread_sigmask): Override if
16199         REPLACE_PTHREAD_SIGMASK is 1.
16200         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
16201         REPLACE_PTHREAD_SIGMASK.
16202         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Set also
16203         REPLACE_PTHREAD_SIGMASK. Set and substitute LIB_PTHREAD_SIGMASK.
16204         * modules/signal (Makefile.am): Substitute REPLACE_PTHREAD_SIGMASK.
16205         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
16206         (Link): Set to $(LIB_PTHREAD_SIGMASK), not $(LIBMULTITHREAD).
16207
16208 2011-07-07  Bruno Haible  <bruno@clisp.org>
16209
16210         pthread_sigmask: Ensure declaration in <signal.h>.
16211         * lib/signal.in.h: On MacOS X, FreeBSD, OpenBSD, OSF/1, Solaris 2.6,
16212         include <pthread.h>.
16213         * doc/posix-functions/pthread_sigmask.texi: Mention the header file
16214         problem.
16215
16216 2011-07-07  Bruno Haible  <bruno@clisp.org>
16217
16218         pthread_sigmask: Document the module.
16219         * doc/posix-functions/pthread_sigmask.texi: Mention the new module.
16220
16221 2011-07-07  Bruno Haible  <bruno@clisp.org>
16222
16223         pthread_sigmask: Follow gnulib conventions.
16224         * m4/pthread_sigmask.m4 (gl_FUNC_PTHREAD_SIGMASK): Renamed from
16225         gl_PTHREAD_SIGMASK.
16226         * modules/pthread_sigmask (configure.ac): Update.
16227
16228 2011-07-07  Bruno Haible  <bruno@clisp.org>
16229
16230         pthread_sigmask: Make declaration C++ safe.
16231         * lib/signal.in.h: In two special conditions, just do an #include_next.
16232         (pthread_sigmask): Test HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
16233         Invoke _GL_CXXALIAS_SYS and _GL_CXXALIASWARN.
16234         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
16235         HAVE_PTHREAD_SIGMASK, not REPLACE_PTHREAD_MASK.
16236         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Set HAVE_PTHREAD_SIGMASK,
16237         not REPLACE_PTHREAD_MASK.
16238         * modules/signal (Makefile.am): Substitute HAVE_PTHREAD_SIGMASK,
16239         not REPLACE_PTHREAD_MASK.
16240         * modules/pthread_sigmask (Depends-on, configure.ac): Update condition.
16241
16242 2011-07-07  Bruno Haible  <bruno@clisp.org>
16243
16244         pthread_sigmask: Fix return value.
16245         * lib/signal.in.h (pthread_sigmask): Declare. Don't define as a macro.
16246         * lib/pthread_sigmask.c: New file.
16247         * modules/pthread_sigmask (Files): Add it.
16248         (configure.ac): Invoke AC_LIBOBJ.
16249
16250 2011-07-07  Eric Blake  <eblake@redhat.com>
16251
16252         getopt: more portable argv creation
16253         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Rather than casting away
16254         const, use char arrays rather than strings.
16255         Suggested by Paul Eggert.
16256
16257 2011-07-07  Bruno Haible  <bruno@clisp.org>
16258
16259         Tests for module 'sigprocmask'.
16260         * modules/sigprocmask-tests: New file.
16261         * tests/test-sigprocmask.c: New file.
16262
16263 2011-07-07  Bruno Haible  <bruno@clisp.org>
16264
16265         float tests: Tweak.
16266         * tests/test-float.c (main): Tweak skip message.
16267
16268 2011-07-07  Eric Blake  <eblake@redhat.com>
16269
16270         getopt: avoid compiler warning during configure
16271         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Avoid problems with
16272         assigning string literals to non-const pointer.
16273
16274         getopt-gnu: avoid crash in glibc getopt
16275         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADRS): Detect the problem.
16276         * tests/test-getopt.h (test_getopt): Enhance test.
16277         * tests/test-getopt_long.h (test_getopt_long): Likewise.
16278         * doc/posix-functions/getopt.texi (getopt): Document it.
16279         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
16280         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
16281         Likewise.
16282
16283 2011-07-07  Ulrich Drepper  <drepper@gmail.com>
16284
16285         getopt: handle W; without long options in getopt [BZ #12922]
16286         * lib/getopt.c (_getopt_internal_r): When "W;" is in short options
16287         but no long options are defined, just return 'W'.
16288
16289 2011-07-07  Bruno Haible  <bruno@clisp.org>
16290
16291         Avoid literal tabs.
16292         * m4/po,m4 (AM_PO_SUBDIRS, AM_POSTPROCESS_PO_MAKEFILE): Use a shell
16293         variable containing a tab instead of a literal tab.
16294         Reported by Jim Meyering.
16295
16296 2011-07-07  Bruno Haible  <bruno@clisp.org>
16297
16298         Comments.
16299         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Update comments about mingw.
16300
16301 2011-07-06  Bruno Haible  <bruno@clisp.org>
16302
16303         sys_select: Fix compilation error on mingw, introduced on 2011-06-30.
16304         * lib/sys_select.in.h: Don't include <sys/socket.h>. Instead, include
16305         <winsock2.h>.
16306         (rpl_fd_isset, FD_ISSET): New definitions, copied from
16307         lib/sys_socket.in.h.
16308         (close, gethostname): Hide declarations from <winsock2.h>.
16309         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
16310         listen, recv, send, recvfrom, sendto, setsockopt, shutdown): Likewise.
16311         * lib/sys_socket.in.h (close, gethostname): Tweak indentation.
16312         (select): Don't override if gnulib's <sys/select.h> was already
16313         included.
16314         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
16315         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
16316         setsockopt, shutdown, select): Tweak indentation.
16317
16318 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16319
16320         * modules/pthread_sigmask (configure.ac): gl_SIGNAL_MODULE_INDICATOR
16321         and not gl_SYS_SELECT_MODULE_INDICATOR, fixing a typo exposed
16322         in an application that does not use the sys_select module.
16323
16324 2011-07-06  Erik Faye-Lund  <kusmabite@gmail.com>
16325
16326         poll: do not return 0 on timeout=-1
16327         * lib/poll.c: Loop with yield if no events occurred.
16328
16329 2011-07-06  Eric Blake  <eblake@redhat.com>
16330
16331         pthread_sigmask: always replace when not using pthread
16332         * m4/pthread_sigmask.m4 (gl_PTHREAD_SIGMASK): Force sigprocmask
16333         replacement when using some threading other than pthread.  Fix
16334         logic bug.
16335
16336 2011-07-06  Bruno Haible  <bruno@clisp.org>
16337
16338         Comments.
16339         * m4/printf.m4: Update comments about mingw.
16340
16341 2011-07-06  Paul Eggert  <eggert@cs.ucla.edu>
16342
16343         sys_select: define sigset_t more portably
16344         * lib/sys_select.in.h: Always include <sys/types.h>, since
16345         we now need sigset_t and mingw defines it there.
16346         Include <signal.h> before split inclusion guard, to avoid
16347         mishaps on Solaris, whose <signal.h> eventually includes us.
16348         * m4/signal_h.m4 (gl_SIGNAL_H): Require gl_CHECK_TYPE_SIGSET_T.
16349         (gl_CHECK_TYPE_SIGSET_T): New macro, most of the contents of
16350         which come from ...
16351         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
16352         gl_CHECK_TYPE_SIGSET_T.
16353         (gl_PREREQ_SIGPROCMASK): Now a no-op, since gl_CHECK_TYPE_SIGSET_T
16354         does the real work.
16355         * modules/sys_select (Depends-on): Add 'signal'.
16356
16357         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Poison pselect.
16358         Suggested by Bruno Haible.
16359
16360         pselect: Use pthread_sigmask, not sigprocmask.
16361         * lib/pselect.c (pselect): Use pthread_sigmask, as it supports
16362         multithreaded apps better than sigprocmask does.
16363         * modules/pselect (Depends-on): Depend on pthread_sigmask, not
16364         sigprocmask directly.
16365
16366 2011-07-05  Paul Eggert  <eggert@cs.ucla.edu>
16367
16368         * lib/pselect.c (pselect): Use plain name, without "rpl_".
16369         Don't #undef,  since we don't need any underlying pselect.
16370         * modules/pselect (configure.ac): Use our pselect.o if !HAVE_PSELECT.
16371         (Depends-on): Add select.
16372         (Link): Add $(LIBSOCKET).
16373         These changes suggested by Bruno Haible.
16374
16375         pselect: document better
16376         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16377         * doc/posix-functions/pselect.texi (pselect): Document new module.
16378
16379         pthread_sigmask: new module
16380         * MODULES.html.sh (Support for systems lacking POSIX:2008): Add it.
16381         * doc/posix-functions/pthread_sigmask.texi: Document new module.
16382         * lib/signal.in.h (pthread_sigmask): Arrange for replacement.
16383         This is done only as a macro; I don't know how well that'll
16384         work for C++.  Move <sys/types.h> include before the include_next,
16385         to avoid mishap on Solaris.
16386         * m4/signal_h.m4 (gl_SIGNAL_H, gl_SIGNAL_H_DEFAULTS): Check for it.
16387         * modules/signal (Makefile.am): Substitute the check's results.
16388         * modules/pthread_sigmask, m4/pthread_sigmask.m4: New files.
16389
16390         test-pselect: new module
16391         * modules/pselect-tests, tests/test-pselect.c: New files.
16392         * tests/test-select.c, tests/test-sys_select-c++.cc:
16393         If TEST_PSELECT is defined, test pselect instead of testing select.
16394
16395         * tests/test-sys_select.c (sigset_t): Test for it, too.
16396         Suggested by Bruno Haible.
16397
16398 2011-07-05  Eric Blake  <eblake@redhat.com>
16399
16400         snprintf: guarantee %1$d, for libintl
16401         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require %1$d support.
16402         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
16403         * doc/posix-functions/snprintf.texi (snprintf): Update.
16404         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
16405         * tests/test-snprintf.c (main): Enhance test.
16406         * tests/test-vsnprintf.c (main): Likewise.
16407
16408 2011-07-05  Jim Meyering  <meyering@redhat.com>
16409
16410         maint: exempt stdio-read.c and stdio-write.c from the cppi check
16411         * Makefile (sc_cpp_indent_check): Exempt stdio-read.c and stdio-write.c
16412         per Bruno's request, to accommodate this idiom (no space after "#")
16413         even when the function is inside an #if block:
16414         char *
16415         gets (char *s)
16416         #undef gets
16417         {
16418           ...
16419         }
16420
16421 2011-07-04  Jim Meyering  <meyering@redhat.com>
16422
16423         maint: indent with spaces, not TABs, and add a rule to check this
16424         * tests/test-userspec.c: Indent with spaces, not TABs.
16425         * tests/test-argp.c: Likewise.
16426         * tests/test-c-stack2.sh: Likewise.
16427         * tests/test-parse-duration.sh: Likewise
16428         * m4/strtod.m4: Likewise.
16429         * m4/alloca.m4: Likewise.
16430         * m4/pselect.m4: Likewise.
16431         * Makefile (sc_prohibit_leading_TABs): Prohibit leading TABs.
16432
16433 2011-07-03  Jim Meyering  <meyering@redhat.com>
16434
16435         maint.mk: correct omissions in prohibit_argmatch_without_use check
16436         This rule would mistakenly report that argmatch.h is included without
16437         use even when both the argmatch and invalid_arg macro were used.
16438         * top/maint.mk (sc_prohibit_argmatch_without_use): Also detect uses
16439         of argmatch and invalid_arg.
16440
16441 2011-07-03  Bruno Haible  <bruno@clisp.org>
16442
16443         Comments about EINTR.
16444         * lib/safe-read.h: Explain the purpose of this module.
16445         * lib/safe-write.h: Likewise.
16446         * doc/posix-functions/read.texi: Mention EINTR and the 'safe-read'
16447         module.
16448         * doc/posix-functions/write.texi: Mention EINTR and the 'safe-write'
16449         module.
16450         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
16451
16452 2011-06-30  Paul Eggert  <eggert@cs.ucla.edu>
16453
16454         xnanosleep: Rewrite to use new dtotimespec module.
16455         It has the conversion code that used to be in xnanosleep.
16456         * lib/xnanosleep.c: Do not include limits.h, stdbool.h, stdio.h,
16457         assert.h, sys/types.h, or intprops.h.  Include timespec.h instead.
16458         (TIME_T_MAX): Remove.
16459         (xnanosleep): Rewrite in terms of dtotimespec.
16460         * modules/xnanosleep (Depends-on): Add dtotimespec.
16461         Remove intprops, stdbool.
16462
16463         timespec-add, timespec-sub: new modules
16464         * lib/timespec.h (timespec_add, timespec_sub): New decls.
16465         * lib/timespec-add.c, lib/timespec-sub.c:
16466         * modules/timespec-add, modules/timespec-sub: New files.
16467
16468         dtotimespec: new module
16469         * lib/timespec.h (dtotimespec): New decl.
16470         * lib/dtotimespec.c, modules/dtotimespec: New files.
16471
16472         * lib/timespec.h (timespec_sign, timespectod): New inline functions.
16473
16474         pselect: new module
16475         * lib/sys_select.in.h: Include <signal.h>, for 'sigset_t'.
16476         (pselect): New decls.
16477         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Require AC_C_RESTRICT,
16478         since the standard pselect decl uses 'restrict'.
16479         (gl_SYS_SELECT_H_DEFAULTS): Add defaults for GNULIB_PSELECT,
16480         HAVE_PSELECT, REPLACE_PSELECT.
16481         * modules/sys_select (sys/select.h): Substitute GNULIB_PSELECT,
16482         HAVE_PSELECT, REPLACE_PSELECT.
16483         * lib/pselect.c, m4/pselect.m4, modules/pselect: New files.
16484
16485         sys_select: don't depend on sys_socket
16486         This is so that Emacs doesn't have to drag in m4/sockpfaf.m4 etc; see
16487         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00358.html>.
16488         This fix works on GNU and GNU-like platforms, but has not been tested
16489         on native Windows.
16490         * lib/sys_select.in.h: Include <sys/socket.h> only if native Windows.
16491         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Do not require
16492         gl_HEADER_SYS_SOCKET.
16493         * modules/sys_select (Files): Add m4/sys_socket_h.m4, for
16494         gl_PREREQ_SYS_H_WINSOCK2.
16495
16496 2011-06-29  Eric Blake  <eblake@redhat.com>
16497
16498         pipe2: fix C89 compile problem
16499         * lib/pipe2.c (pipe2): Avoid C99 array initialization.
16500         Reported by Bruno Haible.
16501
16502         pipe, pipe2: don't corrupt fd on error
16503         * lib/pipe.c (pipe): Leave fd unchanged on error.
16504         * lib/pipe2.c (pipe2): Likewise.
16505         * doc/posix-functions/pipe.texi (pipe): Document cygwin issue.
16506         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
16507
16508 2011-06-27  Paolo Bonzini  <bonzini@gnu.org>
16509
16510         mmap-anon: do not use regular expressions inadvertently
16511         * m4/mmap-anon.m4: Remove trailing period from strings sought
16512         in the output.
16513
16514 2011-06-25  Paul Eggert  <eggert@cs.ucla.edu>
16515
16516         nanosleep: fix integer overflow problem
16517         * lib/nanosleep.c (my_usleep): Don't assume signed integer
16518         arithmetic wraps around on overflow.
16519
16520         nanosleep: simplify carrying
16521         * lib/nanosleep.c (nanosleep): Use the requested tv_nsec for the
16522         first call to the underyling nanosleep, not for the last one.
16523         This doesn't fix any bugs, but it simplifies the computation of
16524         the remaining delay.  Found while auditing integer overflow issues.
16525
16526         dup2: remove test for existence of fcntl
16527         * m4/dup2.m4 (gl_FUNC_DUP2): Use "#ifdef FD_CLOEXEC", not
16528         "#if HAVE_FCNTL", in the configure-time test program.
16529         This removes the need for the AC_CHECK_FUNCS_ONCE([fcntl]),
16530         and therefore speeds up "configure" a bit.  Found while
16531         adding the dup2 module to Emacs.
16532
16533 2011-06-24  Eric Blake  <eblake@redhat.com>
16534
16535         maint.mk: enhance useless header checks
16536         * top/maint.mk (_sc_header_without_use): Check both include
16537         styles.
16538         (sc_prohibit_assert_without_use)
16539         (sc_prohibit_close_stream_without_use)
16540         (sc_prohibit_getopt_without_use)
16541         (sc_prohibit_quotearg_without_use)
16542         (sc_prohibit_quote_without_use)
16543         (sc_prohibit_long_options_without_use)
16544         (sc_prohibit_inttostr_without_use)
16545         (sc_prohibit_ignore_value_without_use)
16546         (sc_prohibit_error_without_use, sc_prohibit_xalloc_without_use)
16547         (sc_prohibit_hash_without_use, sc_prohibit_cloexec_without_use)
16548         (sc_prohibit_posixver_without_use, sc_prohibit_same_without_use)
16549         (sc_prohibit_hash_pjw_without_use)
16550         (sc_prohibit_safe_read_without_use)
16551         (sc_prohibit_argmatch_without_use)
16552         (sc_prohibit_canonicalize_without_use)
16553         (sc_prohibit_root_dev_ino_without_use)
16554         (sc_prohibit_openat_without_use)
16555         (sc_prohibit_c_ctype_without_use)
16556         (sc_prohibit_signal_without_use)
16557         (sc_prohibit_stdio--_without_use)
16558         (sc_prohibit_stdio-safer_without_use)
16559         (sc_prohibit_strings_without_use)
16560         (sc_prohibit_intprops_without_use)
16561         (sc_prohibit_stddef_without_use)
16562         (sc_prohibit_xfreopen_without_use): Update clients.
16563
16564 2011-06-24  Jim Meyering  <meyering@redhat.com>
16565
16566         syntax-check: keep one maint.mk rule in sync with its header
16567         * Makefile (sc_check_sym_list): Add a rule to prevent a repeat
16568         of the bug Eric has just fixed, with today's commit 25e4c2ec.
16569         I prefer to avoid temporary files here, so use <(...), but that
16570         is not supported by /bin/sh, so...
16571         (SHELL): Define to /bin/bash.
16572
16573 2011-06-24  Eric Blake  <eblake@redhat.com>
16574
16575         maint.mk: update sc_prohibit_intprops_without_use
16576         * top/maint.mk (_intprops_names): Match recent changes.
16577
16578 2011-06-24  Bruno Haible  <bruno@clisp.org>
16579
16580         strerror-override: No-op tweak.
16581         * lib/strerror-override.h (strerror_override): Reorder conditions,
16582         for consistency with lib/strerror-override.c.
16583
16584 2011-06-23  Eric Blake  <eblake@redhat.com>
16585
16586         maint.mk: test further PATH_MAX issues
16587         * top/maint.mk (sc_prohibit_path_max_array): Rename...
16588         (sc_prohibit_path_max_allocation): ...and also test alloca.
16589         Suggested by Jim Meyering.
16590
16591 2011-06-22  Eric Blake  <eblake@redhat.com>
16592
16593         maint.mk: add syntax-check to avoid char[PATH_MAX]
16594         * top/maint.mk (sc_prohibit_path_max_array): New rule.
16595
16596         stat: be robust to PATH_MAX definition
16597         * lib/stat.c (rpl_stat): Require reasonable PATH_MAX.
16598         * modules/stat (Depends-on): Add verify.
16599
16600         link: work around IRIX bug
16601         * m4/link.m4 (gl_FUNC_LINK): Expose the bug.
16602         * lib/link.c (rpl_link): Work around it.
16603         * tests/test-link.h (test_link): Enhance test.
16604         * doc/posix-functions/link.texi (link): Document the bug.
16605
16606         getopt: silence clang warning
16607         * lib/getopt.c (_getopt_internal_r): Avoid unlikely NULL
16608         dereference.
16609         Reported by Gustavo Martin Domato.
16610
16611 2011-06-22  Jim Meyering  <meyering@redhat.com>
16612
16613         bootstrap: do not insert a blank line into each .gitignore file
16614         * build-aux/bootstrap (sort_patterns): Filter out blank lines.
16615
16616 2011-06-21  Eric Blake  <eblake@redhat.com>
16617
16618         perror: test for output mismatch
16619         * m4/perror.m4 (gl_FUNC_PERROR): Add test, in order to replace
16620         perror on IRIX.
16621
16622         strerror_r: fix OpenBSD behavior on out-of-range
16623         * lib/strerror_r.c (strerror_r): Always use maximal string.
16624         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
16625
16626         strerror_r: fix OpenBSD behavior on 0
16627         * lib/strerror-override.c (strerror_override): Also override 0
16628         when needed.
16629         * lib/strerror-override.h (strerror_override): Likewise.
16630         * lib/strerror.c (strerror): Simplify, now that 0 override is done
16631         earlier.
16632         * lib/strerror_r.c (strerror_r): Likewise.
16633         * m4/strerror.m4 (gl_FUNC_STRERROR): Split detection of 0
16634         behavior...
16635         (gl_FUNC_STRERROR_0): ...into new macro.
16636         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Replace strerror_r if 0
16637         is overridden.
16638         (gl_FUNC_STRERROR_R_WORKS): Avoid extra tests if 0 is broken.
16639         * modules/strerror-override (Files): Add strerror.m4.
16640         (configure.ac): Also provide override for 0 when needed.
16641         * doc/posix-functions/strerror.texi (strerror): Document this.
16642         * doc/posix-functions/perror.texi (perror): Likewise.
16643
16644         perror: adjust array size
16645         * modules/perror (Depends-on): Add strerror-override.
16646         * lib/perror.c (perror): Use it to avoid magic number.
16647
16648         strerror-override: reduce size
16649         * lib/strerror-override.c (strerror_override): Use fewer lines.
16650
16651 2011-06-20  Bruno Haible  <bruno@clisp.org>
16652
16653         pathmax: Ensure correct value for PATH_MAX on HP-UX.
16654         * lib/pathmax.h (PATH_MAX) [HP-UX]: Define to 1024.
16655
16656 2011-06-20  Paul Eggert  <eggert@cs.ucla.edu>
16657
16658         alloca: port to compilers that can optimize like GCC 4.6.0
16659         * lib/alloca.c (find_stack_direction): New signature, taken from
16660         Autoconf git.  This works with GCC 4.6.0.  This code should never
16661         be used with GCC 4.6.0 itself, as GCC has alloca, but it might
16662         be used with other compilers that optimize as well as GCC 4.6.0 does.
16663         (alloca): Adjust to new signature.
16664         * m4/alloca.m4 (__AC_LIBOBJ_ALLOCA) [Autoconf version < 2.69]:
16665         New macro, which patches Autoconf in a similar way.
16666
16667         c-stack: stop worrying about stack direction
16668         * lib/c-stack.c (find_stack_direction): Remove.
16669         (segv_handler): Don't worry about stack direction growth, as it's
16670         too much of a pain to configure this correctly, given how compilers
16671         are optimizing-away our stack-growth detection code.  Instead, assume
16672         that any access to just before or just after the stack is OK.
16673         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
16674         Don't require AC_FUNC_ALLOCA; no longer needed.
16675
16676 2011-06-20  Eric Blake  <eblake@redhat.com>
16677
16678         test-stat: don't allocate PATH_MAX bytes
16679         * tests/test-stat.h (test_stat_func): Don't stack-allocate a
16680         PATH_MAX-sized buffer.
16681         * modules/openat-tests (Depends-on): Add getcwd-lgpl, drop pathmax.
16682         * modules/stat-tests (Depends-on): Likewise.
16683         * tests/test-fstatat.c (includes): Drop pathmax.h.
16684         * tests/test-stat.c (includes): Likewise.
16685         Reported by Bruno Haible.
16686
16687 2011-06-20  Bruno Haible  <bruno@clisp.org>
16688
16689         float: Work around <float.h> bugs on FreeBSD/x86, AIX with GCC, IRIX.
16690         * lib/float.in.h: Add workarounds for FreeBSD/x86, AIX with GCC, IRIX.
16691         * lib/float.c: New file.
16692         * m4/float_h.m4 (gl_FLOAT_H): Also handle FreeBSD, AIX, IRIX. Set
16693         REPLACE_FLOAT_LDBL.
16694         * modules/float (Files): Add lib/float.c.
16695         (configure.ac): Invoke AC_LIBOBJ.
16696         * doc/posix-headers/float.texi: Mention problems on FreeBSD, AIX, IRIX.
16697
16698 2011-06-20  Bruno Haible  <bruno@clisp.org>
16699
16700         Tests for module 'float'.
16701         * modules/float-tests: New file.
16702         * tests/test-float.c: New file.
16703
16704 2011-06-19  Bruno Haible  <bruno@clisp.org>
16705
16706         isinf: Coding style.
16707         * lib/isinf.c: Use GNU coding style.
16708
16709 2011-06-19  Bruno Haible  <bruno@clisp.org>
16710
16711         linkat test: Avoid test failure on AIX 7.1.
16712         * tests/test-linkat.c (main): Allow EINVAL as alternate error value.
16713         * tests/test-link.h (test_link): Likewise.
16714
16715 2011-06-19  Bruno Haible  <bruno@clisp.org>
16716
16717         pread test: Avoid test failure on OpenBSD 4.9.
16718         * tests/test-pread.c (main): Allow EFBIG instead of EINBAL.
16719
16720 2011-06-19  Bruno Haible  <bruno@clisp.org>
16721
16722         sprintf-posix: Fix test failure on AIX 7.1.
16723         * m4/printf.m4 (gl_PRINTF_PRECISION): Test against AIX bug.
16724         * doc/posix-functions/dprintf.texi: Mention limited precision problem
16725         on AIX.
16726         * doc/posix-functions/fprintf.texi: Likewise.
16727         * doc/posix-functions/printf.texi: Likewise.
16728         * doc/posix-functions/snprintf.texi: Likewise.
16729         * doc/posix-functions/sprintf.texi: Likewise.
16730         * doc/posix-functions/vdprintf.texi: Likewise.
16731         * doc/posix-functions/vfprintf.texi: Likewise.
16732         * doc/posix-functions/vprintf.texi: Likewise.
16733         * doc/posix-functions/vsnprintf.texi: Likewise.
16734         * doc/posix-functions/vsprintf.texi: Likewise.
16735
16736 2011-06-19  Bruno Haible  <bruno@clisp.org>
16737
16738         roundl-ieee: Fix test failure on AIX 7.1.
16739         * m4/roundl.m4 (gl_FUNC_ROUNDL): Test also the sign of roundl (-0.3L).
16740         * doc/posix-functions/roundl.texi: Mention problem with negative
16741         arguments.
16742
16743 2011-06-19  Bruno Haible  <bruno@clisp.org>
16744
16745         round-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16746         * modules/round-ieee (Depends-on): Add floor-ieee, ceil-ieee.
16747         * doc/posix-functions/round.texi: Mention problem with negative
16748         arguments.
16749         * doc/posix-functions/ceil.texi: Mention problem on OSF/1 5.1.
16750
16751 2011-06-19  Bruno Haible  <bruno@clisp.org>
16752
16753         roundf-ieee: Fix test failures on AIX 7.1 and OSF/1 5.1.
16754         * m4/roundf.m4 (gl_FUNC_ROUNDF): Test also the sign of roundf (-0.3f).
16755         * modules/roundf-ieee (Depends-on): Add floorf-ieee, ceilf-ieee.
16756         * doc/posix-functions/roundf.texi: Mention problem with negative
16757         arguments.
16758         * doc/posix-functions/ceilf.texi: Mention problem on OSF/1 5.1.
16759
16760 2011-06-19  Bruno Haible  <bruno@clisp.org>
16761
16762         ceilf-ieee: Work around bug on MacOS X 10.5.
16763         * doc/posix-functions/ceilf.texi: Mention the MacOS X 10.5 problem.
16764
16765         floor*-ieee, ceil*-ieee, trunc*-ieee, round*-ieee: More robust checks.
16766         * m4/floorf.m4 (gl_FUNC_FLOORF): In the test whether the function is
16767         IEEE compliant, avoid compiler optimizations.
16768         * m4/floor.m4 (gl_FUNC_FLOOR): Likewise.
16769         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
16770         * m4/ceil.m4 (gl_FUNC_CEIL): Likewise.
16771         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
16772         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
16773         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
16774         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
16775         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
16776         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
16777         * m4/roundl.m4 (gl_FUNC_ROUNDL): Likewise.
16778
16779 2011-06-19  Bruno Haible  <bruno@clisp.org>
16780
16781         ceilf-ieee: Work around bug on AIX 7.1.
16782         * m4/ceilf.m4 (gl_FUNC_CEILF): Test also the sign of ceilf (-0.3f).
16783         * doc/posix-functions/ceilf.texi: Mention the AIX 7.1 problem.
16784
16785 2011-06-19  Bruno Haible  <bruno@clisp.org>
16786
16787         ceil-ieee: Work around bug on AIX 7.1.
16788         * m4/ceil.m4 (gl_FUNC_CEIL): Test also the sign of ceil (-0.3).
16789         * doc/posix-functions/ceil.texi: Mention the AIX 7.1 problem.
16790
16791 2011-06-18  Bruno Haible  <bruno@clisp.org>
16792
16793         fsync test: Avoid test failure on MacOS X and AIX.
16794         * tests/test-fsync.c (fsync): Allow ENOTSUP and EBADF instead of
16795         EINVAL.
16796
16797 2011-06-18  Bruno Haible  <bruno@clisp.org>
16798
16799         openat, fdopendir tests: Fix link errors.
16800         * modules/openat-tests (Depends-on): Add progname.
16801         * modules/fdopendir-tests (Depends-on): Likewise.
16802         * tests/test-fchownat.c: Include progname.h.
16803         (main): Call set_program_name.
16804         * tests/test-fstatat.c: Include progname.h.
16805         (main): Call set_program_name.
16806         * tests/test-mkdirat.c: Include progname.h.
16807         (main): Call set_program_name.
16808         * tests/test-openat.c: Include progname.h.
16809         (main): Call set_program_name.
16810         * tests/test-unlinkat.c: Include progname.h.
16811         (main): Call set_program_name.
16812         * tests/test-fdopendir.c: Include progname.h.
16813         (main): Call set_program_name.
16814
16815 2011-06-18  Bruno Haible  <bruno@clisp.org>
16816
16817         Doc update.
16818         * doc/posix-functions/pthread_attr_getstack.texi: Update info regarding
16819         HP-UX.
16820         * doc/posix-functions/pthread_attr_setstack.texi: Likewise.
16821
16822 2011-06-18  Bruno Haible  <bruno@clisp.org>
16823
16824         getcwd tests: Avoid compilation error on HP-UX 11.31.
16825         * modules/getcwd-tests (Depends-on): Add pathmax.
16826         * tests/test-getcwd.c: Include pathmax.h.
16827
16828 2011-06-18  Bruno Haible  <bruno@clisp.org>
16829
16830         isfinite, isinf: Fix link error on AIX 6 and 7.
16831         * m4/isfinite.m4 (gl_ISFINITE): When determining whether libm is
16832         needed, also test the macro with a 'float' argument.
16833         * m4/isinf.m4 (gl_ISINF): Likewise.
16834
16835 2011-06-18  Bruno Haible  <bruno@clisp.org>
16836
16837         getloadavg: Don't clobber LIBS. Regression from previous commit.
16838         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Move tests that use
16839         AC_CHECK_LIB from here...
16840         (gl_GETLOADAVG): ... to here, inside the experiment with LIBS.
16841         (gl_GETLOADAVG, gl_PREREQ_GETLOADAVG): Rename gl_have_func to
16842         gl_func_getloadavg_done.
16843         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16844
16845 2011-06-18  Bruno Haible  <bruno@clisp.org>
16846
16847         clean-temp: Improve documentation.
16848         * lib/clean-temp.h: Explain better how to use this module.
16849         Reported by John Darrington <john@darrington.wattle.id.au>.
16850
16851 2011-06-17  Bruno Haible  <bruno@clisp.org>
16852
16853         pread, pwrite: Avoid cc warning on AIX.
16854         * lib/unistd.in.h (pread): Undefine before defining as a macro.
16855         (pwrite): Likewise.
16856
16857 2011-06-17  Bruno Haible  <bruno@clisp.org>
16858
16859         spawn-pipe tests: Fix link error.
16860         * tests/test-spawn-pipe-child.c: Undefine fprintf.
16861         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16862
16863 2011-06-17  Bruno Haible  <bruno@clisp.org>
16864
16865         Tests: Remove unnecessary dependency.
16866         * modules/canonicalize-tests (Depends-on): Remove progname.
16867         * modules/chown-tests (Depends-on): Likewise.
16868         * modules/dirname-tests (Depends-on): Likewise.
16869         * modules/fdopendir-tests (Depends-on): Likewise.
16870         * modules/fdutimensat-tests (Depends-on): Likewise.
16871         * modules/hash-tests (Depends-on): Likewise.
16872         * modules/lchown-tests (Depends-on): Likewise.
16873         * modules/linkat-tests (Depends-on): Likewise.
16874         * modules/renameat-tests (Depends-on): Likewise.
16875         * modules/spawn-pipe-tests (Depends-on): Likewise.
16876         * modules/utimensat-tests (Depends-on): Likewise.
16877
16878 2011-06-17  Bruno Haible  <bruno@clisp.org>
16879
16880         spawn-pipe tests: Fix link error.
16881         * tests/test-spawn-pipe-child.c: Undefine fflush.
16882
16883 2011-06-17  Bruno Haible  <bruno@clisp.org>
16884
16885         Fix tests link errors.
16886         * modules/ceil-ieee-tests (Makefile.am): Use CEIL_LIBM, not FLOOR_LIBM.
16887         * modules/chown-tests (Makefile.am): Don't link test-chown with
16888         LIBINTL.
16889         * modules/lchown-tests (Makefile.am): Don't link test-lchown with
16890         LIBINTL.
16891         * modules/utimens-tests (Makefile.am): Don't link test-utimens with
16892         LIBINTL.
16893         * modules/futimens-tests (Makefile.am): Don't link test-futimens with
16894         LIBINTL.
16895
16896 2011-06-16  Bruno Haible  <bruno@clisp.org>
16897
16898         crypto/gc-sha1: Fix recent regression.
16899         * modules/crypto/gc-sha1 (configure.ac): Invoke AC_LIBOBJ here.
16900         * m4/gc-sha1.m4 (gl_GC_SHA1): Don't invoke gl_SHA1.
16901
16902         crypto/gc-md5: Fix recent regression.
16903         * modules/crypto/gc-md5 (configure.ac): Invoke AC_LIBOBJ here.
16904
16905         crypto/gc-md4: Fix recent regression.
16906         * modules/crypto/gc-md4 (configure.ac): Invoke AC_LIBOBJ here.
16907         * m4/md4.m4 (gl_MD4): Ensure the expansion is non-empty.
16908
16909         crypto/gc-arctwo: Fix recent regression.
16910         * modules/crypto/gc-arctwo (configure.ac): Invoke AC_LIBOBJ here.
16911         * m4/arctwo.m4 (gl_ARCTWO): Ensure the expansion is non-empty.
16912
16913         crypto/gc-rijndael: Fix recent regression.
16914         * modules/crypto/gc-rijndael (Files): Remove m4/rijndael.m4.
16915         (configure.ac): Invoke AC_LIBOBJ here.
16916         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Don't invoke gl_RIJNDAEL.
16917         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16918
16919         crypto/gc-hmac-sha1: Fix recent regression.
16920         * modules/crypto/gc-hmac-sha1 (Files): Remove m4/hmac-sha1.m4.
16921         (configure.ac): Invoke AC_LIBOBJ here.
16922         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Don't invoke gl_HMAC_SHA1.
16923         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16924
16925         crypto/gc-hmac-md5: Fix recent regression.
16926         * modules/crypto/gc-hmac-md5 (Files): Remove m4/hmac-md5.m4.
16927         (configure.ac): Invoke AC_LIBOBJ here.
16928         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Don't invoke gl_HMAC_MD5.
16929         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16930
16931         crypto/gc-des: Fix recent regression.
16932         * modules/crypto/gc-des (Files): Remove m4/des.m4.
16933         (configure.ac): Invoke AC_LIBOBJ here.
16934         * m4/gc-des.m4 (gl_GC_DES): Don't invoke gl_DES.
16935         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16936
16937         crypto/gc-arcfour: Fix recent regression.
16938         * modules/crypto/gc-arcfour (Files): Remove m4/arcfour.m4.
16939         (configure.ac): Invoke AC_LIBOBJ here.
16940         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Don't invoke gl_ARCFOUR.
16941         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
16942
16943 2011-06-16  Paul Eggert  <eggert@cs.ucla.edu>
16944
16945         * m4/lstat.m4 (gl_FUNC_LSTAT): Fix typo in prerequisite.
16946         After the 2011-05-21 change, this macro requires
16947         gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, not
16948         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
16949
16950 2011-06-16  Bruno Haible  <bruno@clisp.org>
16951
16952         fprintftime: Move AC_LIBOBJ invocations to module description.
16953         * m4/fprintftime.m4: Remove file.
16954         * modules/fprintftime (Files): Remove m4/fprintftime.m4.
16955         (configure.ac): Remove gl_FPRINTFTIME call.
16956         (Makefile.am): Augment lib_SOURCES.
16957         Reported by Jim Meyering.
16958
16959 2011-06-16  Bruno Haible  <bruno@clisp.org>
16960
16961         tmpfile-safer: Finish 2011-05-23 commit.
16962         * m4/stdio-safer.m4: Really remove file.
16963         Reported by Jim Meyering.
16964
16965 2011-06-16  Bruno Haible  <bruno@clisp.org>
16966
16967         syntax-check: Fix typo.
16968         * Makefile (allow_AC_LIBOBJ): Mention printf-posix-rpl.m4, not
16969         printf-posix.m4.
16970         Reported by Jim Meyering.
16971
16972 2011-06-13  Jim Meyering  <meyering@redhat.com>
16973
16974         syntax-check: add a rule to help enforce the no-AC_LIBOBJ-in-m4/ policy
16975         * Makefile (sc_prohibit_AC_LIBOBJ_in_m4): New rule.
16976
16977 2011-05-23  Bruno Haible  <bruno@clisp.org>
16978
16979         yesno: Move AC_LIBOBJ invocations to module description.
16980         * m4/yesno.m4 (gl_YESNO): Remove AC_LIBOBJ invocation.
16981         * modules/yesno (Makefile.am): Augment lib_SOURCES.
16982
16983 2011-05-23  Bruno Haible  <bruno@clisp.org>
16984
16985         xstrtol: Move AC_LIBOBJ invocations to module description.
16986         * m4/xstrtol.m4 (gl_XSTRTOL): Remove AC_LIBOBJ invocations.
16987         * modules/xstrtol (Makefile.am): Augment lib_SOURCES.
16988
16989 2011-05-23  Bruno Haible  <bruno@clisp.org>
16990
16991         xstrtold: Move AC_LIBOBJ invocations to module description.
16992         * m4/xstrtod.m4 (gl_XSTRTOLD): Remove AC_LIBOBJ invocation.
16993         * modules/xstrtold (Makefile.am): Augment lib_SOURCES.
16994
16995 2011-05-23  Bruno Haible  <bruno@clisp.org>
16996
16997         xstrtod: Move AC_LIBOBJ invocations to module description.
16998         * m4/xstrtod.m4 (gl_XSTRTOD): Remove AC_LIBOBJ invocation.
16999         * modules/xstrtod (Makefile.am): Augment lib_SOURCES.
17000
17001 2011-05-23  Bruno Haible  <bruno@clisp.org>
17002
17003         xnanosleep: Move AC_LIBOBJ invocations to module description.
17004         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove AC_LIBOBJ invocation.
17005         * modules/xnanosleep (Makefile.am): Augment lib_SOURCES.
17006
17007 2011-05-23  Bruno Haible  <bruno@clisp.org>
17008
17009         xgetcwd: Move AC_LIBOBJ invocations to module description.
17010         * m4/xgetcwd.m4 (gl_XGETCWD): Remove AC_LIBOBJ invocation.
17011         * modules/xgetcwd (Makefile.am): Augment lib_SOURCES.
17012
17013 2011-05-23  Bruno Haible  <bruno@clisp.org>
17014
17015         xalloc: Move AC_LIBOBJ invocations to module description.
17016         * m4/xalloc.m4 (gl_XALLOC): Remove AC_LIBOBJ invocation.
17017         * modules/xalloc (Makefile.am): Augment lib_SOURCES.
17018
17019 2011-05-23  Bruno Haible  <bruno@clisp.org>
17020
17021         write-any-file: Move AC_LIBOBJ invocations to module description.
17022         * m4/write-any-file.m4 (gl_WRITE_ANY_FILE): Remove AC_LIBOBJ
17023         invocation.
17024         * modules/write-any-file (Makefile.am): Augment lib_SOURCES.
17025
17026 2011-05-23  Bruno Haible  <bruno@clisp.org>
17027
17028         utimens: Move AC_LIBOBJ invocations to module description.
17029         * m4/utimens.m4 (gl_UTIMENS): Remove AC_LIBOBJ invocation.
17030         * modules/utimens (Makefile.am): Augment lib_SOURCES.
17031
17032 2011-05-23  Bruno Haible  <bruno@clisp.org>
17033
17034         utimecmp: Move AC_LIBOBJ invocations to module description.
17035         * m4/utimecmp.m4 (gl_UTIMECMP): Remove AC_LIBOBJ invocation.
17036         * modules/utimecmp (Makefile.am): Augment lib_SOURCES.
17037
17038 2011-05-23  Bruno Haible  <bruno@clisp.org>
17039
17040         userspec: Move AC_LIBOBJ invocations to module description.
17041         * m4/userspec.m4 (gl_USERSPEC): Remove AC_LIBOBJ invocation.
17042         * modules/userspec (Makefile.am): Augment lib_SOURCES.
17043
17044 2011-05-23  Bruno Haible  <bruno@clisp.org>
17045
17046         unlinkdir: Move AC_LIBOBJ invocations to module description.
17047         * m4/unlinkdir.m4 (gl_UNLINKDIR): Remove AC_LIBOBJ invocation.
17048         * modules/unlinkdir (Makefile.am): Augment lib_SOURCES.
17049
17050 2011-05-23  Bruno Haible  <bruno@clisp.org>
17051
17052         unistd-safer: Move AC_LIBOBJ invocations to module description.
17053         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Remove AC_LIBOBJ invocations.
17054         * modules/unistd-safer (Makefile.am): Augment lib_SOURCES.
17055
17056 2011-05-23  Bruno Haible  <bruno@clisp.org>
17057
17058         tempname: Move AC_LIBOBJ invocations to module description.
17059         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Remove AC_LIBOBJ invocation.
17060         * modules/tempname (Makefile.am): Augment lib_SOURCES.
17061
17062 2011-05-23  Bruno Haible  <bruno@clisp.org>
17063
17064         strftime: Move AC_LIBOBJ invocations to module description.
17065         * m4/strftime.m4 (gl_FUNC_STRFTIME): Remove AC_LIBOBJ invocation.
17066         * modules/strftime (Makefile.am): Augment lib_SOURCES.
17067
17068 2011-05-23  Bruno Haible  <bruno@clisp.org>
17069
17070         stdlib-safer: Move AC_LIBOBJ invocations to module description.
17071         * m4/stdlib-safer.m4: Remove file.
17072         * modules/stdlib-safer (Files): Remove m4/stdlib-safer.m4.
17073         (configure.ac): Remove gl_STDLIB_SAFER call.
17074         (Makefile.am): Augment lib_SOURCES.
17075
17076 2011-05-23  Bruno Haible  <bruno@clisp.org>
17077
17078         tmpfile-safer: Move AC_LIBOBJ invocations to module description.
17079         * m4/stdio-safer.m4: Remove file.
17080         * modules/tmpfile-safer (Files): Remove m4/stdio-safer.m4.
17081         (configure.ac): Remove gl_TMPFILE_SAFER call.
17082         (Makefile.am): Augment lib_SOURCES.
17083
17084 2011-05-23  Bruno Haible  <bruno@clisp.org>
17085
17086         popen-safer: Move AC_LIBOBJ invocations to module description.
17087         * m4/stdio-safer.m4 (gl_POPEN_SAFER): Remove macro.
17088         * modules/popen-safer (Files): Remove m4/stdio-safer.m4.
17089         (configure.ac): Remove gl_POPEN_SAFER call.
17090         (Makefile.am): Augment lib_SOURCES.
17091
17092 2011-05-23  Bruno Haible  <bruno@clisp.org>
17093
17094         freopen-safer: Move AC_LIBOBJ invocations to module description.
17095         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): Remove macro.
17096         * modules/freopen-safer (Files): Remove m4/stdio-safer.m4.
17097         (configure.ac): Remove gl_FREOPEN_SAFER call.
17098         (Makefile.am): Augment lib_SOURCES.
17099
17100 2011-05-23  Bruno Haible  <bruno@clisp.org>
17101
17102         fopen-safer: Move AC_LIBOBJ invocations to module description.
17103         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove macro.
17104         * modules/fopen-safer (Files): Remove m4/stdio-safer.m4.
17105         (configure.ac): Remove gl_FOPEN_SAFER call.
17106         (Makefile.am): Augment lib_SOURCES.
17107
17108 2011-05-23  Bruno Haible  <bruno@clisp.org>
17109
17110         crypto/sha512: Move AC_LIBOBJ invocations to module description.
17111         * m4/sha512.m4 (gl_SHA512): Remove AC_LIBOBJ invocation.
17112         * modules/crypto/sha512 (Makefile.am): Augment lib_SOURCES.
17113
17114 2011-05-23  Bruno Haible  <bruno@clisp.org>
17115
17116         crypto/sha256: Move AC_LIBOBJ invocations to module description.
17117         * m4/sha256.m4 (gl_SHA256): Remove AC_LIBOBJ invocation.
17118         * modules/crypto/sha256 (Makefile.am): Augment lib_SOURCES.
17119
17120 2011-05-23  Bruno Haible  <bruno@clisp.org>
17121
17122         crypto/sha1: Move AC_LIBOBJ invocations to module description.
17123         * m4/sha1.m4 (gl_SHA1): Remove AC_LIBOBJ invocation.
17124         * modules/crypto/sha1 (Makefile.am): Augment lib_SOURCES.
17125
17126 2011-05-23  Bruno Haible  <bruno@clisp.org>
17127
17128         settime: Move AC_LIBOBJ invocations to module description.
17129         * m4/settime.m4 (gl_SETTIME): Remove AC_LIBOBJ invocation.
17130         * modules/settime (Makefile.am): Augment lib_SOURCES.
17131
17132 2011-05-23  Bruno Haible  <bruno@clisp.org>
17133
17134         savedir: Move AC_LIBOBJ invocations to module description.
17135         * m4/savedir.m4 (gl_SAVEDIR): Remove AC_LIBOBJ invocation.
17136         * modules/savedir (Makefile.am): Augment lib_SOURCES.
17137
17138 2011-05-23  Bruno Haible  <bruno@clisp.org>
17139
17140         save-cwd: Move AC_LIBOBJ invocations to module description.
17141         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove AC_LIBOBJ invocation.
17142         * modules/save-cwd (Makefile.am): Augment lib_SOURCES.
17143
17144 2011-05-23  Bruno Haible  <bruno@clisp.org>
17145
17146         same: Move AC_LIBOBJ invocations to module description.
17147         * m4/same.m4 (gl_SAME): Remove AC_LIBOBJ invocation.
17148         * modules/same (Makefile.am): Augment lib_SOURCES.
17149
17150 2011-05-23  Bruno Haible  <bruno@clisp.org>
17151
17152         safe-write: Move AC_LIBOBJ invocations to module description.
17153         * m4/safe-write.m4 (gl_SAFE_WRITE): Remove macro.
17154         * modules/safe-write (configure.ac): Invoke gl_PREREQ_SAFE_WRITE
17155         instead of gl_SAFE_WRITE.
17156         (Makefile.am): Augment lib_SOURCES.
17157
17158 2011-05-23  Bruno Haible  <bruno@clisp.org>
17159
17160         safe-read: Move AC_LIBOBJ invocations to module description.
17161         * m4/safe-read.m4 (gl_SAFE_READ): Remove macro.
17162         * modules/safe-read (configure.ac): Invoke gl_PREREQ_SAFE_READ instead
17163         of gl_SAFE_READ.
17164         (Makefile.am): Augment lib_SOURCES.
17165
17166 2011-05-23  Bruno Haible  <bruno@clisp.org>
17167
17168         safe-alloc: Move AC_LIBOBJ invocations to module description.
17169         * m4/safe-alloc.m4 (gl_SAFE_ALLOC): Remove AC_LIBOBJ invocation.
17170         * modules/safe-alloc (Makefile.am): Augment lib_SOURCES.
17171
17172 2011-05-23  Bruno Haible  <bruno@clisp.org>
17173
17174         crypto/rijndael: Move AC_LIBOBJ invocations to module description.
17175         * m4/rijndael.m4: Remove file.
17176         * modules/crypto/rijndael (Files): Remove it.
17177         (configure.ac): Remove gl_RIJNDAEL call.
17178         (Makefile.am): Augment lib_SOURCES.
17179
17180 2011-05-23  Bruno Haible  <bruno@clisp.org>
17181
17182         readtokens: Move AC_LIBOBJ invocations to module description.
17183         * m4/readtokens.m4 (gl_READTOKENS): Remove AC_LIBOBJ invocation.
17184         * modules/readtokens (Makefile.am): Augment lib_SOURCES.
17185
17186 2011-05-23  Bruno Haible  <bruno@clisp.org>
17187
17188         read-file: Move AC_LIBOBJ invocations to module description.
17189         * m4/read-file.m4 (gl_FUNC_READ_FILE): Remove macro.
17190         * modules/read-file (configure.ac): Invoke gl_PREREQ_READ_FILE instead
17191         of gl_FUNC_READ_FILE.
17192         (Makefile.am): Augment lib_SOURCES.
17193
17194 2011-05-23  Bruno Haible  <bruno@clisp.org>
17195
17196         quotearg: Move AC_LIBOBJ invocations to module description.
17197         * m4/quotearg.m4 (gl_QUOTEARG): Remove AC_LIBOBJ invocation.
17198         * modules/quotearg (Makefile.am): Augment lib_SOURCES.
17199
17200 2011-05-23  Bruno Haible  <bruno@clisp.org>
17201
17202         quote: Move AC_LIBOBJ invocations to module description.
17203         * m4/quote.m4 (gl_QUOTE): Remove AC_LIBOBJ invocation.
17204         * modules/quote (Makefile.am): Augment lib_SOURCES.
17205
17206 2011-05-23  Bruno Haible  <bruno@clisp.org>
17207
17208         posixver: Move AC_LIBOBJ invocations to module description.
17209         * m4/posixver.m4 (gl_POSIXVER): Remove AC_LIBOBJ invocation.
17210         * modules/posixver (Makefile.am): Augment lib_SOURCES.
17211
17212 2011-05-23  Bruno Haible  <bruno@clisp.org>
17213
17214         posixtm: Move AC_LIBOBJ invocations to module description.
17215         * m4/posixtm.m4 (gl_POSIXTM): Remove AC_LIBOBJ invocation.
17216         * modules/posixtm (Makefile.am): Augment lib_SOURCES.
17217
17218 2011-05-23  Bruno Haible  <bruno@clisp.org>
17219
17220         physmem: Move AC_LIBOBJ invocations to module description.
17221         * m4/physmem.m4 (gl_PHYSMEM): Remove AC_LIBOBJ invocation.
17222         * modules/physmem (Makefile.am): Augment lib_SOURCES.
17223
17224 2011-05-23  Bruno Haible  <bruno@clisp.org>
17225
17226         pagealign_alloc: Move AC_LIBOBJ invocations to module description.
17227         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Remove AC_LIBOBJ
17228         invocation.
17229         * modules/pagealign_alloc (Makefile.am): Augment lib_SOURCES.
17230
17231 2011-05-23  Bruno Haible  <bruno@clisp.org>
17232
17233         mpsort: Move AC_LIBOBJ invocations to module description.
17234         * m4/mpsort.m4 (gl_MPSORT): Remove AC_LIBOBJ invocation.
17235         * modules/mpsort (Makefile.am): Augment lib_SOURCES.
17236
17237 2011-05-23  Bruno Haible  <bruno@clisp.org>
17238
17239         modechange: Move AC_LIBOBJ invocations to module description.
17240         * m4/modechange.m4 (gl_MODECHANGE): Remove AC_LIBOBJ invocation.
17241         * modules/modechange (Makefile.am): Augment lib_SOURCES.
17242
17243 2011-05-23  Bruno Haible  <bruno@clisp.org>
17244
17245         mkdir-p: Move AC_LIBOBJ invocations to module description.
17246         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Remove AC_LIBOBJ invocations.
17247         * modules/mkdir-p (Makefile.am): Augment lib_SOURCES.
17248
17249 2011-05-23  Bruno Haible  <bruno@clisp.org>
17250
17251         mkancesdirs: Move AC_LIBOBJ invocations to module description.
17252         * m4/mkancesdirs.m4 (gl_MKANCESDIRS): Remove AC_LIBOBJ invocation.
17253         * modules/mkancesdirs (Makefile.am): Augment lib_SOURCES.
17254
17255 2011-05-23  Bruno Haible  <bruno@clisp.org>
17256
17257         mgetgroups: Move AC_LIBOBJ invocations to module description.
17258         * m4/mgetgroups.m4 (gl_MGETGROUPS): Remove AC_LIBOBJ invocation.
17259         * modules/mgetgroups (Makefile.am): Augment lib_SOURCES.
17260
17261 2011-05-23  Bruno Haible  <bruno@clisp.org>
17262
17263         memxor: Move AC_LIBOBJ invocations to module description.
17264         * m4/memxor.m4 (gl_MEMXOR): Remove AC_LIBOBJ invocation.
17265         * modules/memxor (Makefile.am): Augment lib_SOURCES.
17266
17267 2011-05-23  Bruno Haible  <bruno@clisp.org>
17268
17269         memcoll: Move AC_LIBOBJ invocations to module description.
17270         * m4/memcoll.m4 (gl_MEMCOLL): Remove AC_LIBOBJ invocation.
17271         * modules/memcoll (Makefile.am): Augment lib_SOURCES.
17272
17273 2011-05-23  Bruno Haible  <bruno@clisp.org>
17274
17275         memcasecmp: Move AC_LIBOBJ invocations to module description.
17276         * m4/memcasecmp.m4 (gl_MEMCASECMP): Remove AC_LIBOBJ invocation.
17277         * modules/memcasecmp (Makefile.am): Augment lib_SOURCES.
17278
17279 2011-05-23  Bruno Haible  <bruno@clisp.org>
17280
17281         crypto/md5: Move AC_LIBOBJ invocations to module description.
17282         * m4/md5.m4 (gl_MD5): Remove AC_LIBOBJ invocation.
17283         * modules/crypto/md5 (Makefile.am): Augment lib_SOURCES.
17284
17285 2011-05-23  Bruno Haible  <bruno@clisp.org>
17286
17287         crypto/md4: Move AC_LIBOBJ invocations to module description.
17288         * m4/md4.m4 (gl_MD4): Remove AC_LIBOBJ invocation.
17289         * modules/crypto/md4 (Makefile.am): Augment lib_SOURCES.
17290
17291 2011-05-23  Bruno Haible  <bruno@clisp.org>
17292
17293         crypto/md2: Move AC_LIBOBJ invocations to module description.
17294         * m4/md2.m4: Remove file.
17295         * modules/crypto/md2 (Files): Remove it.
17296         (configure.ac): Remove gl_MD2 call.
17297         (Makefile.am): Augment lib_SOURCES.
17298
17299 2011-05-23  Bruno Haible  <bruno@clisp.org>
17300
17301         long-options: Move AC_LIBOBJ invocations to module description.
17302         * m4/long-options.m4: Remove file.
17303         * modules/long-options (Files): Remove it.
17304         (configure.ac): Remove gl_LONG_OPTIONS call.
17305         (Makefile.am): Augment lib_SOURCES.
17306
17307 2011-05-23  Bruno Haible  <bruno@clisp.org>
17308
17309         i-ring: Move AC_LIBOBJ invocations to module description.
17310         * m4/i-ring.m4 (gl_I_RING): Remove AC_LIBOBJ invocation.
17311         * modules/i-ring (Makefile.am): Augment lib_SOURCES.
17312
17313 2011-05-23  Bruno Haible  <bruno@clisp.org>
17314
17315         idcache: Move AC_LIBOBJ invocations to module description.
17316         * m4/idcache.m4 (gl_IDCACHE): Remove AC_LIBOBJ invocation.
17317         * modules/idcache (Makefile.am): Augment lib_SOURCES.
17318
17319 2011-05-23  Bruno Haible  <bruno@clisp.org>
17320
17321         human: Move AC_LIBOBJ invocations to module description.
17322         * m4/human.m4 (gl_HUMAN): Remove AC_LIBOBJ invocation.
17323         * modules/human (Makefile.am): Augment lib_SOURCES.
17324
17325 2011-05-23  Bruno Haible  <bruno@clisp.org>
17326
17327         crypto/hmac-sha1: Move AC_LIBOBJ invocations to module description.
17328         * m4/hmac-sha1.m4: Remove file.
17329         * modules/crypto/hmac-sha1 (Files): Remove it.
17330         (configure.ac): Remove gl_HMAC_SHA1 call.
17331         (Makefile.am): Augment lib_SOURCES.
17332
17333 2011-05-23  Bruno Haible  <bruno@clisp.org>
17334
17335         crypto/hmac-md5: Move AC_LIBOBJ invocations to module description.
17336         * m4/hmac-md5.m4: Remove file.
17337         * modules/crypto/hmac-md5 (Files): Remove it.
17338         (configure.ac): Remove gl_HMAC_MD5 call.
17339         (Makefile.am): Augment lib_SOURCES.
17340
17341 2011-05-23  Bruno Haible  <bruno@clisp.org>
17342
17343         hash: Move AC_LIBOBJ invocations to module description.
17344         * m4/hash.m4: Remove file.
17345         * modules/hash (Files): Remove it.
17346         (configure.ac): Remove gl_HASH call.
17347         (Makefile.am): Augment lib_SOURCES.
17348
17349 2011-05-23  Bruno Haible  <bruno@clisp.org>
17350
17351         hard-locale: Move AC_LIBOBJ invocations to module description.
17352         * m4/hard-locale.m4 (gl_HARD_LOCALE): Remove AC_LIBOBJ invocation.
17353         * modules/hard-locale (Makefile.am): Augment lib_SOURCES.
17354
17355 2011-05-23  Bruno Haible  <bruno@clisp.org>
17356
17357         getugroups: Move AC_LIBOBJ invocations to module description.
17358         * m4/getugroups.m4 (gl_GETUGROUPS): Remove AC_LIBOBJ invocation.
17359         * modules/getugroups (Makefile.am): Augment lib_SOURCES.
17360
17361 2011-05-23  Bruno Haible  <bruno@clisp.org>
17362
17363         gettime: Move AC_LIBOBJ invocations to module description.
17364         * m4/gettime.m4 (gl_GETTIME): Remove AC_LIBOBJ invocation.
17365         * modules/gettime (Makefile.am): Augment lib_SOURCES.
17366
17367 2011-05-23  Bruno Haible  <bruno@clisp.org>
17368
17369         getndelim2: Move AC_LIBOBJ invocations to module description.
17370         * m4/getndelim2.m4 (gl_GETNDELIM2): Remove AC_LIBOBJ invocation.
17371         * modules/getndelim2 (Makefile.am): Augment lib_SOURCES.
17372
17373 2011-05-23  Bruno Haible  <bruno@clisp.org>
17374
17375         crypto/gc-pbkdf2-sha1: Move AC_LIBOBJ invocations to module description.
17376         * m4/gc-pbkdf2-sha1.m4: Remove file.
17377         * modules/crypto/gc-pbkdf2-sha1 (Files): Remove it.
17378         (configure.ac): Remove gl_GC_PBKDF2_SHA1 call.
17379         (Makefile.am): Augment lib_SOURCES.
17380
17381 2011-05-23  Bruno Haible  <bruno@clisp.org>
17382
17383         fts: Move AC_LIBOBJ invocations to module description.
17384         * m4/fts.m4 (gl_FUNC_FTS_CORE): Move AC_LIBOBJ invocation from here...
17385         * modules/fts (configure.ac): ... to here.
17386
17387 2011-05-23  Bruno Haible  <bruno@clisp.org>
17388
17389         file-type: Move AC_LIBOBJ invocations to module description.
17390         * m4/file-type.m4: Remove file.
17391         * modules/file-type (Files): Remove it.
17392         (configure.ac): Remove gl_FILE_TYPE call.
17393         (Makefile.am): Augment lib_SOURCES.
17394
17395 2011-05-23  Bruno Haible  <bruno@clisp.org>
17396
17397         filenamecat*: Respect rules for use of AC_LIBOBJ.
17398         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT, gl_FILE_NAME_CONCAT_LGPL):
17399         Remove AC_LIBOBJ invocation.
17400         * modules/filenamecat (Makefile.am): Augment lib_SOURCES.
17401         * modules/filenamecat-lgpl (Makefile.am): Augment lib_SOURCES.
17402
17403 2011-05-23  Bruno Haible  <bruno@clisp.org>
17404
17405         filemode: Move AC_LIBOBJ invocations to module description.
17406         * m4/filemode.m4 (gl_FILEMODE): Remove AC_LIBOBJ invocation.
17407         * modules/filemode (Makefile.am): Augment lib_SOURCES.
17408
17409 2011-05-23  Bruno Haible  <bruno@clisp.org>
17410
17411         openat-safer: Move AC_LIBOBJ invocations to module description.
17412         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): Remove AC_LIBOBJ invocation.
17413         * modules/openat-safer (Makefile.am): Augment lib_SOURCES.
17414
17415 2011-05-23  Bruno Haible  <bruno@clisp.org>
17416
17417         fcntl-safer: Move AC_LIBOBJ invocations to module description.
17418         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove AC_LIBOBJ invocations.
17419         * modules/fcntl-safer (Makefile.am): Augment lib_SOURCES.
17420
17421 2011-05-23  Bruno Haible  <bruno@clisp.org>
17422
17423         exclude: Move AC_LIBOBJ invocations to module description.
17424         * m4/exclude.m4: Remove file.
17425         * modules/exclude (Files): Remove it.
17426         (configure.ac): Remove gl_EXCLUDE call.
17427         (Makefile.am): Augment lib_SOURCES.
17428
17429 2011-05-23  Bruno Haible  <bruno@clisp.org>
17430
17431         dirname*: Respect rules for use of AC_LIBOBJ.
17432         * m4/dirname.m4 (gl_DIRNAME, gl_DIRNAME_LGPL): Remove AC_LIBOBJ
17433         invocations.
17434         * modules/dirname (Makefile.am): Augment lib_SOURCES.
17435         * modules/dirname-lgpl (Makefile.am): Augment lib_SOURCES.
17436
17437 2011-05-23  Bruno Haible  <bruno@clisp.org>
17438
17439         dirent-safer: Move AC_LIBOBJ invocations to module description.
17440         * m4/dirent-safer.m4 (gl_DIRENT_SAFER): Remove AC_LIBOBJ invocation.
17441         * modules/dirent-safer (Makefile.am): Augment lib_SOURCES.
17442
17443 2011-05-23  Bruno Haible  <bruno@clisp.org>
17444
17445         crypto/des: Move AC_LIBOBJ invocations to module description.
17446         * m4/des.m4: Remove file.
17447         * modules/crypto/des (Files): Remove it.
17448         (configure.ac): Remove gl_DES call.
17449         (Makefile.am): Augment lib_SOURCES.
17450
17451 2011-05-23  Bruno Haible  <bruno@clisp.org>
17452
17453         cycle-check: Move AC_LIBOBJ invocations to module description.
17454         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Remove AC_LIBOBJ invocation.
17455         * modules/cycle-check (Makefile.am): Augment lib_SOURCES.
17456
17457 2011-05-23  Bruno Haible  <bruno@clisp.org>
17458
17459         c-strtold: Move AC_LIBOBJ invocations to module description.
17460         * m4/c-strtod.m4 (gl_C_STRTOLD): Remove AC_LIBOBJ invocation.
17461         * modules/c-strtold (Makefile.am): Augment lib_SOURCES.
17462
17463 2011-05-23  Bruno Haible  <bruno@clisp.org>
17464
17465         c-strtod: Move AC_LIBOBJ invocations to module description.
17466         * m4/c-strtod.m4 (gl_C_STRTOD): Remove AC_LIBOBJ invocation.
17467         * modules/c-strtod (Makefile.am): Augment lib_SOURCES.
17468
17469 2011-05-23  Bruno Haible  <bruno@clisp.org>
17470
17471         crc: Move AC_LIBOBJ invocations to module description.
17472         * m4/crc.m4: Remove file.
17473         * modules/crc (Files): Remove it.
17474         (configure.ac): Remove gl_CRC call.
17475         (Makefile.am): Augment lib_SOURCES.
17476
17477 2011-05-23  Bruno Haible  <bruno@clisp.org>
17478
17479         close-stream: Move AC_LIBOBJ invocations to module description.
17480         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove AC_LIBOBJ invocation.
17481         * modules/close-stream (Makefile.am): Augment lib_SOURCES.
17482
17483 2011-05-23  Bruno Haible  <bruno@clisp.org>
17484
17485         closeout: Move AC_LIBOBJ invocations to module description.
17486         * m4/closeout.m4 (gl_CLOSEOUT): Remove AC_LIBOBJ invocation.
17487         * modules/closeout (Makefile.am): Augment lib_SOURCES.
17488
17489 2011-05-23  Bruno Haible  <bruno@clisp.org>
17490
17491         closein: Move AC_LIBOBJ invocations to module description.
17492         * m4/closein.m4 (gl_CLOSEIN): Remove AC_LIBOBJ invocation.
17493         * modules/closein (Makefile.am): Augment lib_SOURCES.
17494
17495 2011-05-23  Bruno Haible  <bruno@clisp.org>
17496
17497         cloexec: Move AC_LIBOBJ invocations to module description.
17498         * m4/cloexec.m4: Remove file.
17499         * modules/cloexec (Files): Remove it.
17500         (configure.ac): Remove gl_CLOEXEC call.
17501         (Makefile.am): Augment lib_SOURCES.
17502
17503 2011-05-23  Bruno Haible  <bruno@clisp.org>
17504
17505         check-version: Move AC_LIBOBJ invocations to module description.
17506         * m4/check-version.m4: Remove file.
17507         * modules/check-version (Files): Remove it.
17508         (configure.ac): Remove gl_CHECK_VERSION call.
17509         (Makefile.am): Augment lib_SOURCES.
17510
17511 2011-05-23  Bruno Haible  <bruno@clisp.org>
17512
17513         chdir-safer: Move AC_LIBOBJ invocations to module description.
17514         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Remove AC_LIBOBJ invocation.
17515         * modules/chdir-safer (Makefile.am): Augment lib_SOURCES.
17516
17517 2011-05-23  Bruno Haible  <bruno@clisp.org>
17518
17519         canonicalize: Move AC_LIBOBJ invocations to module description.
17520         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Remove
17521         AC_LIBOBJ invocation.
17522         * modules/canonicalize (Makefile.am): Augment lib_SOURCES.
17523
17524 2011-05-23  Bruno Haible  <bruno@clisp.org>
17525
17526         canon-host: Move AC_LIBOBJ invocations to module description.
17527         * m4/canon-host.m4 (gl_CANON_HOST): Remove macro.
17528         * modules/canon-host (configure.ac): Invoke gl_PREREQ_CANON_HOST
17529         instead of gl_CANON_HOST.
17530         (Makefile.am): Augment lib_SOURCES.
17531
17532 2011-05-23  Bruno Haible  <bruno@clisp.org>
17533
17534         backupfile: Move AC_LIBOBJ invocations to module description.
17535         * m4/backupfile.m4 (gl_BACKUPFILE): Remove AC_LIBOBJ invocation.
17536         * modules/backupfile (Makefile.am): Augment lib_SOURCES.
17537
17538 2011-05-23  Bruno Haible  <bruno@clisp.org>
17539
17540         argmatch: Move AC_LIBOBJ invocations to module description.
17541         * m4/argmatch.m4: Remove file.
17542         * modules/argmatch (Files): Remove it.
17543         (configure.ac): Remove gl_ARGMATCH call.
17544         (Makefile.am): Augment lib_SOURCES.
17545
17546 2011-05-23  Bruno Haible  <bruno@clisp.org>
17547
17548         crypto/arctwo: Move AC_LIBOBJ invocations to module description.
17549         * m4/arctwo.m4 (gl_ARCTWO): Remove AC_LIBOBJ invocation.
17550         * modules/crypto/arctwo (Makefile.am): Augment lib_SOURCES.
17551
17552 2011-05-23  Bruno Haible  <bruno@clisp.org>
17553
17554         crypto/arcfour: Move AC_LIBOBJ invocations to module description.
17555         * m4/arcfour.m4: Remove file.
17556         * modules/crypto/arcfour (Files): Remove it.
17557         (configure.ac): Remove gl_ARCFOUR call.
17558         (Makefile.am): Augment lib_SOURCES.
17559
17560 2011-05-22  Bruno Haible  <bruno@clisp.org>
17561
17562         write: Move AC_LIBOBJ invocations to module description.
17563         * m4/write.m4 (gl_FUNC_WRITE): Move AC_LIBOBJ invocation from here...
17564         * modules/write (configure.ac): ... to here.
17565
17566 2011-05-22  Bruno Haible  <bruno@clisp.org>
17567
17568         wmemset: Move AC_LIBOBJ invocations to module description.
17569         * m4/wmemset.m4 (gl_FUNC_WMEMSET): Move AC_LIBOBJ invocation from
17570         here...
17571         * modules/wmemset (configure.ac): ... to here.
17572
17573 2011-05-22  Bruno Haible  <bruno@clisp.org>
17574
17575         wmemmove: Move AC_LIBOBJ invocations to module description.
17576         * m4/wmemmove.m4 (gl_FUNC_WMEMMOVE): Move AC_LIBOBJ invocation from
17577         here...
17578         * modules/wmemmove (configure.ac): ... to here.
17579
17580 2011-05-22  Bruno Haible  <bruno@clisp.org>
17581
17582         wmemcpy: Move AC_LIBOBJ invocations to module description.
17583         * m4/wmemcpy.m4 (gl_FUNC_WMEMCPY): Move AC_LIBOBJ invocation from
17584         here...
17585         * modules/wmemcpy (configure.ac): ... to here.
17586
17587 2011-05-22  Bruno Haible  <bruno@clisp.org>
17588
17589         wmemcmp: Move AC_LIBOBJ invocations to module description.
17590         * m4/wmemcmp.m4 (gl_FUNC_WMEMCMP): Move AC_LIBOBJ invocation from
17591         here...
17592         * modules/wmemcmp (configure.ac): ... to here.
17593
17594 2011-05-22  Bruno Haible  <bruno@clisp.org>
17595
17596         wmemchr: Move AC_LIBOBJ invocations to module description.
17597         * m4/wmemchr.m4 (gl_FUNC_WMEMCHR): Move AC_LIBOBJ invocation from
17598         here...
17599         * modules/wmemchr (configure.ac): ... to here.
17600
17601 2011-05-22  Bruno Haible  <bruno@clisp.org>
17602
17603         wcswidth: Move AC_LIBOBJ invocations to module description.
17604         * m4/wcswidth.m4 (gl_FUNC_WCSWIDTH): Move AC_LIBOBJ invocation from
17605         here...
17606         * modules/wcswidth (configure.ac): ... to here.
17607
17608 2011-05-22  Bruno Haible  <bruno@clisp.org>
17609
17610         wcwidth: Respect rules for use of AC_LIBOBJ.
17611         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Set HAVE_WCWIDTH. Move AC_LIBOBJ
17612         invocation from here...
17613         * modules/wcwidth (configure.ac): ... to here.
17614         (Depends-on): Update conditions.
17615
17616 2011-05-22  Bruno Haible  <bruno@clisp.org>
17617
17618         wctype: Move AC_LIBOBJ invocations to module description.
17619         * m4/wctype.m4 (gl_FUNC_WCTYPE): Set HAVE_WCTYPE. Move AC_LIBOBJ
17620         invocation from here...
17621         * modules/wctype (configure.ac): ... to here.
17622         (Depends-on): Update conditions.
17623
17624 2011-05-22  Bruno Haible  <bruno@clisp.org>
17625
17626         wctrans: Move AC_LIBOBJ invocations to module description.
17627         * m4/wctrans.m4 (gl_FUNC_WCTRANS): Set HAVE_WCTRANS. Move AC_LIBOBJ
17628         invocation from here...
17629         * modules/wctrans (configure.ac): ... to here.
17630
17631 2011-05-22  Bruno Haible  <bruno@clisp.org>
17632
17633         wctomb: Move AC_LIBOBJ invocations to module description.
17634         * m4/wctomb.m4 (gl_FUNC_WCTOMB): Move AC_LIBOBJ and gl_PREREQ_WCTOMB
17635         invocations from here...
17636         * modules/wctomb (configure.ac): ... to here.
17637
17638 2011-05-22  Bruno Haible  <bruno@clisp.org>
17639
17640         wctob: Move AC_LIBOBJ invocations to module description.
17641         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_WCTOB. Move AC_LIBOBJ and
17642         gl_PREREQ_WCTOB invocations from here...
17643         * modules/wctob (configure.ac): ... to here.
17644         (Depends-on): Update conditions.
17645
17646 2011-05-22  Bruno Haible  <bruno@clisp.org>
17647
17648         wcsxfrm: Move AC_LIBOBJ invocations to module description.
17649         * m4/wcsxfrm.m4 (gl_FUNC_WCSXFRM): Move AC_LIBOBJ invocation from
17650         here...
17651         * modules/wcsxfrm (configure.ac): ... to here.
17652
17653 2011-05-22  Bruno Haible  <bruno@clisp.org>
17654
17655         wcstok: Move AC_LIBOBJ invocations to module description.
17656         * m4/wcstok.m4 (gl_FUNC_WCSTOK): Move AC_LIBOBJ invocation from here...
17657         * modules/wcstok (configure.ac): ... to here.
17658
17659 2011-05-22  Bruno Haible  <bruno@clisp.org>
17660
17661         wcsstr: Move AC_LIBOBJ invocations to module description.
17662         * m4/wcsstr.m4 (gl_FUNC_WCSSTR): Move AC_LIBOBJ invocation from here...
17663         * modules/wcsstr (configure.ac): ... to here.
17664
17665 2011-05-22  Bruno Haible  <bruno@clisp.org>
17666
17667         wcsspn: Move AC_LIBOBJ invocations to module description.
17668         * m4/wcsspn.m4 (gl_FUNC_WCSSPN): Move AC_LIBOBJ invocation from here...
17669         * modules/wcsspn (configure.ac): ... to here.
17670
17671 2011-05-22  Bruno Haible  <bruno@clisp.org>
17672
17673         wcsrtombs: Move AC_LIBOBJ invocations to module description.
17674         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Move AC_LIBOBJ and
17675         gl_PREREQ_WCSRTOMBS invocations from here...
17676         * modules/wcsrtombs (configure.ac): ... to here.
17677
17678 2011-05-22  Bruno Haible  <bruno@clisp.org>
17679
17680         wcsrchr: Move AC_LIBOBJ invocations to module description.
17681         * m4/wcsrchr.m4 (gl_FUNC_WCSRCHR): Move AC_LIBOBJ invocation from
17682         here...
17683         * modules/wcsrchr (configure.ac): ... to here.
17684
17685 2011-05-22  Bruno Haible  <bruno@clisp.org>
17686
17687         wcspbrk: Move AC_LIBOBJ invocations to module description.
17688         * m4/wcspbrk.m4 (gl_FUNC_WCSPBRK): Move AC_LIBOBJ invocation from
17689         here...
17690         * modules/wcspbrk (configure.ac): ... to here.
17691
17692 2011-05-22  Bruno Haible  <bruno@clisp.org>
17693
17694         wcsnrtombs: Move AC_LIBOBJ invocations to module description.
17695         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): Move AC_LIBOBJ and
17696         gl_PREREQ_WCSNRTOMBS invocations from here...
17697         * modules/wcsnrtombs (configure.ac): ... to here.
17698
17699 2011-05-22  Bruno Haible  <bruno@clisp.org>
17700
17701         wcsnlen: Move AC_LIBOBJ invocations to module description.
17702         * m4/wcsnlen.m4 (gl_FUNC_WCSNLEN): Move AC_LIBOBJ invocation from
17703         here...
17704         * modules/wcsnlen (configure.ac): ... to here.
17705
17706 2011-05-22  Bruno Haible  <bruno@clisp.org>
17707
17708         wcsncpy: Move AC_LIBOBJ invocations to module description.
17709         * m4/wcsncpy.m4 (gl_FUNC_WCSNCPY): Move AC_LIBOBJ invocation from
17710         here...
17711         * modules/wcsncpy (configure.ac): ... to here.
17712
17713 2011-05-22  Bruno Haible  <bruno@clisp.org>
17714
17715         wcsncmp: Move AC_LIBOBJ invocations to module description.
17716         * m4/wcsncmp.m4 (gl_FUNC_WCSNCMP): Move AC_LIBOBJ invocation from
17717         here...
17718         * modules/wcsncmp (configure.ac): ... to here.
17719
17720 2011-05-22  Bruno Haible  <bruno@clisp.org>
17721
17722         wcsncat: Move AC_LIBOBJ invocations to module description.
17723         * m4/wcsncat.m4 (gl_FUNC_WCSNCAT): Move AC_LIBOBJ invocation from
17724         here...
17725         * modules/wcsncat (configure.ac): ... to here.
17726
17727 2011-05-22  Bruno Haible  <bruno@clisp.org>
17728
17729         wcsncasecmp: Move AC_LIBOBJ invocations to module description.
17730         * m4/wcsncasecmp.m4 (gl_FUNC_WCSNCASECMP): Move AC_LIBOBJ invocation
17731         from here...
17732         * modules/wcsncasecmp (configure.ac): ... to here.
17733
17734 2011-05-22  Bruno Haible  <bruno@clisp.org>
17735
17736         wcslen: Move AC_LIBOBJ invocations to module description.
17737         * m4/wcslen.m4 (gl_FUNC_WCSLEN): Move AC_LIBOBJ invocation from here...
17738         * modules/wcslen (configure.ac): ... to here.
17739
17740 2011-05-22  Bruno Haible  <bruno@clisp.org>
17741
17742         wcsdup: Move AC_LIBOBJ invocations to module description.
17743         * m4/wcsdup.m4 (gl_FUNC_WCSDUP): Move AC_LIBOBJ invocation from here...
17744         * modules/wcsdup (configure.ac): ... to here.
17745
17746 2011-05-22  Bruno Haible  <bruno@clisp.org>
17747
17748         wcscspn: Move AC_LIBOBJ invocations to module description.
17749         * m4/wcscspn.m4 (gl_FUNC_WCSCSPN): Move AC_LIBOBJ invocation from
17750         here...
17751         * modules/wcscspn (configure.ac): ... to here.
17752
17753 2011-05-22  Bruno Haible  <bruno@clisp.org>
17754
17755         wcscpy: Move AC_LIBOBJ invocations to module description.
17756         * m4/wcscpy.m4 (gl_FUNC_WCSCPY): Move AC_LIBOBJ invocation from here...
17757         * modules/wcscpy (configure.ac): ... to here.
17758
17759 2011-05-22  Bruno Haible  <bruno@clisp.org>
17760
17761         wcscoll: Move AC_LIBOBJ invocations to module description.
17762         * m4/wcscoll.m4 (gl_FUNC_WCSCOLL): Move AC_LIBOBJ invocation from
17763         here...
17764         * modules/wcscoll (configure.ac): ... to here.
17765
17766 2011-05-22  Bruno Haible  <bruno@clisp.org>
17767
17768         wcscmp: Move AC_LIBOBJ invocations to module description.
17769         * m4/wcscmp.m4 (gl_FUNC_WCSCMP): Move AC_LIBOBJ invocation from here...
17770         * modules/wcscmp (configure.ac): ... to here.
17771
17772 2011-05-22  Bruno Haible  <bruno@clisp.org>
17773
17774         wcschr: Move AC_LIBOBJ invocations to module description.
17775         * m4/wcschr.m4 (gl_FUNC_WCSCHR): Move AC_LIBOBJ invocation from here...
17776         * modules/wcschr (configure.ac): ... to here.
17777
17778 2011-05-22  Bruno Haible  <bruno@clisp.org>
17779
17780         wcscat: Move AC_LIBOBJ invocations to module description.
17781         * m4/wcscat.m4 (gl_FUNC_WCSCAT): Move AC_LIBOBJ invocation from here...
17782         * modules/wcscat (configure.ac): ... to here.
17783
17784 2011-05-22  Bruno Haible  <bruno@clisp.org>
17785
17786         wcscasecmp: Move AC_LIBOBJ invocations to module description.
17787         * m4/wcscasecmp.m4 (gl_FUNC_WCSCASECMP): Move AC_LIBOBJ invocation from
17788         here...
17789         * modules/wcscasecmp (configure.ac): ... to here.
17790
17791 2011-05-22  Bruno Haible  <bruno@clisp.org>
17792
17793         wcrtomb: Move AC_LIBOBJ invocations to module description.
17794         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Move AC_LIBOBJ and gl_PREREQ_WCRTOMB
17795         invocations from here...
17796         * modules/wcrtomb (configure.ac): ... to here.
17797
17798 2011-05-22  Bruno Haible  <bruno@clisp.org>
17799
17800         wcpncpy: Move AC_LIBOBJ invocations to module description.
17801         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Move AC_LIBOBJ invocation from
17802         here...
17803         * modules/wcpncpy (configure.ac): ... to here.
17804
17805 2011-05-22  Bruno Haible  <bruno@clisp.org>
17806
17807         wcpcpy: Move AC_LIBOBJ invocations to module description.
17808         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Move AC_LIBOBJ invocation from here...
17809         * modules/wcpcpy (configure.ac): ... to here.
17810
17811 2011-05-22  Bruno Haible  <bruno@clisp.org>
17812
17813         waitpid: Move AC_LIBOBJ invocations to module description.
17814         * m4/waitpid.m4 (gl_FUNC_WAITPID): Set HAVE_WAITPID. Move AC_LIBOBJ
17815         invocation from here...
17816         * modules/waitpid (configure.ac): ... to here.
17817
17818 2011-05-22  Bruno Haible  <bruno@clisp.org>
17819
17820         utimensat: Move AC_LIBOBJ invocations to module description.
17821         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Move AC_LIBOBJ invocations from
17822         here...
17823         * modules/utimensat (configure.ac): ... to here.
17824
17825 2011-05-22  Bruno Haible  <bruno@clisp.org>
17826
17827         usleep: Move AC_LIBOBJ invocations to module description.
17828         * m4/usleep.m4 (gl_FUNC_USLEEP): Move AC_LIBOBJ invocations from
17829         here...
17830         * modules/usleep (configure.ac): ... to here.
17831
17832 2011-05-22  Bruno Haible  <bruno@clisp.org>
17833
17834         unlockpt: Move AC_LIBOBJ invocations to module description.
17835         * m4/unlockpt.m4 (gl_FUNC_UNLOCKPT): Move AC_LIBOBJ and
17836         gl_PREREQ_UNLOCKPT invocations from here...
17837         * modules/unlockpt (configure.ac): ... to here.
17838
17839 2011-05-22  Bruno Haible  <bruno@clisp.org>
17840
17841         unlink: Respect rules for use of AC_LIBOBJ.
17842         * m4/unlink.m4 (gl_FUNC_UNLINK): Move AC_LIBOBJ invocation from here...
17843         * modules/unlink (configure.ac): ... to here.
17844
17845 2011-05-22  Bruno Haible  <bruno@clisp.org>
17846
17847         uname: Move AC_LIBOBJ invocations to module description.
17848         * m4/uname.m4 (gl_FUNC_UNAME): Call AC_CHECK_FUNCS instead of
17849         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_UNAME invocations from
17850         here...
17851         * modules/uname (configure.ac): ... to here.
17852
17853 2011-05-22  Bruno Haible  <bruno@clisp.org>
17854
17855         ttyname_r: Move AC_LIBOBJ invocations to module description.
17856         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Move AC_LIBOBJ and
17857         gl_PREREQ_TTYNAME_R invocations from here...
17858         * modules/ttyname_r (configure.ac): ... to here.
17859
17860 2011-05-22  Bruno Haible  <bruno@clisp.org>
17861
17862         tsearch: Move AC_LIBOBJ invocations to module description.
17863         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Move AC_LIBOBJ and gl_PREREQ_TSEARCH
17864         invocations from here...
17865         * modules/tsearch (configure.ac): ... to here.
17866
17867 2011-05-22  Bruno Haible  <bruno@clisp.org>
17868
17869         towctrans: Move AC_LIBOBJ invocations to module description.
17870         * m4/towctrans.m4 (gl_FUNC_TOWCTRANS): Set HAVE_TOWCTRANS. Move
17871         AC_LIBOBJ invocation from here...
17872         * modules/towctrans (configure.ac): ... to here.
17873
17874 2011-05-22  Bruno Haible  <bruno@clisp.org>
17875
17876         tmpfile: Move AC_LIBOBJ invocations to module description.
17877         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Move AC_LIBOBJ and gl_PREREQ_TMPFILE
17878         invocations from here...
17879         * modules/tmpfile (configure.ac): ... to here.
17880
17881 2011-05-22  Bruno Haible  <bruno@clisp.org>
17882
17883         times: Move AC_LIBOBJ invocations to module description.
17884         * m4/times.m4 (gl_FUNC_TIMES): Move AC_LIBOBJ invocation from here...
17885         * modules/times (configure.ac): ... to here.
17886
17887 2011-05-22  Bruno Haible  <bruno@clisp.org>
17888
17889         time_r: Move AC_LIBOBJ invocations to module description.
17890         * m4/time_r.m4 (gl_TIME_R): Move AC_LIBOBJ and gl_PREREQ_TIME_R
17891         invocations from here...
17892         * modules/time_r (configure.ac): ... to here.
17893
17894 2011-05-22  Bruno Haible  <bruno@clisp.org>
17895
17896         timegm: Move AC_LIBOBJ invocations to module description.
17897         * m4/timegm.m4 (gl_FUNC_TIMEGM): Move AC_LIBOBJ and gl_PREREQ_TIMEGM
17898         invocations from here...
17899         * modules/timegm (configure.ac): ... to here.
17900
17901 2011-05-22  Bruno Haible  <bruno@clisp.org>
17902
17903         tcgetsid: Move AC_LIBOBJ invocations to module description.
17904         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Set HAVE_TCGETSID. Move AC_LIBOBJ
17905         and gl_PREREQ_TCGETSID invocations from here...
17906         * modules/tcgetsid (configure.ac): ... to here.
17907         (Depends-on): Update conditions.
17908
17909 2011-05-22  Bruno Haible  <bruno@clisp.org>
17910
17911         symlinkat: Move AC_LIBOBJ invocations to module description.
17912         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move AC_LIBOBJ invocation from
17913         here...
17914         * modules/symlinkat (configure.ac): ... to here.
17915
17916 2011-05-22  Bruno Haible  <bruno@clisp.org>
17917
17918         symlink: Move AC_LIBOBJ invocations to module description.
17919         * m4/symlink.m4 (gl_FUNC_SYMLINK): Move AC_LIBOBJ invocations from
17920         here...
17921         * modules/symlink (configure.ac): ... to here.
17922
17923 2011-05-22  Bruno Haible  <bruno@clisp.org>
17924
17925         strverscmp: Move AC_LIBOBJ invocations to module description.
17926         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Call AC_CHECK_FUNCS instead of
17927         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRVERSCMP invocations
17928         from here...
17929         * modules/strverscmp (configure.ac): ... to here.
17930
17931 2011-05-22  Bruno Haible  <bruno@clisp.org>
17932
17933         strtok_r: Move AC_LIBOBJ invocations to module description.
17934         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_STRTOK_R. Move AC_LIBOBJ
17935         and gl_PREREQ_STRTOK_R invocations from here...
17936         * modules/strtok_r (configure.ac): ... to here.
17937         (Depends-on): Update conditions.
17938
17939 2011-05-22  Bruno Haible  <bruno@clisp.org>
17940
17941         strtoumax: Move AC_LIBOBJ invocations to module description.
17942         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Call AC_CHECK_FUNCS instead of
17943         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOUMAX invocations
17944         from here...
17945         * modules/strtoumax (configure.ac): ... to here.
17946
17947 2011-05-22  Bruno Haible  <bruno@clisp.org>
17948
17949         strtoimax: Move AC_LIBOBJ invocations to module description.
17950         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Call AC_CHECK_FUNCS instead of
17951         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOIMAX invocations
17952         from here...
17953         * modules/strtoimax (configure.ac): ... to here.
17954
17955 2011-05-22  Bruno Haible  <bruno@clisp.org>
17956
17957         strtoull: Move AC_LIBOBJ invocations to module description.
17958         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Call AC_CHECK_FUNCS instead of
17959         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOULL invocations
17960         from here...
17961         * modules/strtoull (configure.ac): ... to here.
17962
17963 2011-05-22  Bruno Haible  <bruno@clisp.org>
17964
17965         strtoll: Move AC_LIBOBJ invocations to module description.
17966         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Call AC_CHECK_FUNCS instead of
17967         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRTOLL invocations from
17968         here...
17969         * modules/strtoll (configure.ac): ... to here.
17970
17971 2011-05-22  Bruno Haible  <bruno@clisp.org>
17972
17973         strtoul: Move AC_LIBOBJ invocations to module description.
17974         * m4/strtoul.m4 (gl_FUNC_STRTOUL): Call AC_CHECK_FUNCS instead of
17975         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17976         * modules/strtoul (configure.ac): ... to here.
17977
17978 2011-05-22  Bruno Haible  <bruno@clisp.org>
17979
17980         strtol: Move AC_LIBOBJ invocations to module description.
17981         * m4/strtol.m4 (gl_FUNC_STRTOL): Call AC_CHECK_FUNCS instead of
17982         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocation from here...
17983         * modules/strtol (configure.ac): ... to here.
17984
17985 2011-05-22  Bruno Haible  <bruno@clisp.org>
17986
17987         strtod: Move AC_LIBOBJ invocations to module description.
17988         * m4/strtod.m4 (gl_FUNC_STRTOD): Move AC_LIBOBJ and gl_PREREQ_STRTOD
17989         invocations from here...
17990         * modules/strtod (configure.ac): ... to here.
17991
17992 2011-05-22  Bruno Haible  <bruno@clisp.org>
17993
17994         strstr*: Move AC_LIBOBJ invocations to module description.
17995         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Move AC_LIBOBJ
17996         invocations from here...
17997         * modules/strstr-simple (configure.ac): ... to here.
17998         * modules/strstr (configure.ac): ... and here.
17999
18000 2011-05-22  Bruno Haible  <bruno@clisp.org>
18001
18002         strsignal: Move AC_LIBOBJ invocations to module description.
18003         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Set HAVE_STRSIGNAL. Move
18004         AC_LIBOBJ and gl_PREREQ_STRSIGNAL invocations from here...
18005         * modules/strsignal (configure.ac): ... to here.
18006         (Depends-on): Update conditions.
18007
18008 2011-05-22  Bruno Haible  <bruno@clisp.org>
18009
18010         strsep: Move AC_LIBOBJ invocations to module description.
18011         * m4/strsep.m4 (gl_FUNC_STRSEP): Call AC_CHECK_FUNCS instead of
18012         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRSEP invocations from
18013         here...
18014         * modules/strsep (configure.ac): ... to here.
18015
18016 2011-05-22  Bruno Haible  <bruno@clisp.org>
18017
18018         strptime: Move AC_LIBOBJ invocations to module description.
18019         * m4/strptime.m4 (gl_FUNC_STRPTIME): Move AC_LIBOBJ and
18020         gl_PREREQ_STRPTIME invocations from here...
18021         * modules/strptime (configure.ac): ... to here.
18022
18023 2011-05-22  Bruno Haible  <bruno@clisp.org>
18024
18025         strpbrk: Move AC_LIBOBJ invocations to module description.
18026         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Call AC_CHECK_FUNCS instead of
18027         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRPBRK invocations from
18028         here...
18029         * modules/strpbrk (configure.ac): ... to here.
18030
18031 2011-05-22  Bruno Haible  <bruno@clisp.org>
18032
18033         strnlen: Move AC_LIBOBJ invocations to module description.
18034         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Move AC_LIBOBJ and gl_PREREQ_STRNLEN
18035         invocations from here...
18036         * modules/strnlen (configure.ac): ... to here.
18037
18038 2011-05-22  Bruno Haible  <bruno@clisp.org>
18039
18040         strndup: Move AC_LIBOBJ invocations to module description.
18041         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_STRNDUP. Move AC_LIBOBJ
18042         invocations from here...
18043         * modules/strndup (configure.ac): ... to here.
18044         (Depends-on): Update conditions.
18045
18046 2011-05-22  Bruno Haible  <bruno@clisp.org>
18047
18048         strncat: Move AC_LIBOBJ invocations to module description.
18049         * m4/strncat.m4 (gl_FUNC_STRNCAT): Move AC_LIBOBJ and gl_PREREQ_STRNCAT
18050         invocations from here...
18051         * modules/strncat (configure.ac): ... to here.
18052
18053 2011-05-22  Bruno Haible  <bruno@clisp.org>
18054
18055         strdup, strdup-posix: Move AC_LIBOBJ invocations to module description.
18056         * m4/strdup.m4 (gl_FUNC_STRDUP): Move AC_LIBOBJ and gl_PREREQ_STRDUP
18057         invocations from here...
18058         * modules/strdup (configure.ac): ... to here.
18059         * modules/strdup-posix (configure.ac): ... and here.
18060
18061 2011-05-22  Bruno Haible  <bruno@clisp.org>
18062
18063         strcspn: Move AC_LIBOBJ invocations to module description.
18064         * m4/strcspn.m4 (gl_FUNC_STRCSPN): Call AC_CHECK_FUNCS instead of
18065         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STRCSPN invocations from
18066         here...
18067         * modules/strcspn (configure.ac): ... to here.
18068
18069 2011-05-22  Bruno Haible  <bruno@clisp.org>
18070
18071         strchrnul: Move AC_LIBOBJ invocations to module description.
18072         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Move AC_LIBOBJ and
18073         gl_PREREQ_STRCHRNUL invocations from here...
18074         * modules/strchrnul (configure.ac): ... to here.
18075
18076 2011-05-22  Bruno Haible  <bruno@clisp.org>
18077
18078         strcasestr*: Move AC_LIBOBJ invocations to module description.
18079         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
18080         Move AC_LIBOBJ and gl_PREREQ_STRCASESTR invocations from here...
18081         * modules/strcasestr-simple (configure.ac): ... to here.
18082         * modules/strcasestr (configure.ac): ... and here.
18083
18084 2011-05-22  Bruno Haible  <bruno@clisp.org>
18085
18086         strcase: Move AC_LIBOBJ invocations to module description.
18087         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Set HAVE_STRNCASECMP.
18088         (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Call AC_CHECK_FUNCS instead
18089         of AC_REPLACE_FUNCS. Move AC_LIBOBJ, gl_PREREQ_STRCASECMP,
18090         gl_PREREQ_STRNCASECMP invocations from here...
18091         * modules/strcase (configure.ac): ... to here.
18092
18093 2011-05-22  Bruno Haible  <bruno@clisp.org>
18094
18095         stpncpy: Move AC_LIBOBJ invocations to module description.
18096         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Move AC_LIBOBJ invocations from
18097         here...
18098         * modules/stpncpy (configure.ac): ... to here.
18099
18100 2011-05-22  Bruno Haible  <bruno@clisp.org>
18101
18102         stpcpy: Move AC_LIBOBJ invocations to module description.
18103         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Call AC_CHECK_FUNCS instead of
18104         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_STPCPY invocations from
18105         here...
18106         * modules/stpcpy (configure.ac): ... to here.
18107
18108 2011-05-21  Bruno Haible  <bruno@clisp.org>
18109
18110         stat: Move AC_LIBOBJ invocations to module description.
18111         * m4/stat.m4 (gl_PREREQ_STAT): New macro, extracted from gl_FUNC_STAT.
18112         (gl_FUNC_STAT): Move AC_LIBOBJ and gl_PREREQ_STAT invocations from
18113         here...
18114         * modules/stat (configure.ac): ... to here.
18115
18116 2011-05-21  Bruno Haible  <bruno@clisp.org>
18117
18118         sleep: Move AC_LIBOBJ invocations to module description.
18119         * m4/sleep.m4 (gl_FUNC_SLEEP): Move AC_LIBOBJ invocations from here...
18120         * modules/sleep (configure.ac): ... to here.
18121
18122 2011-05-21  Bruno Haible  <bruno@clisp.org>
18123
18124         signbit: Move AC_LIBOBJ invocations to module description.
18125         * m4/signbit.m4 (gl_SIGNBIT): Move AC_LIBOBJ invocations from here...
18126         * modules/signbit (configure.ac): ... to here.
18127
18128 2011-05-21  Bruno Haible  <bruno@clisp.org>
18129
18130         sigprocmask: Move AC_LIBOBJ invocations to module description.
18131         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Move AC_LIBOBJ and
18132         gl_PREREQ_SIGPROMASK invocations from here...
18133         * modules/sigprocmask (configure.ac): ... to here.
18134
18135 2011-05-21  Bruno Haible  <bruno@clisp.org>
18136
18137         sigaction: Move AC_LIBOBJ invocations to module description.
18138         * m4/sigaction.m4 (gl_SIGACTION): Move AC_LIBOBJ and
18139         gl_PREREQ_SIGACTION invocations from here...
18140         * modules/sigaction (configure.ac): ... to here.
18141
18142 2011-05-21  Bruno Haible  <bruno@clisp.org>
18143
18144         sig2str: Move AC_LIBOBJ invocations to module description.
18145         * m4/sig2str.m4 (gl_FUNC_SIG2STR): Call AC_CHECK_FUNCS instead of
18146         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_SIG2STR invocations from
18147         here...
18148         * modules/sig2str (configure.ac): ... to here.
18149
18150 2011-05-21  Bruno Haible  <bruno@clisp.org>
18151
18152         setlocale: Move AC_LIBOBJ invocations to module description.
18153         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Move AC_LIBOBJ and
18154         gl_PREREQ_SETLOCALE invocations from here...
18155         * modules/setlocale (configure.ac): ... to here.
18156
18157 2011-05-21  Bruno Haible  <bruno@clisp.org>
18158
18159         unsetenv: Move AC_LIBOBJ invocations to module description.
18160         * m4/setenv.m4 (gl_FUNC_UNSETENV): Set HAVE_UNSETENV. Move AC_LIBOBJ
18161         and gl_PREREQ_UNSETENV invocations from here...
18162         * modules/unsetenv (configure.ac): ... to here.
18163         (Depends-on): Update.
18164
18165 2011-05-21  Bruno Haible  <bruno@clisp.org>
18166
18167         setenv: Move AC_LIBOBJ invocations to module description.
18168         * m4/setenv.m4 (gl_FUNC_SETENV): Move AC_LIBOBJ invocations from
18169         here...
18170         * modules/setenv (configure.ac): ... to here.
18171
18172 2011-05-21  Bruno Haible  <bruno@clisp.org>
18173
18174         selinux-h: Move AC_LIBOBJ invocations to module description.
18175         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Move
18176         AC_LIBOBJ invocation from here...
18177         * modules/selinux-h (configure.ac): ... to here.
18178
18179 2011-05-21  Bruno Haible  <bruno@clisp.org>
18180
18181         select: Respect rules for use of AC_LIBOBJ.
18182         * m4/select.m4 (gl_FUNC_SELECT): Move AC_LIBOBJ invocations from
18183         here...
18184         * modules/select (configure.ac): ... to here.
18185
18186 2011-05-21  Bruno Haible  <bruno@clisp.org>
18187
18188         scandir: Move AC_LIBOBJ invocations to module description.
18189         * m4/scandir.m4 (gl_FUNC_SCANDIR): Move AC_LIBOBJ and gl_PREREQ_SCANDIR
18190         invocations from here...
18191         * modules/scandir (configure.ac): ... to here.
18192
18193 2011-05-21  Bruno Haible  <bruno@clisp.org>
18194
18195         rpmatch: Move AC_LIBOBJ invocations to module description.
18196         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Call AC_CHECK_FUNCS instead of
18197         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RPMATCH invocations from
18198         here...
18199         * modules/rpmatch (configure.ac): ... to here.
18200
18201 2011-05-21  Bruno Haible  <bruno@clisp.org>
18202
18203         rmdir: Respect rules for use of AC_LIBOBJ.
18204         * m4/rmdir.m4 (gl_FUNC_RMDIR): Move AC_LIBOBJ invocation from here...
18205         * modules/rmdir (configure.ac): ... to here.
18206
18207 2011-05-21  Bruno Haible  <bruno@clisp.org>
18208
18209         renameat: Move AC_LIBOBJ invocations to module description.
18210         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Move AC_LIBOBJ invocations from
18211         here...
18212         * modules/renameat (configure.ac): ... to here.
18213
18214 2011-05-21  Bruno Haible  <bruno@clisp.org>
18215
18216         rename: Respect rules for use of AC_LIBOBJ.
18217         * m4/rename.m4 (gl_FUNC_RENAME): Move AC_LIBOBJ invocations from
18218         here...
18219         * modules/rename (configure.ac): ... to here.
18220
18221 2011-05-21  Bruno Haible  <bruno@clisp.org>
18222
18223         remove: Move AC_LIBOBJ invocations to module description.
18224         * m4/remove.m4 (gl_FUNC_REMOVE): Move AC_LIBOBJ invocations from
18225         here...
18226         * modules/remove (configure.ac): ... to here.
18227
18228 2011-05-21  Bruno Haible  <bruno@clisp.org>
18229
18230         relocatable-lib: Move AC_LIBOBJ invocations to module description.
18231         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_SEPARATE): Remove
18232         macro.
18233         (gl_RELOCATABLE_LIBRARY): Move AC_LIBOBJ invocation from here...
18234         * modules/relocatable-lib (configure.ac): ... to here.
18235         * modules/relocatable-prog-wrapper (configure.ac): Invoke
18236         gl_RELOCATABLE_LIBRARY instead of gl_RELOCATABLE_LIBRARY_SEPARATE.
18237
18238 2011-05-21  Bruno Haible  <bruno@clisp.org>
18239
18240         relocatable-prog: Move AC_LIBOBJ invocations to module description.
18241         * m4/relocatable.m4 (gl_RELOCATABLE): Move AC_LIBOBJ invocation from
18242         here...
18243         * modules/relocatable-prog (configure.ac): ... to here.
18244
18245 2011-05-21  Bruno Haible  <bruno@clisp.org>
18246
18247         regex: Move AC_LIBOBJ invocations to module description.
18248         * m4/regex.m4 (gl_REGEX): Move AC_LIBOBJ and gl_PREREQ_REGEX
18249         invocations from here...
18250         * modules/regex (configure.ac): ... to here.
18251
18252 2011-05-21  Bruno Haible  <bruno@clisp.org>
18253
18254         realloc-*: Move AC_LIBOBJ invocations to module description.
18255         * m4/realloc.m4 (gl_REPLACE_REALLOC): Remove macro.
18256         (gl_FUNC_REALLOC_GNU, gl_FUNC_REALLOC_POSIX): Inline it here. Move
18257         AC_LIBOBJ invocations from here...
18258         * modules/realloc-gnu (configure.ac): ... to here.
18259         * modules/realloc-posix (configure.ac): ... and here.
18260
18261 2011-05-21  Bruno Haible  <bruno@clisp.org>
18262
18263         readutmp: Move AC_LIBOBJ invocations to module description.
18264         * m4/readutmp.m4 (gl_READUTMP): Move AC_LIBOBJ invocation from here...
18265         * modules/readutmp (configure.ac): ... to here.
18266
18267 2011-05-21  Bruno Haible  <bruno@clisp.org>
18268
18269         readlinkat: Move AC_LIBOBJ invocations to module description.
18270         * m4/readlinkat.m4 (gl_FUNC_READLINKAT): Move AC_LIBOBJ invocation from
18271         here...
18272         * modules/readlinkat (configure.ac): ... to here.
18273
18274 2011-05-21  Bruno Haible  <bruno@clisp.org>
18275
18276         readlink: Move AC_LIBOBJ invocations to module description.
18277         * m4/readlink.m4 (gl_FUNC_READLINK): Move AC_LIBOBJ and
18278         gl_PREREQ_READLINK invocations from here...
18279         * modules/readlink (configure.ac): ... to here.
18280
18281 2011-05-21  Bruno Haible  <bruno@clisp.org>
18282
18283         readline: Move AC_LIBOBJ invocations to module description.
18284         * m4/readline.m4 (gl_FUNC_READLINE): Move AC_LIBOBJ and
18285         gl_PREREQ_READLINE invocations from here...
18286         * modules/readline (configure.ac): ... to here.
18287
18288 2011-05-21  Bruno Haible  <bruno@clisp.org>
18289
18290         read: Move AC_LIBOBJ invocations to module description.
18291         * m4/read.m4 (gl_FUNC_READ): Move AC_LIBOBJ invocation from here...
18292         * modules/read (configure.ac): ... to here.
18293
18294 2011-05-21  Bruno Haible  <bruno@clisp.org>
18295
18296         rawmemchr: Move AC_LIBOBJ invocations to module description.
18297         * m4/rawmemchr.m4 (gl_FUNC_RAWMEMCHR): Call AC_CHECK_FUNCS instead of
18298         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_RAWMEMCHR invocations
18299         from here...
18300         * modules/rawmemchr (configure.ac): ... to here.
18301
18302 2011-05-21  Bruno Haible  <bruno@clisp.org>
18303
18304         random_r: Move AC_LIBOBJ invocations to module description.
18305         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move AC_LIBOBJ and
18306         gl_PREREQ_RANDOM_R invocations from here...
18307         * modules/random_r (configure.ac): ... to here.
18308
18309 2011-05-21  Bruno Haible  <bruno@clisp.org>
18310
18311         pwrite: Move AC_LIBOBJ invocations to module description.
18312         * m4/pwrite.m4 (gl_FUNC_PWRITE): Move AC_LIBOBJ invocation from here...
18313         * modules/pwrite (configure.ac): ... to here.
18314
18315 2011-05-21  Bruno Haible  <bruno@clisp.org>
18316
18317         putenv: Move AC_LIBOBJ invocations to module description.
18318         * m4/putenv.m4 (gl_FUNC_PUTENV): Move AC_LIBOBJ invocation from here...
18319         * modules/putenv (configure.ac): ... to here.
18320
18321 2011-05-21  Bruno Haible  <bruno@clisp.org>
18322
18323         login_tty: Move AC_LIBOBJ invocations to module description.
18324         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Move AC_LIBOBJ invocation from here...
18325         * modules/login_tty (configure.ac): ... to here.
18326
18327 2011-05-21  Bruno Haible  <bruno@clisp.org>
18328
18329         openpty: Move AC_LIBOBJ invocations to module description.
18330         * m4/pty.m4 (gl_FUNC_OPENPTY): Move AC_LIBOBJ invocations from here...
18331         * modules/openpty (configure.ac): ... to here.
18332
18333 2011-05-21  Bruno Haible  <bruno@clisp.org>
18334
18335         forkpty: Move AC_LIBOBJ invocations to module description.
18336         * m4/pty.m4 (gl_FUNC_FORKPTY): Move AC_LIBOBJ invocations from here...
18337         * modules/forkpty (configure.ac): ... to here.
18338
18339 2011-05-21  Bruno Haible  <bruno@clisp.org>
18340
18341         ptsname: Move AC_LIBOBJ invocations to module description.
18342         * m4/ptsname.m4 (gl_FUNC_PTSNAME): Move AC_LIBOBJ and gl_PREREQ_PTSNAME
18343         invocations from here...
18344         * modules/ptsname (configure.ac): ... to here.
18345
18346 2011-05-21  Bruno Haible  <bruno@clisp.org>
18347
18348         pread: Move AC_LIBOBJ invocations to module description.
18349         * m4/pread.m4 (gl_FUNC_PREAD): Move AC_LIBOBJ invocation from here...
18350         * modules/pread (configure.ac): ... to here.
18351
18352 2011-05-21  Bruno Haible  <bruno@clisp.org>
18353
18354         posix_spawn*: Move AC_LIBOBJ invocations to module description.
18355         * m4/posix_spawn.m4 (gl_PREREQ_POSIX_SPAWN_INTERNAL): Renamed from
18356         gl_POSIX_SPAWN_INTERNAL. Move AC_LIBOBJ invocation from here...
18357         * modules/posix_spawn (configure.ac): ... to here.
18358         * modules/posix_spawnp (configure.ac): ... and here.
18359
18360 2011-05-21  Bruno Haible  <bruno@clisp.org>
18361
18362         popen: Move AC_LIBOBJ invocations to module description.
18363         * m4/popen.m4 (gl_FUNC_POPEN): Move AC_LIBOBJ and gl_PREREQ_POPEN
18364         invocations from here...
18365         * modules/popen (configure.ac): ... to here.
18366
18367 2011-05-21  Bruno Haible  <bruno@clisp.org>
18368
18369         poll: Move AC_LIBOBJ invocations to module description.
18370         * m4/poll.m4 (gl_FUNC_POLL): Move AC_LIBOBJ and gl_PREREQ_POLL
18371         invocations from here...
18372         * modules/poll (configure.ac): ... to here.
18373
18374 2011-05-21  Bruno Haible  <bruno@clisp.org>
18375
18376         pipe-posix: Move AC_LIBOBJ invocations to module description.
18377         * m4/pipe.m4 (gl_FUNC_PIPE): Move AC_LIBOBJ invocation from here...
18378         * modules/pipe-posix (configure.ac): ... to here.
18379
18380 2011-05-21  Bruno Haible  <bruno@clisp.org>
18381
18382         openat: Respect rules for use of AC_LIBOBJ.
18383         * m4/openat.m4 (gl_FUNC_OPENAT): Call AC_CHECK_FUNCS instead of
18384         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18385         * modules/openat (configure.ac): ... to here.
18386
18387 2011-05-21  Bruno Haible  <bruno@clisp.org>
18388
18389         obstack-printf*: Move AC_LIBOBJ invocations to module description.
18390         * m4/obstack-printf.m4 (gl_REPLACE_OBSTACK_PRINTF): Move AC_LIBOBJ
18391         invocation from here...
18392         * modules/obstack-printf (configure.ac): ... to here.
18393         * modules/obstack-printf-posix (configure.ac): ... and here.
18394
18395 2011-05-21  Bruno Haible  <bruno@clisp.org>
18396
18397         nl_langinfo: Move AC_LIBOBJ invocations to module description.
18398         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Move AC_LIBOBJ invocations
18399         from here...
18400         * modules/nl_langinfo (configure.ac): ... to here.
18401
18402 2011-05-21  Bruno Haible  <bruno@clisp.org>
18403
18404         nanosleep: Move AC_LIBOBJ invocations to module description.
18405         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Move AC_LIBOBJ and
18406         gl_PREREQ_NANOSLEEP invocations from here...
18407         * modules/nanosleep (configure.ac): ... to here.
18408
18409 2011-05-21  Bruno Haible  <bruno@clisp.org>
18410
18411         mountlist: Move AC_LIBOBJ invocations to module description.
18412         * m4/mountlist.m4 (gl_MOUNTLIST): Move AC_LIBOBJ and
18413         gl_PREREQ_MOUNTLIST_EXTRA invocations from here...
18414         * modules/mountlist (configure.ac): ... to here.
18415
18416 2011-05-21  Bruno Haible  <bruno@clisp.org>
18417
18418         mktime: Respect rules for use of AC_LIBOBJ.
18419         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove macro.
18420         (gl_FUNC_MKTIME): Inline it here. Set gl_cv_func_working_mktime. Move
18421         AC_LIBOBJ and gl_PREREQ_MKTIME invocations from here...
18422         (gl_FUNC_MKTIME_INTERNAL): ... and here...
18423         * modules/mktime (configure.ac): ... to here.
18424         * modules/mktime-internal (configure.ac): ... and here.
18425         * m4/timegm.m4 (gl_FUNC_TIMEGM): Update.
18426
18427 2011-05-21  Bruno Haible  <bruno@clisp.org>
18428
18429         mkstemps: Move AC_LIBOBJ invocations to module description.
18430         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Move AC_LIBOBJ invocation from
18431         here...
18432         * modules/mkstemps (configure.ac): ... to here.
18433
18434 2011-05-21  Bruno Haible  <bruno@clisp.org>
18435
18436         mkstemp: Move AC_LIBOBJ invocations to module description.
18437         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Move AC_LIBOBJ and
18438         gl_PREREQ_MKSTEMP invocations from here...
18439         * modules/mkstemp (configure.ac): ... to here.
18440
18441 2011-05-21  Bruno Haible  <bruno@clisp.org>
18442
18443         mkostemps: Move AC_LIBOBJ invocations to module description.
18444         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Move AC_LIBOBJ invocation from
18445         here...
18446         * modules/mkostemps (configure.ac): ... to here.
18447
18448 2011-05-21  Bruno Haible  <bruno@clisp.org>
18449
18450         mkostemp: Move AC_LIBOBJ invocations to module description.
18451         * m4/mkostemp.m4 (gl_FUNC_MKOSTEMP): Move AC_LIBOBJ and
18452         gl_PREREQ_MKOSTEMP invocations from here...
18453         * modules/mkostemp (configure.ac): ... to here.
18454
18455 2011-05-21  Bruno Haible  <bruno@clisp.org>
18456
18457         mknod: Move AC_LIBOBJ invocations to module description.
18458         * m4/mknod.m4 (gl_FUNC_MKNOD): Move AC_LIBOBJ invocations from here...
18459         * modules/mknod (configure.ac): ... to here.
18460
18461 2011-05-21  Bruno Haible  <bruno@clisp.org>
18462
18463         mkfifoat: Move AC_LIBOBJ invocations to module description.
18464         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Move AC_LIBOBJ invocations from
18465         here...
18466         * modules/mkfifoat (configure.ac): ... to here.
18467
18468 2011-05-21  Bruno Haible  <bruno@clisp.org>
18469
18470         mkfifo: Respect rules for use of AC_LIBOBJ.
18471         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Move AC_LIBOBJ invocations from
18472         here...
18473         * modules/mkfifo (configure.ac): ... to here.
18474
18475 2011-05-21  Bruno Haible  <bruno@clisp.org>
18476
18477         mkdtemp: Move AC_LIBOBJ invocations to module description.
18478         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Move AC_LIBOBJ and gl_PREREQ_MKDTEMP
18479         invocations from here...
18480         * modules/mkdtemp (configure.ac): ... to here.
18481
18482 2011-05-21  Bruno Haible  <bruno@clisp.org>
18483
18484         mkdir: Move AC_LIBOBJ invocations to module description.
18485         * m4/mkdir.m4 (gl_FUNC_MKDIR): Move AC_LIBOBJ invocations from here...
18486         * modules/mkdir (configure.ac): ... to here.
18487
18488 2011-05-21  Bruno Haible  <bruno@clisp.org>
18489
18490         memset: Move AC_LIBOBJ invocations to module description.
18491         * m4/memset.m4 (gl_FUNC_MEMSET): Call AC_CHECK_FUNCS instead of
18492         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMSET invocations from
18493         here...
18494         * modules/memset (configure.ac): ... to here.
18495
18496 2011-05-21  Bruno Haible  <bruno@clisp.org>
18497
18498         memrchr: Move AC_LIBOBJ invocations to module description.
18499         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Call AC_CHECK_FUNCS instead of
18500         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMRCHR invocations from
18501         here...
18502         * modules/memrchr (configure.ac): ... to here.
18503
18504 2011-05-21  Bruno Haible  <bruno@clisp.org>
18505
18506         mempcpy: Move AC_LIBOBJ invocations to module description.
18507         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Call AC_CHECK_FUNCS instead of
18508         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMPCPY invocations from
18509         here...
18510         * modules/mempcpy (configure.ac): ... to here.
18511
18512 2011-05-21  Bruno Haible  <bruno@clisp.org>
18513
18514         memmove: Move AC_LIBOBJ invocations to module description.
18515         * m4/memmove.m4 (gl_FUNC_MEMMOVE): Call AC_CHECK_FUNCS instead of
18516         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMMOVE invocations from
18517         here...
18518         * modules/memmove (configure.ac): ... to here.
18519
18520 2011-05-21  Bruno Haible  <bruno@clisp.org>
18521
18522         memmem*: Move AC_LIBOBJ invocations to module description.
18523         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Call AC_CHECK_FUNCS instead of
18524         AC_REPLACE_FUNCS. Set HAVE_MEMMEM. Move AC_LIBOBJ invocations from
18525         here...
18526         (gl_FUNC_MEMMEM): ... and here...
18527         * modules/memmem-simple (configure.ac): ... to here.
18528         * modules/memmem (configure.ac): ... and here.
18529
18530 2011-05-21  Bruno Haible  <bruno@clisp.org>
18531
18532         memcpy: Move AC_LIBOBJ invocations to module description.
18533         * m4/memcpy.m4 (gl_FUNC_MEMCPY): Call AC_CHECK_FUNCS instead of
18534         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_MEMCPY invocations from
18535         here...
18536         * modules/memcpy (configure.ac): ... to here.
18537
18538 2011-05-21  Bruno Haible  <bruno@clisp.org>
18539
18540         memcmp: Simplify autoconf macro.
18541         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Merge the cross-compilation code into
18542         the AC_RUN_IFELSE invocation. Set gl_func_memcmp.
18543         * modules/memcmp (Depends-on, configure.ac): Test gl_func_memcmp.
18544
18545 2011-05-21  Bruno Haible  <bruno@clisp.org>
18546
18547         memcmp: Move AC_LIBOBJ invocations to module description.
18548         * m4/memcmp.m4 (AC_FUNC_MEMCMP): Remove macro.
18549         (gl_FUNC_MEMCMP): Inline it here. Set gl_cv_func_memcmp_working. Move
18550         AC_LIBOBJ and gl_PREREQ_MEMCMP invocations from here...
18551         * modules/memcmp (configure.ac): ... to here.
18552         (Depends-on): Update conditions.
18553
18554 2011-05-21  Bruno Haible  <bruno@clisp.org>
18555
18556         memchr: Respect rules for use of AC_LIBOBJ.
18557         * m4/memchr.m4 (gl_FUNC_MEMCHR): Move AC_LIBOBJ and gl_PREREQ_MEMCHR
18558         invocations from here...
18559         * modules/memchr (configure.ac): ... to here.
18560
18561 2011-05-21  Bruno Haible  <bruno@clisp.org>
18562
18563         mbtowc: Move AC_LIBOBJ invocations to module description.
18564         * m4/mbtowc.m4 (gl_FUNC_MBTOWC): Move AC_LIBOBJ and gl_PREREQ_MBTOWC
18565         invocations from here...
18566         * modules/mbtowc (configure.ac): ... to here.
18567
18568 2011-05-21  Bruno Haible  <bruno@clisp.org>
18569
18570         mbsrtowcs: Move AC_LIBOBJ invocations to module description.
18571         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Move AC_LIBOBJ and
18572         gl_PREREQ_MBSRTOWCS invocations from here...
18573         * modules/mbsrtowcs (configure.ac): ... to here.
18574
18575 2011-05-21  Bruno Haible  <bruno@clisp.org>
18576
18577         mbsnrtowcs: Move AC_LIBOBJ invocations to module description.
18578         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): Move AC_LIBOBJ and
18579         gl_PREREQ_MBSNRTOWCS invocations from here...
18580         * modules/mbsnrtowcs (configure.ac): ... to here.
18581
18582 2011-05-21  Bruno Haible  <bruno@clisp.org>
18583
18584         mbsinit: Move AC_LIBOBJ invocations to module description.
18585         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Move AC_LIBOBJ and gl_PREREQ_MBSINIT
18586         invocations from here...
18587         * modules/mbsinit (configure.ac): ... to here.
18588
18589 2011-05-21  Bruno Haible  <bruno@clisp.org>
18590
18591         mbrlen: Move AC_LIBOBJ invocations to module description.
18592         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Move AC_LIBOBJ and gl_PREREQ_MBRLEN
18593         invocations from here...
18594         * modules/mbrlen (configure.ac): ... to here.
18595
18596 2011-05-21  Bruno Haible  <bruno@clisp.org>
18597
18598         mbrtowc: Respect rules for use of AC_LIBOBJ.
18599         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Move AC_LIBOBJ and gl_PREREQ_MBRTOWC
18600         invocations from here...
18601         * modules/mbrtowc (configure.ac): ... to here.
18602
18603 2011-05-21  Bruno Haible  <bruno@clisp.org>
18604
18605         malloc-*: Move AC_LIBOBJ invocations to module description.
18606         * m4/malloc.m4 (gl_REPLACE_MALLOC): Remove macro.
18607         (gl_FUNC_MALLOC_GNU, gl_FUNC_MALLOC_POSIX): Inline it here. Move
18608         AC_LIBOBJ invocations from here...
18609         * modules/malloc-gnu (configure.ac): ... to here.
18610         * modules/malloc-posix (configure.ac): ... and here.
18611
18612 2011-05-21  Bruno Haible  <bruno@clisp.org>
18613
18614         lstat, openat: Respect rules for use of AC_LIBOBJ.
18615         * m4/lstat.m4 (gl_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Renamed from
18616         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK. Set variable
18617         gl_cv_func_lstat_dereferences_slashed_symlink. Don't invoke AC_LIBOBJ.
18618         (gl_PREREQ_LSTAT): New macro, extracted from gl_FUNC_LSTAT.
18619         (gl_FUNC_LSTAT): Update. Remove gl_PREREQ_LSTAT code.
18620         * modules/lstat (configure.ac): Invoke AC_LIBOBJ and gl_PREREQ_LSTAT
18621         here.
18622         * m4/openat.m4 (gl_FUNC_OPENAT): Update.
18623
18624 2011-05-21  Bruno Haible  <bruno@clisp.org>
18625
18626         lseek: Move AC_LIBOBJ invocations to module description.
18627         * m4/lseek.m4 (gl_REPLACE_LSEEK): Remove macro.
18628         (gl_FUNC_LSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
18629         * modules/lseek (configure.ac): ... to here.
18630
18631 2011-05-21  Bruno Haible  <bruno@clisp.org>
18632
18633         linkat: Move AC_LIBOBJ invocations to module description.
18634         * m4/linkat.m4 (gl_FUNC_LINKAT): Move AC_LIBOBJ invocations from
18635         here...
18636         * modules/linkat (configure.ac): ... to here.
18637
18638 2011-05-21  Bruno Haible  <bruno@clisp.org>
18639
18640         link: Respect rules for use of AC_LIBOBJ.
18641         * m4/link.m4 (gl_FUNC_LINK): Move AC_LIBOBJ invocations from here...
18642         * modules/link (configure.ac): ... to here.
18643
18644 2011-05-21  Bruno Haible  <bruno@clisp.org>
18645
18646         lchown: Move AC_LIBOBJ invocations to module description.
18647         * m4/lchown.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
18648         AC_REPLACE_FUNCS. Move AC_LIBOBJ invocations from here...
18649         * modules/lchown (configure.ac): ... to here.
18650
18651 2011-05-21  Bruno Haible  <bruno@clisp.org>
18652
18653         iswctype: Move AC_LIBOBJ invocations to module description.
18654         * m4/iswctype.m4 (gl_FUNC_ISWCTYPE): Move AC_LIBOBJ invocation from
18655         here...
18656         * modules/iswctype (configure.ac): ... to here.
18657
18658 2011-05-21  Bruno Haible  <bruno@clisp.org>
18659
18660         iswblank: Move AC_LIBOBJ invocations to module description.
18661         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Move AC_LIBOBJ invocation from
18662         here...
18663         * modules/iswblank (configure.ac): ... to here.
18664
18665 2011-05-21  Bruno Haible  <bruno@clisp.org>
18666
18667         atanl: Move AC_LIBOBJ invocations to module description.
18668         * m4/atanl.m4 (gl_FUNC_ATANL): Move AC_LIBOBJ invocation from here...
18669         * modules/atanl (configure.ac): ... to here.
18670
18671 2011-05-21  Bruno Haible  <bruno@clisp.org>
18672
18673         acosl: Move AC_LIBOBJ invocations to module description.
18674         * m4/acosl.m4 (gl_FUNC_ACOSL): Move AC_LIBOBJ invocation from here...
18675         * modules/acosl (configure.ac): ... to here.
18676
18677 2011-05-21  Bruno Haible  <bruno@clisp.org>
18678
18679         asinl: Respect rules for use of AC_LIBOBJ.
18680         * m4/asinl.m4 (gl_FUNC_ASINL): Move AC_LIBOBJ invocation from here...
18681         * modules/asinl (configure.ac): ... to here.
18682
18683 2011-05-21  Bruno Haible  <bruno@clisp.org>
18684
18685         tanl: Move AC_LIBOBJ invocations to module description.
18686         * m4/tanl.m4 (gl_FUNC_TANL): Move AC_LIBOBJ invocations from here...
18687         * modules/tanl (configure.ac): ... to here.
18688
18689 2011-05-21  Bruno Haible  <bruno@clisp.org>
18690
18691         cosl: Move AC_LIBOBJ invocations to module description.
18692         * m4/cosl.m4 (gl_FUNC_COSL): Move AC_LIBOBJ invocations from here...
18693         * modules/cosl (configure.ac): ... to here.
18694
18695 2011-05-21  Bruno Haible  <bruno@clisp.org>
18696
18697         sinl: Move AC_LIBOBJ invocations to module description.
18698         * m4/sinl.m4 (gl_FUNC_SINL): Move AC_LIBOBJ invocations from here...
18699         * modules/sinl (configure.ac): ... to here.
18700
18701 2011-05-21  Bruno Haible  <bruno@clisp.org>
18702
18703         logl: Move AC_LIBOBJ invocations to module description.
18704         * m4/logl.m4 (gl_FUNC_LOGL): Move AC_LIBOBJ invocation from here...
18705         * modules/logl (configure.ac): ... to here.
18706
18707 2011-05-21  Bruno Haible  <bruno@clisp.org>
18708
18709         expl: Move AC_LIBOBJ invocations to module description.
18710         * m4/expl.m4 (gl_FUNC_EXPL): Move AC_LIBOBJ invocation from here...
18711         * modules/expl (configure.ac): ... to here.
18712
18713 2011-05-21  Bruno Haible  <bruno@clisp.org>
18714
18715         roundl: Move AC_LIBOBJ invocations to module description.
18716         * m4/roundl.m4 (gl_FUNC_ROUNDL): Move AC_LIBOBJ invocation from here...
18717         * modules/roundl (configure.ac): ... to here.
18718
18719 2011-05-21  Bruno Haible  <bruno@clisp.org>
18720
18721         round: Move AC_LIBOBJ invocations to module description.
18722         * m4/round.m4 (gl_FUNC_ROUND): Move AC_LIBOBJ invocation from here...
18723         * modules/round (configure.ac): ... to here.
18724
18725 2011-05-21  Bruno Haible  <bruno@clisp.org>
18726
18727         roundf: Move AC_LIBOBJ invocations to module description.
18728         * m4/roundf.m4 (gl_FUNC_ROUNDF): Move AC_LIBOBJ invocation from here...
18729         * modules/roundf (configure.ac): ... to here.
18730
18731 2011-05-21  Bruno Haible  <bruno@clisp.org>
18732
18733         truncl: Move AC_LIBOBJ invocations to module description.
18734         * m4/truncl.m4 (gl_FUNC_TRUNCL): Move AC_LIBOBJ invocation from here...
18735         * modules/truncl (configure.ac): ... to here.
18736
18737 2011-05-21  Bruno Haible  <bruno@clisp.org>
18738
18739         trunc: Move AC_LIBOBJ invocations to module description.
18740         * m4/trunc.m4 (gl_FUNC_TRUNC): Move AC_LIBOBJ invocation from here...
18741         * modules/trunc (configure.ac): ... to here.
18742
18743 2011-05-21  Bruno Haible  <bruno@clisp.org>
18744
18745         truncf: Move AC_LIBOBJ invocations to module description.
18746         * m4/truncf.m4 (gl_FUNC_TRUNCF): Move AC_LIBOBJ invocation from here...
18747         * modules/truncf (configure.ac): ... to here.
18748
18749 2011-05-21  Bruno Haible  <bruno@clisp.org>
18750
18751         ceill: Move AC_LIBOBJ invocations to module description.
18752         * m4/ceill.m4 (gl_FUNC_CEILL): Move AC_LIBOBJ invocation from here...
18753         * modules/ceill (configure.ac): ... to here.
18754
18755 2011-05-21  Bruno Haible  <bruno@clisp.org>
18756
18757         ceil: Move AC_LIBOBJ invocations to module description.
18758         * m4/ceil.m4 (gl_FUNC_CEIL): Move AC_LIBOBJ invocation from here...
18759         * modules/ceil (configure.ac): ... to here.
18760
18761 2011-05-21  Bruno Haible  <bruno@clisp.org>
18762
18763         ceilf: Move AC_LIBOBJ invocations to module description.
18764         * m4/ceilf.m4 (gl_FUNC_CEILF): Move AC_LIBOBJ invocation from here...
18765         * modules/ceilf (configure.ac): ... to here.
18766
18767 2011-05-21  Bruno Haible  <bruno@clisp.org>
18768
18769         floorl: Respect rules for use of AC_LIBOBJ.
18770         * m4/floorl.m4 (gl_FUNC_FLOORL): Move AC_LIBOBJ invocation from here...
18771         * modules/floorl (configure.ac): ... to here.
18772
18773 2011-05-21  Bruno Haible  <bruno@clisp.org>
18774
18775         floor: Respect rules for use of AC_LIBOBJ.
18776         * m4/floor.m4 (gl_FUNC_FLOOR): Move AC_LIBOBJ invocation from here...
18777         * modules/floor (configure.ac): ... to here.
18778
18779 2011-05-21  Bruno Haible  <bruno@clisp.org>
18780
18781         floorf: Move AC_LIBOBJ invocations to module description.
18782         * m4/floorf.m4 (gl_FUNC_FLOORF): Move AC_LIBOBJ invocation from here...
18783         * modules/floorf (configure.ac): ... to here.
18784
18785 2011-05-20  Bruno Haible  <bruno@clisp.org>
18786
18787         sqrtl: Respect rules for use of AC_LIBOBJ.
18788         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Move AC_LIBOBJ invocation from here...
18789         * modules/sqrtl (configure.ac): ... to here.
18790
18791 2011-05-20  Bruno Haible  <bruno@clisp.org>
18792
18793         ldexpl: Respect rules for use of AC_LIBOBJ.
18794         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Move AC_LIBOBJ invocation from here...
18795         * modules/ldexpl (configure.ac): ... to here.
18796
18797 2011-05-20  Bruno Haible  <bruno@clisp.org>
18798
18799         frexpl*: Respect rules for use of AC_LIBOBJ.
18800         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Move AC_LIBOBJ
18801         invocation from here...
18802         * modules/frexpl (configure.ac): ... to here.
18803         * modules/frexpl-nolibm (configure.ac): ... and here.
18804
18805 2011-05-20  Bruno Haible  <bruno@clisp.org>
18806
18807         frexp, frexp-nolibm: Move AC_LIBOBJ invocations to module description.
18808         * m4/frexp.m4 (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Move AC_LIBOBJ
18809         invocation from here...
18810         * modules/frexp (configure.ac): ... to here.
18811         * modules/frexp-nolibm (configure.ac): ... and here.
18812
18813 2011-05-20  Bruno Haible  <bruno@clisp.org>
18814
18815         isnan: Respect rules for use of AC_LIBOBJ.
18816         * m4/isnan.m4 (gl_ISNAN): Don't do the AC_LIBOBJ and gl_PREREQ_ISNAN*
18817         invocations here.
18818         * modules/isnanf (configure.ac): Require gl_ISNAN if it exists. Test
18819         REPLACE_ISNAN.
18820         * modules/isnand (configure.ac): Likewise.
18821         * modules/isnanl (configure.ac): Likewise.
18822
18823 2011-05-20  Bruno Haible  <bruno@clisp.org>
18824
18825         isnanl*: Respect rules for use of AC_LIBOBJ.
18826         * m4/isnanl.m4 (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Move AC_LIBOBJ
18827         invocation from here...
18828         * modules/isnanl (configure.ac): ... to here.
18829         * modules/isnanl-nolibm (configure.ac): ... and here.
18830
18831 2011-05-20  Bruno Haible  <bruno@clisp.org>
18832
18833         isnand*: Move AC_LIBOBJ invocations to module description.
18834         * m4/isnand.m4 (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Move AC_LIBOBJ
18835         invocation from here...
18836         * modules/isnand (configure.ac): ... to here.
18837         * modules/isnand-nolibm (configure.ac): ... and here.
18838
18839 2011-05-20  Bruno Haible  <bruno@clisp.org>
18840
18841         isnanf*: Move AC_LIBOBJ invocations to module description.
18842         * m4/isnanf.m4 (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Move AC_LIBOBJ
18843         invocation from here...
18844         * modules/isnanf (configure.ac): ... to here.
18845         * modules/isnanf-nolibm (configure.ac): ... and here.
18846
18847 2011-05-20  Bruno Haible  <bruno@clisp.org>
18848
18849         isnan*: Separate the AC_LIBOBJ invocations.
18850         * m4/isnanf.m4 (gl_PREREQ_ISNANF): Renamed from gl_BUILD_ISNANF. Remove
18851         AC_LIBOBJ invocation.
18852         (gl_FUNC_ISNANF, gl_FUNC_ISNANF_NO_LIBM): Update. Invoke AC_LIBOBJ
18853         here.
18854         * m4/isnand.m4 (gl_PREREQ_ISNAND): Renamed from gl_BUILD_ISNAND. Remove
18855         AC_LIBOBJ invocation.
18856         (gl_FUNC_ISNAND, gl_FUNC_ISNAND_NO_LIBM): Update. Invoke AC_LIBOBJ
18857         here.
18858         * m4/isnanl.m4 (gl_PREREQ_ISNANL): Renamed from gl_BUILD_ISNANL. Remove
18859         AC_LIBOBJ invocation.
18860         (gl_FUNC_ISNANL, gl_FUNC_ISNANL_NO_LIBM): Update. Invoke AC_LIBOBJ
18861         here.
18862         * m4/isnan.m4 (gl_ISNAN): Update. Invoke AC_LIBOBJ here.
18863
18864 2011-05-08  Bruno Haible  <bruno@clisp.org>
18865
18866         isinf: Move AC_LIBOBJ invocations to module description.
18867         * m4/isinf.m4 (gl_ISINF): Move AC_LIBOBJ invocation from here...
18868         * modules/isinf (configure.ac): ... to here.
18869
18870 2011-05-08  Bruno Haible  <bruno@clisp.org>
18871
18872         isfinite: Move AC_LIBOBJ invocations to module description.
18873         * m4/isfinite.m4 (gl_ISFINITE): Move AC_LIBOBJ invocation from here...
18874         * modules/isfinite (configure.ac): ... to here.
18875
18876 2011-05-08  Bruno Haible  <bruno@clisp.org>
18877
18878         isblank: Move AC_LIBOBJ invocations to module description.
18879         * m4/isblank.m4 (gl_FUNC_ISBLANK): Move AC_LIBOBJ invocation from
18880         here...
18881         * modules/isblank (configure.ac): ... to here.
18882
18883 2011-05-08  Bruno Haible  <bruno@clisp.org>
18884
18885         isapipe: Move AC_LIBOBJ invocations to module description.
18886         * m4/isapipe.m4 (gl_ISAPIPE): Set HAVE_ISAPIPE. Move AC_LIBOBJ and
18887         gl_PREREQ_ISAPIPE invocations from here...
18888         * modules/isapipe (configure.ac): ... to here.
18889         (Depends-on): Update condition.
18890
18891 2011-05-08  Bruno Haible  <bruno@clisp.org>
18892
18893         ioctl: Move AC_LIBOBJ invocations to module description.
18894         * m4/ioctl.m4 (gl_FUNC_IOCTL): Set HAVE_IOCTL. Move AC_LIBOBJ
18895         invocations from here...
18896         * modules/ioctl (configure.ac): ... to here.
18897         (Depends-on): Update condition.
18898
18899 2011-05-08  Bruno Haible  <bruno@clisp.org>
18900
18901         imaxdiv: Move AC_LIBOBJ invocations to module description.
18902         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Move AC_LIBOBJ and gl_PREREQ_IMAXDIV
18903         invocations from here...
18904         * modules/imaxdiv (configure.ac): ... to here.
18905
18906 2011-05-08  Bruno Haible  <bruno@clisp.org>
18907
18908         imaxabs: Move AC_LIBOBJ invocations to module description.
18909         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Move AC_LIBOBJ and gl_PREREQ_IMAXABS
18910         invocations from here...
18911         * modules/imaxabs (configure.ac): ... to here.
18912
18913 2011-05-08  Bruno Haible  <bruno@clisp.org>
18914
18915         getaddrinfo: Move AC_LIBOBJ invocations to module description.
18916         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Set HAVE_GETADDRINFO, Move
18917         AC_LIBOBJ invocations from here...
18918         * modules/getaddrinfo (configure.ac): ... to here.
18919         (Depends-on): Add conditions.
18920
18921 2011-05-08  Bruno Haible  <bruno@clisp.org>
18922
18923         inet_pton. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18924         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Set HAVE_INET_PTON. Call
18925         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18926         gl_PREREQ_INET_PTON. Move tests for declaration of inet_pton here...
18927         (gl_PREREQ_INET_PTON): ... from here.
18928         * modules/inet_pton (configure.ac): Invoke AC_LIBOBJ and
18929         gl_PREREQ_INET_PTON here.
18930         (Depends-on): Update condition.
18931
18932 2011-05-08  Bruno Haible  <bruno@clisp.org>
18933
18934         inet_ntop. getaddrinfo: Respect rules for use of AC_LIBOBJ.
18935         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Set HAVE_INET_NTOP. Call
18936         AC_CHECK_FUNCS instead of AC_REPLACE_FUNCS. Don't invoke
18937         gl_PREREQ_INET_NTOP. Move tests for declaration of inet_ntop here...
18938         (gl_PREREQ_INET_NTOP): ... from here.
18939         * modules/inet_ntop (configure.ac): Invoke AC_LIBOBJ and
18940         gl_PREREQ_INET_NTOP here.
18941         (Depends-on): Update condition.
18942
18943 2011-05-08  Bruno Haible  <bruno@clisp.org>
18944
18945         iconv_open: Move AC_LIBOBJ invocations to module description.
18946         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN, gl_REPLACE_ICONV_OPEN): Move
18947         AC_LIBOBJ invocations from here...
18948         * modules/iconv_open (configure.ac): ... to here.
18949
18950 2011-05-08  Bruno Haible  <bruno@clisp.org>
18951
18952         iconv_open, iconv_open-utf: Respect rules for use of AC_LIBOBJ.
18953         If module 'iconv_open' is among the main modules and module
18954         'iconv_open-utf' is among the tests dependencies, then
18955         REPLACE_ICONV_UTF will be defined to 1, hence iconv_open() in lib may
18956         return the special iconv_t values. Therefore iconv() and iconv_close()
18957         must support these special iconv_t values, already in lib, not only in
18958         tests.
18959         * m4/iconv_open-utf.m4: New file, extracted from m4/iconv_open.m4.
18960         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke
18961         gl_FUNC_ICONV_OPEN_UTF_SUPPORT if present.
18962         (gl_FUNC_ICONV_OPEN_UTF): Remove macro.
18963         * modules/iconv_open (Files): Add lib/iconv.c, lib/iconv_close.c.
18964         (Depends-on): Add the dependencies of iconv_open-utf.
18965         * modules/iconv_open-utf (Files): Add m4/iconv_open-utf.m4. Remove
18966         m4/iconv_open.m4, lib/iconv.c, lib/iconv_close.c.
18967         (Depends-on): Remove modules needed by lib/iconv.c, lib/iconv_close.c.
18968
18969 2011-05-08  Bruno Haible  <bruno@clisp.org>
18970
18971         group-member: Move AC_LIBOBJ invocations to module description.
18972         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Move AC_LIBOBJ and
18973         gl_PREREQ_GROUP_MEMBER invocations from here...
18974         * modules/group-member (configure.ac): ... to here.
18975
18976 2011-05-08  Bruno Haible  <bruno@clisp.org>
18977
18978         grantpt: Move AC_LIBOBJ invocations to module description.
18979         * m4/grantpt.m4 (gl_FUNC_GRANTPT): Move AC_LIBOBJ and gl_PREREQ_GRANTPT
18980         invocations from here...
18981         * modules/grantpt (configure.ac): ... to here.
18982
18983 2011-05-08  Bruno Haible  <bruno@clisp.org>
18984
18985         glob: Move AC_LIBOBJ invocations to module description.
18986         * m4/glob.m4 (gl_GLOB): Move AC_LIBOBJ and gl_PREREQ_GLOB invocations
18987         from here...
18988         * modules/glob (configure.ac): ... to here.
18989
18990 2011-05-08  Bruno Haible  <bruno@clisp.org>
18991
18992         getusershell: Move AC_LIBOBJ invocations to module description.
18993         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Set HAVE_GETUSERSHELL.
18994         Move AC_LIBOBJ invocation from here...
18995         * modules/getusershell (configure.ac): ... to here.
18996         (Depends-on): Update condition.
18997
18998 2011-05-08  Bruno Haible  <bruno@clisp.org>
18999
19000         gettimeofday: Move AC_LIBOBJ invocations to module description.
19001         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
19002         gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Move AC_LIBOBJ and
19003         gl_PREREQ_GETTIMEOFDAY invocations from here...
19004         * modules/gettimeofday (configure.ac): ... to here.
19005
19006 2011-05-08  Bruno Haible  <bruno@clisp.org>
19007
19008         gettimeofday, tzset: Respect rules for use of AC_LIBOBJ.
19009         * modules/tzset (configure.ac): Don't invoke gl_FUNC_TZSET_CLOBBER,
19010         just gl_FUNC_TZSET.
19011         * m4/tzset.m4 (gl_FUNC_TZSET): New macro.
19012         (gl_FUNC_TZSET_CLOBBER): Remove actions.
19013         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Invoke
19014         gl_FUNC_TZSET_CLOBBER and its actions here, if present.
19015
19016 2011-05-08  Bruno Haible  <bruno@clisp.org>
19017
19018         getsubopt: Move AC_LIBOBJ invocations to module description.
19019         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Move AC_LIBOBJ and
19020         gl_PREREQ_GETSUBOPT invocations from here...
19021         * modules/getsubopt (configure.ac): ... to here.
19022
19023 2011-05-08  Bruno Haible  <bruno@clisp.org>
19024
19025         getpass-gnu: Move AC_LIBOBJ invocations to module description.
19026         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): Set REPLACE_GETPASS. Move
19027         AC_LIBOBJ and gl_PREREQ_GETPASS invocations from here...
19028         * modules/getpass-gnu (configure.ac): ... to here.
19029
19030 2011-05-08  Bruno Haible  <bruno@clisp.org>
19031
19032         getpass: Move AC_LIBOBJ invocations to module description.
19033         * m4/getpass.m4 (gl_FUNC_GETPASS): Set HAVE_GETPASS. Move AC_LIBOBJ and
19034         gl_PREREQ_GETPASS invocations from here...
19035         * modules/getpass (configure.ac): ... to here.
19036
19037 2011-05-08  Bruno Haible  <bruno@clisp.org>
19038
19039         getpagesize: Move AC_LIBOBJ invocations to module description.
19040         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Move AC_LIBOBJ invocation
19041         from here...
19042         * modules/getpagesize (configure.ac): ... to here.
19043
19044 2011-05-08  Bruno Haible  <bruno@clisp.org>
19045
19046         getopt: Move AC_LIBOBJ invocations to module description.
19047         * m4/getopt.m4 (gl_REPLACE_GETOPT): Remove macro.
19048         (gl_FUNC_GETOPT): Inline it here. Move AC_LIBOBJ and gl_PREREQ_GETOPT
19049         invocations from here...
19050         * modules/getopt-gnu (configure.ac): ... to here.
19051         * modules/getopt-posix (configure.ac): ... and here.
19052         (Depends-on): Update condition.
19053
19054 2011-05-08  Bruno Haible  <bruno@clisp.org>
19055
19056         getopt, argp: Respect rules for use of AC_LIBOBJ.
19057         * m4/argp.m4 (gl_ARGP): Don't invoke gl_REPLACE_GETOPT.
19058         (gl_REPLACE_GETOPT_ALWAYS): New macro.
19059         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX): Test whether
19060         gl_REPLACE_GETOPT_ALWAYS is defined. Set REPLACE_GETOPT.
19061
19062 2011-05-08  Bruno Haible  <bruno@clisp.org>
19063
19064         getlogin_r: Move AC_LIBOBJ invocations to module description.
19065         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Move AC_LIBOBJ and
19066         gl_PREREQ_GETLOGIN_R invocations from here...
19067         * modules/getlogin_r (configure.ac): ... to here.
19068
19069 2011-05-08  Bruno Haible  <bruno@clisp.org>
19070
19071         getlogin: Move AC_LIBOBJ invocations to module description.
19072         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Move AC_LIBOBJ invocation from
19073         here...
19074         * modules/getlogin (configure.ac): ... to here.
19075
19076 2011-05-08  Bruno Haible  <bruno@clisp.org>
19077
19078         getloadavg: Move AC_LIBOBJ invocations to module description.
19079         * m4/getloadavg.m4 (gl_FUNC_GETDELIM): Set HAVE_GETLOADAVG. Move
19080         AC_LIBOBJ and gl_PREREQ_GETLOADAVG invocations from here...
19081         * modules/getloadavg (configure.ac): ... to here.
19082
19083 2011-05-08  Bruno Haible  <bruno@clisp.org>
19084
19085         gethrxtime: Move AC_LIBOBJ invocations to module description.
19086         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Move code that determines
19087         LIB_GETHRXTIME from here...
19088         (gl_GETHRXTIME): ... to here. Move AC_LIBOBJ and gl_PREREQ_GETHRXTIME
19089         invocations from here...
19090         * modules/gethrxtime (configure.ac): ... to here.
19091
19092 2011-05-08  Bruno Haible  <bruno@clisp.org>
19093
19094         gethostname: Move AC_LIBOBJ invocations to module description.
19095         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Move AC_LIBOBJ and
19096         gl_PREREQ_GETHOSTNAME invocations from here...
19097         * modules/gethostname (configure.ac): ... to here.
19098
19099 2011-05-08  Bruno Haible  <bruno@clisp.org>
19100
19101         getgroups: Move AC_LIBOBJ invocations to module description.
19102         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Move AC_LIBOBJ invocations from
19103         here...
19104         * modules/getgroups (configure.ac): ... to here.
19105
19106 2011-05-08  Bruno Haible  <bruno@clisp.org>
19107
19108         getdtablesize: Move AC_LIBOBJ invocations to module description.
19109         * m4/getdtablesize.m4 (gl_FUNC_GETDTABLESIZE): Move AC_LIBOBJ
19110         invocation from here...
19111         * modules/getdtablesize (configure.ac): ... to here.
19112
19113 2011-05-08  Bruno Haible  <bruno@clisp.org>
19114
19115         getdomainname: Move AC_LIBOBJ invocations to module description.
19116         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Move AC_LIBOBJ and
19117         gl_PREREQ_GETDOMAINNAME invocations from here...
19118         * modules/getdomainname (configure.ac): ... to here.
19119
19120 2011-05-08  Bruno Haible  <bruno@clisp.org>
19121
19122         getline: Move AC_LIBOBJ invocations to module description.
19123         * m4/getline.m4 (gl_FUNC_GETLINE): Move AC_LIBOBJ and gl_PREREQ_GETLINE
19124         invocations from here...
19125         * modules/getline (configure.ac): ... to here.
19126
19127 2011-05-08  Bruno Haible  <bruno@clisp.org>
19128
19129         getline: Simplify.
19130         * m4/getline.m4 (gl_PREREQ_GETLINE): Don't invoke gl_FUNC_GETDELIM.
19131         It's already handled through the module dependency.
19132
19133 2011-05-08  Bruno Haible  <bruno@clisp.org>
19134
19135         getdelim: Move AC_LIBOBJ invocations to module description.
19136         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Set HAVE_GETDELIM. Move AC_LIBOBJ
19137         and gl_PREREQ_GETDELIM invocations from here...
19138         * modules/getdelim (configure.ac): ... to here.
19139         (Depends-on): Fix condition.
19140
19141 2011-05-08  Bruno Haible  <bruno@clisp.org>
19142
19143         getcwd: Move AC_LIBOBJ invocations to module description.
19144         * m4/getcwd.m4 (gl_FUNC_GETCWD): Move AC_LIBOBJ and gl_PREREQ_GETCWD
19145         invocations from here...
19146         * modules/getcwd (configure.ac): ... to here.
19147
19148 2011-05-08  Bruno Haible  <bruno@clisp.org>
19149
19150         getcwd-lgpl: Move AC_LIBOBJ invocations to module description.
19151         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): Move AC_LIBOBJ invocation from
19152         here...
19153         * modules/getcwd-lgpl (configure.ac): ... to here.
19154
19155 2011-05-07  Bruno Haible  <bruno@clisp.org>
19156
19157         crypto/gc: Move AC_LIBOBJ invocations to module description.
19158         * m4/gc.m4 (gl_GC): Move AC_LIBOBJ invocations from here...
19159         * modules/crypto/gc (configure.ac): ... to here.
19160
19161 2011-05-07  Bruno Haible  <bruno@clisp.org>
19162
19163         fwriting: Move AC_LIBOBJ invocations to module description.
19164         * m4/fwriting.m4 (gl_FUNC_FWRITINT): Move AC_LIBOBJ invocation from
19165         here...
19166         * modules/fwriting (configure.ac): ... to here.
19167
19168 2011-05-07  Bruno Haible  <bruno@clisp.org>
19169
19170         fwritable: Move AC_LIBOBJ invocations to module description.
19171         * m4/fwritable.m4 (gl_FUNC_FWRITABLE): Move AC_LIBOBJ invocation from
19172         here...
19173         * modules/fwritable (configure.ac): ... to here.
19174
19175 2011-05-07  Bruno Haible  <bruno@clisp.org>
19176
19177         futimens: Move AC_LIBOBJ invocations to module description.
19178         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Move AC_LIBOBJ invocations from
19179         here...
19180         * modules/futimens (configure.ac): ... to here.
19181
19182 2011-05-07  Bruno Haible  <bruno@clisp.org>
19183
19184         ftruncate: Move AC_LIBOBJ invocations to module description.
19185         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Move AC_LIBOBJ and
19186         gl_PREREQ_FTRUNCATE invocations from here...
19187         * modules/ftruncate (configure.ac): ... to here.
19188
19189 2011-05-07  Bruno Haible  <bruno@clisp.org>
19190
19191         fsync: Move AC_LIBOBJ invocations to module description.
19192         * m4/fsync.m4 (gl_FUNC_FSYNC): Move AC_LIBOBJ and gl_PREREQ_FSYNC
19193         invocations from here...
19194         * modules/fsync (configure.ac): ... to here.
19195
19196 2011-05-07  Bruno Haible  <bruno@clisp.org>
19197
19198         fsusage: Move AC_LIBOBJ invocations to module description.
19199         * m4/fsusage.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and
19200         gl_PREREQ_FSUSAGE_EXTRA invocations from here...
19201         * modules/fsusage (configure.ac): ... to here.
19202
19203 2011-05-07  Bruno Haible  <bruno@clisp.org>
19204
19205         freopen: Move AC_LIBOBJ invocations to module description.
19206         * m4/freopen.m4 (gl_FUNC_FREOPEN): Move AC_LIBOBJ and gl_PREREQ_FREOPEN
19207         invocations from here...
19208         * modules/freopen (configure.ac): ... to here.
19209
19210 2011-05-07  Bruno Haible  <bruno@clisp.org>
19211
19212         free: Move AC_LIBOBJ invocations to module description.
19213         * m4/free.m4 (gl_FUNC_FREE): Move AC_LIBOBJ and missing gl_PREREQ_FREE
19214         invocations from here...
19215         * modules/free (configure.ac): ... to here.
19216
19217 2011-05-07  Bruno Haible  <bruno@clisp.org>
19218
19219         freadable: Move AC_LIBOBJ invocations to module description.
19220         * m4/freadable.m4 (gl_FUNC_FREADABLE): Move AC_LIBOBJ invocation from
19221         here...
19222         * modules/freadable (configure.ac): ... to here.
19223
19224 2011-05-07  Bruno Haible  <bruno@clisp.org>
19225
19226         fpurge: Move AC_LIBOBJ invocations to module description.
19227         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set HAVE_FPURGE. Move AC_LIBOBJ
19228         invocations from here...
19229         * modules/fpurge (configure.ac): ... to here.
19230
19231 2011-05-07  Bruno Haible  <bruno@clisp.org>
19232
19233         fpending: Move AC_LIBOBJ invocations to module description.
19234         * m4/fpending.m4 (gl_PREREQ_FPENDING): New macro, extracted from
19235         gl_FUNC_FPENDING.
19236         (gl_FUNC_FPENDING): Move AC_LIBOBJ and gl_PREREQ_FPENDING
19237         invocations from here...
19238         * modules/fpending (configure.ac): ... to here.
19239
19240 2011-05-07  Bruno Haible  <bruno@clisp.org>
19241
19242         fopen: Move AC_LIBOBJ invocations to module description.
19243         * m4/fopen.m4 (gl_FUNC_FOPEN): Move AC_LIBOBJ and gl_PREREQ_FOPEN
19244         invocations from here...
19245         * modules/fopen (configure.ac): ... to here.
19246
19247 2011-05-07  Bruno Haible  <bruno@clisp.org>
19248
19249         fnmatch, fnmatch-gnu: Move AC_LIBOBJ invocations to module description.
19250         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH): New macro, extracted from
19251         gl_FUNC_FNMATCH_POSIX.
19252         (gl_FUNC_FNMATCH_POSIX): Move AC_LIBOBJ and gl_PREREQ_FNMATCH
19253         invocations from here...
19254         * modules/fnmatch (configure.ac): ... to here.
19255         * modules/fnmatch-gnu (configure.ac): ... and here.
19256
19257 2011-05-07  Bruno Haible  <bruno@clisp.org>
19258
19259         flock: Move AC_LIBOBJ invocations to module description.
19260         * m4/flock.m4 (gl_FUNC_FLOCK): Move AC_LIBOBJ and gl_PREREQ_FLOCK
19261         invocations from here...
19262         * modules/flock (configure.ac): ... to here.
19263
19264 2011-05-07  Bruno Haible  <bruno@clisp.org>
19265
19266         fileblocks: Move AC_LIBOBJ invocations to module description.
19267         * m4/fileblocks.m4 (gl_FILEBLOCKS): Move AC_LIBOBJ and
19268         gl_PREREQ_FILEBLOCKS invocations from here...
19269         * modules/fileblocks (configure.ac): ... to here.
19270
19271 2011-05-06  Bruno Haible  <bruno@clisp.org>
19272
19273         fflush: Move AC_LIBOBJ invocations to module description.
19274         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Remove macro.
19275         (gl_FUNC_FFLUSH): Inline it here. Move AC_LIBOBJ and gl_PREREQ_FFLUSH
19276         invocations from here...
19277         * modules/fflush (configure.ac): ... to here.
19278
19279 2011-05-06  Bruno Haible  <bruno@clisp.org>
19280
19281         fdopendir: Move AC_LIBOBJ invocations to module description.
19282         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Move AC_LIBOBJ invocations from
19283         here...
19284         * modules/fdopendir (configure.ac): ... to here.
19285         (Depends-on): Improve conditions.
19286
19287 2011-05-06  Bruno Haible  <bruno@clisp.org>
19288
19289         _Exit: Move AC_LIBOBJ invocations to module description.
19290         * m4/_Exit.m4 (gl_FUNC__EXIT): Move AC_LIBOBJ and gl_PREREQ__EXIT
19291         invocations from here...
19292         * modules/_Exit (configure.ac): ... to here.
19293
19294 2011-05-21  Bruno Haible  <bruno@clisp.org>
19295
19296         euidaccess: Respect rules for use of AC_LIBOBJ.
19297         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Call AC_CHECK_FUNCS instead of
19298         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_EUIDACCESS invocations
19299         from here...
19300         * modules/euidaccess (configure.ac): ... to here.
19301
19302 2011-05-06  Bruno Haible  <bruno@clisp.org>
19303
19304         error: Move AC_LIBOBJ invocations to module description.
19305         * m4/error.m4 (gl_ERROR): Inline AC_FUNC_ERROR_AT_LINE. Remove
19306         AC_LIBSOURCES invocation. Move AC_LIBOBJ and gl_PREREQ_ERROR
19307         invocations from here...
19308         * modules/error (configure.ac): ... to here.
19309
19310 2011-05-06  Bruno Haible  <bruno@clisp.org>
19311
19312         duplocale: Move AC_LIBOBJ invocations to module description.
19313         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Move AC_LIBOBJ and
19314         gl_PREREQ_DUPLOCALE invocations from here...
19315         * modules/duplocale (configure.ac): ... to here.
19316
19317 2011-05-05  Bruno Haible  <bruno@clisp.org>
19318
19319         dirfd: Move AC_LIBOBJ invocations to module description.
19320         * m4/dirfd.m4 (gl_PREREQ_DIRFD): New macro, extracted from
19321         gl_FUNC_DIRFD.
19322         (gl_FUNC_DIRFD): Move AC_LIBOBJ and gl_PREREQ_DIRFD invocations from
19323         here...
19324         * modules/dirfd (configure.ac): ... to here.
19325         (Depends-on): Fix condition.
19326
19327 2011-05-05  Bruno Haible  <bruno@clisp.org>
19328
19329         chown: Respect rules for use of AC_LIBOBJ.
19330         * m4/chown.m4 (gl_FUNC_CHOWN): Move AC_LIBOBJ invocations from here...
19331         * modules/chown (configure.ac): ... to here.
19332
19333 2011-05-05  Bruno Haible  <bruno@clisp.org>
19334
19335         chdir-long: Move AC_LIBOBJ invocations to module description.
19336         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Move AC_LIBOBJ and
19337         gl_PREREQ_CHDIR_LONG invocations from here...
19338         * modules/chdir-long (configure.ac): ... to here.
19339
19340 2011-05-05  Bruno Haible  <bruno@clisp.org>
19341
19342         canonicalize-lgpl: Move AC_LIBOBJ invocations to module description.
19343         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Move AC_LIBOBJ invocation
19344         from here...
19345         * modules/canonicalize-lgpl (configure.ac): ... to here.
19346
19347 2011-05-05  Bruno Haible  <bruno@clisp.org>
19348
19349         calloc-posix, calloc-gnu: Move AC_LIBOBJs to module description.
19350         * m4/calloc.m4 (gl_REPLACE_CALLOC): Remove macro.
19351         (gl_FUNC_CALLOC_GNU, gl_FUNC_CALLOC_POSIX): Instead, just set
19352         REPLACE_CALLOC.
19353         * modules/calloc-posix (configure.ac): Invoke AC_LIBOBJ here.
19354         * modules/calloc-gnu (configure.ac): Likewise.
19355
19356 2011-05-05  Bruno Haible  <bruno@clisp.org>
19357
19358         btowc: Move AC_LIBOBJ invocations to module description.
19359         * m4/btowc.m4 (gl_FUNC_BTOWC): Move AC_LIBOBJ and gl_PREREQ_BTOWC
19360         invocations from here...
19361         * modules/btowc (configure.ac): ... to here.
19362
19363 2011-05-21  Bruno Haible  <bruno@clisp.org>
19364
19365         atexit: Move AC_LIBOBJ invocations to module description.
19366         * m4/atexit.m4 (gl_FUNC_ATEXIT): Call AC_CHECK_FUNCS instead of
19367         AC_REPLACE_FUNCS. Move AC_LIBOBJ and gl_PREREQ_ATEXIT invocations from
19368         here...
19369         * modules/atexit (configure.ac): ... to here.
19370
19371 2011-05-05  Bruno Haible  <bruno@clisp.org>
19372
19373         atoll: Move AC_LIBOBJ invocations to module description.
19374         * m4/atoll.m4 (gl_FUNC_ATOLL): Move AC_LIBOBJ and gl_PREREQ_ATOLL
19375         invocations from here...
19376         * modules/atoll (configure.ac): ... to here.
19377
19378 2011-05-05  Bruno Haible  <bruno@clisp.org>
19379
19380         argz: Move AC_LIBOBJ invocations to module description.
19381         * m4/argz.m4 (gl_FUNC_ARGZ): Move AC_LIBOBJ invocation from here...
19382         * modules/argz (configure.ac): ... to here.
19383
19384 2011-05-05  Bruno Haible  <bruno@clisp.org>
19385
19386         alphasort: Move AC_LIBOBJ invocations to module description.
19387         * m4/alphasort.m4 (gl_FUNC_ALPHASORT): Move AC_LIBOBJ and
19388         gl_PREREQ_ALPHASORT invocations from here...
19389         * modules/alphasort (configure.ac): ... to here.
19390
19391 2011-06-15  Paul Eggert  <eggert@cs.ucla.edu>
19392
19393         verify: new macro verify_expr; verify_true deprecated
19394         * NEWS: Mention this.
19395         * doc/verify.texi (Compile-time Assertions): Document this.
19396         * lib/verify.h (verify_true): Deprecate.
19397         (verify_expr): New macro.
19398         * tests/test-verify.c (function): Test verify_expr.
19399
19400 2011-06-14  Jim Meyering  <meyering@redhat.com>
19401
19402         init.sh: give more portable redirection-related advice in a comment
19403         * tests/init.sh (stderr_fileno_): Update the advice in comments.
19404         See http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/22488
19405         for lots of discussion.  Stefano Lattarini suggested the solution
19406         of putting "9>&2" after the command.  Reported by Bruno Haible.
19407
19408 2011-06-13  Bruno Haible  <bruno@clisp.org>
19409
19410         locale-zh: Reject zh_CN.GB18030 locale on Solaris 8.
19411         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On Solaris 8, set LOCALE_ZH_CN to
19412         'none'.
19413
19414 2011-06-13  Paul Eggert  <eggert@cs.ucla.edu>
19415
19416         ftoastr: use strtof only if HAVE_STRTOF
19417         This is needed on HP-UX 11.11 with GCC 4.2.4; see Bruno Haible's report
19418         <http://lists.gnu.org/archive/html/bug-gnulib/2011-06/msg00154.html>.
19419         * lib/ftoastr.c (STRTOF) [LENGTH == 1]: Use strtof only if HAVE_STRTOF.
19420         * modules/ftoastr (configure.ac): Check for strtof.
19421
19422 2011-06-13  Bruno Haible  <bruno@clisp.org>
19423
19424         gnulib-tool: Addendum to 2011-06-08 commit.
19425         * gnulib-tool (func_emit_lib_Makefile_am): If options --makefile-name
19426         and --witness-c-macro have been given, augment AM_CPPFLAGS.
19427
19428 2011-06-13  Bruno Haible  <bruno@clisp.org>
19429
19430         fseeko: Provide a non-inline replacement of fseek().
19431         * lib/stdio.in.h (fseek): Don't provide if module 'fseek' is not used.
19432         * modules/fseeko (Depends-on): Add fseek.
19433         * modules/fseek (License): Change to LGPLv2+.
19434
19435 2011-06-13  Bruno Haible  <bruno@clisp.org>
19436
19437         ftello: Provide a non-inline replacement of ftell().
19438         * lib/stdio.in.h (ftell): Don't provide if module 'ftell' is not used.
19439         * m4/ftell.m4 (gl_FUNC_FTELL): Replace ftell also if the system does
19440         not have ftello() (such as on mingw).
19441         * modules/ftello (Depends-on): Add ftell.
19442         * modules/ftell (License): Change to LGPLv2+.
19443
19444 2011-05-07  Bruno Haible  <bruno@clisp.org>
19445
19446         ftell: Move AC_LIBOBJ invocations to module description.
19447         * m4/ftell.m4 (gl_FUNC_FTELL): Move AC_LIBOBJ invocation from here...
19448         * modules/ftell (configure.ac): ... to here.
19449
19450 2011-05-07  Bruno Haible  <bruno@clisp.org>
19451
19452         ftello: Respect rules for use of AC_LIBOBJ.
19453         * m4/ftello.m4 (gl_REPLACE_FTELLO): Remove macro.
19454         (gl_FUNC_FTELLO): Inline it here. Move AC_LIBOBJ invocation from
19455         here...
19456         * modules/ftello (configure.ac): ... to here.
19457
19458 2011-05-07  Bruno Haible  <bruno@clisp.org>
19459
19460         fseeko: Simplify.
19461         * m4/fseeko.m4 (gl_HAVE_FSEEKO): Remove macro.
19462         (gl_FUNC_FSEEKO): Inline it here.
19463
19464 2011-05-07  Bruno Haible  <bruno@clisp.org>
19465
19466         fseek: Move AC_LIBOBJ invocations to module description.
19467         * m4/fseek.m4 (gl_REPLACE_FSEEK): Remove macro.
19468         (gl_FUNC_FSEEK): Inline it here. Move AC_LIBOBJ invocation from here...
19469         * modules/fseek (configure.ac): ... to here.
19470
19471 2011-05-07  Bruno Haible  <bruno@clisp.org>
19472
19473         fseek: Respect rules for use of AC_LIBOBJ.
19474         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Move gl_REPLACE_FSEEK invocation from
19475         here...
19476         * m4/fseek.m4 (gl_FUNC_FSEEK): ... to here.
19477
19478 2011-05-07  Bruno Haible  <bruno@clisp.org>
19479
19480         fseeko: Respect rules for use of AC_LIBOBJ.
19481         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Remove macro.
19482         (gl_FUNC_FSEEKO): Inline it here. Move AC_LIBOBJ invocation from
19483         here...
19484         * modules/fseeko (configure.ac): ... to here.
19485
19486 2011-06-13  Bruno Haible  <bruno@clisp.org>
19487
19488         gnulib-tool: Allow comments in the 'Depends-on' section.
19489         * doc/gnulib.texi (Module description): Mention comment syntax in the
19490         Depends-on section.
19491         * gnulib-tool (func_get_dependencies): Filter out comment lines.
19492
19493 2011-06-13  Bruno Haible  <bruno@clisp.org>
19494
19495         file-set.h: guard __attibute__ use, now that it's not always defined
19496         * lib/file-set.h (record_file): Use __attribute__ only with compiler
19497         versions that support it.  This fixes a coreutils build failure with
19498         the vendor cc on HP-UX 11.31.
19499
19500 2011-06-12  Bruno Haible  <bruno@clisp.org>
19501
19502         acl: Add support for HP-UX >= 11.11 JFS ACLs.
19503         * doc/acl-resources.txt: Add info about the ACL APIs on HP-UX.
19504         * m4/acl.m4 (gl_FUNC_ACL): Also test for HP-UX 11.11 API.
19505         * lib/acl-internal.h [HP-UX 11.11]: Include <aclv.h>.
19506         (acl, aclsort): New declarations.
19507         (aclv_nontrivial): New declaration.
19508         * lib/file-has-acl.c (aclv_nontrivial) [HP-UX 11.11]: New function.
19509         (file_has_acl): Read also the second kind of HP-UX ACLs.
19510         * lib/set-mode-acl.c (qset_acl) [HP-UX 11.11]: Try to set the second
19511         kind of HP-UX ACLs if the first kind fails.
19512         * lib/copy-acl.c (qcopy_acl) [HP-UX 11.11]: Read and set also the
19513         second kind of HP-UX ACLs.
19514         * tests/test-sameacls.c [HP-UX 11.11]: Include <aclv.h>.
19515         (main) [HP-UX 11.11]: Test also whether the second kind of HP-UX ACLs
19516         agree.
19517         * tests/test-file-has-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19518         hpuxjfs.
19519         Handle hpuxjfs.
19520         * tests/test-set-mode-acl.sh (acl_flavor) [HP-UX 11.11]: Set to
19521         hpuxjfs.
19522         Handle hpuxjfs.
19523         * tests/test-copy-acl.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19524         (func_test_same_acls): Use both lsacl and getacl.
19525         Handle hpuxjfs.
19526         * tests/test-copy-file.sh (acl_flavor) [HP-UX 11.11]: Set to hpuxjfs.
19527         (func_test_same_acls): Use both lsacl and getacl.
19528         Handle hpuxjfs.
19529
19530 2011-06-12  Bruno Haible  <bruno@clisp.org>
19531
19532         acl: Complete the 2010-08-10 fix.
19533         * lib/file-has-acl.c (file_has_acl) [HP-UX]: Also test against ENOTSUP.
19534         * lib/set-mode-acl.c (qset_acl) [HP-UX]: Likewise.
19535         * lib/copy-acl.c (qcopy_acl) [HP-UX]: Test for the errno values
19536         explicitly.
19537         * tests/test-sameacls.c (main) [HP-UX]: Also test against ENOTSUP.
19538         Reported in <http://debbugs.gnu.org/db/60/6053.html>.
19539
19540 2011-06-12  Bruno Haible  <bruno@clisp.org>
19541
19542         spawn-pipe tests: Comments.
19543         * tests/test-spawn-pipe-child.c (main): Update comment.
19544         Reported by James Youngman <jay@gnu.org>.
19545
19546 2011-06-11  James Youngman  <jay@gnu.org>
19547
19548         New module 'stat-size'.
19549         * modules/stat-size: New module.  Provides macros for accessing
19550         file size information in instances of struct stat.  Depends on the
19551         fileblocks module because it calls st_blocks.
19552         * lib/stat-size.h: New file, adapted from coreutils' system.h.
19553         * doc/gnulib.texi: Include stat-size.texi.
19554         * doc/stat-size.texi: Documentation for this module.
19555         * m4/stat-size.m4: New file; defines gl_STAT_SIZE.
19556         * m4/fileblocks.m4: Mention that stat-size depends on the call to
19557         AC_STRUCT_ST_BLOCKS.
19558
19559 2011-06-09  Bruno Haible  <bruno@clisp.org>
19560
19561         thread: Support pthreads-win32.
19562         * lib/glthread/thread.h (gl_thread_self): Define differently on
19563         pthreads-win32.
19564         (gl_null_thread): New declaration.
19565         (gl_thread_self_pointer): New macro.
19566         * lib/glthread/thread.c (gl_null_thread): New constant.
19567         * tests/test-lock.c: Use gl_thread_self_pointer instead of
19568         gl_thread_self.
19569         * tests/test-tls.c: Likewise.
19570         Suggested by Paul Eggert. Reported by Eric Blake.
19571
19572 2011-06-09  Bruno Haible  <bruno@clisp.org>
19573
19574         thread: Fix confusion between NULL and 0.
19575         * lib/glthread/thread.h (gl_thread_self): Use NULL and 0 appropriately.
19576         Reported by Paul Eggert.
19577
19578 2011-06-09  Bruno Haible  <bruno@clisp.org>
19579
19580         spawn-pipe tests: Avoid test failure on HP-UX 11.
19581         * tests/test-spawn-pipe-child.c (main) [HP-UX]: Don't assert that fd 2
19582         is closed.
19583
19584 2011-06-09  Bruno Haible  <bruno@clisp.org>
19585
19586         acl tests: Fix compilation error on HP-UX 11.
19587         * tests/test-sameacls.c: Include <sys/acl.h> also on HP-UX.
19588
19589 2011-06-09  Bruno Haible  <bruno@clisp.org>
19590
19591         rmdir: Avoid test failure on HP-UX 10.20.
19592         * tests/test-rmdir.h (test_rmdir_func): Accept ENOTEMPTY error, like
19593         EEXIST.
19594
19595 2011-06-08  Eric Blake  <eblake@redhat.com>
19596
19597         perror: fix test on mingw
19598         * modules/perror-tests (Depends-on): Add dup2.
19599
19600         strerror_r-posix: fix on MacOS
19601         * m4/strerror.m4 (gl_FUNC_STRERROR): Flush out MacOS bug.
19602         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Likewise, and fix
19603         logic bug.
19604         * lib/strerror_r.c (strerror_r): Fix the bug.
19605         * lib/strerror.c (strerror): Likewise.
19606         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
19607         problem.
19608         * doc/posix-functions/strerror.texi (strerror): Likewise.
19609         * doc/posix-functions/perror.texi (perror): Likewise.
19610         * tests/test-strerror.c (main): Enhance test.
19611         * tests/test-strerror_r.c (main): Likewise.
19612
19613 2011-06-08  Bruno Haible  <bruno@clisp.org>
19614
19615         gnulib-tool: Better isolation between different gnulib-tool invocations.
19616         * gnulib-tool: New option --witness-c-macro.
19617         (witness_c_macro): New variable.
19618         (func_emit_lib_Makefile_am): If --witness-c-macro was specified, let
19619         AM_CPPFLAGS define it as a C macro.
19620         (func_emit_tests_Makefile_am): Likewise.
19621         (func_import): Store witness_c_macro setting in gnulib-cache.m4 and
19622         read it from there.
19623         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): Define through
19624         m4_define, not AC_DEFUN.
19625         (gl_MODULE_INDICATOR_SET_VARIABLE_AUX,
19626         gl_MODULE_INDICATOR_SET_VARIABLE_AUX_OR): New macros.
19627         (gl_MODULE_INDICATOR_SET_VARIABLE): Use them.
19628         * modules/arpa_inet (Makefile.am): Use sed expression s/.../.../, not
19629         s|...|...|, to substitute the values of the GNULIB_* module indicator
19630         variables.
19631         * modules/dirent (Makefile.am): Likewise.
19632         * modules/fcntl-h (Makefile.am): Likewise.
19633         * modules/iconv-h (Makefile.am): Likewise.
19634         * modules/langinfo (Makefile.am): Likewise.
19635         * modules/locale (Makefile.am): Likewise.
19636         * modules/math (Makefile.am): Likewise.
19637         * modules/netdb (Makefile.am): Likewise.
19638         * modules/poll-h (Makefile.am): Likewise.
19639         * modules/pty (Makefile.am): Likewise.
19640         * modules/search (Makefile.am): Likewise.
19641         * modules/signal (Makefile.am): Likewise.
19642         * modules/spawn (Makefile.am): Likewise.
19643         * modules/stdio (Makefile.am): Likewise.
19644         * modules/stdlib (Makefile.am): Likewise.
19645         * modules/string (Makefile.am): Likewise.
19646         * modules/sys_ioctl (Makefile.am): Likewise.
19647         * modules/sys_select (Makefile.am): Likewise.
19648         * modules/sys_socket (Makefile.am): Likewise.
19649         * modules/sys_stat (Makefile.am): Likewise.
19650         * modules/sys_times (Makefile.am): Likewise.
19651         * modules/sys_utsname (Makefile.am): Likewise.
19652         * modules/sys_wait (Makefile.am): Likewise.
19653         * modules/termios (Makefile.am): Likewise.
19654         * modules/time (Makefile.am): Likewise.
19655         * modules/unistd (Makefile.am): Likewise.
19656         * modules/wchar (Makefile.am): Likewise.
19657
19658 2011-06-08  Eric Blake  <eblake@redhat.com>
19659
19660         strerror: simplify replacement
19661         * m4/strerror.m4 (gl_PREREQ_STRERROR): Delete.
19662         * modules/strerror (configure.ac): No prereqs needed here...
19663         * modules/strerror-override (configure.ac): ...but this needs it.
19664         (Files): Add file for needed prereq macro.
19665
19666 2011-06-08  Bruno Haible  <bruno@clisp.org>
19667
19668         strerror_r-posix: Tweaks.
19669         * m4/strerror.m4 (gl_FUNC_STRERROR): Omit the code that tests
19670         gl_cv_func_strerror_r_works if gl_FUNC_STRERROR_R_WORKS is not present.
19671         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R_WORKS): Fix AC_CACHE_CHECK
19672         message. Move gl_HEADER_STRING_H_DEFAULTS invocation from here...
19673         (gl_FUNC_STRERROR_R): ... to here.
19674         (gl_PREREQ_STRERROR_R): Test for __xpg_strerror_r.
19675
19676 2011-06-07  Eric Blake  <eblake@redhat.com>
19677
19678         perror: document fixed bugs
19679         * doc/posix-functions/perror.texi (perror): Document recent
19680         patches.
19681
19682 2011-06-07  Paul Eggert  <eggert@cs.ucla.edu>
19683
19684         stat-time: get_stat_birthtime failure is better-defined
19685         * lib/stat-time.h (get_stat_birthtime): If the time is not available,
19686         return a timestamp whose tv_sec and tv_nsec values are both -1.
19687         Previously, the spec said only that the tv_nsec value was negative.
19688         This upward-compatible change simplifies GNU tar a bit.
19689
19690 2011-06-07  Eric Blake  <eblake@redhat.com>
19691
19692         strerror_r-posix: work around cygwin 1.7.9
19693         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Split...
19694         (gl_FUNC_STRERROR_R_WORKS): ...into new macro, to detect Cygwin
19695         bug without replacing strerror_r.
19696         * m4/strerror.m4 (gl_FUNC_STRERROR): Replace strerror if
19697         strerror_r is buggy, but without requiring strerror_r compilation.
19698         * doc/posix-functions/strerror_r.texi (strerror_r): Fix docs.
19699
19700         test-perror: relax test to ignore cygwin bug
19701         * tests/test-perror2.c (main): Relax test on requiring detection
19702         of stream errors, and use unbuffered stream.
19703         * doc/posix-functions/dprintf.texi (dprintf): Document bug.
19704         * doc/posix-functions/fprintf.texi (fprintf): Likewise.
19705         * doc/posix-functions/fputc.texi (fputc): Likewise.
19706         * doc/posix-functions/fputs.texi (fputs): Likewise.
19707         * doc/posix-functions/fputws.texi (fputws): Likewise.
19708         * doc/posix-functions/fwprintf.texi (fwprintf): Likewise.
19709         * doc/posix-functions/fwrite.texi (fwrite): Likewise.
19710         * doc/posix-functions/getopt.texi (getopt): Likewise.
19711         * doc/posix-functions/perror.texi (perror): Likewise.
19712         * doc/posix-functions/printf.texi (printf): Likewise.
19713         * doc/posix-functions/psiginfo.texi (psiginfo): Likewise.
19714         * doc/posix-functions/psignal.texi (psignal): Likewise.
19715         * doc/posix-functions/putc.texi (putc): Likewise.
19716         * doc/posix-functions/putc_unlocked.texi (putc_unlocked):
19717         Likewise.
19718         * doc/posix-functions/putchar.texi (putchar): Likewise.
19719         * doc/posix-functions/putchar_unlocked.texi (putchar_unlocked):
19720         Likewise.
19721         * doc/posix-functions/puts.texi (puts): Likewise.
19722         * doc/posix-functions/putwc.texi (putwc): Likewise.
19723         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
19724         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
19725         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
19726         * doc/posix-functions/vfwprintf.texi (vfwprintf): Likewise.
19727         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
19728         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
19729         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
19730         * doc/posix-functions/wprintf.texi (wprintf): Likewise.
19731
19732 2011-05-22  Bruno Haible  <bruno@clisp.org>
19733
19734         strerror: Move AC_LIBOBJ invocations to module description.
19735         * m4/strerror.m4 (gl_FUNC_STRERROR): Move AC_LIBOBJ and
19736         gl_PREREQ_STRERROR invocations from here...
19737         * modules/strerror (configure.ac): ... to here.
19738
19739 2011-05-21  Bruno Haible  <bruno@clisp.org>
19740
19741         perror: Use common idiom.
19742         * modules/perror (configure.ac): Reorder statements.
19743
19744 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19745
19746         tests: fix usage message in 'mktempd_'
19747         * tests/init.sh (mktempd_): In the usage message, use literal
19748         'mktempd_', not '$ME' (which is even undefined), as the name of
19749         the subroutine.
19750
19751 2011-06-07  Stefano Lattarini  <stefano.lattarini@gmail.com>
19752
19753         tests init: new function 'fatal_', for hard errors
19754         Before this patch, the only way offered by tests/init.sh to
19755         properly signal a hard error was the `framework_failure_'
19756         function.  But the error message issued by that function,
19757         as its name would suggest, refers to a set-up failure in the
19758         testsuite, while hard errors can obviously also be due to
19759         other reasons.  The best way to fix this inconsistency is to
19760         introduce a new function with a more general error message.
19761         * tests/init.sh (fatal_): New function.
19762
19763 2011-06-06  Eric Blake  <eblake@redhat.com>
19764
19765         canonicalize-lgpl: use common idiom
19766         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Prefer older rm -rf
19767         over newer POSIX -Rf.
19768         Reported by Bruno Haible.
19769
19770         canonicalize-lgpl: work around AIX realpath bug
19771         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Expose AIX bug.
19772         * doc/posix-functions/realpath.texi (realpath): Document it.
19773         Reported by Bruno Haible.
19774
19775         strerror: work around FreeBSD bug
19776         * lib/strerror.c (strerror): Special case 0.
19777         Reported by Bruno Haible.
19778
19779         strerror-override: avoid bloating errno module
19780         * modules/errno (Files, configure.ac): Move replacement strings...
19781         * modules/strerror-override: ...to new module.
19782         * modules/strerror (Depends-on): Add strerror-override.
19783         * modules/strerror_r-posix (Depends-on): Likewise.
19784         * MODULES.html.sh: Document new module.
19785         Reported by Bruno Haible.
19786
19787 2011-06-06  Bruno Haible  <bruno@clisp.org>
19788
19789         spawn-pipe tests: Rename program.
19790         * tests/test-spawn-pipe-main.c: Renamed from tests/test-spawn-pipe.c.
19791         * tests/test-spawn-pipe-child.c: Update comment.
19792         * tests/test-spawn-pipe.sh: Update.
19793         * modules/spawn-pipe-tests (Files, Makefile.am): Update.
19794
19795         spawn-pipe tests: Link the child program only against libc.
19796         * tests/test-spawn-pipe-child.c: New file, extracted from
19797         tests/test-spawn-pipe.c.
19798         (main): Expect only one argument.
19799         (is_open): New function, copied from tests/test-pipe.c.
19800         * tests/test-spawn-pipe.c: Don't include <errno.h>.
19801         (child_main): Remove function.
19802         (test_pipe): Pass only one argument to the child program.
19803         (main): Remove child process code. Expect the child program's name as
19804         first argument.
19805         * tests/test-spawn-pipe.sh: Pass the child program's name as first
19806         argument.
19807         * modules/spawn-pipe-tests (Files): Add tests/test-spawn-pipe-child.c.
19808         (Makefile.am): Add test-spawn-pipe-child to check_PROGRAMS. Link
19809         test-spawn-pipe-child against no libraries.
19810
19811 2011-06-06  Bruno Haible  <bruno@clisp.org>
19812
19813         careadlinkat: Avoid mismatch between ssize_t and int.
19814         * lib/careadlinkat.h (careadlinkatcwd): Declare as a function always.
19815         * lib/careadlinkat.c (careadlinkatcwd): Define always.
19816
19817 2011-06-06  Jim Meyering  <meyering@redhat.com>
19818
19819         gnulib-common.m4: add _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE
19820         * m4/gnulib-common.m4 (gl_COMMON): Emit definitions of
19821         _GL_ATTRIBUTE_CONST and _GL_ATTRIBUTE_PURE.
19822
19823 2011-06-05  Bruno Haible  <bruno@clisp.org>
19824
19825         ansi-c++-opt: Interoperability with libtool.
19826         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): When a C++ compiler is not found,
19827         set the variable to "no", not to ":".
19828         * NEWS: Mention the change.
19829
19830 2011-06-05  Bruno Haible  <bruno@clisp.org>
19831
19832         acl: Fix test failure on AIX 7.
19833         * tests/test-sameacls.c (main) [AIX]: Fix aclx_printStr invocation.
19834         Based on a patch by Jørn Amundsen <Jorn.Amundsen@ntnu.no>.
19835
19836 2011-06-05  Bruno Haible  <bruno@clisp.org>
19837
19838         pipe-filter-ii: Fix test failure on AIX and IRIX.
19839         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): When write() fails
19840         with EAGAIN, retry with a smaller buffer size.
19841
19842 2011-06-05  Bruno Haible  <bruno@clisp.org>
19843
19844         localename: Fix link dependencies.
19845         * modules/localename (Link): Mention $(LIBTHREAD) or $(LTLIBTHREAD).
19846         * modules/localename-tests (Makefile.am): Link test-localename with
19847         $(LIBTHREAD).
19848
19849 2011-06-05  Bruno Haible  <bruno@clisp.org>
19850
19851         error: Avoid gcc warning.
19852         * lib/error.c (strerror_r): Declare also when its return type is 'int'.
19853
19854 2011-06-05  Bruno Haible  <bruno@clisp.org>
19855
19856         unsetenv: Avoid gcc warning.
19857         * lib/unsetenv.c (unsetenv): Provide declaration if system lacks it.
19858
19859 2011-06-05  Bruno Haible  <bruno@clisp.org>
19860
19861         setenv: Avoid gcc warning.
19862         * lib/setenv.c (setenv): Provide declaration if system lacks it.
19863
19864 2011-06-05  Bruno Haible  <bruno@clisp.org>
19865
19866         sys_select: Ensure memset is declared also on AIX 7.
19867         * lib/sys_select.in.h: Include <string.h> also on AIX.
19868         * doc/posix-headers/sys_select.texi: Mention that <sys/select.h> is not
19869         self-contained also on AIX 7.1.
19870
19871 2011-06-04  Jim Meyering  <meyering@redhat.com>
19872
19873         maint.mk: sc_unmarked_diagnostics: don't hard-code "error"
19874         * top/maint.mk (sc_unmarked_diagnostics): Don't hard-code the
19875         function name, "error".
19876         (_gl_translatable_diag_func_re): New configurable variable.
19877
19878 2011-06-04  Bruno Haible  <bruno@clisp.org>
19879
19880         getopt: Avoid gcc warning.
19881         * lib/getopt.c (_getopt_internal_r): Remove unused variable 'ambig'.
19882
19883 2011-06-04  Bruno Haible  <bruno@clisp.org>
19884
19885         strerror_r: Fix comments.
19886         * lib/strerror_r.c (strerror_r): Update comments after 2011-06-01
19887         commit.
19888
19889 2011-06-04  Bruno Haible  <bruno@clisp.org>
19890
19891         perror: Fix compilation error.
19892         * lib/perror.c: Don't include intprops.h, verify.h, strerror-impl.h.
19893         Undefine fprintf, not sprintf.
19894         * modules/perror (Depends-on): Remove intprops, verify.
19895
19896 2011-06-04  Bruno Haible  <bruno@clisp.org>
19897
19898         setlocale: Enable replacement on Cygwin 1.5.
19899         * m4/setlocale.m4 (gl_FUNC_SETLOCALE): Set REPLACE_SETLOCALE also on
19900         Cygwin 1.5.x.
19901         * doc/posix-functions/setlocale.texi: Mention that the problem with the
19902         LC_CTYPE category also exists on Cygwin 1.5.x.
19903
19904 2011-06-04  Bruno Haible  <bruno@clisp.org>
19905
19906         strerror-override: Don't disable symbol renamings.
19907         * lib/strerror-override.h: Include errno.h and stddef.h, not string.h.
19908         * lib/strerror-override.c: Include config.h.
19909         (strerror_override): Don't undefine.
19910
19911 2011-06-03  Bruno Haible  <bruno@clisp.org>
19912
19913         Copyright: Use LGPL 2.1 instead of LGPL 2.0.
19914         * lib/localename.h: Update copyright header.
19915         * lib/localename.c: Likewise.
19916         * lib/relocatable.h: Likewise.
19917         * lib/relocatable.c: Likewise.
19918
19919 2011-06-02  Bruno Haible  <bruno@clisp.org>
19920
19921         doc: Fix a module name.
19922         * doc/posix-functions/open.texi: Fix module name 'nonblocking'.
19923
19924 2011-06-02  Bruno Haible  <bruno@clisp.org>
19925
19926         pipe2: Remove dependency on 'nonblocking' module.
19927         * lib/pipe2.c: Include verify.h. Include nonblocking.h only if
19928         O_NONBLOCK is defined by gnulib.
19929         (pipe2) [WIN32]: If O_NONBLOCK is not defined by gnulib, verify that it
19930         is zero.
19931         * modules/pipe2 (Depends-on): Add verify. Remove nonblocking.
19932         * tests/test-pipe2.c: Include nonblocking.h only if O_NONBLOCK is
19933         defined by gnulib.
19934         (get_nonblocking_flag): New function.
19935         (main): Test O_NONBLOCK flag only if it is nonzero.
19936         * doc/glibc-functions/pipe2.texi: Mention the 'nonblocking' module.
19937
19938 2011-06-03  Jim Meyering  <meyering@redhat.com>
19939
19940         maint: three new prohibit-header-without-use rules
19941         Prohibit use of cloexec.h, posixver.h, same.h without use.
19942         * top/maint.mk (sc_prohibit_cloexec_without_use): New rule.
19943         (sc_prohibit_posixver_without_use): Likewise.
19944         (sc_prohibit_same_without_use): Likewise.
19945
19946 2011-06-02  Paul Eggert  <eggert@cs.ucla.edu>
19947
19948         allocator: 'die' routine is now given requested size
19949         * lib/allocator.h (struct allocator.die): New size arg.
19950         * lib/careadlinkat.c (careadlinkat): Pass size to 'die' function.
19951         If the actual problem is an ssize_t limitation, not a size_t or
19952         malloc failure, fail with errno==ENAMETOOLONG instead of calling 'die'.
19953
19954 2011-06-01  Eric Blake  <eblake@redhat.com>
19955
19956         strerror: drop strerror_r dependency
19957         * lib/strerror_r.c (strerror_r): Move gnulib replacement strings...
19958         * lib/strerror-override.c (strerror_override): ...to new file.
19959         * lib/strerror-override.h: Add prototype.
19960         * lib/strerror-impl.h: Delete.
19961         * lib/strerror.c (strerror): New implementation.
19962         * modules/errno (Files): Add new files.
19963         (configure.ac): Compile new file as appropriate.
19964         * modules/strerror (Files): Drop unused file.
19965         (Depends-on): Drop strerror_r-posix.
19966         * MODULES.html.sh: Document strerror_r-posix.
19967         Requested by Sam Steingold.
19968
19969         perror: call strerror_r directly
19970         * modules/perror (Files): Drop strerror-impl.h.
19971         * lib/perror.c (perror): Use our own stack buffer, rather than
19972         calling a wrapper that uses static storage.
19973         * doc/posix-functions/perror.texi (perror): Document a limitation
19974         of our replacement.
19975
19976         strerror_r: fix includes for FreeBSD
19977         * lib/strerror_r.c (includes): Use <stdlib.h> unconditionally,
19978         since we use abort on some platforms.
19979         Reported by Matthias Bolte.
19980
19981 2011-05-31  Bruno Haible  <bruno@clisp.org>
19982
19983         Fix link errors in tests: openat-die uses gettext-h.
19984         * modules/areadlinkat-tests (Makefile.am): Link test-areadlinkat
19985         against $(LIBINTL).
19986         * modules/dirent-safer-tests (Makefile.am): Link test-dirent-safer
19987         against $(LIBINTL).
19988         * modules/fdopendir-tests (Makefile.am): Link test-fdopendir against
19989         $(LIBINTL).
19990         * modules/fdutimensat-tests (Makefile.am): Link test-fdutimensat
19991         against $(LIBINTL).
19992         * modules/linkat-tests (Makefile.am): Link test-linkat against
19993         $(LIBINTL).
19994         * modules/mkfifoat-tests (Makefile.am): Link test-mkfifoat against
19995         $(LIBINTL).
19996         * modules/openat-safer-tests (Makefile.am): Link test-openat-safer
19997         against $(LIBINTL).
19998         * modules/openat-tests (Makefile.am): Link test-fchownat, test-fstatat,
19999         test-mkdirat, test-openat, test-unlinkat against $(LIBINTL).
20000         * modules/readlinkat-tests (Makefile.am): Link test-readlinkat against
20001         $(LIBINTL).
20002         * modules/symlinkat-tests (Makefile.am): Link test-symlinkat against
20003         $(LIBINTL).
20004         * modules/utimensat-tests (Makefile.am): Link test-utimensat against
20005         $(LIBINTL).
20006         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20007
20008 2011-05-31  Bruno Haible  <bruno@clisp.org>
20009
20010         Fix link errors in tests: wait-process uses gettext-h.
20011         * modules/nonblocking-pipe-tests (Makefile.am): Set
20012         test_nonblocking_pipe_main_LDADD.
20013         * modules/nonblocking-socket-tests (Makefile.am): Link
20014         test-nonblocking-socket-main against $(LIBINTL).
20015         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20016
20017 2011-05-29  Paul Eggert  <eggert@cs.ucla.edu>
20018
20019         assert-h: work around 'verify' incompatibility
20020         * lib/verify.h: Use @...@ directives, not ifdef.
20021         * modules/assert-h (assert.h): Implement the directives.
20022         (assert.h): Substitute the symbol-prefix more consistently.
20023
20024 2011-05-29  Jim Meyering  <meyering@redhat.com>
20025
20026         trim: remove three superfluous assignments
20027         * lib/trim.c (trim2): Remove three superfluous assignments
20028         and correct brace positioning.
20029
20030 2011-05-29  Bruno Haible  <bruno@clisp.org>
20031
20032         wctype-h: Avoid namespace pollution on Solaris 2.6.
20033         * lib/wctype.in.h: On Solaris, undefine 'multibyte' and a few other
20034         identifiers.
20035         * doc/posix-headers/wctype.texi: Mention the problem.
20036         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
20037
20038 2011-05-28  Jim Meyering  <meyering@redhat.com>
20039
20040         parse-datetime.y: accommodate -Wstrict-overflow
20041         * lib/parse-datetime.y (yylex): Rearrange pointer arithmetic to
20042         placate -Wstrict-overflow.
20043
20044         trim: avoid a warning from -O2 -Wstrict-overflow
20045         * lib/trim.c (trim2): Declare local to be "unsigned int", not "int".
20046
20047 2011-05-29  Bruno Haible  <bruno@clisp.org>
20048
20049         gnulib-tool: Fix bug in yesterday's commit.
20050         * gnulib-tool (func_create_testdir): Don't add gltests to $subdirs
20051         twice.
20052
20053 2011-05-29  Bruno Haible  <bruno@clisp.org>
20054
20055         Allow multiple gnulib generated include files to be combined.
20056         * gnulib-tool (func_compute_include_guard_prefix): New function.
20057         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Resolve also
20058         ${gl_include_guard_prefix} references.
20059         (func_import, func_create_testdir): Invoke
20060         func_compute_include_guard_prefix.
20061         * lib/arpa_inet.in.h: Use the @GUARD_PREFIX@ placeholder.
20062         * lib/ctype.in.h: Likewise.
20063         * lib/dirent.in.h: Likewise.
20064         * lib/errno.in.h: Likewise.
20065         * lib/fcntl.in.h: Likewise.
20066         * lib/float.in.h: Likewise.
20067         * lib/getopt.in.h: Likewise.
20068         * lib/iconv.in.h: Likewise.
20069         * lib/langinfo.in.h: Likewise.
20070         * lib/locale.in.h: Likewise.
20071         * lib/math.in.h: Likewise.
20072         * lib/netdb.in.h: Likewise.
20073         * lib/netinet_in.in.h: Likewise.
20074         * lib/poll.in.h: Likewise.
20075         * lib/pthread.in.h: Likewise.
20076         * lib/pty.in.h: Likewise.
20077         * lib/sched.in.h: Likewise.
20078         * lib/se-selinux.in.h: Likewise.
20079         * lib/search.in.h: Likewise.
20080         * lib/signal.in.h: Likewise.
20081         * lib/spawn.in.h: Likewise.
20082         * lib/stdarg.in.h: Likewise.
20083         * lib/stddef.in.h: Likewise.
20084         * lib/stdint.in.h: Likewise.
20085         * lib/stdio.in.h: Likewise.
20086         * lib/stdlib.in.h: Likewise.
20087         * lib/string.in.h: Likewise.
20088         * lib/strings.in.h: Likewise.
20089         * lib/sys_file.in.h: Likewise.
20090         * lib/sys_ioctl.in.h: Likewise.
20091         * lib/sys_select.in.h: Likewise.
20092         * lib/sys_socket.in.h: Likewise.
20093         * lib/sys_stat.in.h: Likewise.
20094         * lib/sys_time.in.h: Likewise.
20095         * lib/sys_times.in.h: Likewise.
20096         * lib/sys_uio.in.h: Likewise.
20097         * lib/sys_utsname.in.h: Likewise.
20098         * lib/sys_wait.in.h: Likewise.
20099         * lib/sysexits.in.h: Likewise.
20100         * lib/termios.in.h: Likewise.
20101         * lib/time.in.h: Likewise.
20102         * lib/unistd.in.h: Likewise.
20103         * lib/wchar.in.h: Likewise.
20104         * lib/wctype.in.h: Likewise.
20105         * modules/arpa_inet (Makefile.am): Substitute @GUARD_PREFIX@.
20106         * modules/ctype (Makefile.am): Likewise.
20107         * modules/dirent (Makefile.am): Likewise.
20108         * modules/errno (Makefile.am): Likewise.
20109         * modules/fcntl-h (Makefile.am): Likewise.
20110         * modules/float (Makefile.am): Likewise.
20111         * modules/getopt-posix (Makefile.am): Likewise.
20112         * modules/iconv-h (Makefile.am): Likewise.
20113         * modules/langinfo (Makefile.am): Likewise.
20114         * modules/locale (Makefile.am): Likewise.
20115         * modules/math (Makefile.am): Likewise.
20116         * modules/netdb (Makefile.am): Likewise.
20117         * modules/netinet_in (Makefile.am): Likewise.
20118         * modules/poll-h (Makefile.am): Likewise.
20119         * modules/pthread (Makefile.am): Likewise.
20120         * modules/pty (Makefile.am): Likewise.
20121         * modules/sched (Makefile.am): Likewise.
20122         * modules/search (Makefile.am): Likewise.
20123         * modules/selinux-h (Makefile.am): Likewise.
20124         * modules/signal (Makefile.am): Likewise.
20125         * modules/spawn (Makefile.am): Likewise.
20126         * modules/stdarg (Makefile.am): Likewise.
20127         * modules/stddef (Makefile.am): Likewise.
20128         * modules/stdint (Makefile.am): Likewise.
20129         * modules/stdio (Makefile.am): Likewise.
20130         * modules/stdlib (Makefile.am): Likewise.
20131         * modules/string (Makefile.am): Likewise.
20132         * modules/strings (Makefile.am): Likewise.
20133         * modules/sys_file (Makefile.am): Likewise.
20134         * modules/sys_ioctl (Makefile.am): Likewise.
20135         * modules/sys_select (Makefile.am): Likewise.
20136         * modules/sys_socket (Makefile.am): Likewise.
20137         * modules/sys_stat (Makefile.am): Likewise.
20138         * modules/sys_time (Makefile.am): Likewise.
20139         * modules/sys_times (Makefile.am): Likewise.
20140         * modules/sys_uio (Makefile.am): Likewise.
20141         * modules/sys_utsname (Makefile.am): Likewise.
20142         * modules/sys_wait (Makefile.am): Likewise.
20143         * modules/sysexits (Makefile.am): Likewise.
20144         * modules/termios (Makefile.am): Likewise.
20145         * modules/time (Makefile.am): Likewise.
20146         * modules/unistd (Makefile.am): Likewise.
20147         * modules/wchar (Makefile.am): Likewise.
20148         * modules/wctype-h (Makefile.am): Likewise.
20149         * modules/assert-h (Makefile.am): Replace _GL_VERIFY_H specially.
20150
20151 2011-05-29  Bruno Haible  <bruno@clisp.org>
20152
20153         assert-h: Allow multiple gnulib generated replacements to coexist.
20154         * lib/verify.h (struct _gl_verify_type): Avoid identical redefinition.
20155
20156 2011-05-29  Bruno Haible  <bruno@clisp.org>
20157
20158         argp: Allow coexistence with strerror_r-posix module.
20159         * lib/argp-help.c (__argp_failure): If strerror_r is defined as a macro
20160         (either to __xpg_strerror_r by glibc's <string.h> or to rpl_strerror_r
20161         by gnulib's <string.h> replacement), assume it has the POSIX signature,
20162         not the glibc signature.
20163
20164 2011-05-28  Bruno Haible  <bruno@clisp.org>
20165
20166         gnulib-tool: Alternative structure of testdirs, similar to --import.
20167         * gnulib-tool: New option --single-configure.
20168         (func_usage): Document it.
20169         (single_configure): New variable.
20170         (func_modules_transitive_closure_separately,
20171         func_modules_transitive_closure_separately,
20172         func_determine_use_libtests, func_modules_add_dummy_separately,
20173         func_modules_to_filelist_separately): New functions, extracted from
20174         func_import.
20175         (func_emit_tests_Makefile_am): Handle $single_configure = true case.
20176         (func_import): Use the new functions.
20177         (func_create_testdir): Set final_modules. Handle $single_configure =
20178         true case.
20179
20180 2011-05-28  Bruno Haible  <bruno@clisp.org>
20181
20182         getloadavg: Remove an unreliable safety check.
20183         * m4/getloadavg.m4 (gl_GETLOADAVG): Drop argument. Remove test whether
20184         getloadavg.c is in place.
20185         * modules/getloadavg (configure.ac): Drop argument of gl_GETLOADAVG.
20186         Reported by Sam Steingold <sds@gnu.org>.
20187
20188 2011-05-28  Bruno Haible  <bruno@clisp.org>
20189
20190         doc: Cleanup yet another file produced by texinfo.tex.
20191         * doc/Makefile (mostlyclean): Remove also gnulib.cn.
20192
20193 2011-05-28  Bruno Haible  <bruno@clisp.org>
20194
20195         Finish the conditional dependencies mechanism.
20196         * gnulib-tool: New option --no-conditional-dependencies.
20197         (func_usage): Document it. Don't mark --conditional-dependencies as
20198         experimental.
20199         (cond_dependencies): The possible values can now be true, false, empty.
20200         (func_modules_transitive_closure, func_emit_autoconf_snippets): Update.
20201         (func_import): Store setting in gnulib-cache.m4 and read it from there.
20202         * doc/gnulib-tool.texi (Conditional dependencies): New section.
20203
20204 2011-05-28  Bruno Haible  <bruno@clisp.org>
20205
20206         doc: Use a recent texinfo.tex.
20207         * doc/Makefile (tex_opts): New variable.
20208         (%.dvi, %.pdf): Pass it to texi2dvi and texi2pdf.
20209
20210 2011-05-28  Jim Meyering  <meyering@redhat.com>
20211
20212         intprops.h: adjust comment to match code change
20213         * lib/intprops.h (_GL_INT_CONVERT): Adjust comment: now that E is used
20214         only once, it *may* have side effects.  Also fix an unrelated typo.
20215         (_GL_INT_SIGNED): Likewise.
20216
20217 2011-05-26  Simon Josefsson  <simon@josefsson.org>
20218
20219         * lib/gen-uni-tables.c: Say "gen-uni-tables.c" consistently.
20220
20221 2011-05-26  Bruno Haible  <bruno@clisp.org>
20222
20223         mbsrchr: Avoid collision with system function on Interix.
20224         * lib/string.in.h (mbsrchr): Define as rpl_mbsrchr also on Interix.
20225         Reported by Markus Duft <mduft@gentoo.org>.
20226
20227 2011-05-15  James Youngman  <jay@gnu.org>
20228
20229         getopt: for ambiguous options, enumerate the possibilities.
20230         * lib/getopt.c (_getopt_internal_r): Merge glibc change printing
20231         the ambiguous options when an ambiguous prefix is given. This was
20232         http://sourceware.org/bugzilla/show_bug.cgi?id=7101.  The merged
20233         glibc change was
20234         http://sourceware.org/git/?p=glibc.git;a=commit;h=bd25564e1e98910ed69043ed6a6f884ce60e5780.
20235
20236 2011-05-25  Eric Blake  <eblake@redhat.com>
20237
20238         getcwd: work around mingw bug
20239         * lib/getcwd-lgpl.c (rpl_getcwd): Guarantee correct error.
20240         * doc/posix-functions/getcwd.texi (getcwd): Document it.
20241         Reported by Matthias Bolte.
20242
20243 2011-05-24  Paul Eggert  <eggert@cs.ucla.edu>
20244
20245         test-intprops: disable -Wtype-limits diagnostics
20246         * tests/test-intprops.c: Use a pragma to ignore -Wtype-limits
20247         diagnostics.  Otherwise, the integer overflow macros generate many
20248         diagnostics.  Reported by Jim Meyering in
20249         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
20250
20251         intprops: shorten, to pacify gcc -Woverlength-strings
20252         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_NEGATE_CONVERT):
20253         (_GL_BINARY_OP_OVERFLOW): Say "0 * (x)" rather than "(x) - (x)",
20254         so that, for example, verify (INT_MULTIPLY_OVERFLOW (...)) is less
20255         likely to run afoul of C compiler limits for string constant lengths.
20256         See <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00528.html>.
20257
20258 2011-05-24  Eric Blake  <eblake@redhat.com>
20259
20260         docs: document recently fixed glibc printf bug
20261         * doc/posix-functions/fprintf.texi (fprintf): Document it.
20262         * doc/posix-functions/printf.texi (printf): Likewise.
20263         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
20264         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
20265
20266         closein-tests: convert to init.sh
20267         * modules/closein-tests (Files): Add init.sh
20268         * tests/test-closein.sh Use it.
20269
20270         yesno-tests: convert to init.sh
20271         * modules/yesno-tests (Files): Add init.sh.
20272         * tests/test-yesno.sh: Use it.
20273
20274         atexit-tests: ensure reliable exit status
20275         * tests/test-atexit.sh: Prefer 'Exit' over 'exit'.
20276         Reported by Bruno Haible.
20277
20278 2011-05-24  Bruno Haible  <bruno@clisp.org>
20279
20280         strerror_r-posix: Respect rules for use of AC_LIBOBJ.
20281         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Move AC_LIBOBJ and
20282         gl_PREREQ_STRERROR_R invocations from here...
20283         * modules/strerror_r-posix (configure.ac): ... to here.
20284
20285 2011-05-24  Eric Blake  <eblake@redhat.com>
20286
20287         strerror_r: fix missing header
20288         * lib/strerror_r.c: Avoid compiler warning about snprintf.
20289
20290         strerror_r: fix AIX test failures
20291         * lib/strerror_r.c (strerror_r): Convert silent truncation to
20292         ERANGE failure.
20293
20294         strerror_r: fix Solaris test failures
20295         * lib/strerror_r.c (strerror_r): Partially populate buf on ERANGE
20296         failures.
20297         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
20298
20299         strerror_r: enforce POSIX recommendations
20300         * lib/strerror_r.c (safe_copy): New helper method.
20301         (strerror_r): Guarantee a non-empty string.
20302         * tests/test-strerror_r.c (main): Enhance tests to incorporate
20303         recent POSIX rulings and to match our strerror guarantees.
20304         * doc/posix-functions/strerror_r.texi (strerror_r): Document this.
20305
20306 2011-05-24  Jim Meyering  <meyering@redhat.com>
20307
20308         test-perror2.c: avoid warning about unused variable
20309         * tests/test-perror2.c (main): Remove declaration of unused "fp".
20310
20311 2011-05-24  Eric Blake  <eblake@redhat.com>
20312
20313         perror: avoid spurious test failure on HP-UX
20314         * tests/test-perror.sh: Use Exit to avoid wrong exit status.
20315
20316         tests: fix logic bug in init.sh
20317         * tests/init.sh: (gl_set_x_corrupts_stderr_): Clear for successful
20318         shell.
20319
20320 2011-05-24  Jim Meyering  <meyering@redhat.com>
20321
20322         utimensat: do not reference an out-of-scope buffer
20323         Otherwise, with __linux__ defined, "times" would point to a buffer, "ts"
20324         declared in an inner scope, yet "times" would be dereferenced outside
20325         the scope in which "ts" was valid.
20326         * lib/utimensat.c (rpl_utimensat) [__linux__]: Move the declaration
20327         of ts[2] "out/up", so that the use of aliased "times" (via
20328         "times = ts;") does not end up referencing an out-of-scope "ts"
20329
20330         opendir-safer.c: don't clobber errno; don't close negative FD
20331         * lib/opendir-safer.c (opendir_safer):
20332         [HAVE_FDOPENDIR || GNULIB_FDOPENDIR]: Don't close a negative
20333         file descriptor, and more importantly, don't clobber the
20334         offending errno value with EINVAL.  Before, upon failure
20335         of dup_safer, we would pass the negative file descriptor to
20336         fdopendir, which would clobber errno.
20337
20338 2011-05-23  Bruno Haible  <bruno@clisp.org>
20339
20340         idcache: Fix module description.
20341         * modules/idcache (Include): Set to "idcache.h".
20342
20343 2011-05-23  Paul Eggert  <eggert@cs.ucla.edu>
20344
20345         gnulib-tool: fix portability problem with MacOS sed
20346         A sed command like "/x/{s/a/b/}" is not portable; a newline is needed
20347         before the "}".  Problem reported by Leo in
20348         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00717.html>.
20349         * gnulib-tool (func_modules_transitive_closure): Insert newlines in
20350         sed_extract_condition1, sed_extract_condition2.
20351
20352 2011-05-23  Bruno Haible  <bruno@clisp.org>
20353
20354         hash: Simplify autoconf macro.
20355         * m4/hash.m4 (gl_HASH): Don't require AM_STDBOOL_H.
20356
20357 2011-05-23  Bruno Haible  <bruno@clisp.org>
20358
20359         getugroups: Fix module description.
20360         * modules/getugroups (Include): Set to "getugroups.h".
20361
20362 2011-05-23  Bruno Haible  <bruno@clisp.org>
20363
20364         linkat: Simplify autoconf macro.
20365         * m4/linkat.m4 (gl_FUNC_LINKAT): Don't require gl_FUNC_LINK.
20366
20367 2011-05-23  Bruno Haible  <bruno@clisp.org>
20368             Eric Blake  <eblake@redhat.com>
20369
20370         linkat, renameat: Update dependencies.
20371         * modules/renameat (Depends-on): Add dosname, save-cwd. Remove stpcpy.
20372         * modules/linkat (Depends-on): Likewise. Remove also readlink,
20373         symlinkat.
20374
20375 2011-05-23  Jim Meyering  <meyering@redhat.com>
20376
20377         maint.mk: more tight_scope improvements
20378         * top/maint.mk: (_gl_TS_var_match): Use $(_gl_TS_extern) here, too.
20379         (_gl_TS_headers): Define only in if-0'd block.
20380         (_gl_TS_dir): Omit the $(srcdir)/ prefix.  Sometimes we need it,
20381         sometimes we must *not* use it.  Adjust uses accordingly.
20382         (sc_tight_scope): Use much simpler grep-based test to determine
20383         whether we skip this rule.
20384
20385         maint.mk: generalize/improve the tight-scope rule
20386         * top/maint.mk: Emit a warning when the test is skipped.
20387         (_gl_TS_dir): Add $(srcdir)/ prefix.
20388         (_gl_TS_function_match): Simplify, rather than trying
20389         to enumerate common types.  Otherwise, it would fail to match an
20390         "extern unsigned char const *" declaration in idutils.
20391         (_gl_TS_extern): Do not endorse use of "XTERN", but do provide
20392         a way to support use of that type of macro.
20393         (_gl_TS_var_match): Simplify regexp.
20394         (_gl_TS_obj_files): New configurable variable.
20395         (_gl_TS_headers): Likewise.
20396
20397 2011-05-22  Paul Eggert  <eggert@cs.ucla.edu>
20398
20399         verify: fix bug when gnulib <assert.h> is also included
20400         * lib/verify.h (verify, verify_true): Define if _GL_VERIFY_H
20401         is defined, not if _GL_STATIC_ASSERT_H is not defined.
20402         Perhaps there's a better way, but this fixes the immediate problem.
20403         Problem reported by Bruno Haible in
20404         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00478.html>.
20405
20406 2011-05-22  Bruno Haible  <bruno@clisp.org>
20407
20408         xgetcwd: Simplify autoconf macro.
20409         * m4/xgetcwd.m4 (gl_XGETCWD): Don't require gl_FUNC_GETCWD.
20410
20411 2011-05-22  Bruno Haible  <bruno@clisp.org>
20412
20413         New module 'mktime-internal'.
20414         * modules/mktime-internal: New file.
20415         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Move contents to ...
20416         * m4/mktime.m4 (gl_FUNC_MKTIME_INTERNAL): New macro. Define
20417         mktime_internal as a C macro if libc has __mktime_internal.
20418         * modules/timegm (Depends-on): Add mktime-internal. Remove mktime. Add
20419         conditions.
20420         * MODULES.html.sh (Date and time <time.h>): Add mktime-internal.
20421
20422 2011-05-22  Bruno Haible  <bruno@clisp.org>
20423
20424         timegm: Correct mktime replacement statements.
20425         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Set REPLACE_MKTIME, instead of
20426         defining mktime as a C macro. This completes a 2009-07-28 commit.
20427
20428 2011-05-22  Bruno Haible  <bruno@clisp.org>
20429
20430         timegm: Simplify autoconf macro.
20431         * m4/timegm.m4 (gl_PREREQ_TIMEGM): Don't require gl_TIME_R.
20432
20433 2011-05-21  Paul Eggert  <eggert@cs.ucla.edu>
20434
20435         clock-time: change to LGPLv2+.
20436         * modules/clock-time: Change from GPL to LGPLv2+.  Actually, it's
20437         BSD-like but we have no mark for that; this is good enough for now.
20438
20439 2011-05-21  Bruno Haible  <bruno@clisp.org>
20440
20441         strerror_r: Fix comments.
20442         * lib/strerror_r.c (strerror_r): Fix comment about Cygwin and sys_nerr.
20443
20444 2011-05-21  Bruno Haible  <bruno@clisp.org>
20445
20446         relocatable-prog-wrapper: Fix possible link error.
20447         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Move determination of
20448         HAVE_SETENV and REPLACE_SETENV and AC_LIBOBJ invocation from here...
20449         (gl_FUNC_SETENV): ... to here.
20450         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL_SEPARATE): Update comment.
20451         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): Likewise.
20452
20453 2011-05-21  Bruno Haible  <bruno@clisp.org>
20454
20455         relocatable-prog-wrapper: Assume strerror() exists.
20456         * modules/relocatable-prog-wrapper (Files): Remove lib/strerror.c,
20457         m4/strerror.m4.
20458         (configure.ac): Don't invoke gl_FUNC_STRERROR_SEPARATE.
20459         * lib/relocwrapper.c: Remove mention of strerror module.
20460         * lib/strerror.c: Assume REPLACE_STRERROR is 1.
20461         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Remove macro.
20462         (gl_FUNC_STRERROR): Inline it here. Don't define REPLACE_STRERROR as a
20463         C macro.
20464
20465 2011-05-21  Bruno Haible  <bruno@clisp.org>
20466
20467         select: Simplify replacement idiom.
20468         * m4/select.m4 (gl_FUNC_SELECT): Set REPLACE_SELECT also on native
20469         Win32 platforms.
20470         * lib/sys_select.in.h (select): Simplify accordingly.
20471         * modules/select (Depends-on): Likewise.
20472
20473 2011-05-21  Bruno Haible  <bruno@clisp.org>
20474
20475         mkdir-p: Simplify autoconf macro.
20476         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't require gl_FUNC_LCHMOD,
20477         gl_FUNC_LCHOWN.
20478
20479 2011-05-21  Eric Blake  <eblake@redhat.com>
20480
20481         strerror_r: avoid clobbering strerror on cygwin
20482         * lib/strerror_r.c (strerror_r): Don't use cygwin's strerror_r;
20483         fall back instead to sys_errlist.
20484         * modules/strerror (configure.ac): Add witness.
20485         * tests/test-strerror_r.c (main): Enhance test.
20486         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20487         * tests/test-perror2.c (main): Free memory before exit.
20488
20489 2011-05-21  Bruno Haible  <bruno@clisp.org>
20490
20491         mkdtemp: Use gnulib naming conventions.
20492         * m4/mkdtemp.m4 (gl_FUNC_MKDTEMP): Renamed from gt_FUNC_MKDTEMP.
20493         * modules/mkdtemp (configure.ac): Update.
20494
20495 2011-05-20  Eric Blake  <eblake@redhat.com>
20496
20497         strerror_r: avoid corrupting errno on Solaris
20498         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Check for Solaris behavior.
20499         * doc/posix-functions/strerror_r.texi (strerror_r): Document it.
20500
20501         strerror_r: avoid compiler warning
20502         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't return a char*.
20503
20504         strerror_r: simplify AIX code
20505         * lib/strerror_r.c (strerror_r): Filter out buflen of 1 up front.
20506
20507         test-perror: avoid spurious failure on FreeBSD
20508         * modules/perror-tests (Depends-on): Add strerror, now that
20509         strerror_r no longer pulls it in.
20510
20511 2011-05-20  Bruno Haible  <bruno@clisp.org>
20512
20513         strerror_r-posix: Remove unused dependencies.
20514         * modules/strerror_r-posix (Depends-on): Remove strerror.
20515         Reported by Eric Blake.
20516
20517 2011-05-20  Paul Eggert  <eggert@cs.ucla.edu>
20518
20519         intprops: remove assumption about A|B representation
20520         * lib/intprops.h (_GL_BINARY_OP_OVERFLOW): Do not assume that A|B
20521         is a valid integer if both A and B are.  Although this is true for
20522         all known practical hosts, the C standard doesn't guarantee it,
20523         and the code need not assume it.  Also, this change may work around
20524         HP-UX 11.23 and IRIX 6.5 cc bugs reported by Bruno Haible in
20525         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00426.html>.
20526
20527 2011-05-20  Eric Blake  <eblake@redhat.com>
20528
20529         perror: work around FreeBSD bug
20530         * m4/perror.m4 (gl_FUNC_PERROR): Also replace perror if strerror_r
20531         is broken.  Move AC_LIBOBJ...
20532         * modules/perror (configure.ac): Here.
20533         * doc/posix-functions/perror.texi (perror): Document this.
20534         * tests/test-perror2.c (main): Enhance test.
20535
20536         test-perror: check for strerror interactions
20537         * tests/macros.h (STREQ): Add macro.
20538         * modules/perror-tests (Files): Add second test.
20539         * tests/test-perror2.c (main): New file.
20540         * doc/posix-functions/perror.texi (perror): Document glibc bug.
20541
20542         test-perror: rewrite to use init script
20543         * modules/perror-tests (Files): Add init.sh.
20544         * tests/test-perror.sh: Use temporary directory.
20545
20546 2011-05-20  Jim Meyering  <meyering@redhat.com>
20547
20548         maint: replace misused "a" with "an"
20549         * doc/intprops.texi: "a integer"
20550         * doc/regex.texi: "a explanation"
20551         * lib/alignof.h: "a object"
20552         * lib/argmatch.h: "a explanation"
20553         * lib/argp-help.c: "a option" and "a OPTION_DOC"
20554         * lib/stdint.in.h: "a integer"
20555         * lib/userspec.c: "a owner"
20556         * doc/gnulib.texi: Fix "a idea", and reword.
20557
20558 2011-05-19  Jim Meyering  <meyering@redhat.com>
20559
20560         maint: correct misuse of "a" and "an"
20561         * doc/regex.texi (Collating Symbol Operators): s/an close.../a close/
20562         * lib/argp-help.c: "an docum...": s/an/a/
20563         * lib/argp-parse.c: "An vector": s/An/A/
20564         * lib/execute.c: "an native": s/an/a/
20565         * lib/spawn-pipe.c: Likewise.
20566         * lib/gc.h: "an Gc_rc": s/an/a/
20567         * lib/unigbrk.in.h: "an grapheme": s/an/a/
20568         * lib/fts.c: "an stat.st_dev": s/an/a/
20569
20570 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20571
20572         intprops-tests: work around HP-UX 11.23 cc bug with constants
20573         * tests/test-intprops.c (VERIFY): New macro.
20574         (main): Use it, instead of verify, to work around the compiler bug; see
20575         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20576
20577         intprops: work around IRIX 6.5 cc bug with 0u - 0u + -1
20578         See http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html
20579         * lib/intprops.h (_GL_INT_NEGATE_CONVERT): New macro.
20580         (_GL_INT_SIGNED, _GL_INT_MAXIMUM, _GL_DIVIDE_OVERFLOW):
20581         (_GL_REMAINDER_OVERFLOW): Use it.
20582
20583         intprops-tests: revert unsigned part of previous change
20584         * tests/test-intprops.c (UINT_MAX, ULONG_MAX, UINTMAX_MAX, U0, U1):
20585         Remove; they weren't actually needed.  All uses of U0 and U1 removed,
20586         and other casts to 'unsigned int' reverted to 'u' suffixes.  See
20587         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00406.html>.
20588
20589 2011-05-19  Bruno Haible  <bruno@clisp.org>
20590
20591         strerror_r: Work around strerror_r() change in Cygwin 1.7.8.
20592         * lib/strerror_r.c (strerror_r) [CYGWIN]: Recognize when the system's
20593         strerror_r() returned without filling the buffer.
20594         Reported by Eric Blake.
20595
20596 2011-05-19  Eric Blake  <eblake@redhat.com>
20597
20598         strerror_r: guarantee unchanged errno
20599         * lib/strerror_r.c (strerror_r): Guarantee unchanged errno.
20600         * lib/strerror-impl.h (strerror): Set errno to match strerror_r
20601         failure.
20602         * tests/test-strerror_r.c (main): Enhance test.
20603
20604 2011-05-19  Bruno Haible  <bruno@clisp.org>
20605
20606         strerror_r: Reorder #if blocks.
20607         * lib/strerror_r.c (strerror_r): Reorder conditionals in the function
20608         for consistency with the previous commit.
20609
20610 2011-05-19  Bruno Haible  <bruno@clisp.org>
20611
20612         perror: Avoid clobbering the strerror buffer when possible.
20613         * lib/strerror-impl.h: New file, extracted from lib/strerror.c.
20614         * lib/strerror.c: Include it.
20615         * modules/strerror (Files): Add lib/strerror-impl.h.
20616         * lib/perror.c: Include <stdlib.h>, intprops.h, verify.h.
20617         (my_strerror): New function, defined through lib/strerror-impl.h.
20618         (perror): Use it instead of strerror.
20619         * modules/perror (Files): Add lib/strerror-impl.h.
20620         (Depends-on): Remove strerror. Add intprops, verify, strerror_r-posix.
20621
20622 2011-05-19  Eric Blake  <eblake@redhat.com>
20623
20624         strerror_r: fix on newer cygwin
20625         * lib/strerror_r.c (strerror_r): Cygwin now has
20626         __xpg_strerror_r, use it.
20627
20628 2011-05-19  Bruno Haible  <bruno@clisp.org>
20629
20630         strerror_r: Avoid clobbering the strerror buffer when possible.
20631         * lib/strerror.c: Define _NETBSD_SOURCE. Include <nl_types.h>.
20632         (sys_nerr, sys_errlist): New declarations.
20633         (strerror_r): Be careful not to clobber the strerror buffer on NetBSD,
20634         HP-UX, native Win32, IRIX, and 32-bit Solaris.
20635         * m4/strerror_r.m4 (gl_PREREQ_STRERROR_R): Test whether catgets exists.
20636
20637 2011-05-19  Bruno Haible  <bruno@clisp.org>
20638
20639         strerror_r: Fix test failure on mingw.
20640         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Don't define
20641         EXTEND_STRERROR_R.
20642         * lib/strerror_r.c (strerror_r): Test the various GNULIB_defined_*
20643         macros from errno.in.h instead.
20644
20645 2011-05-19  Eric Blake  <eblake@redhat.com>
20646
20647         strerror: relax test for Solaris
20648         * tests/test-strerror.c (main): Permit Solaris behavior.
20649         * tests/test-strerror_r.c (main): Likewise.
20650
20651         strerror: enforce POSIX ruling on strerror(0)
20652         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Expose BSD bug.
20653         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
20654         * lib/strerror_r.c (rpl_strerror_r): Work around it.
20655         * doc/posix-functions/strerror.texi (strerror): Document it.
20656         * doc/posix-functions/strerror_r.texi (strerror_r): Likewise.
20657         * tests/test-strerror.c (main): Strengthen test.
20658         * tests/test-strerror_r.c (main): Likewise.
20659
20660 2011-05-19  Paul Eggert  <eggert@cs.ucla.edu>
20661
20662         intprop-tests: port to older and more-pedantic compilers
20663         * modules/intprops-tests (Files): Add tests/macros.h.
20664         * tests/test-intprops.c: Include macros.h.
20665         (TYPE_IS_INTEGER): Use ASSERT, not verify, to test this macro, as
20666         it's no longer documented to expand to an integer constant expression.
20667         (TYPE_SIGNED): Use ASSERT, not verify, to test this macro when the
20668         argument is floating point, as it's no longer documented to expand
20669         to an integer constant expression in that case.
20670         (UINT_MAX, ULONG_MAX, UINTMAX_MAX): Redefine to work around
20671         compiler bugs reported by Bruno Haible.  See
20672         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20673         (U0, U1): New constants, to work around the same bugs.  Also,
20674         in tests, use e.g., "(unsigned int) 39" rather than "39u".
20675
20676         intprops: work around C compiler bugs
20677         * lib/intprops.h (INT_MULTIPLY_RANGE_OVERFLOW): Work around compiler
20678         bug in Sun C 5.11 2010/08/13 and other compilers; see
20679         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00401.html>.
20680
20681         intprops: TYPE_IS_INTEGER, TYPE_SIGNED not integer constant exprs
20682         * doc/intprops.texi (Integer Type Determination): Fix
20683         documentation for TYPE_IS_INTEGER: it returns an constant
20684         expression, not an integer constant expression.  Fix doc for
20685         TYPE_SIGNED: it returns an integer constant expression only if its
20686         argument is an integer type.  (TYPE_IS_INTEGER is the same, but is
20687         hardly worth documented that way....)
20688
20689 2011-05-18  Bruno Haible  <bruno@clisp.org>
20690
20691         strerror_r: Avoid clobbering the strerror buffer when possible.
20692         * lib/strerror_r.c (strerror_r): Merge the three implementations.
20693         Handle gnulib defined errno values here. When strerror() returns NULL
20694         or an empty string, return EINVAL.
20695         * lib/strerror.c (strerror): Always call strerror_r. Don't handle
20696         gnulib defined errno values here.
20697         * modules/strerror (Depends-on): Add verify, strerror_r-posix.
20698
20699 2011-05-18  Eric Blake  <eblake@redhat.com>
20700
20701         fnmatch: avoid compiler warning
20702         * lib/fnmatch_loop.c (FCT): Use correct type.
20703         Reported by Matthias Bolte.
20704
20705 2011-05-13  Jim Meyering  <meyering@redhat.com>
20706
20707         maint.mk: three new prohibit_<HDR>_without_use rules
20708         * top/maint.mk (sc_prohibit_stdio--_without_use): New rule.
20709         (sc_prohibit_stdio-safer_without_use): Likewise.
20710         (sc_prohibit_xfreopen_without_use): Likewise.
20711
20712 2011-05-17  Jim Meyering  <meyering@redhat.com>
20713
20714         announce-gen: fail if the NEWS delta is empty
20715         If there's nothing noteworthy in NEWS, then either you forgot
20716         or you shouldn't be releasing.
20717         * build-aux/announce-gen: Die if the NEWS delta is effectively empty.
20718
20719 2011-05-17  Pádraig Brady <P@draigBrady.com>
20720
20721         * top/maint.mk (_gl_tight_scope:): Automatically exclude compiler
20722         reserved symbols starting with double underscore from the check.
20723
20724 2011-05-17  Paul Eggert  <eggert@cs.ucla.edu>
20725
20726         intprops: add doc
20727         * doc/intprops.texi: New file, documenting intprops.
20728         * doc/gnulib.texi (Particular Modules): Include it.
20729
20730         verify: add doc to gnulib manual and fix example
20731         * doc/gnulib.texi (Compile-time Assertions): New node, for 'verify'.
20732         * doc/verify.texi (Compile-time Assertions): Update 'assert' doc.
20733         (Compile-time Assertions): Fix example so it can't overflow.
20734
20735 2011-05-17  Jim Meyering  <meyering@redhat.com>
20736
20737         warnings.m4: don't usurp save_CPPFLAGS variable name
20738         * m4/warnings.m4: Prefix local temporary variable name with gl_.
20739
20740         doc: fix typo
20741         * doc/gnulib-intro.texi (Target Platforms): s/is/are/
20742
20743 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20744             Bruno Haible  <bruno@clisp.org>
20745
20746         doc: Tweak recent change.
20747         * README (Portability guidelines): Tweak new text.
20748         * doc/gnulib-intro.texi (Target Platforms): Likewise. Mention
20749         Interix 6.1.
20750
20751 2011-05-16  Eric Blake  <eblake@redhat.com>
20752
20753         inttypes: avoid autoconf warning
20754         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): Only expand once.
20755         * m4/stdint.m4 (gl_STDINT_H): Likewise.
20756
20757 2011-05-16  Sam Steingold <sds@gnu.org>
20758         and Eric Blake  <eblake@redhat.com>
20759
20760         vc-list-files: accept multiple directory operands
20761         * build-aux/vc-list-files: Iterate over all remaining operands.
20762
20763 2011-05-16  Bruno Haible  <bruno@clisp.org>
20764
20765         Fix confusion regarding deprecated modules.
20766         * modules/calloc (Status, Notice): Mark module as deprecated, not
20767         obsolete.
20768         * modules/fnmatch-posix (Status, Notice): Likewise.
20769         * modules/getdate (Status, Notice): Likewise.
20770         * modules/getopt (Status, Notice): Likewise.
20771         * modules/malloc (Status, Notice): Likewise.
20772         * modules/pipe (Status, Notice): Likewise.
20773         * modules/realloc (Status, Notice): Likewise.
20774         * modules/rename-dest-slash (Status, Notice): Likewise.
20775         * modules/unictype/bidicategory-all (Status, Notice): Likewise.
20776         * modules/unictype/bidicategory-byname (Status, Notice): Likewise.
20777         * modules/unictype/bidicategory-name (Status, Notice): Likewise.
20778         * modules/unictype/bidicategory-of (Status, Notice): Likewise.
20779         * modules/unictype/bidicategory-test (Status, Notice): Likewise.
20780
20781 2011-05-16  Bruno Haible  <bruno@clisp.org>
20782
20783         doc: List the target platforms.
20784         * doc/gnulib-intro.texi (Target Platforms): New section.
20785         * doc/gnulib.texi (Introduction): Update menu.
20786         * README (Portability guidelines): Refer to the new section. Update
20787         statement about oldest supported environment. Remove rationale why
20788         <errno.h>, <string.h>, <stdlib.h> are assumed. Update example of an
20789         unportable C89 function.
20790         Reported by Bastien Roucariès <roucaries.bastien@gmail.com> and
20791         Charles Wilson <cygwin@cwilson.fastmail.fm>. Feedback from Paul Eggert.
20792
20793 2011-05-16  Paul Eggert  <eggert@cs.ucla.edu>
20794
20795         * build-aux/bootstrap (gnulib_tool): Handle symlink timestamps better.
20796
20797 2011-05-13  Paul Eggert  <eggert@cs.ucla.edu>
20798
20799         intprops-tests: new module
20800         * modules/intprops-tests, tests/test-intprops.c: New files.
20801
20802         intprops: add safe, portable integer overflow checking
20803         * lib/intprops.h (_GL_INT_CONVERT, _GL_INT_TWOS_COMPLEMENT):
20804         (_GL_INT_SIGNED, _GL_INT_MINIMUM, _GL_INT_MAXIMUM):
20805         (_GL_SIGNED_INT_MINIMUM, INT_ADD_RANGE_OVERFLOW):
20806         (INT__SUBTRACT__RANGE_OVERFLOW, INT_NEGATE_RANGE_OVERFLOW):
20807         (INT_MULTIPLY_RANGE_OVERFLOW, INT_REMAINDER_RANGE_OVERFLOW):
20808         (INT_LEFT_SHIFT_RANGE_OVERFLOW, _GL_ADD_OVERFLOW):
20809         (_GL__SUBTRACT__OVERFLOW, _GL_MULTIPLY_OVERFLOW, _GL_DIVIDE_OVERFLOW):
20810         (_GL_REMAINDER_OVERFLOW, _GL_UNSIGNED_NEG_MULTIPLE, INT_ADD_OVERFLOW):
20811         (INT__SUBTRACT__OVERFLOW, INT_NEGATE_OVERFLOW, INT_MULTIPLY_OVERFLOW):
20812         (INT_DIVIDE_OVERFLOW, INT_REMAINDER_OVERFLOW):
20813         (INT_LEFT_SHIFT_OVERFLOW, _GL_BINARY_OP_OVERFLOW): New macros.
20814
20815 2011-05-12  James Youngman  <jay@gnu.org>
20816
20817         Add a test for glibc's Bugzilla bug #12378.
20818         * m4/fnmatch.m4: Use gnulib's fnmatch if the system fnmatch
20819         doesn't allow the literal matching of a lone "[" (which is
20820         required by POSIX).
20821         * tests/test-fnmatch.c (main): Check that "[/b" matches itself.
20822
20823 2011-05-11  Ulrich Drepper  <drepper@gmail.com>
20824
20825         Sync glibc change fixing Bugzilla bug #12378.
20826         * lib/fnmatch_loop.c (FCT): When matching '[' keep track of
20827         beginning and fall back to matching as normal character if the
20828         string ends before the matching ']' is found.  This is what POSIX
20829         requires.
20830
20831 2011-05-13  Eric Blake  <eblake@redhat.com>
20832
20833         getcwd-lgpl: relax test for FreeBSD
20834         * doc/posix-functions/getcwd.texi (getcwd): Document portability
20835         issue.
20836         * tests/test-getcwd-lgpl.c (main): Relax test.
20837         Reported by Matthias Bolte.
20838
20839 2011-05-11  Eric Blake  <eblake@redhat.com>
20840
20841         test-fflush: silence compiler warning
20842         * tests/test-fflush.c (main): Don't fclose a NULL pointer.
20843
20844 2011-05-11  Bruno Haible  <bruno@clisp.org>
20845
20846         canonicalize, canonicalize-lgpl: Avoid crash dialog on MacOS X.
20847         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Add GL_NOCRASH code.
20848         * modules/canonicalize (Depends-on): Add 'nocrash'.
20849         * modules/canonicalize-lgpl (Depends-on): Likewise.
20850         * doc/posix-functions/realpath.texi: Update platforms list.
20851         Reported by Ryan Schmidt <ryandesign@macports.org>.
20852
20853 2011-05-11  Bruno Haible  <bruno@clisp.org>
20854
20855         group-member: Declare function in <unistd.h>.
20856         * lib/unistd.in.h (group_member): New declaration.
20857         * lib/group-member.h: Remove file.
20858         * lib/group-member.c: Include <unistd.h> instead of group-member.h.
20859         * tests/test-unistd-c++.cc: Check signature of group_member.
20860         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Require
20861         gl_UNISTD_H_DEFAULTS. Set HAVE_GROUP_MEMBER.
20862         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether group_member is declared.
20863         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GROUP_MEMBER,
20864         HAVE_GROUP_MEMBER.
20865         * modules/group-member (Files): Remove lib/group-member.h.
20866         (Depends-on): Add unistd. Specify conditions.
20867         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
20868         (Include): Change to <unistd.h>.
20869         * modules/unistd (Makefile.am): Substitute GNULIB_GROUP_MEMBER,
20870         HAVE_GROUP_MEMBER.
20871         * NEWS: Mention the change.
20872         * lib/euidaccess.c: Don't include group-member.h.
20873
20874 2011-05-11  Bruno Haible  <bruno@clisp.org>
20875
20876         group-member: Document module.
20877         * doc/glibc-functions/group_member.texi: Mention the 'group-member'
20878         module.
20879
20880 2011-05-11  Bruno Haible  <bruno@clisp.org>
20881
20882         fclose: Fix mistake earlier today.
20883         * lib/fclose.c (rpl_fclose): Don't assume that EOF < 0.
20884
20885 2011-05-11  Eric Blake  <eblake@redhat.com>
20886
20887         fclose: preserve fflush errors
20888         * lib/fclose.c (rpl_fclose): Don't lose fflush errors.
20889         Reported by Jim Meyering.
20890
20891         bootstrap: support a prereq of 'rpcgen -' on RHEL5
20892         * build-aux/bootstrap (check_versions): When no specific version
20893         is required, merely check that the app produces an exit status
20894         that indicates its existence.
20895
20896         maint.mk: drop redundant check
20897         * top/maint.mk (sc_the_the): Delete; sc_prohibit_doubled_word does
20898         the same but better.
20899
20900 2011-05-11  Bruno Haible  <bruno@clisp.org>
20901
20902         fclose: Fix possible link error.
20903         * lib/fclose.c (rpl_fclose): Invoke _gl_unregister_fd, not
20904         unregister_shadow_fd. Improve comments.
20905         * lib/sockets.c (close_fd_maybe_socket): Add comments. Reported by
20906         Eric Blake.
20907
20908 2011-05-11  Jim Meyering  <meyering@redhat.com>
20909
20910         maint.mk: improve "can not" detection and generalize rule name
20911         * top/maint.mk (sc_prohibit_undesirable_word_seq): Renamed from
20912         sc_prohibit_can_not, since we'll probably add a few more word pairs here.
20913         Use the same technique as in sc_prohibit_doubled_word, so that
20914         we recognize "can not" also when the words are separated by a newline.
20915         Suggested by Eric Blake.
20916         (perl_filename_lineno_text_): Define.  Factored out of...
20917         (prohibit_doubled_word_): ...here.  Use the new definition.
20918         (prohibit_undesirable_word_seq_): New var.  Use it here, too.
20919         (prohibit_undesirable_word_seq_RE_): New overridable variable.
20920         (ignore_undesirable_word_sequence_RE_): New overridable variable.
20921
20922 2011-05-10  Eric Blake  <eblake@redhat.com>
20923
20924         fclose: avoid double close race when possible
20925         * lib/fclose.c (rpl_fclose): Rewrite to avoid double-close race on
20926         all but WINDOWS_SOCKETS.
20927
20928 2011-05-10  Bastien Roucariès  <roucaries.bastien@gmail.com>
20929
20930         openat: correct new comment
20931         * lib/openat-proc.c (openat_proc_name): Correct the comment.
20932
20933 2011-05-10  Jim Meyering  <meyering@redhat.com>
20934
20935         openat: add comments
20936         * lib/openat-proc.c (openat_proc_name): Add comments,
20937         mostly from Eric Blake.
20938
20939 2011-05-09  Eric Blake  <eblake@redhat.com>
20940
20941         openat: reduce syscalls in first probe of /proc
20942         * lib/openat-proc.c (openat_proc_name): Require that /proc/self/fd
20943         be a directory.  Simplify the probe for .. bugs.
20944         * modules/openat (Depends-on): Drop same-inode.
20945         Reported by Bastien ROUCARIES.
20946
20947 2011-05-09  Jim Meyering  <meyering@redhat.com>
20948
20949         maint.mk: change semantics/name of tight_scope variables
20950         * top/maint.mk (_gl_TS_var_match, _gl_TS_function_match):
20951         Rename variables to align with semantics that make them more useful.
20952
20953         maint.mk: tweak new rule's name not to impinge
20954         * top/maint.mk (_gl_tight_scope): Rename from sc_tight_scope-0.
20955         (sc_tight_scope): Use new rule name rather than $@-0.
20956
20957         maint.mk: add a syntax-check rule to ensure tightly-scoped symbols
20958         * top/maint.mk (sc_tight_scope): New rule.
20959         (sc_tight_scope-0): New rule, ifdef'd out.
20960         (_gl_TS_dir): Default.
20961         (_gl_TS_unmarked_extern_functions, _gl_TS_function_regex): Define.
20962         (_gl_TS_unmarked_extern_vars, _gl_TS_var_regex): Define.
20963
20964 2011-05-09  Simon Josefsson  <simon@josefsson.org>
20965
20966         * m4/gc.m4: Remove gl_PREREQ_GC (not used).  Reported by Bruno
20967         Haible <bruno@clisp.org>.
20968
20969 2011-05-08  Bruno Haible  <bruno@clisp.org>
20970
20971         Comments.
20972         * m4/isnanf.m4: Add comment.
20973         * m4/isnanl.m4: Likewise.
20974
20975 2011-05-08  Bruno Haible  <bruno@clisp.org>
20976
20977         glob: Remove obsolete macro.
20978         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): Remove macro.
20979
20980 2011-05-08  Paul Eggert  <eggert@cs.ucla.edu>
20981
20982         intprops: Sun C 5.11 supports __typeof__
20983         * lib/intprops.h (_GL_HAVE___TYPEOF__): New macro, which is set
20984         for either GCC 2 or later, as before, or for Sun C 5.11 or later,
20985         which is new.
20986         (_GL_SIGNED_TYPE_OR_EXPR): Use it.
20987
20988         intprops: switch to usual gnulib indenting and naming
20989         * lib/intprops.h (_GL_INTPROPS_H): Rename from GL_INTPROPS_H.
20990         (_GL_SIGNED_TYPE_OR_EXPR): Rename from signed_type_or_expr__.
20991
20992         * tests/test-inttostr.c (IS_TIGHT): Adjust to above renaming.
20993
20994 2011-05-08  Jim Meyering  <meyering@redhat.com>
20995
20996         maint.mk: suppress "Entering/Leaving directory" diag in announcement
20997         * top/maint.mk (release-prep): Use make's --no-print-directory
20998         option when generating the announcement.  This eliminates the
20999         pesky "make[2]: Entering/Leaving directory" diagnostics in the
21000         generated announcement template.
21001
21002 2011-05-08  Bruno Haible  <bruno@clisp.org>
21003
21004         tzset: Fix gettimeofday wrapper on Solaris 2.6.
21005         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): When invoking
21006         gl_GETTIMEOFDAY_REPLACE_LOCALTIME, also set REPLACE_GETTIMEOFDAY.
21007
21008 2011-05-07  Paul Eggert  <eggert@cs.ucla.edu>
21009
21010         ignore-value, verify: Omit include files from lib_SOURCES.
21011         * modules/ignore-value, modules/verify (Makefile.am):
21012         Don't put ignore-value.h, or verify.h, into lib_SOURCES, as
21013         that leads Automake to duplicate use of am__objects_... variables
21014         in Makefile.in.  See
21015         <http://lists.gnu.org/archive/html/emacs-devel/2011-05/msg00257.html>.
21016
21017 2011-05-07  Bruno Haible  <bruno@clisp.org>
21018
21019         fclose: Simplify autoconf macro.
21020         * m4/fclose.m4 (gl_FUNC_FCLOSE): Assume gl_FUNC_FFLUSH_STDIN is
21021         defined.
21022
21023 2011-05-07  Bruno Haible  <bruno@clisp.org>
21024
21025         canonicalize-lgpl: Fix autoconf macro ordering bug.
21026         * m4/canonicalize.m4 (gl_CANONICALIZE_LGPL): Require
21027         gl_STDLIB_H_DEFAULTS.
21028
21029 2011-05-06  Eric Blake  <eblake@redhat.com>
21030
21031         maintainer-makefile: make sc_po_check easier to tune
21032         * top/maint.mk (sc_po_check): Allow overriding which non-VC files
21033         to probe for strings, such as an alternate location for gnulib.
21034
21035         fclose: guarantee behavior on seekable stdin
21036         * modules/fclose (Depends-on): Add fflush.
21037         * doc/posix-functions/fclose.texi (fclose): Document this.
21038         * tests/test-fclose.c (main): Make test for this unconditional.
21039
21040 2011-05-06  Bruno Haible  <bruno@clisp.org>
21041
21042         fflush, fpurge: Relicense under LGPLv2+.
21043         * modules/fflush (License): Change from LGPLv3+ to LGPLv2+.
21044         * modules/fpurge (License): Likewise.
21045         With permission from Eric Blake and Jim Meyering.
21046         Suggested by Eric Blake.
21047
21048 2011-05-06  Karl Berry  <karl@gnu.org>
21049
21050         * MODULES.html.sh (func_all_modules): remove exit.
21051
21052 2011-05-06  Jim Meyering  <meyering@redhat.com>
21053
21054         maint.mk: use info-gnu@ as the default only for a stable release
21055         * top/maint.mk: Don't default to info-gnu for alpha or beta releases.
21056         For those, just use $(PACKAGE_BUGREPORT), in which case we don't have
21057         to set the Mail-Followup-To header.  Prompted by Reuben Thomas in
21058         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26488
21059
21060 2011-05-05  Paul Eggert  <eggert@cs.ucla.edu>
21061
21062         assert-h: new module, which supports C1X-style static_assert
21063         * lib/assert.in.h, m4/assert_h.m4, modules/assert-h: New files.
21064         * lib/verify.h: Revamp so that this can be copied into assert.h,
21065         while retaining the ability to use it standalone as before.
21066         Rename private identifiers so as not to encroach on the
21067         standard C namespace, since this is now used by assert.h.
21068         (_GL_VERIFY_TYPE): New macro, factoring out differing parts of
21069         the old verify_true.
21070         (_GL_VERIFY_TRUE): New macro, with much of the contents of
21071         the old verify_true.  Use _GL_VERIFY_TYPE.
21072         (_GL_VERIFY): New macro, with much of the contents of the old verify.
21073         (static_assert): New macro, if _GL_STATIC_ASSERT_H
21074         is defined and static_assert is not; _GL_STATIC_ASSERT_H is
21075         defined when this file is copied into the replacement assert.h.
21076         (_Static_assert): New macro, if _GL_STATIC_ASSERT_H is defined
21077         and _Static_assert is not built in.
21078         (verify_true, verify): Define only if _GL_STATIC_ASSERT_H is not
21079         defined, and use the new macros mentioned above.
21080         * doc/posix-headers/assert.texi: Document this.
21081
21082 2011-05-05  Bruno Haible  <bruno@clisp.org>
21083
21084         fclose, fflush: Respect rules for use of AC_LIBOBJ.
21085         * m4/fflush.m4 (gl_FUNC_FFLUSH): Don't invoke gl_REPLACE_FCLOSE.
21086         * m4/fclose.m4 (gl_FUNC_FCLOSE): Invoke gl_FUNC_FFLUSH_STDIN and
21087         gl_REPLACE_FCLOSE here.
21088         * modules/fflush (Depends-on): Remove fclose.
21089         * doc/posix-functions/fclose.texi: Mention module 'fflush' only in
21090         combination with module 'fclose'.
21091
21092 2011-05-05  Bruno Haible  <bruno@clisp.org>
21093
21094         fflush, fseeko: Respect rules for use of AC_LIBOBJ.
21095         * m4/fflush.m4 (gl_FUNC_FFLUSH_STDIN): New macro, extracted from
21096         gl_FUNC_FFLUSH.
21097         (gl_FUNC_FFLUSH): Use it.
21098         (gl_REPLACE_FFLUSH): Don't invoke gl_REPLACE_FSEEKO.
21099         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Invoke gl_FUNC_FFLUSH_STDIN and
21100         gl_REPLACE_FSEEKO here.
21101
21102 2011-05-05  Bruno Haible  <bruno@clisp.org>
21103
21104         tzset: Relicense under LGPL.
21105         * modules/tzset (License): Change to LGPL.
21106         No agreement needed; it's a no-op.
21107
21108         strtoimax, strtoumax: Relicense under LGPL.
21109         * modules/strtoimax (License): Change to LGPL.
21110         * modules/strtoumax (License): Likewise.
21111         With permission from Jim Meyering, Paul Eggert:
21112         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00124.html>
21113         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00109.html>
21114
21115         getgroups: Relicense under LGPL.
21116         * modules/getgroups (License): Change to LGPL.
21117         With permission from Jim Meyering, Paul Eggert, Eric Blake:
21118         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
21119         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
21120         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21121
21122         nanosleep: Relicense under LGPL.
21123         * modules/nanosleep (License): Change to LGPL.
21124         With permission from Jim Meyering, Paul Eggert, Eric Blake, Bruno
21125         Haible:
21126         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00111.html>
21127         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00148.html>
21128         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21129         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
21130
21131         futimens: Relicense under LGPL.
21132         * modules/futimens (License): Change to LGPL.
21133         With permission from Eric Blake:
21134         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21135
21136         fflush: Relicense under LGPL.
21137         * modules/fflush (License): Change to LGPL.
21138         With permission from Eric Blake, Bruno Haible, Jim Meyering:
21139         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00138.html>
21140         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00131.html>
21141         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00133.html>
21142
21143         tmpfile: Relicense under LGPL.
21144         * modules/tmpfile (License): Change to LGPL.
21145         With permission from Ben Pfaff:
21146         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
21147
21148         isfinite: Relicense under LGPL.
21149         * modules/isfinite (License): Change to LGPL.
21150         With permission from Ben Pfaff, Bruno Haible:
21151         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00185.html>
21152         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00130.html>
21153
21154         acosl..tanl: Relicense under LGPL.
21155         * modules/acosl (License): Change to LGPL.
21156         * modules/asinl (License): Likewise.
21157         * modules/atanl (License): Likewise.
21158         * modules/cosl (License): Likewise.
21159         * modules/expl (License): Likewise.
21160         * modules/logl (License): Likewise.
21161         * modules/sinl (License): Likewise.
21162         * modules/sqrtl (License): Likewise.
21163         * modules/tanl (License): Likewise.
21164         Source code originally from glibc and Paolo Bonzini. Agreements:
21165         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00137.html>
21166         <http://lists.gnu.org/archive/html/bug-gnulib/2011-05/msg00128.html>
21167
21168 2011-05-05  Bruno Haible  <bruno@clisp.org>
21169
21170         signal: Define sighandler_t.
21171         * lib/signal.in.h (sighandler_t): New type.
21172         * m4/signal_h.m4 (gl_SIGNAL_H): Require AC_USE_SYSTEM_EXTENSIONS. Test
21173         whether sighandler_t is defined.
21174         (gl_SIGNAL_H_DEFAULTS): Initialize HAVE_SIGHANDLER_T.
21175         * modules/signal (Depends-on): Add extensions.
21176         (Makefile.am): Substitute HAVE_SIGHANDLER_T.
21177         * doc/posix-headers/signal.texi: Mention the problem with sighandler_t.
21178         Suggested by Markus Steinborn <gnugv_maintainer@yahoo.de>.
21179
21180 2011-05-05  Eric Blake  <eblake@redhat.com>
21181
21182         maint: remove useless REPLACE_*_H macros
21183         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Delete.
21184         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
21185         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
21186         * m4/poll_h.m4 (gl_REPLACE_POLL_H): Likewise.
21187         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
21188         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
21189         * m4/wchar_h.m4 (gl_REPLACE_WCHAR_H): Likewise.
21190         * m4/btowc.m4: Update callers.
21191         * m4/dirfd.m4: Likewise.
21192         * m4/duplocale.m4: Likewise.
21193         * m4/fchdir.m4: Likewise.
21194         * m4/fdopendir.m4: Likewise.
21195         * m4/inet_ntop.m4: Likewise.
21196         * m4/inet_pton.m4: Likewise.
21197         * m4/ioctl.m4: Likewise.
21198         * m4/mbrlen.m4: Likewise.
21199         * m4/mbrtowc.m4: Likewise.
21200         * m4/mbsinit.m4: Likewise.
21201         * m4/mbsnrtowcs.m4: Likewise.
21202         * m4/mbsrtowcs.m4: Likewise.
21203         * m4/poll.m4: Likewise.
21204         * m4/setlocale.m4: Likewise.
21205         * m4/wcrtomb.m4: Likewise.
21206         * m4/wcsnrtombs.m4: Likewise.
21207         * m4/wcsrtombs.m4: Likewise.
21208         * m4/wctob.m4: Likewise.
21209         * m4/wcwidth.m4: Likewise.
21210         * modules/posix_spawn: Likewise.
21211         * modules/posix_spawn_file_actions_addclose: Likewise.
21212         * modules/posix_spawn_file_actions_adddup2: Likewise.
21213         * modules/posix_spawn_file_actions_addopen: Likewise.
21214         * modules/posix_spawn_file_actions_destroy: Likewise.
21215         * modules/posix_spawn_file_actions_init: Likewise.
21216         * modules/posix_spawnattr_destroy: Likewise.
21217         * modules/posix_spawnattr_getflags: Likewise.
21218         * modules/posix_spawnattr_getpgroup: Likewise.
21219         * modules/posix_spawnattr_getschedparam: Likewise.
21220         * modules/posix_spawnattr_getschedpolicy: Likewise.
21221         * modules/posix_spawnattr_getsigdefault: Likewise.
21222         * modules/posix_spawnattr_getsigmask: Likewise.
21223         * modules/posix_spawnattr_init: Likewise.
21224         * modules/posix_spawnattr_setflags: Likewise.
21225         * modules/posix_spawnattr_setpgroup: Likewise.
21226         * modules/posix_spawnattr_setschedparam: Likewise.
21227         * modules/posix_spawnattr_setschedpolicy: Likewise.
21228         * modules/posix_spawnattr_setsigdefault: Likewise.
21229         * modules/posix_spawnattr_setsigmask: Likewise.
21230         * modules/posix_spawnp: Likewise.
21231
21232 2011-05-04  Reuben Thomas  <rrt@sc3d.org>
21233
21234         Add option to do-release-commit-and-tag to specify branch.
21235         * build-aux/do-release-commit-and-tag: Add --branch.
21236
21237 2011-05-03  Bruno Haible  <bruno@clisp.org>
21238
21239         Avoid unnecessary compilation units, through conditional dependencies.
21240         * modules/accept (Depends-on): Add conditions to the dependencies.
21241         * modules/acosl (Depends-on): Likewise.
21242         * modules/argz (Depends-on): Likewise.
21243         * modules/asinl (Depends-on): Likewise.
21244         * modules/atanl (Depends-on): Likewise.
21245         * modules/atoll (Depends-on): Likewise.
21246         * modules/bind (Depends-on): Likewise.
21247         * modules/btowc (Depends-on): Likewise.
21248         * modules/canonicalize-lgpl (Depends-on): Likewise.
21249         * modules/ceil (Depends-on): Likewise.
21250         * modules/ceilf (Depends-on): Likewise.
21251         * modules/ceill (Depends-on): Likewise.
21252         * modules/chdir-long (Depends-on): Likewise.
21253         * modules/chown (Depends-on): Likewise.
21254         * modules/close (Depends-on): Likewise.
21255         * modules/connect (Depends-on): Likewise.
21256         * modules/cosl (Depends-on): Likewise.
21257         * modules/dirfd (Depends-on): Likewise.
21258         * modules/dprintf (Depends-on): Likewise.
21259         * modules/dprintf-posix (Depends-on): Likewise.
21260         * modules/error (Depends-on): Likewise.
21261         * modules/euidaccess (Depends-on): Likewise.
21262         * modules/expl (Depends-on): Likewise.
21263         * modules/faccessat (Depends-on): Likewise.
21264         * modules/fchdir (Depends-on): Likewise.
21265         * modules/fclose (Depends-on): Likewise.
21266         * modules/fcntl (Depends-on): Likewise.
21267         * modules/fdopendir (Depends-on): Likewise.
21268         * modules/fflush (Depends-on): Likewise.
21269         * modules/floor (Depends-on): Likewise.
21270         * modules/floorf (Depends-on): Likewise.
21271         * modules/floorl (Depends-on): Likewise.
21272         * modules/fnmatch (Depends-on): Likewise.
21273         * modules/fopen (Depends-on): Likewise.
21274         * modules/fprintf-posix (Depends-on): Likewise.
21275         * modules/frexp (Depends-on): Likewise.
21276         * modules/frexp-nolibm (Depends-on): Likewise.
21277         * modules/frexpl (Depends-on): Likewise.
21278         * modules/frexpl-nolibm (Depends-on): Likewise.
21279         * modules/fseek (Depends-on): Likewise.
21280         * modules/fsusage (Depends-on): Likewise.
21281         * modules/ftell (Depends-on): Likewise.
21282         * modules/ftello (Depends-on): Likewise.
21283         * modules/futimens (Depends-on): Likewise.
21284         * modules/getcwd (Depends-on): Likewise.
21285         * modules/getcwd-lgpl (Depends-on): Likewise.
21286         * modules/getdelim (Depends-on): Likewise.
21287         * modules/getdomainname (Depends-on): Likewise.
21288         * modules/getgroups (Depends-on): Likewise.
21289         * modules/gethostname (Depends-on): Likewise.
21290         * modules/getline (Depends-on): Likewise.
21291         * modules/getlogin_r (Depends-on): Likewise.
21292         * modules/getopt-posix (Depends-on): Likewise.
21293         * modules/getpeername (Depends-on): Likewise.
21294         * modules/getsockname (Depends-on): Likewise.
21295         * modules/getsockopt (Depends-on): Likewise.
21296         * modules/getsubopt (Depends-on): Likewise.
21297         * modules/getusershell (Depends-on): Likewise.
21298         * modules/glob (Depends-on): Likewise.
21299         * modules/grantpt (Depends-on): Likewise.
21300         * modules/iconv_open (Depends-on): Likewise.
21301         * modules/iconv_open-utf (Depends-on): Likewise.
21302         * modules/inet_ntop (Depends-on): Likewise.
21303         * modules/inet_pton (Depends-on): Likewise.
21304         * modules/ioctl (Depends-on): Likewise.
21305         * modules/isapipe (Depends-on): Likewise.
21306         * modules/isfinite (Depends-on): Likewise.
21307         * modules/isinf (Depends-on): Likewise.
21308         * modules/lchown (Depends-on): Likewise.
21309         * modules/ldexpl (Depends-on): Likewise.
21310         * modules/link (Depends-on): Likewise.
21311         * modules/linkat (Depends-on): Likewise.
21312         * modules/listen (Depends-on): Likewise.
21313         * modules/logl (Depends-on): Likewise.
21314         * modules/lstat (Depends-on): Likewise.
21315         * modules/mbrlen (Depends-on): Likewise.
21316         * modules/mbrtowc (Depends-on): Likewise.
21317         * modules/mbsinit (Depends-on): Likewise.
21318         * modules/mbsnrtowcs (Depends-on): Likewise.
21319         * modules/mbsrtowcs (Depends-on): Likewise.
21320         * modules/mbtowc (Depends-on): Likewise.
21321         * modules/memcmp (Depends-on): Likewise.
21322         * modules/mkdir (Depends-on): Likewise.
21323         * modules/mkdtemp (Depends-on): Likewise.
21324         * modules/mkfifo (Depends-on): Likewise.
21325         * modules/mkfifoat (Depends-on): Likewise.
21326         * modules/mknod (Depends-on): Likewise.
21327         * modules/mkostemp (Depends-on): Likewise.
21328         * modules/mkostemps (Depends-on): Likewise.
21329         * modules/mkstemp (Depends-on): Likewise.
21330         * modules/mkstemps (Depends-on): Likewise.
21331         * modules/mktime (Depends-on): Likewise.
21332         * modules/nanosleep (Depends-on): Likewise.
21333         * modules/open (Depends-on): Likewise.
21334         * modules/openat (Depends-on): Likewise.
21335         * modules/perror (Depends-on): Likewise.
21336         * modules/poll (Depends-on): Likewise.
21337         * modules/popen (Depends-on): Likewise.
21338         * modules/posix_spawn (Depends-on): Likewise.
21339         * modules/posix_spawn_file_actions_addclose (Depends-on): Likewise.
21340         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
21341         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
21342         * modules/posix_spawnp (Depends-on): Likewise.
21343         * modules/pread (Depends-on): Likewise.
21344         * modules/printf-posix (Depends-on): Likewise.
21345         * modules/ptsname (Depends-on): Likewise.
21346         * modules/putenv (Depends-on): Likewise.
21347         * modules/pwrite (Depends-on): Likewise.
21348         * modules/readline (Depends-on): Likewise.
21349         * modules/readlink (Depends-on): Likewise.
21350         * modules/readlinkat (Depends-on): Likewise.
21351         * modules/recv (Depends-on): Likewise.
21352         * modules/recvfrom (Depends-on): Likewise.
21353         * modules/regex (Depends-on): Likewise.
21354         * modules/remove (Depends-on): Likewise.
21355         * modules/rename (Depends-on): Likewise.
21356         * modules/renameat (Depends-on): Likewise.
21357         * modules/rmdir (Depends-on): Likewise.
21358         * modules/round (Depends-on): Likewise.
21359         * modules/roundf (Depends-on): Likewise.
21360         * modules/roundl (Depends-on): Likewise.
21361         * modules/rpmatch (Depends-on): Likewise.
21362         * modules/select (Depends-on): Likewise.
21363         * modules/send (Depends-on): Likewise.
21364         * modules/sendto (Depends-on): Likewise.
21365         * modules/setenv (Depends-on): Likewise.
21366         * modules/setlocale (Depends-on): Likewise.
21367         * modules/setsockopt (Depends-on): Likewise.
21368         * modules/shutdown (Depends-on): Likewise.
21369         * modules/sigaction (Depends-on): Likewise.
21370         * modules/signbit (Depends-on): Likewise.
21371         * modules/sigprocmask (Depends-on): Likewise.
21372         * modules/sinl (Depends-on): Likewise.
21373         * modules/sleep (Depends-on): Likewise.
21374         * modules/snprintf (Depends-on): Likewise.
21375         * modules/snprintf-posix (Depends-on): Likewise.
21376         * modules/socket (Depends-on): Likewise.
21377         * modules/sprintf-posix (Depends-on): Likewise.
21378         * modules/sqrtl (Depends-on): Likewise.
21379         * modules/stat (Depends-on): Likewise.
21380         * modules/strchrnul (Depends-on): Likewise.
21381         * modules/strdup-posix (Depends-on): Likewise.
21382         * modules/strerror (Depends-on): Likewise.
21383         * modules/strerror_r-posix (Depends-on): Likewise.
21384         * modules/strndup (Depends-on): Likewise.
21385         * modules/strnlen (Depends-on): Likewise.
21386         * modules/strptime (Depends-on): Likewise.
21387         * modules/strsep (Depends-on): Likewise.
21388         * modules/strsignal (Depends-on): Likewise.
21389         * modules/strstr-simple (Depends-on): Likewise.
21390         * modules/strtod (Depends-on): Likewise.
21391         * modules/strtoimax (Depends-on): Likewise.
21392         * modules/strtok_r (Depends-on): Likewise.
21393         * modules/strtoumax (Depends-on): Likewise.
21394         * modules/symlink (Depends-on): Likewise.
21395         * modules/symlinkat (Depends-on): Likewise.
21396         * modules/tanl (Depends-on): Likewise.
21397         * modules/tcgetsid (Depends-on): Likewise.
21398         * modules/tmpfile (Depends-on): Likewise.
21399         * modules/trunc (Depends-on): Likewise.
21400         * modules/truncf (Depends-on): Likewise.
21401         * modules/truncl (Depends-on): Likewise.
21402         * modules/uname (Depends-on): Likewise.
21403         * modules/unlink (Depends-on): Likewise.
21404         * modules/unlockpt (Depends-on): Likewise.
21405         * modules/unsetenv (Depends-on): Likewise.
21406         * modules/usleep (Depends-on): Likewise.
21407         * modules/utimensat (Depends-on): Likewise.
21408         * modules/vasprintf (Depends-on): Likewise.
21409         * modules/vdprintf (Depends-on): Likewise.
21410         * modules/vdprintf-posix (Depends-on): Likewise.
21411         * modules/vfprintf-posix (Depends-on): Likewise.
21412         * modules/vprintf-posix (Depends-on): Likewise.
21413         * modules/vsnprintf (Depends-on): Likewise.
21414         * modules/vsnprintf-posix (Depends-on): Likewise.
21415         * modules/vsprintf-posix (Depends-on): Likewise.
21416         * modules/wcrtomb (Depends-on): Likewise.
21417         * modules/wcscasecmp (Depends-on): Likewise.
21418         * modules/wcscspn (Depends-on): Likewise.
21419         * modules/wcsdup (Depends-on): Likewise.
21420         * modules/wcsncasecmp (Depends-on): Likewise.
21421         * modules/wcsnrtombs (Depends-on): Likewise.
21422         * modules/wcspbrk (Depends-on): Likewise.
21423         * modules/wcsrtombs (Depends-on): Likewise.
21424         * modules/wcsspn (Depends-on): Likewise.
21425         * modules/wcsstr (Depends-on): Likewise.
21426         * modules/wcstok (Depends-on): Likewise.
21427         * modules/wcswidth (Depends-on): Likewise.
21428         * modules/wctob (Depends-on): Likewise.
21429         * modules/wctomb (Depends-on): Likewise.
21430         * modules/wctype (Depends-on): Likewise.
21431         * modules/wcwidth (Depends-on): Likewise.
21432         * modules/write (Depends-on): Likewise.
21433
21434 2011-05-03  Bruno Haible  <bruno@clisp.org>
21435
21436         Support for conditional dependencies.
21437         * doc/gnulib.texi (Module description): Document the syntax of
21438         conditional dependencies.
21439         * gnulib-tool: New option --conditional-dependencies.
21440         (func_usage): Document it.
21441         (cond_dependencies): New variable.
21442         (func_get_automake_snippet_conditional,
21443         func_get_automake_snippet_unconditional): New functions, extracted from
21444         func_get_automake_snippet.
21445         (func_get_automake_snippet): Use them.
21446         (sed_first_32_chars): New variable.
21447         (func_module_shellfunc_name): New function.
21448         (func_module_shellvar_name): New function.
21449         (func_module_conditional_name): New function.
21450         (func_uncond_add_module, func_conddep_add_module, func_cond_module_p,
21451         func_cond_module_condition): New functions.
21452         (func_modules_transitive_closure): Add support for conditional
21453         dependencies.
21454         (func_emit_lib_Makefile_am): For a conditional module, enclose the
21455         conditional automake snippet in an automake conditional.
21456         (func_emit_autoconf_snippets): Emit shell functions that contain the
21457         code for conditional modules.
21458         (func_import, func_create_testdir): Update specification.
21459
21460 2011-05-03  Eric Blake  <eblake@redhat.com>
21461
21462         test-getaddrinfo: report error information
21463         * tests/test-getaddrinfo.c (simple): Use err outside of dbprintf.
21464
21465 2011-05-03  Jim Meyering  <meyering@redhat.com>
21466
21467         bootstrap: avoid build failure when $GZIP is set
21468         * build-aux/bootstrap (check_versions): Do not treat $GZIP as a
21469         program name.  If defined at all, it is supposed to list gzip options.
21470         Reported by Alan Curry in http://debbugs.gnu.org/8609
21471
21472 2011-05-03  Reuben Thomas  <rrt@sc3d.org>
21473
21474         readme-release: new module with release instructions
21475         * modules/readme-release: New module.
21476         * top/README-release: New file, from coreutils, grep, diffutils.
21477         * MODULES.html.sh (Support for maintaining and releasing): Add it.
21478
21479 2011-05-02  Eric Blake  <eblake@redhat.com>
21480
21481         fflush: also replace fclose when fixing fflush
21482         * modules/fflush (Depends-on): Add fclose.
21483         * m4/fflush.m4 (gl_FUNC_FFLUSH): Also replace fclose.
21484         * lib/fclose.c (rpl_fclose): Don't cause spurious failures on
21485         memstreams with no backing fd.
21486         * doc/posix-functions/fclose.texi (fclose): Document the use of
21487         fflush module to fix the bug.
21488         * tests/test-fclose.c (main): Relax test when fclose is used in
21489         isolation.
21490
21491         fclose: add some tests
21492         * modules/fclose-tests: New test module.
21493         * tests/test-fclose.c: New file.
21494         * doc/posix-functions/fclose.texi (fclose): Document the bug.
21495
21496         fclose: reduced dependencies
21497         * modules/fclose (Depends-on): Switch from fflush/fseeko to
21498         simpler lseek.
21499         * lib/fclose.c (rpl_fclose): Likewise.
21500         Reported by Simon Josefsson.
21501
21502         exit: drop remaining clients
21503         * modules/argmatch (Depends-on): Replace exit with stdlib.
21504         * modules/copy-file (Depends-on): Likewise.
21505         * modules/execute (Depends-on): Likewise.
21506         * modules/exitfail (Depends-on): Likewise.
21507         * modules/obstack (Depends-on): Likewise.
21508         * modules/pagealign_alloc (Depends-on): Likewise.
21509         * modules/pipe-filter-gi (Depends-on): Likewise.
21510         * modules/pipe-filter-ii (Depends-on): Likewise.
21511         * modules/savewd (Depends-on): Likewise.
21512         * modules/spawn-pipe (Depends-on): Likewise.
21513         * modules/wait-process (Depends-on): Likewise.
21514         * modules/xsetenv (Depends-on): Likewise.
21515         * modules/chdir-long (Depends-on): Add stdlib, for EXIT_FAILURE.
21516         * modules/git-merge-changelog (Depends-on): Likewise.
21517         * modules/long-options (Depends-on): Likewise.
21518         * modules/pt_chown (Depends-on): Likewise.
21519         * modules/sysexits (Depends-on): Likewise.
21520
21521         freading: relax license from LGPLv3+ to LGPLv2+
21522         * modules/freading (License): Relax LGPL version.
21523
21524 2011-05-02  Bruno Haible  <bruno@clisp.org>
21525
21526         fchdir: Remove unused dependencies.
21527         * modules/fchdir (Depends-on): Remove include_next.
21528
21529 2011-05-02  Bruno Haible  <bruno@clisp.org>
21530
21531         gnulib-tool: Refactor.
21532         * gnulib-tool (func_emit_autoconf_snippet): New function, extracted
21533         from func_emit_autoconf_snippets.
21534         (func_emit_autoconf_snippets): Use it.
21535
21536 2011-05-02  Simon Josefsson  <simon@josefsson.org>
21537
21538         * NEWS: Document removal of 'exit'.
21539         * modules/exit: Remove file.
21540
21541 2011-05-01  Bruno Haible  <bruno@clisp.org>
21542
21543         Update DEPENDENCIES.
21544         * DEPENDENCIES (gettext): Recommend the newest release.
21545         Reported by Simon Josefsson.
21546
21547 2011-05-01  Bruno Haible  <bruno@clisp.org>
21548
21549         gnulib-tool: Reduce code duplication.
21550         * gnulib-tool (func_emit_autoconf_snippets): New function.
21551         (func_import, func_create_testdir): Use it.
21552
21553 2011-04-30  Eric Blake  <eblake@redhat.com>
21554
21555         fclose: don't fail on non-seekable input stream
21556         * modules/fclose (Depends-on): Add freading, fflush, fseeko.
21557         * lib/fclose.c (rpl_fclose): Skip fflush for non-seekable input,
21558         since fflush is allowed to fail in that case.
21559
21560 2011-04-30  Bruno Haible  <bruno@clisp.org>
21561
21562         dup3: cleanup
21563         * lib/dup3.c: Remove old code, leftover from 2009-12-16.
21564
21565 2011-04-30  Bruno Haible  <bruno@clisp.org>
21566
21567         netdb: Make it work in C++ mode.
21568         * lib/netdb.in.h (struct addrinfo): In C++, define as a C struct.
21569         (getaddrinfo, freeaddrinfo, getnameinfo): Use macros from c++defs
21570         module.
21571         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Invoke
21572         gl_MODULE_INDICATOR_FOR_TESTS.
21573         * modules/netdb-tests (Depends-on): Add netdb-c++-tests.
21574         * modules/netdb-c++-tests: New file.
21575         * tests/test-netdb-c++.cc: New file.
21576
21577 2011-04-30  Bruno Haible  <bruno@clisp.org>
21578
21579         New modules 'vfscanf', 'vscanf'.
21580         * modules/vfscanf: New file.
21581         * modules/vscanf: New file.
21582         * m4/stdio_h.m4 (gl_STDIO_H): Don't set GNULIB_VFSCANF, GNULIB_VSCANF
21583         here.
21584         * doc/posix-functions/vfscanf.texi: Mention module 'vfscanf'.
21585         * doc/posix-functions/vscanf.texi: Mention module 'vscanf'.
21586
21587 2011-04-30  Bruno Haible  <bruno@clisp.org>
21588
21589         passfd: Add comments.
21590         * lib/passfd.c: Add comments about platforms.
21591
21592 2011-04-30  Bruno Haible  <bruno@clisp.org>
21593
21594         sys_uio: Make <sys/uio.h> self-contained.
21595         * lib/sys_uio.in.h: Include <sys/types.h> before <sys/uio.h>.
21596         * doc/posix-headers/sys_uio.texi: Mention the OpenBSD problem.
21597
21598 2011-04-30  Bruno Haible  <bruno@clisp.org>
21599
21600         sys_socket: Ensure 'struct iovec' definition.
21601         * lib/sys_socket.in.h: Include <sys/uio.h> also on platforms that have
21602         <sys/socket.h>.
21603         * doc/posix-headers/sys_socket.texi: Mention the OpenBSD problem.
21604
21605 2011-04-30  Bruno Haible  <bruno@clisp.org>
21606
21607         sys_uio: Protect definition of 'struct iovec'.
21608         * lib/sys_uio.in.h (struct iovec): Avoid redefinition. In C++, define
21609         it as a C struct.
21610
21611 2011-04-30  Bruno Haible  <bruno@clisp.org>
21612
21613         manywarnings: fix indentation
21614         * m4/manywarnings.m4: Indent by 2 spaces consistently.
21615
21616 2011-04-30  Pádraig Brady <P@draigBrady.com>
21617
21618         manywarnings: add -Wno-missing-field-initializers if needed.
21619         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add the above
21620         option if it's needed to allow initialization with { 0, }
21621
21622 2011-04-29  Reuben Thomas  <rrt@sc3d.org>
21623
21624         announce-gen: cosmetic improvement
21625         * build-aux/announce-gen: Strip any leading ./ from the NEWS file name.
21626
21627 2011-04-29  Jim Meyering  <meyering@redhat.com>
21628
21629         vc-list-files: indent with spaces, not TABs
21630         * build-aux/vc-list-files: Convert leading TABs to spaces,
21631         to match the style of most other files in gnulib.
21632
21633         announce-gen: indent with spaces, not TABs
21634         * build-aux/announce-gen: Convert all TABs to spaces, to match
21635         the style of most other files in gnulib.
21636
21637 2011-04-29  Eric Blake  <eblake@redhat.com>
21638
21639         quotearg: avoid uninitialized variable use
21640         * lib/quotearg.c (quoting_options_from_style): Initialize
21641         remaining fields, and ensure that custom styles are only used via
21642         quoting_options rather than quoting_style.
21643
21644 2011-04-29  Jim Meyering  <meyering@redhat.com>
21645
21646         maint.mk: remove unused VC-tag variable
21647         * top/maint.mk (VC-tag): Remove unused variable.
21648
21649 2011-04-29  Bruno Haible  <bruno@clisp.org>
21650
21651         netdb: fix gai_strerror replacements
21652         * lib/netdb.in.h: Add _GL_FUNCDECL_RPL definitions.
21653         * modules/netdb: Substitute it.
21654
21655 2011-04-29  Jim Meyering  <meyering@redhat.com>
21656
21657         test-getcwd.c: avoid new set-but-not-used warning
21658         * tests/test-getcwd.c (test_abort_bug): Exit nonzero for any problem,
21659         not just the glibc/abort one that getcwd-abort-bug.m4 detects.
21660         * m4/getcwd-abort-bug.m4: Update this now-duplicated code to match,
21661         and adjust the code that sets gl_cv_func_getcwd_abort_bug accordingly.
21662
21663         test-hash.c: avoid a new shadowing warning
21664         * tests/test-hash.c (main): Don't shadow "dup".
21665
21666 2011-04-28  Eric Blake  <eblake@redhat.com>
21667
21668         getaddrinfo: fix gai_strerror signature
21669         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Detect broken signatures,
21670         and work around mingw with UNICODE defined.
21671         (gl_PREREQ_GETADDRINFO): Drop redundant decl check.
21672         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Add witness.
21673         * modules/netdb (Makefile.am): Substitute it.
21674         * lib/netdb.in.h (gai_strerror): Declare replacement.
21675         * lib/gai_strerror.c (rpl_gai_strerror): Fix signature.
21676         * doc/posix-functions/gai_strerror.texi (gai_strerror): Document
21677         the fix.
21678
21679         getsockopt: avoid compiler warning
21680         * lib/getsockopt.c (rpl_getsockopt): Add a cast for mingw.
21681         Reported by Matthias Bolte.
21682
21683         tests: drop unused link dependency
21684         * modules/areadlinkat-tests (Makefile.am): Drop stale LDADD.
21685         * modules/dirent-safer-tests (Makefile.am): Likewise.
21686         * modules/fdopendir-tests (Makefile.am): Likewise.
21687         * modules/mkfifoat-tests (Makefile.am): Likewise.
21688         * modules/openat-safer-tests (Makefile.am): Likewise.
21689         * modules/openat-tests (Makefile.am): Likewise.
21690         * modules/readlinkat-tests (Makefile.am): Likewise.
21691         * modules/symlinkat-tests (Makefile.am): Likewise.
21692         * modules/linkat-tests (Makefile.am): Likewise.
21693         (Depends-on): Switch to filenamecat-lgpl.
21694         * modules/fdutimensat-tests (test_fdutimensat_LDADD): Drop unused
21695         LIBINTL.
21696         * modules/utimensat-tests (test_utimensat_LDADD): Likewise.
21697         * tests/test-linkat.c (main): Don't require xalloc.
21698
21699         hash, mgetgroups: drop xalloc dependency
21700         * lib/hash.c (includes): Adjust includes.
21701         * lib/mgetgroups.c (includes): Likewise.
21702         (xgetgroups): Move...
21703         * lib/xgetgroups.c: ...to new file.
21704         * lib/mgetgroups.h (xgetgroups): Make declaration conditional.
21705         * modules/xgetgroups: New file, split from...
21706         * modules/mgetgroups: ...here.
21707         (Depends-on): Add xalloc-oversized.
21708         * modules/hash (Depends-on): Likewise.
21709         * modules/hash-tests (Depends-on): Drop xalloc.
21710         (test_hash_LDADD): Drop unused library.
21711         * tests/test-hash.c (main): Break xalloc dependency.
21712         (includes): Drop unused include.
21713
21714         xalloc-oversized: new module
21715         * modules/xalloc-oversized: New module.
21716         * modules/xalloc (Depends-on): Add it.
21717         * lib/xalloc.h (xalloc_oversized): Move...
21718         * lib/xalloc-oversized.h: ...into new file.
21719
21720         utimecmp: drop dependency on xmalloc
21721         * lib/utimecmp.c (utimecmp): Work even if hash table cache fails
21722         due to memory pressure.
21723         * modules/utimecmp (Depends-on): Drop xalloc.
21724
21725 2011-04-27  Eric Blake  <eblake@redhat.com>
21726
21727         getcwd: fix mingw bugs
21728         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Detect one mingw bug.
21729         * doc/posix-functions/getcwd.texi (getcwd): Document the problems.
21730         * lib/getcwd-lgpl.c (rpl_getcwd): Fix return type.
21731
21732 2011-04-27  Bruno Haible  <bruno@clisp.org>
21733
21734         mkstemps: Ensure declaration on MacOS X 10.5.
21735         * lib/stdlib.in.h: Include <unistd.h> when mkstemps is requested.
21736         * doc/glibc-functions/mkstemps.texi: Document header file problem on
21737         MacOS X.
21738
21739 2011-04-27  Bruno Haible  <bruno@clisp.org>
21740
21741         mkstemp: More documentation.
21742         * doc/posix-functions/mkstemp.texi: Document header file problem on
21743         MacOS X.
21744
21745 2011-04-27  Bruno Haible  <bruno@clisp.org>
21746
21747         mkstemp: Tweak configure message when cross-compiling.
21748         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): When cross-compiling, qualify the
21749         result as a guess.
21750
21751 2011-04-27  Bruno Haible  <bruno@clisp.org>
21752
21753         clean-temp: Clarify what it does.
21754         * lib/clean-temp.h: Add more comments.
21755         * doc/posix-functions/mkstemp.texi: Tweak reference to 'clean-temp'
21756         module.
21757         * doc/glibc-functions/mkostemp.texi: Mention 'clean-temp' here too.
21758         * doc/glibc-functions/mkstemps.texi: Likewise.
21759         * doc/glibc-functions/mkostemps.texi: Likewise.
21760
21761 2011-04-27  Eric Blake  <eblake@redhat.com>
21762
21763         fchdir: avoid extra chdir and fix test
21764         * modules/fchdir (Depends-on): Add dosname, filenamecat-lgpl,
21765         getcwd-lgpl.
21766         * lib/fchdir.c (get_name): Any absolute name will do; it does not
21767         have to be canonical.
21768         (canonicalize_file_name): Drop unused macro.
21769         * m4/dup2.m4 (gl_REPLACE_DUP2): Ensure dup2 is replaced.
21770
21771         filenamecat-lgpl: fix licence
21772         * modules/filenamecat-lgpl (License): Mark as LGPLv2+, as intended
21773         when it was first created.
21774
21775         linkat, renameat: add missing dependency
21776         * modules/linkat (Depends-on): Require getcwd-lgpl.
21777         * modules/renameat (Depends-on): Likewise.
21778
21779         tests: reduce dependencies
21780         * tests/test-linkat.c (main): Use lighter-weight getcwd.
21781         * tests/test-renameat.c (main): Likewise.
21782         * modules/linkat-tests (Depends-on): Relax dependency.
21783         * modules/renameat-tests (Depends-on): Likewise.
21784         * modules/fchdir-tests (Depends-on): Likewise.  Also make cloexec
21785         dependency explicit.
21786
21787         save-cwd: reduce default dependency
21788         * modules/save-cwd (Depends-on): Use getcwd-lgpl.
21789         * lib/save-cwd.c: Update comments.
21790         * NEWS: Document the semantic change.
21791
21792         getcwd: enhance tests
21793         * tests/test-getcwd-lgpl.c: New file, taken from...
21794         * tests/test-getcwd.c: ...old contents.  Rewrite this file to
21795         repeat long path stress tests from m4 probe.
21796         * modules/getcwd-lgpl-tests: New module.
21797         * modules/getcwd-tests (Depends-on): Depend on lgpl tests.
21798         * m4/getcwd-abort-bug.m4: Update comment.
21799         * m4/getcwd-path-max.m4: Likewise.
21800
21801         getcwd-lgpl: new module
21802         * modules/getcwd-lgpl: New module.
21803         * lib/getcwd-lgpl.c: New file.
21804         * doc/posix-functions/getcwd.texi (getcwd): Document it.
21805         * MODULES.html.sh (lacking POSIX:2008): Likewise.
21806         * modules/getcwd (configure.ac): Set C witness.
21807         * m4/getcwd.m4 (gl_FUNC_GETCWD_LGPL): New macro.
21808
21809         getcwd: tweak comments
21810         * m4/getcwd-abort-bug.m4: Fix comments.
21811         * m4/getcwd-path-max.m4: Likewise.
21812         * m4/getcwd.m4: Likewise.
21813
21814 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21815         and Eric Blake  <eblake@redhat.com>
21816
21817         mkstemp: replace if system version uses wrong permissions
21818         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Add test for non-owner
21819         read/write mode bits set in file created by mkstemp.
21820         * doc/posix-functions/mkstemp.texi (mkstemp): Document the fix.
21821
21822 2011-04-27  Eric Blake  <eblake@redhat.com>
21823
21824         passfd: avoid compiler warning
21825         * lib/passfd.c (sendfd, recvfd): Avoid shadowing names.
21826         Reported by Laine Stump.
21827
21828 2011-04-27  J.T. Conklin  <jtc@acorntoolworks.com>  (tiny change)
21829
21830         * gnulib-tool: change "join -a 2" to "join -a2", the latter is
21831         required by the NetBSD (and perhaps other 4.4BSD derived) join.
21832
21833 2011-04-27  Reuben Thomas  <rrt@sc3d.org>
21834         and Eric Blake  <eblake@redhat.com>
21835
21836         mkstemp: mention clean-temp module
21837         * lib/mkstemp.c: Add comment.
21838         * doc/posix-functions/mkstemp.texi (mkstemp): Likewise.
21839
21840 2011-04-26  Paul Eggert  <eggert@cs.ucla.edu>
21841
21842         inttypes: also provide default values for 32-bit tests
21843         * m4/inttypes.m4 (gl_INTTYPES_H_DEFAULTS): Also provide default values
21844         for INT32_MAX_LT_INTMAX_MAX and for UINT32_MAX_LT_UINTMAX_MAX.
21845
21846 2011-04-25  Paul Eggert  <eggert@cs.ucla.edu>
21847
21848         strtoumax: remove dependency on strtoimax
21849         This is like the strtoull change of yesterday.
21850         * modules/strtoumax (Files): Add lib/strtoimax.c.
21851         (Depends-on): Remove strtoimax and add verify.
21852
21853         inttypes-incomplete: new module
21854         * m4/inttypes.m4 (gl_INTTYPES_INCOMPLETE): New macro, containing
21855         all but the PRI* and SCN* parts of gl_INTTYPES_H.
21856         (gl_INTTYPES_PRI_SCN): New macro, containing the PRI* and SCN* parts
21857         of gl_INTTYPES_H.
21858         (gl_INTTYPES_H): Rewrite in terms of these new macros.
21859         (gl_INTTYPES_H_DEFAULTS): Provide defaults for the PRI* and SCN*
21860         parts, in case gl_INTTYPE_PRI_SCN is not invoked.
21861         * modules/imaxabs, modules/imaxdiv, modules/strtoimax (Depends-on):
21862         * modules/strtoumax, modules/xstrtol (Depends-on):
21863         Depend on inttypes-incomplete, not inttypes.
21864         * modules/inttypes-incomplete: New module, containing the contents
21865         of the old modules/inttypes module, except that the Files: section
21866         omits m4/inttypes-pri.m4, and the configure.ac section invokes
21867         gl_INTTYPES_INCOMPLETE rather than gl_INTTYPES_H.
21868         * modules/inttypes (Files): Remove lib/inttypes.in.h, m4/inttypes.m4.
21869         (Depends-on): Depend only on inttypes-incomplete.
21870         (Makefile.am): Remove everything; this is now in inttypes-incomplete.
21871
21872         inttypes: omit now-redundant strtoimax and strtoumax work
21873         * m4/inttypes.m4 (gl_INTTYPES_H): Do not check for strtoimax and
21874         strtoumax decls; gl_FUNC_STRTOIMAX and gl_FUNC_STRTOUMAX now do this.
21875
21876         strtoimax, strtoumax: simplify, port to HP-UX 11.00 64-bit
21877         This supports apps that need pointers to strtoimax and strtoumax,
21878         and ports to HP-UX 11.00 64.bit, which has macros that expand to
21879         nonexistent functions.  See
21880         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00241.html>
21881         et seq.
21882         * lib/inttypes.in.h (strtoimax, strtoumax): #undef before declaring.
21883         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Don't check whether it's
21884         a macro.
21885         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
21886
21887 2011-04-25  Simon Josefsson  <simon@josefsson.org>
21888
21889         * modules/gnumakefile (configure.ac): Replace TAB with SPCs.
21890
21891 2011-04-25  Bruno Haible  <bruno@clisp.org>
21892
21893         strtol, strtoul: Mark modules as obsolete.
21894         * modules/strtol (Status, Notice): New sections.
21895         * modules/strtoul (Status, Notice): New sections.
21896
21897 2011-04-25  Bruno Haible  <bruno@clisp.org>
21898
21899         strtod: Remove check for strtod, unless supporting old platforms.
21900         * modules/strtod-obsolete: New file.
21901         * m4/strtod-obsolete.m4: New file.
21902         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't check whether strtod is declared
21903         if gl_FUNC_STRTOD_OBSOLETE is not also defined.
21904         * modules/strtod (Depends-on): Add strtod-obsolete.
21905         * doc/posix-functions/strtod.texi: Mention module strtod-obsolete.
21906
21907 2011-04-25  Bruno Haible  <bruno@clisp.org>
21908
21909         strcase: Make module obsolete.
21910         * modules/strcase (Status, Notice): New sections.
21911
21912 2011-04-25  Bruno Haible  <bruno@clisp.org>
21913
21914         dup2: Remove check for dup2, unless supporting old obsolete platforms.
21915         * modules/dup2-obsolete: New file.
21916         * m4/dup2-obsolete.m4: New file.
21917         * m4/dup2.m4 (gl_FUNC_DUP2): Don't check whether dup2 exists if
21918         gl_FUNC_DUP2_OBSOLETE is not also defined.
21919         * modules/dup2 (Depends-on): Add dup2-obsolete.
21920         * doc/posix-functions/dup2.texi: Mention module dup2-obsolete.
21921
21922 2011-04-25  Bruno Haible  <bruno@clisp.org>
21923
21924         strnlen: Avoid memchr related link error on old obsolete platforms.
21925         * modules/memchr-obsolete: New file.
21926         * m4/memchr-obsolete.m4: New file.
21927         * m4/memchr.m4 (gl_FUNC_MEMCHR): Don't check whether memchr exists if
21928         gl_FUNC_MEMCHR_OBSOLETE is not also defined.
21929         * modules/memchr (Depends-on): Add memchr-obsolete.
21930         * modules/strnlen (Depends-on): Likewise.
21931         * doc/posix-functions/memchr.texi: Mention module memchr-obsolete.
21932
21933 2011-04-25  Jim Meyering  <meyering@redhat.com>
21934
21935         maint.mk: makefile_at_at_check extend and clean up
21936         * top/maint.mk (sc_makefile_at_at_check): Check *.mk files
21937         in addition to */Makefile.am.
21938         Exempt legitimate uses of @VAR@ notation, e.g.,
21939         MAKEINFO = env LANG= LC_MESSAGES= LC_ALL= LANGUAGE= @MAKEINFO@
21940         Remove obsolete coreutils-specific comment.
21941         Prompted by discussion here:
21942         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/26074
21943
21944 2011-04-24  Paul Eggert  <eggert@cs.ucla.edu>
21945
21946         strtoul: remove dependency on strtol
21947         This is so that 'configure' need not check for strtol merely because
21948         the application needs strtoul.
21949         * modules/strtoul (Files): Add lib/strtol.c.
21950         (Depends-on): Remove strtol.
21951
21952         strtoull: remove dependency on strtoul
21953         This is like the strtoll change.
21954         * modules/strtoull (Files): Add lib/strtol.c, lib/strtoul.c.
21955         (Depends-on): Remove strtoul.
21956
21957         strtoll: remove dependency on strtol
21958         This is so that 'configure' need not check for strtol merely because
21959         the application needs strtoll.
21960         * modules/strtoll (Files): Add lib/strtol.c.
21961         (Depends-on): Remove strtol.
21962
21963 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21964
21965         inttypes: Move some configure check to module 'imaxdiv'.
21966         * m4/imaxdiv.m4 (gl_FUNC_IMAXDIV): Require gl_INTTYPES_H_DEFAULTS
21967         instead of gl_INTTYPES_H.  Check for imaxdiv decl here.
21968         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxdiv decl here.
21969
21970 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21971
21972         inttypes: Move some configure check to module 'imaxabs'.
21973         * m4/imaxabs.m4 (gl_FUNC_IMAXABS): Require gl_INTTYPES_H_DEFAULTS
21974         instead of gl_INTTYPES_H.  Check for imaxabs decl here.
21975         * m4/inttypes.m4 (gl_INTTYPES_H): Don't check for imaxabs decl here.
21976
21977 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21978
21979         inttypes: Remove configure tests that are not needed since 2009-12-31.
21980         * m4/inttypes.m4 (gl_INTTYPES_H): Remove determination of
21981         gl_cv_header_working_inttypes_h.
21982
21983 2011-04-22  Paul Eggert  <eggert@cs.ucla.edu>
21984
21985         * modules/strnlen (Depends-on): Remove memchr.
21986         The strnlen implementation doesn't need the memchr module's fixes; see
21987         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00237.html>.
21988
21989         strtol: remove dependency on wchar
21990         * lib/strtol.c: Include <wchar.h> only if USE_WIDE_CHAR is defined.
21991         * modules/strtol (Depends-on): Remove wchar.
21992
21993 2011-04-21  Eric Blake  <eblake@redhat.com>
21994
21995         passfd: fix test regression on Linux
21996         * modules/passfd-tests (configure.ac): Correct socketpair check.
21997
21998         passfd: speed up configure and drop unused code
21999         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Rename...
22000         * m4/passfd.m4 (gl_PASSFD): ...to something more fitting of
22001         its use.  Drop test for setting unused HAVE_UNIXSOCKET_SCM_RIGHTS.
22002         Instead of probing at configure for unix_scm_rights_bsd44_way,
22003         instead probe for CMSG_FIRSTHDR at compile time.  Simplify BSD 4.3
22004         check to a struct member probe.
22005         * lib/passfd.c (includes): Nothing here requires <sys/un.h>.
22006         (sendfd, recvfd): Update preprocessor checks.
22007         * modules/passfd (Files): Reflect rename, and drop unused file.
22008         (Depends-on): Drop unused dependency.
22009
22010         passfd: allow compilation on mingw
22011         * modules/sys_socket (Depends-on): Add sys_uio.
22012         * lib/sys_socket.in.h [!@HAVE_SYS_SOCKET_H@]: Use it for struct
22013         iovec and a minimal struct msghdr.
22014         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Detect recvmsg/sendmsg.
22015         * tests/test-sys_socket.c (main): Enhance test.
22016         * lib/passfd.c (include): Drop <sys/uio.h>; <sys/sockets.h> is
22017         guaranteed to provide what we need.
22018         (sendmsg, recvmsg): Declare fallbacks if we lack sendmsg.
22019         * modules/passfd-tests (Depends-on): Add sys_wait.
22020         * tests/test-passfd.c (main): Skip test on mingw, for now.
22021         * doc/posix-headers/sys_socket.texi (sys/socket.h): Document the
22022         partial 'struct msghdr' implementation.
22023
22024         sys_uio: new module
22025         * modules/sys_uio: New module.
22026         * modules/sys_uio-tests: Likewise.
22027         * lib/sys_uio.in.h: New file.
22028         * m4/sys_uio_h.m4: Likewise.
22029         * tests/test-sys_uio.c: Likewise.
22030         * doc/posix-headers/sys_uio.texi (sys/uio.h): Document it.
22031         * MODULES.html.sh (systems lacking POSIX:2008): Likewise.
22032
22033 2011-04-20  Jim Meyering  <meyering@redhat.com>
22034
22035         useless-if-before-free: avoid false-positive
22036         * build-aux/useless-if-before-free: Adjust regexp for the non-brace
22037         disjunct so that it too requires a terminating ";".  Without that,
22038         this script would identify as useless one statement from gcc that
22039         was not:
22040           if (aligned_ptr)
22041             free (((void **) aligned_ptr) [-1]);
22042
22043 2011-04-20  Giuseppe Scrivano  <gscrivano@gnu.org>
22044
22045         doc: update users.txt.
22046         * users.txt: Add barcode.
22047
22048 2011-04-19  Bruno Haible  <bruno@clisp.org>
22049
22050         ioctl: Remove link dependency on native Windows.
22051         * lib/fd-hook.h: Renamed from lib/close-hook.h.
22052         (gl_close_fn, gl_ioctl_fn): New types.
22053         (struct fd_hook): Renamed from struct close_hook. Change type of
22054         private_close_fn field. Add private_ioctl_fn field.
22055         (close_hook_fn): Add parameter for primary close method.
22056         (execute_close_hooks, execute_all_close_hooks): Likewise.
22057         (ioctl_hook_fn): New type.
22058         (execute_ioctl_hooks, execute_all_ioctl_hooks): New declarations.
22059         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
22060         argument.
22061         (unregister_fd_hook): Renamed from unregister_close_hook.
22062         * lib/fd-hook.c: Renamed from lib/close-hook.c.
22063         Don't include <unistd.h>.
22064         (close): Remove undef.
22065         (anchor): Update.
22066         (execute_close_hooks): Add argument for primary close method.
22067         (execute_all_close_hooks): Likewise.
22068         (execute_ioctl_hooks, execute_all_ioctl_hooks): New functions.
22069         (register_fd_hook): Renamed from register_close_hook. Add ioctl_hook
22070         argument. Allow each argument to be NULL.
22071         (unregister_fd_hook): Renamed from unregister_close_hook.
22072         * lib/close.c (rpl_close): Pass 'close' function pointer to
22073         execute_all_close_hooks.
22074         * lib/ioctl.c: Include <errno.h>, fd-hook.h.
22075         (primary_ioctl): New function.
22076         (ioctl): Don't call ioctlsocket here. Instead, call
22077         execute_all_ioctl_hooks.
22078         * lib/sockets.c (close_fd_maybe_socket): Add argument for primary
22079         close method.
22080         (ioctl_fd_maybe_socket): New function, with code from lib/ioctl.c.
22081         (fd_sockets_hook): Renamed from close_sockets_hook.
22082         (gl_sockets_startup, gl_sockets_cleanup): Update.
22083         * modules/fd-hook: Renamed from modules/close-hook. Update.
22084         * modules/close (Depends-on): Add fd-hook, remove close-hook.
22085         * modules/sockets (Depends-on): Likewise.
22086         * modules/ioctl (Depends-on): Add fd-hook.
22087         * tests/test-nonblocking.c (main): Use GNULIB_TEST_SOCKET, not
22088         GNULIB_SOCKET.
22089
22090 2011-04-19  Bruno Haible  <bruno@clisp.org>
22091
22092         Move the support of O_NONBLOCK in open() to the 'open' module.
22093         * modules/nonblocking (Depends-on): Remove 'open'.
22094         * m4/nonblocking.m4 (gl_NONBLOCKING_IO_BODY): Set
22095         gl_cv_have_open_O_NONBLOCK.
22096         * m4/open.m4 (gl_FUNC_OPEN): Replace open() also when required for
22097         O_NONBLOCK support.
22098         * doc/posix-functions/open.texi: Document support for O_NONBLOCK.
22099
22100 2011-04-17  Bruno Haible  <bruno@clisp.org>
22101
22102         pipe2: Simplify code.
22103         * lib/pipe2.c (pipe2): Reduce code duplication.
22104
22105 2011-04-17  Bruno Haible  <bruno@clisp.org>
22106
22107         nonblocking: Add comment.
22108         * lib/fcntl.in.h (O_NONBLOCK): Add comment.
22109
22110 2011-04-17  Bruno Haible  <bruno@clisp.org>
22111
22112         nonblocking: Add tests for sockets.
22113         * tests/test-nonblocking-socket.sh: New file.
22114         * tests/test-nonblocking-socket-main.c: New file.
22115         * tests/test-nonblocking-socket-child.c: New file.
22116         * tests/test-nonblocking-socket.h: New file.
22117         * tests/socket-server.h: New file.
22118         * tests/socket-client.h: New file.
22119         * modules/nonblocking-socket-tests: New file.
22120         * modules/nonblocking-tests (Depends-on): Add nonblocking-socket-tests.
22121
22122 2011-04-17  Bruno Haible  <bruno@clisp.org>
22123
22124         nonblocking: Add tests for pipes.
22125         * tests/test-nonblocking-pipe.sh: New file.
22126         * tests/test-nonblocking-pipe-main.c: New file.
22127         * tests/test-nonblocking-pipe-child.c: New file.
22128         * tests/test-nonblocking-pipe.h: New file.
22129         * tests/test-nonblocking-writer.h: New file.
22130         * tests/test-nonblocking-reader.h: New file.
22131         * tests/test-nonblocking-misc.h: New file.
22132         * modules/nonblocking-pipe-tests: New file.
22133         * modules/nonblocking-tests (Depends-on): Add nonblocking-pipe-tests.
22134
22135 2011-04-16  Bruno Haible  <bruno@clisp.org>
22136
22137         gettext: Clarify the needed programmer actions.
22138         * modules/gettext (Notice): New field.
22139         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
22140
22141 2011-04-16  Bruno Haible  <bruno@clisp.org>
22142
22143         strchrnul: Tweak last commit.
22144         * doc/glibc-functions/strchrnul.texi: Add more details about Cygwin
22145         bug.
22146         * lib/string.in.h (strchrnul): Use same arguments in _GL_FUNCDECL_RPL
22147         as in _GL_FUNCDECL_SYS.
22148         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Invoke gl_PREREQ_STRCHRNUL after
22149         AC_LIBOBJ. When cross-compiling, say "guessing yes" not "yes".
22150
22151 2011-04-15  Eric Blake  <eblake@redhat.com>
22152
22153         strchrnul: work around cygwin bug
22154         * doc/glibc-functions/strchrnul.texi (strchrnul): Document bug.
22155         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Detect it.
22156         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New witness.
22157         * modules/string (Makefile.am): Substitute it.
22158         * lib/string.in.h (strchrnul): Use it.
22159
22160 2011-04-15  Bruno Haible  <bruno@clisp.org>
22161
22162         Don't require lib/stdio-write.c when only module 'stdio' is used.
22163         * m4/stdio_h.m4 (gl_STDIO_H): Move the AC_LIBOBJ back into the m4_ifdef
22164         invocation.
22165         Reported by Rob Vermaas <rob.vermaas@gmail.com>.
22166
22167 2011-04-14  Bruno Haible  <bruno@clisp.org>
22168
22169         Support non-blocking pipe I/O in read() on native Windows.
22170         * lib/unistd.in.h: Include <sys/types.h> also for 'read'.
22171         (read): New declaration.
22172         * lib/read.c: New file.
22173         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_SCANF,
22174         _GL_ATTRIBUTE_FORMAT_SCANF_SYSTEM): New macros.
22175         (fgetc, fgets, fread, fscanf, getc, getchar, gets, scanf, vfscanf,
22176         vscanf): New declarations.
22177         * lib/stdio-read.c: New file.
22178         * m4/read.m4: New file.
22179         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_READ,
22180         REPLACE_READ.
22181         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FGETC, GNULIB_FGETS,
22182         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22183         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF. In non-blocking I/O is
22184         desired and needs workarounds, set REPLACE_STDIO_READ_FUNCS.
22185         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FGETC, GNULIB_FGETS,
22186         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22187         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
22188         * modules/read: New file.
22189         * modules/nonblocking (Files): Add lib/stdio-read.c.
22190         * modules/unistd (Makefile.am): Substitute GNULIB_READ, REPLACE_READ.
22191         * modules/stdio (Makefile.am): Substitute GNULIB_FGETC, GNULIB_FGETS,
22192         GNULIB_FREAD, GNULIB_FSCANF, GNULIB_GETC, GNULIB_GETCHAR, GNULIB_GETS,
22193         GNULIB_SCANF, GNULIB_VFSCANF, GNULIB_VSCANF, REPLACE_STDIO_READ_FUNCS.
22194         * modules/pread (Depends-on): Add read.
22195         * modules/safe-read (Depends-on): Likewise.
22196         * tests/test-stdio-c++.cc (fgetc, fgets, fread, fscanf, getc, getchar,
22197         gets, scanf, vfscanf, vscanf): Verify signatures.
22198         * doc/posix-functions/read.texi: Mention 'nonblocking' module and
22199         problem with non-blocking pipes.
22200         * doc/posix-functions/fgetc.texi: Likewise.
22201         * doc/posix-functions/fgets.texi: Likewise.
22202         * doc/posix-functions/fread.texi: Likewise.
22203         * doc/posix-functions/fscanf.texi: Likewise.
22204         * doc/posix-functions/getc.texi: Likewise.
22205         * doc/posix-functions/getchar.texi: Likewise.
22206         * doc/posix-functions/gets.texi: Likewise.
22207         * doc/posix-functions/scanf.texi: Likewise.
22208         * doc/posix-functions/vfscanf.texi: Likewise.
22209         * doc/posix-functions/vscanf.texi: Likewise.
22210
22211 2011-04-14  Bruno Haible  <bruno@clisp.org>
22212
22213         Support non-blocking pipe I/O in write() on native Windows.
22214         * lib/write.c (rpl_write): Split a write request that failed merely
22215         because the byte count was larger than the pipe buffer's size.
22216         * doc/posix-functions/write.texi: Mention the problem with large byte
22217         counts.
22218
22219 2011-04-14  Bruno Haible  <bruno@clisp.org>
22220
22221         wchar: Ensure that wchar_t gets defined on uClibc.
22222         * lib/wchar.in.h: On uClibc, include <stddef.h>.
22223         Reported by Giuseppe Scrivano <gscrivano@gnu.org>.
22224
22225 2011-04-13  Bruno Haible  <bruno@clisp.org>
22226
22227         safe-write, full-read: Avoid unnecessary compilation units.
22228         * modules/safe-write (Files): Add lib/safe-read.c, m4/safe-read.m4.
22229         (Depends-on): Remove safe-read. Add ssize_t.
22230         * modules/full-read (Files): Add lib/full-write.c.
22231         (Depends-on): Add full-write.
22232
22233 2011-04-13  Bruno Haible  <bruno@clisp.org>
22234
22235         Support non-blocking pipe I/O and SIGPIPE in pwrite().
22236         * modules/pwrite (Depends-on): Add 'write'.
22237
22238 2011-04-13  Bruno Haible  <bruno@clisp.org>
22239
22240         Support non-blocking pipe I/O in write() on native Windows.
22241         * lib/unistd.in.h (write): Enable replacement also if
22242         GNULIB_UNISTD_H_NONBLOCKING is 1.
22243         * lib/write.c: Enable replacement also if GNULIB_NONBLOCKING.
22244         (rpl_write): When failing to write on a non-blocking pipe, change
22245         errno from ENOSPC to EAGAIN.
22246         * lib/stdio.in.h (fprintf, fputc, fputs, fwrite, printf, putc,
22247         putchar, puts, vfprintf, vprintf): Enable replacement also if
22248         GNULIB_STDIO_H_NONBLOCKING is 1.
22249         * lib/stdio-write.c: Enable replacements also if GNULIB_NONBLOCKING.
22250         (CLEAR_ERRNO, HANDLE_ENOSPC): New macros.
22251         (CLEAR_LastError, HANDLE_ERROR_NO_DATA): New macros, extracted from
22252         CALL_WITH_SIGPIPE_EMULATION.
22253         (CALL_WITH_SIGPIPE_EMULATION): Use them.
22254         * m4/nonblocking.m4: New file.
22255         * m4/write.m4 (gl_FUNC_WRITE): Enable REPLACE_WRITE also if required
22256         for non-blocking I/O support.
22257         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
22258         GNULIB_UNISTD_H_NONBLOCKING.
22259         * m4/stdio_h.m4 (gl_STDIO_H): Enable REPLACE_STDIO_WRITE_FUNCS also if
22260         required for non-blocking I/O support.
22261         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_STDIO_H_NONBLOCKING.
22262         * modules/nonblocking (Files): Add m4/nonblocking.m4,
22263         lib/stdio-write.c, m4/asm-underscore.m4.
22264         (Depends-on): Add stdio, unistd.
22265         (configure.ac): Invoke gl_NONBLOCKING_IO. Define GNULIB_NONBLOCKING.
22266         Set GNULIB_STDIO_H_NONBLOCKING, GNULIB_UNISTD_H_NONBLOCKING.
22267         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_NONBLOCKING.
22268         * modules/stdio (Makefile.am): Substitute GNULIB_STDIO_H_NONBLOCKING.
22269         * doc/posix-functions/fprintf.texi: Mention 'nonblocking' module and
22270         problem with non-blocking pipes.
22271         * doc/posix-functions/fputc.texi: Likewise.
22272         * doc/posix-functions/fputs.texi: Likewise.
22273         * doc/posix-functions/fwrite.texi: Likewise.
22274         * doc/posix-functions/printf.texi: Likewise.
22275         * doc/posix-functions/putc.texi: Likewise.
22276         * doc/posix-functions/putchar.texi: Likewise.
22277         * doc/posix-functions/puts.texi: Likewise.
22278         * doc/posix-functions/vfprintf.texi: Likewise.
22279         * doc/posix-functions/vprintf.texi: Likewise.
22280         * doc/posix-functions/write.texi: Likewise.
22281
22282 2011-04-10  Jim Meyering  <meyering@redhat.com>
22283
22284         maint.mk: prohibit doubled words
22285         Detect them also when they're separated by a newline.
22286         There are 3 ways to customize it:
22287           - disable the test on a per file basis, as usual with rules using
22288             $(VC_LIST_EXCEPT)
22289           - replace the default doubled-word-selecting regexp (affects all files)
22290           - ignore a particular file-vs-doubled-word match
22291         I nearly used that last one to ignore the "is is" match in
22292         coreutils' NEWS file, since the text was "ls -is is ..."
22293         To do that, I would have added this line to cfg.mk:
22294           ignore_doubled_word_match_RE_ = ^NEWS:[0-9]+:is[ ]is$
22295         but it would have ignored any "is is" match in NEWS.
22296         Low probability, but still...
22297         Instead, I changed the text, slightly:
22298           -  ls -is is now consistent with ls -lis in ignoring values returned
22299           +  "ls -is" is now consistent with ls -lis in ignoring values returned
22300         * top/maint.mk (prohibit_double_word_RE_): Provide default.
22301         (prohibit_doubled_word_): Define.
22302         (sc_prohibit_doubled_word): New rule.
22303         (sc_prohibit_the_the): Remove.  Subsumed by the above.
22304
22305 2011-04-10  Jim Meyering  <meyering@redhat.com>
22306
22307         maint: fix doubled-word typo in comment
22308         * m4/gethostname.m4: s/is is/it is/
22309         * m4/getdomainname.m4: Likewise.
22310
22311 2011-04-10  Jim Meyering  <meyering@redhat.com>
22312
22313         maint: remove doubled word: s/it it/it/
22314         * lib/stat-time.h (get_stat_birthtime): s/it it/it/
22315
22316 2011-04-10  Jim Meyering  <meyering@redhat.com>
22317
22318         maint.mk: remove useless semicolon and backslash
22319         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Remove stray
22320         semicolon and backslash.
22321
22322 2011-04-10  Bruno Haible  <bruno@clisp.org>
22323
22324         stdint test: Fix compilation failure on OSF/1 with DTK compiler.
22325         * modules/stdint-tests (Depends-on): Add wchar.
22326
22327 2011-04-10  Jim Meyering  <meyering@redhat.com>
22328
22329         maint: remove doubled words in comments, e.g., s/a a/a/
22330         * lib/strptime.c (day_of_the_week): s/the the/the/
22331         * tests/test-chown.h (test_chown): s/a a/a/
22332
22333         test-chown.h: correct a cast
22334         * tests/test-chown.h (test_chown): Cast -1 to gid_t (not uid_t)
22335         when the destination is a stat.st_gid.
22336
22337 2011-04-09  Mats Erik Andersson  <mats.andersson@gisladisker.se>  (tiny change)
22338
22339         getaddrinfo: Fix test for sa_len member.
22340         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): When testing for sa_len,
22341         include <sys/types.h> before <sys/socket.h>.
22342
22343 2011-04-09  Paul Eggert  <eggert@cs.ucla.edu>
22344
22345         maint: change "can not" to "cannot"
22346         * doc/posix-functions/iconv.texi (iconv): This one crossed line
22347         boundaries.
22348
22349 2011-04-09  Jim Meyering  <meyering@redhat.com>
22350
22351         maint: change "a a" to "a"
22352         * tests/test-lchown.h (test_lchown): s/a a/a/
22353
22354         maint.mk: prohibit \<the the\>
22355         * top/maint.mk (sc_prohibit_the_the): New rule.
22356
22357         maint: fix "the the" in comment
22358         * lib/count-one-bits.h: s/the the/the/
22359
22360         maint: change "can not" to "cannot"
22361         But do not change the occurrences in maintain.texi or in
22362         build-aux/po/Makefile.in.in, which I presume comes from gettext.
22363         * doc/gnulib-tool.texi: s/can not/cannot/
22364         * doc/posix-functions/accept.texi (accept): Likewise.
22365         * doc/posix-functions/socket.texi (socket): Likewise.
22366         * lib/mbrtowc.c: Likewise.
22367
22368         maint.mk: prohibit use of "can not"
22369         * top/maint.mk (sc_prohibit_can_not): New rule.
22370         Writing "can not" (rather than "cannot") is too common.  Prohibit it.
22371
22372 2011-04-09  Bruno Haible  <bruno@clisp.org>
22373
22374         careadlinkat: Guard against misuse of careadlinkatcwd.
22375         * lib/careadlinkat.c: Include <stdlib.h>.
22376         (careadlinkatcwd): Check that the fd argument is as expected.
22377
22378 2011-04-09  Bruno Haible  <bruno@clisp.org>
22379
22380         careadlinkat: Use common coding style.
22381         * lib/careadlinkat.c: Move gnulib includes after system includes.
22382
22383 2011-04-09  Bruno Haible  <bruno@clisp.org>
22384
22385         careadlinkat: Clarify specification.
22386         * lib/careadlinkat.h (careadlinkat): Clarify preadlinkat argument.
22387         (careadlinkatcwd): Add comment.
22388         * lib/careadlinkat.c (careadlinkat): Clarify preadlinkat argument.
22389
22390 2011-04-09  Bruno Haible  <bruno@clisp.org>
22391
22392         areadlinkat: Avoid link error on many platforms.
22393         * modules/areadlinkat (Depends-on): Add areadlink.
22394
22395 2011-04-09  Bruno Haible  <bruno@clisp.org>
22396
22397         allocator, careadlinkat: Fix double-inclusion guard.
22398         * lib/allocator.h: Fix double-inclusion guard.
22399         * lib/careadlinkat.h: Likewise.
22400
22401 2011-04-09  Bruno Haible  <bruno@clisp.org>
22402
22403         relocatable-prog-wrapper: Update after module 'areadlink' changed.
22404         * lib/relocwrapper.c: Update dependencies hierarchy.
22405         * build-aux/install-reloc: Update list of files to be compiled.
22406         * modules/relocatable-prog-wrapper (Files): Add lib/careadlinkat.[hc],
22407         lib/allocator.[hc].
22408
22409 2011-04-08  Eric Blake  <eblake@redhat.com>
22410
22411         strftime: silence gnulib-tool warning
22412         * modules/strftime-tests (Depends-on): Drop automatic dependency.
22413
22414 2011-04-08  Bruno Haible  <bruno@clisp.org>
22415
22416         verify: Fix syntax error with GCC 4.6 in C++ mode.
22417         * lib/verify.h (HAVE__STATIC_ASSERT): Don't define in C++ mode.
22418         (HAVE_STATIC_ASSERT): New macro.
22419         (verify_true, verify): Use 'static_assert' if it is supported and
22420         '_Static_assert' is not supported.
22421
22422 2011-04-08  Paul Eggert  <eggert@cs.ucla.edu>
22423
22424         allocator: New module.
22425         * modules/allocator, lib/allocator.c: New files.
22426         * lib/allocator.h (stdlib_allocator): New decl.
22427         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC, standard_allocator):
22428         Remove.  Do not include <stdlib.h>.
22429         (careadlinkat): Use stdlib_allocator instead of rolling our own.
22430         * modules/careadlinkat (Files): Remove lib/allocator.h.
22431         (Depends-on): Add allocator.
22432
22433         stdlib: let modules use system malloc, realloc
22434         * lib/stdlib.in.h (malloc, realloc): Don't #define or add warnings
22435         if !_GL_USE_STDLIB_ALLOC.
22436         (malloc, realloc): Limit this change to a smaller scope.
22437
22438         * lib/careadlinkat.c (_GL_USE_STDLIB_ALLOC): Define.
22439         (malloc, realloc): Don't #undef; no longer needed.
22440         * lib/malloca.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22441         * lib/progreloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22442         * lib/setenv.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22443         * lib/canonicalize-lgpl.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22444         * lib/relocatable.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22445         * lib/relocwrapper.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22446         * lib/malloc.c (_GL_USE_STDLIB_ALLOC, malloc): Likewise.
22447         * lib/realloc.c (_GL_USE_STDLIB_ALLOC, malloc, realloc): Likewise.
22448
22449         careadlinkat: rename members to avoid problem
22450         * lib/allocator.h (struct allocator): Rename members from
22451         malloc/realloc to allocate/reallocate, to avoid problems if malloc
22452         and realloc are #define'd.  Reported by Eric Blake in
22453         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00091.html>.
22454         * lib/careadlinkat.c (careadlinkat): Adjust to renaming.
22455
22456 2011-04-08  Eric Blake  <eblake@redhat.com>
22457
22458         nonblocking: reduce dependency
22459         * tests/test-nonblocking.c: Only test sockets when in use.
22460         * modules/nonblocking-tests (Depends-on): Drop socket.
22461         (Makefile.am): Link even if sockets are not present.
22462         * modules/pipe2-tests (Makefile.am): Likewise.
22463         * lib/ioctl.c (ioctl) [WIN32]: Fail if sockets are not also in use.
22464
22465         pipe2: fix O_NONBLOCK support on mingw
22466         * modules/pipe2 (Depends-on): Add nonblocking.
22467         * lib/pipe2.c (pipe2) [WIN32]: Add O_NONBLOCK support.
22468         * tests/test-pipe2.c (is_nonblocking): Adjust test accordingly.
22469         * tests/test-nonblocking.c (main): Likewise.
22470         * modules/pipe2-tests (Makefile.am): Avoid link failure.
22471
22472         fcntl-h: fix O_ACCMODE on cygwin
22473         * doc/posix-headers/fcntl.texi (fcntl.h): Document the bug.
22474         * lib/fcntl.in.h (O_ACCMODE): Fix it.
22475
22476         pipe-filter: drop O_NONBLOCK workarounds
22477         * modules/pipe-filter-gi (Depends-on): Add fcntl-h.
22478         * modules/pipe-filter-ii (Depends-on): Likewise.
22479         * lib/pipe-filter-aux.h (O_NONBLOCK): Delete workaround.
22480
22481         nonblocking: provide O_NONBLOCK for mingw
22482         * modules/nonblocking (Depends-on): Add open.
22483         (configure.ac): Set new witness macro.
22484         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide default for it.
22485         * modules/fcntl-h (Makefile.am): Substitute it.
22486         * lib/fcntl.in.h (O_NONBLOCK): Guarantee non-zero definition when
22487         nonblocking module is in use.
22488         * lib/nonblocking.c: Adjust portability test.
22489         * lib/open.c (open): Don't let native open see gnulib flag.
22490         * tests/test-fcntl-h.c (main): Enhance test.
22491         * tests/test-open.h (test_open): Likewise.
22492         * doc/posix-headers/fcntl.texi (fcntl.h): Document the replacement.
22493
22494         careadlinkat: fix compilation error on mingw
22495         * lib/careadlinkat.c (standard_allocator): Avoid renaming fields
22496         within struct allocator.
22497
22498 2011-04-06  Eric Blake  <eblake@redhat.com>
22499
22500         binary-io: relicense under LGPLv2+
22501         * modules/binary-io (License): Relax to LGPLv2+.
22502         Requested for libvirt, and required by pipe2.
22503
22504 2011-04-06  Paul Eggert  <eggert@cs.ucla.edu>
22505
22506         verify: use _Static_assert if available
22507         * lib/verify.h (HAVE__STATIC_ASSERT): New macro.
22508         (verify_true, verify): Use it if available.  This generates better
22509         diagnostics with GCC 4.6.0 and later.
22510
22511 2011-04-05  Bruno Haible  <bruno@clisp.org>
22512
22513         Remove leftover generated .h files after config.status changed.
22514
22515         * m4/alloca.m4 (gl_FUNC_ALLOCA): New automake conditional
22516         GL_GENERATE_ALLOCA_H.
22517         * modules/alloca-opt (Makefile.am): Remove alloca.h if
22518         GL_GENERATE_ALLOCA_H evaluates to false.
22519
22520         * m4/argz.m4 (gl_FUNC_ARGZ): New automake conditional
22521         GL_GENERATE_ARGZ_H.
22522         * modules/argz (Makefile.am): Remove argz.h if GL_GENERATE_ARGZ_H
22523         evaluates to false.
22524
22525         * m4/byteswap.m4 (gl_BYTESWAP): New automake conditional
22526         GL_GENERATE_BYTESWAP_H.
22527         * modules/byteswap (Makefile.am): Remove byteswap.h if
22528         GL_GENERATE_BYTESWAP_H evaluates to false.
22529
22530         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): New automake conditional
22531         GL_GENERATE_ERRNO_H.
22532         * modules/errno (Makefile.am): Remove errno.h if GL_GENERATE_ERRNO_H
22533         evaluates to false.
22534
22535         * m4/float_h.m4 (gl_FLOAT_H): New automake conditional
22536         GL_GENERATE_FLOAT_H.
22537         * modules/float (Makefile.am): Remove float.h if GL_GENERATE_FLOAT_H
22538         evaluates to false.
22539
22540         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): New automake conditional
22541         GL_GENERATE_FNMATCH_H.
22542         * modules/fnmatch (Makefile.am): Remove fnmatch.h if
22543         GL_GENERATE_FNMATCH_H evaluates to false.
22544
22545         * m4/glob.m4 (gl_GLOB_SUBSTITUTE, gl_GLOB): New automake conditional
22546         GL_GENERATE_GLOB_H.
22547         * modules/glob (Makefile.am): Remove glob.h if GL_GENERATE_GLOB_H
22548         evaluates to false.
22549
22550         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H, gl_ICONV_H_DEFAULTS): New
22551         automake conditional GL_GENERATE_ICONV_H.
22552         * modules/iconv-h (Makefile.am): Remove iconv.h if GL_GENERATE_ICONV_H
22553         evaluates to false.
22554
22555         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): New automake conditional
22556         GL_GENERATE_NETINET_IN_H.
22557         * modules/netinet_in (Makefile.am): Remove netinet/in.h if
22558         GL_GENERATE_NETINET_IN_H evaluates to false.
22559
22560         * m4/pthread.m4 (gl_PTHREAD_CHECK): Set PTHREAD_H here. New automake
22561         conditional GL_GENERATE_PTHREAD_H.
22562         (gl_PTHREAD_DEFAULTS): Don't set PTHREAD_H here.
22563         * modules/pthread (Makefile.am): Remove pthread.h if
22564         GL_GENERATE_PTHREAD_H evaluates to false.
22565
22566         * m4/sched_h.m4 (gl_SCHED_H): New automake conditional
22567         GL_GENERATE_SCHED_H.
22568         * modules/sched (Makefile.am): Remove sched.h if GL_GENERATE_SCHED_H
22569         evaluates to false.
22570
22571         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): New automake
22572         conditional GL_GENERATE_SELINUX_CONTEXT_H.
22573         * modules/selinux-h (Makefile.am): Remove selinux/context.h if
22574         GL_GENERATE_SELINUX_CONTEXT_H evaluates to false.
22575
22576         * m4/stdarg.m4 (gl_STDARG_H): New automake conditional
22577         GL_GENERATE_STDARG_H.
22578         * modules/stdarg (Makefile.am): Remove stdarg.h if
22579         GL_GENERATE_STDARG_H evaluates to false.
22580
22581         * m4/stdbool.m4 (AM_STDBOOL_H): New automake conditional
22582         GL_GENERATE_STDBOOL_H.
22583         * modules/stdbool (Makefile.am): Remove stdbool.h if
22584         GL_GENERATE_STDBOOL_H evaluates to false.
22585
22586         * m4/stddef_h.m4 (gl_STDDEF_H): Set STDDEF_H here. New automake
22587         conditional GL_GENERATE_STDDEF_H.
22588         (gl_STDDEF_H_DEFAULTS): Don't set STDDEF_H here.
22589         * modules/stddef (Makefile.am): Remove stddef.h if
22590         GL_GENERATE_STDDEF_H evaluates to false.
22591
22592         * m4/stdint.m4 (gl_STDINT_H): New automake conditional
22593         GL_GENERATE_STDINT_H.
22594         * modules/stdint (Makefile.am): Remove stdint.h if
22595         GL_GENERATE_STDINT_H evaluates to false.
22596
22597         * m4/sysexits.m4 (gl_SYSEXITS): New automake conditional
22598         GL_GENERATE_SYSEXITS_H.
22599         * modules/sysexits (Makefile.am): Remove sysexits.h if
22600         GL_GENERATE_SYSEXITS_H evaluates to false.
22601
22602         Reported by Karl Berry and Ralf Wildenhues.
22603
22604 2011-04-05  Bruno Haible  <bruno@clisp.org>
22605
22606         Ensure to rebuild generated .h files when config.status has changed.
22607         * modules/arpa_inet (Makefile.am): Add dependency from .h file to
22608         config.status.
22609         * modules/ctype (Makefile.am): Likewise.
22610         * modules/dirent (Makefile.am): Likewise.
22611         * modules/errno (Makefile.am): Likewise.
22612         * modules/fcntl-h (Makefile.am): Likewise.
22613         * modules/float (Makefile.am): Likewise.
22614         * modules/getopt-posix (Makefile.am): Likewise.
22615         * modules/glob (Makefile.am): Likewise.
22616         * modules/iconv-h (Makefile.am): Likewise.
22617         * modules/inttypes (Makefile.am): Likewise.
22618         * modules/langinfo (Makefile.am): Likewise.
22619         * modules/locale (Makefile.am): Likewise.
22620         * modules/math (Makefile.am): Likewise.
22621         * modules/netdb (Makefile.am): Likewise.
22622         * modules/netinet_in (Makefile.am): Likewise.
22623         * modules/poll-h (Makefile.am): Likewise.
22624         * modules/pthread (Makefile.am): Likewise.
22625         * modules/pty (Makefile.am): Likewise.
22626         * modules/sched (Makefile.am): Likewise.
22627         * modules/search (Makefile.am): Likewise.
22628         * modules/selinux-h (Makefile.am): Likewise.
22629         * modules/signal (Makefile.am): Likewise.
22630         * modules/spawn (Makefile.am): Likewise.
22631         * modules/stdarg (Makefile.am): Likewise.
22632         * modules/stdbool (Makefile.am): Likewise.
22633         * modules/stddef (Makefile.am): Likewise.
22634         * modules/stdint (Makefile.am): Likewise.
22635         * modules/stdio (Makefile.am): Likewise.
22636         * modules/stdlib (Makefile.am): Likewise.
22637         * modules/string (Makefile.am): Likewise.
22638         * modules/strings (Makefile.am): Likewise.
22639         * modules/sys_file (Makefile.am): Likewise.
22640         * modules/sys_ioctl (Makefile.am): Likewise.
22641         * modules/sys_select (Makefile.am): Likewise.
22642         * modules/sys_socket (Makefile.am): Likewise.
22643         * modules/sys_stat (Makefile.am): Likewise.
22644         * modules/sys_time (Makefile.am): Likewise.
22645         * modules/sys_times (Makefile.am): Likewise.
22646         * modules/sys_utsname (Makefile.am): Likewise.
22647         * modules/sys_wait (Makefile.am): Likewise.
22648         * modules/sysexits (Makefile.am): Likewise.
22649         * modules/termios (Makefile.am): Likewise.
22650         * modules/time (Makefile.am): Likewise.
22651         * modules/unistd (Makefile.am): Likewise.
22652         * modules/wchar (Makefile.am): Likewise.
22653         * modules/wctype-h (Makefile.am): Likewise.
22654         Reported by Karl Berry, Eric Blake, and Ralf Wildenhues.
22655
22656 2011-04-05  Bruno Haible  <bruno@clisp.org>
22657
22658         pipe2: Relicense under LGPLv2+.
22659         * modules/pipe2 (License): Change to LGPLv2+.
22660         Requested by Eric Blake, for libvirt.
22661
22662 2011-04-05  Bruce Korb  <bkorb@gnu.org>
22663
22664         bootstrap: compute gnulib_extra_files after updating build_aux
22665         * build-aux/bootstrap (gnulib_extra_files): bootstrap.conf may
22666         change build_aux or also supply gnulib_extra_files.  Handle correctly.
22667
22668 2011-04-05  Eric Blake  <eblake@redhat.com>
22669
22670         bootstrap: preserve git whitelist item sorting
22671         * build-aux/bootstrap (sort_patterns): New function.
22672         (insert_sorted_if_absent): Use it to sink ! lines to the bottom.
22673
22674 2011-04-05  Simon Josefsson  <simon@josefsson.org>
22675
22676         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Don't trigger
22677         sc_space_tab check.
22678
22679 2011-04-05  Paul Eggert  <eggert@cs.ucla.edu>
22680
22681         areadlink, areadlinkat: rewrite in terms of careadlinkat
22682         * lib/areadlink.c, lib/areadlinkat.c: Include careadlinkat.h
22683         instead of errno.h, limits.h, stdint.h, stdlib.h, string.h, unistd.h.
22684         (SSIZE_MAX, INITIAL_BUF_SIZE): Remove.
22685         (malloc, realloc): Remove #undefs.
22686         (areadlink, areadlinkat): Rewrite in terms of careadlinkat.
22687         * modules/areadlink (Depends-on): Add careadlinkat.  Remove
22688         readlink, ssize_t, stdint, unistd.
22689         * modules/areadlinkat (Depends-on): Add careadlinkat.  Remove
22690         areadlink, stdint.
22691
22692         careadlinkat: new module
22693         * lib/allocator.h, lib/careadlinkat.h, lib/careadlinkat.c:
22694         * modules/careadlinkat: New files, written by me with
22695         a review and feedback from Ben Pfaff in
22696         <http://lists.gnu.org/archive/html/bug-gnulib/2011-04/msg00008.html>.
22697
22698 2011-04-01  Bruno Haible  <bruno@clisp.org>
22699
22700         wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr: Avoid errors in C++ mode.
22701         * lib/wchar.in.h (wmemchr, wcschr, wcsrchr, wcspbrk, wcsstr): Use
22702         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS. On glibc >= 2.10
22703         systems, use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN.
22704         Reported by Bruce Korb <bruce.korb@gmail.com>.
22705
22706 2011-04-01  Bruno Haible  <bruno@clisp.org>
22707
22708         wcpcpy, wcpncpy: Ensure declaration on glibc >= 2.13 systems.
22709         * m4/wcpcpy.m4 (gl_FUNC_WCPCPY): Require AC_USE_SYSTEM_EXTENSIONS.
22710         * m4/wcpncpy.m4 (gl_FUNC_WCPNCPY): Likewise.
22711         * modules/wcpcpy (Depends-on): Add extensions.
22712         * modules/wcpncpy (Depends-on): Likewise.
22713         * doc/posix-functions/wcpcpy.texi: Mention missing declaration on glibc
22714         systems.
22715         * doc/posix-functions/wcpncpy.texi: Likewise.
22716         * doc/posix-functions/wcwidth.texi: Likewise.
22717
22718 2011-03-31  Eric Blake  <eblake@redhat.com>
22719
22720         nonblocking: fix mingw test failures
22721         * lib/nonblocking.c (set_nonblocking_flag): Succeed when clearing
22722         non-blocking flag on regular file.
22723         (get_nonblocking_flag): Set errno on invalid fd.
22724         * tests/test-nonblocking.c (main): Avoid test failure on
22725         directories if fchdir is not active.
22726         * modules/nonblocking-tests (Depends-on): Drop unused dependency.
22727
22728 2011-03-31  Bruno Haible  <bruno@clisp.org>
22729
22730         Fix bug with gl_WARN_ON_USE_PREPARE, introduced on 2011-01-23.
22731         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): Hide the
22732         gl_WARN_ON_USE_PREPARE definition from 'aclocal'.
22733         Reported by Simon Josefsson <simon@josefsson.org>.
22734
22735 2011-03-31  Bruno Haible  <bruno@clisp.org>
22736         and Eric Blake  <eblake@redhat.com>
22737
22738         nonblocking: new module
22739         * modules/nonblocking: New module.
22740         * modules/nonblocking-tests: Likewise.
22741         * lib/nonblocking.h: New file.
22742         * lib/nonblocking.c: Likewise.
22743         * tests/test-nonblocking.c: New test.
22744         * lib/ioctl.c (ioctl) [mingw]: Update comment.
22745
22746 2011-03-30  Bruno Haible  <bruno@clisp.org>
22747
22748         stdio: Avoid GCC >= 4.4 warnings when using %lld and similar on mingw.
22749         * lib/stdio.in.h (_GL_ATTRIBUTE_FORMAT_PRINTF): Use 'gnu_printf' format
22750         instead of 'printf' format for GCC >= 4.4.
22751         (_GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM): New macro.
22752         (fprintf, printf, vfprintf, vprintf): Declare with
22753         _GL_ATTRIBUTE_FORMAT_PRINTF_SYSTEM when the function ends up calling
22754         the system's vfprintf() function.
22755         Reported by Daniel P. Berrange <berrange@redhat.com> via Eric Blake.
22756
22757 2011-03-30  Eric Blake  <eblake@redhat.com>
22758
22759         passfd: fix scoping bug
22760         * lib/passfd.c (sendfd, recvfd): Don't let buf go out of scope
22761         before sendmsg/recvmsg.
22762
22763         passfd: standardize coding conventions
22764         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Drop check for something that
22765         can be learned at compile time.
22766         * lib/passfd.c (MSG_CMSG_CLOEXEC): Reduce number of in-function
22767         ifdefs.
22768         (sendfd, recvfd): Follow gnulib code conventions.
22769
22770         passfd: fix incorrect sendmsg arguments
22771         * lib/passfd.c (sendfd): Avoid uninitialized msg_flags field, and
22772         incorrect msg_controllen value.
22773         * modules/passfd-tests (Depends-on): Check for alarm.
22774         * tests/test-passfd.c (main) [HAVE_DECL_ALARM]: Avoid hanging test.
22775         Reported by Bastien ROUCARIES.
22776
22777 2011-03-30  Bruno Haible  <bruno@clisp.org>
22778
22779         c-strcasestr: Relicense under LGPLv2+.
22780         * modules/c-strcasestr (License): Change to LGPLv2+.
22781         Requested by Eric Blake, for libvirt.
22782
22783 2011-03-30  Simon Josefsson  <simon@josefsson.org>
22784
22785         * users.txt: Add libidn2.  Fix libtasn1 link.
22786
22787 2011-03-30  Jim Meyering  <meyering@redhat.com>
22788
22789         tests: readlink* ("",... fails with EINVAL on newer kernels
22790         readlink and readlinkat have typically failed with ENOENT for
22791         the invalid, empty file name,  "".  However, with the advent
22792         of linux-2.6.39, they fail with EINVAL.
22793         * tests/test-areadlink.h (test_areadlink): Also accept EINVAL
22794         when operating on the empty file name.
22795         * tests/test-readlink.h (test_readlink): Likewise.
22796
22797 2011-03-29  Bruno Haible  <bruno@clisp.org>
22798
22799         Relicense some modules under LGPLv2+, for libidn2.
22800         * modules/array-mergesort (License): Change to LGPLv2+.
22801         * modules/c-strcaseeq (License): Likewise.
22802         * modules/striconveh (License): Likewise.
22803         * modules/striconveha (License): Likewise.
22804         * modules/uniconv/base (License): Likewise.
22805         * modules/uniconv/u8-conv-from-enc (License): Likewise.
22806         * modules/uniconv/u8-strconv-from-enc (License): Likewise.
22807         * modules/uniconv/u8-strconv-from-locale (License): Likewise.
22808         * modules/unictype/base (License): Likewise.
22809         * modules/unictype/bidiclass-of (License): Likewise.
22810         * modules/unictype/category-M (License): Likewise.
22811         * modules/unictype/category-none (License): Likewise.
22812         * modules/unictype/category-of (License): Likewise.
22813         * modules/unictype/category-test (License): Likewise.
22814         * modules/unictype/category-test-withtable (License): Likewise.
22815         * modules/unictype/combining-class (License): Likewise.
22816         * modules/unictype/joiningtype-of (License): Likewise.
22817         * modules/unictype/scripts (License): Likewise.
22818         * modules/uninorm/base (License): Likewise.
22819         * modules/uninorm/canonical-decomposition (License): Likewise.
22820         * modules/uninorm/composition (License): Likewise.
22821         * modules/uninorm/decompose-internal (License): Likewise.
22822         * modules/uninorm/decomposition-table (License): Likewise.
22823         * modules/uninorm/nfc (License): Likewise.
22824         * modules/uninorm/nfd (License): Likewise.
22825         * modules/uninorm/u32-normalize (License): Likewise.
22826         * modules/unistr/base (License): Likewise.
22827         * modules/unistr/u32-cpy (License): Likewise.
22828         * modules/unistr/u32-mbtouc-unsafe (License): Likewise.
22829         * modules/unistr/u32-to-u8 (License): Likewise.
22830         * modules/unistr/u32-uctomb (License): Likewise.
22831         * modules/unistr/u8-check (License): Likewise.
22832         * modules/unistr/u8-mblen (License): Likewise.
22833         * modules/unistr/u8-mbtouc (License): Likewise.
22834         * modules/unistr/u8-mbtouc-unsafe (License): Likewise.
22835         * modules/unistr/u8-mbtoucr (License): Likewise.
22836         * modules/unistr/u8-prev (License): Likewise.
22837         * modules/unistr/u8-strlen (License): Likewise.
22838         * modules/unistr/u8-to-u32 (License): Likewise.
22839         * modules/unistr/u8-uctomb (License): Likewise.
22840         * modules/unitypes (License): Likewise.
22841         Requested by Simon Josefsson.
22842
22843 2011-03-29  Simon Josefsson  <simon@josefsson.org>
22844
22845         lib-symbol-visibility: Add a notice.
22846         * modules/lib-symbol-visibility (Notice): New field.
22847
22848 2011-03-29  Bruno Haible  <bruno@clisp.org>
22849
22850         getaddrinfo: Doc fix.
22851         * doc/posix-functions/getaddrinfo.texi: Mention Windows problem in the
22852         section "fixed in Gnulib".
22853
22854 2011-03-28  Simon Josefsson  <simon@josefsson.org>
22855
22856         * doc/posix-functions/getaddrinfo.texi: Drop netdb.h discussion.
22857         Reported by Bastien ROUCARIES <roucaries.bastien@gmail.com>.
22858
22859 2011-03-26  Bruno Haible  <bruno@clisp.org>
22860
22861         unictype/property-byname: Reduce the number of load-time relocations.
22862         * lib/unictype/pr_byname.c: Include <stdlib.h>.
22863         (UC_PROPERTY_INDEX_*): New enumeration values.
22864         (uc_property_byname): Convert an index from the lookup table to an
22865         uc_property_t.
22866         * lib/unictype/pr_byname.gperf: Store indices instead of uc_property_t
22867         values.
22868
22869 2011-03-26  Bruno Haible  <bruno@clisp.org>
22870
22871         unictype/property-byname: Allow omitted word separators and aliases.
22872         * lib/unictype/pr_byname.gperf: Add property names without word
22873         separators. Add aliases from Unicode 6.0 PropertyAliases.txt, except
22874         for 'space'.
22875
22876 2011-03-26  Bruno Haible  <bruno@clisp.org>
22877
22878         unictype/joininggroup-byname: Allow hyphens, omitted word separators.
22879         * lib/unictype/joininggroup_byname.c (uc_joining_group_byname): Convert
22880         also hyphens to space.
22881         * lib/unictype/joininggroup_byname.gperf: Recognize the names also
22882         without spaces.
22883         * tests/unictype/test-joininggroup_byname.c (main): Add more tests.
22884
22885 2011-03-26  Bruno Haible  <bruno@clisp.org>
22886
22887         unictype/joiningtype-byname: Recognize long names as well.
22888         * lib/unictype.in.h (uc_joiningtype_class_byname): Allow argument to be
22889         a long name.
22890         * lib/unictype/joiningtype_byname.c: Include <string.h>,
22891         unictype/joiningtype_byname.h.
22892         (uc_joiningtype_class_byname): Use uc_joining_type_lookup.
22893         * lib/unictype/joiningtype_byname.gperf: New file.
22894         * modules/unictype/joiningtype-byname (Files): Add
22895         lib/unictype/joiningtype_byname.gperf.
22896         (Depends-on): Add gperf.
22897         (Makefile.am): Add rule for generating unictype/joiningtype_byname.h.
22898         * tests/unictype/test-joiningtype_byname.c (main): Test the recognition of
22899         long names.
22900
22901         Tests for module 'unictype/joiningtype-longname'.
22902         * modules/unictype/joiningtype-longname-tests: New file.
22903         * tests/unictype/test-joiningtype_longname.c: New file.
22904
22905         New module 'unictype/joiningtype-longname'.
22906         * lib/unictype.in.h (uc_joiningtype_class_long_name): New declaration.
22907         * lib/unictype/joiningtype_longname.c: New file.
22908         * modules/unictype/joiningtype-longname: New file.
22909         * modules/unictype/joiningtype-all (Depends-on): Add
22910         unictype/joiningtype-longname.
22911
22912 2011-03-26  Bruno Haible  <bruno@clisp.org>
22913
22914         unictype/bidiclass-byname: Recognize long names as well.
22915         * lib/unictype.in.h (uc_bidi_class_byname): Allow argument to be a long
22916         name.
22917         * lib/unictype/bidi_byname.c: Include <string.h>,
22918         unictype/bidi_byname.h.
22919         (uc_bidi_class_byname): Use uc_bidi_class_lookup.
22920         * lib/unictype/bidi_byname.gperf: New file.
22921         * modules/unictype/bidiclass-byname (Files): Add
22922         lib/unictype/bidi_byname.gperf.
22923         (Depends-on): Add gperf.
22924         (Makefile.am): Add rule for generating unictype/bidi_byname.h.
22925         * tests/unictype/test-bidi_byname.c (main): Test the recognition of
22926         long names.
22927
22928         Tests for module 'unictype/bidiclass-longname'.
22929         * modules/unictype/bidiclass-longname-tests: New file.
22930         * tests/unictype/test-bidi_longname.c: New file.
22931
22932         New module 'unictype/bidiclass-longname'.
22933         * lib/unictype.in.h (uc_bidi_class_long_name): New declaration.
22934         * lib/unictype/bidi_longname.c: New file.
22935         * modules/unictype/bidiclass-longname: New file.
22936         * modules/unictype/bidiclass-all (Depends-on): Add
22937         unictype/bidiclass-longname.
22938
22939 2011-03-26  Bruno Haible  <bruno@clisp.org>
22940
22941         unictype/bidi*: Rename modules.
22942         * modules/unictype/bidiclass-all: Renamed from
22943         modules/unictype/bidicategory-all.
22944         * modules/unictype/bidiclass-name: Renamed from
22945         modules/unictype/bidiclass-name.
22946         (Description): Update.
22947         * modules/unictype/bidiclass-name-tests: Renamed from
22948         modules/unictype/bidicategory-name-tests.
22949         * modules/unictype/bidiclass-byname: Renamed from
22950         modules/unictype/bidicategory-byname.
22951         (Description): Update.
22952         * modules/unictype/bidiclass-byname-tests: Renamed from
22953         modules/unictype/bidicategory-byname-tests.
22954         * modules/unictype/bidiclass-of: Renamed from
22955         modules/unictype/bidicategory-of.
22956         (Description): Update.
22957         * modules/unictype/bidiclass-of-tests: Renamed from
22958         modules/unictype/bidicategory-of-tests.
22959         * modules/unictype/bidiclass-test: Renamed from
22960         modules/unictype/bidicategory-test.
22961         (Description): Update.
22962         * modules/unictype/bidiclass-test-tests: Renamed from
22963         modules/unictype/bidicategory-test-tests.
22964         * modules/unictype/bidicategory-all: New file, a simple redirection.
22965         * modules/unictype/bidicategory-name: Likewise.
22966         * modules/unictype/bidicategory-byname: Likewise.
22967         * modules/unictype/bidicategory-of: Likewise.
22968         * modules/unictype/bidicategory-test: Likewise.
22969         * modules/unictype/property-bidi-* (Dependencies): Update.
22970         * lib/unictype/bidi_*.c: Update comment.
22971
22972 2011-03-26  Bruno Haible  <bruno@clisp.org>
22973
22974         unictype/bidi*: Rename functions, part 2.
22975         * modules/unictype/bidicategory-name (configure.ac): Update required
22976         libunistring version.
22977         * modules/unictype/bidicategory-byname (configure.ac): Likewise.
22978
22979 2011-03-25  Bruno Haible  <bruno@clisp.org>
22980
22981         New module 'unictype/combining-class-all'.
22982         * modules/unictype/combining-class-all: New file.
22983
22984         Tests for module 'unictype/combining-class-byname'.
22985         * modules/unictype/combining-class-byname-tests: New file.
22986         * tests/unictype/test-combiningclass_byname.c: New file.
22987
22988         New module 'unictype/combining-class-byname'.
22989         * lib/unictype.in.h (uc_combining_class_byname): New declaration.
22990         * lib/unictype/combiningclass_byname.c: New file.
22991         * lib/unictype/combiningclass_byname.gperf: New file.
22992         * modules/unictype/combining-class-byname: New file.
22993
22994         Tests for module 'unictype/combining-class-longname'.
22995         * modules/unictype/combining-class-longname-tests: New file.
22996         * tests/unictype/test-combiningclass_longname.c: New file.
22997
22998         New module 'unictype/combining-class-longname'.
22999         * lib/unictype.in.h (uc_combining_class_long_name): New declaration.
23000         * lib/unictype/combiningclass_longname.c: New file.
23001         * modules/unictype/combining-class-longname: New file.
23002
23003         Tests for module 'unictype/combining-class-name'.
23004         * modules/unictype/combining-class-name-tests: New file.
23005         * tests/unictype/test-combiningclass_name.c: New file.
23006
23007         New module 'unictype/combining-class-name'.
23008         * lib/unictype.in.h (uc_combining_class_name): New declaration.
23009         * lib/unictype/combiningclass_name.c: New file.
23010         * modules/unictype/combining-class-name: New file.
23011
23012 2011-03-25  Bruno Haible  <bruno@clisp.org>
23013
23014         unictype/combining-class: Rename source files.
23015         * lib/gen-uni-tables.c (main): Emit unictype/combiningclass.h instead
23016         of unictype/combining.h.
23017         * lib/unictype/combiningclass.c: Renamed from lib/unictype/combining.c.
23018         Update.
23019         * lib/unictype/combiningclass.h: Renamed from lib/unictype/combining.h.
23020         * modules/unictype/combining-class (Description): Fix.
23021         (Files, Makefile.am): Update.
23022         * tests/unictype/test-combiningclass.c: Renamed from
23023         tests/unictype/test-combining.c.
23024         * modules/unictype/combining-class-tests (Files, Makefile.am): Update.
23025
23026 2011-03-25  Bruno Haible  <bruno@clisp.org>
23027
23028         unictype: Update list of canonical combining classes.
23029         * lib/unictype.in.h (UC_CCC_ATA): New enumeration value.
23030
23031 2011-03-25  Bruno Haible  <bruno@clisp.org>
23032
23033         unictype/category-byname: Recognize long names as well.
23034         * lib/unictype.in.h (uc_general_category_byname): Allow argument to be
23035         a long name.
23036         * lib/unictype/categ_byname.c: Include <stdlib.h>, <string.h>,
23037         unictype/categ_byname.h.
23038         (UC_CATEGORY_INDEX_*): New enumeration values.
23039         (uc_general_category_byname): Use uc_general_category_lookup and
23040         convert from index to value.
23041         * lib/unictype/categ_byname.gperf: New file.
23042         * modules/unictype/category-byname (Files): Add
23043         lib/unictype/categ_byname.gperf.
23044         (Depends-on): Add gperf.
23045         (Makefile.am): Add rule for generating unictype/categ_byname.h.
23046         * tests/unictype/test-categ_byname.c (main): Test the recognition of
23047         long names.
23048
23049         Tests for module 'unictype/category-longname'.
23050         * modules/unictype/category-longname-tests: New file.
23051         * tests/unictype/test-categ_longname.c: New file.
23052
23053         New module 'unictype/category-longname'.
23054         * lib/unictype.in.h (uc_general_category_long_name): New declaration.
23055         * lib/unictype/categ_longname.c: New file.
23056         * modules/unictype/category-longname: New file.
23057         * modules/unictype/category-all (Depends-on): Add it.
23058
23059 2011-03-25  Bruno Haible  <bruno@clisp.org>
23060
23061         Tests for module 'unictype/category-LC'.
23062         * modules/unictype/category-LC-tests: New file.
23063         * tests/unictype/test-categ_LC.c: New file, automatically generated.
23064
23065         New module 'unictype/category-LC'.
23066         * lib/unictype.in.h (UC_CATEGORY_MASK_LC): New enumeration value.
23067         (UC_CATEGORY_LC): New declaration.
23068         (UC_CASED_LETTER): New macro.
23069         * lib/gen-uni-tables.c (is_category_LC): New function.
23070         (output_categories): Also handle category LC.
23071         (UC_CATEGORY_MASK_LC): New enumeration value.
23072         (general_category_byname): Also handle category LC.
23073         * lib/unictype/categ_LC.c: New file.
23074         * lib/unictype/categ_LC.h: New file, automatically generated.
23075         * lib/unictype/categ_name.c (uc_general_category_name): Also handle
23076         category LC.
23077         * lib/unictype/categ_byname.c (uc_general_category_byname): Likewise.
23078         * modules/unictype/category-LC: New file.
23079         * modules/unictype/category-byname (Depends-on): Add
23080         unictype/category-LC.
23081         * modules/unictype/category-all (Depends-on): Likewise.
23082
23083 2011-03-25  Eric Blake  <eblake@redhat.com>
23084
23085         xmalloc: revert yesterday's regression
23086         * lib/xmalloc.c (xrealloc): Once again forward xrealloc(NULL,0) to
23087         realloc's underlying behavior (allowing allocation of zero-size
23088         objects, especially if malloc-gnu is also in use).
23089
23090 2011-03-25  Reuben Thomas  <rrt@sc3d.org>
23091
23092         maint.mk: add missing version to VC-tag
23093         * top/maint.mk: git tag was missing actual tag name; add it.
23094
23095         valgrind: do leak checking, and exit with code 1 on error (not 0)
23096         * m4/valgrind-tests.m4: Add `--error-exitcode=1 --leak-check=full'
23097         to VALGRIND.
23098
23099 2010-11-30  Reuben Thomas  <rrt@sc3d.org>
23100
23101         posix-modules: say what it does.
23102         * posix-modules: Add a line to the --help output saying what it does.
23103
23104 2011-03-24  Paul Eggert  <eggert@cs.ucla.edu>
23105
23106         xmalloc: Do not leak if underlying realloc is C99 compatible.
23107         * lib/xmalloc.c (xrealloc): If N is zero, call 'free' directly.
23108         This avoids a leak on C99-based systems.  See
23109         <http://lists.gnu.org/archive/html/bug-gnulib/2011-03/msg00243.html>.
23110
23111 2011-03-24  Eric Blake  <eblake@redhat.com>
23112
23113         realloc: document portability problem
23114         * doc/posix-functions/realloc.texi (realloc): Mention pitfalls of
23115         passing 0 size to realloc.
23116
23117 2011-03-23  Ben Walton  <bwalton@artsci.utoronto.ca>
23118
23119         doc: update users.txt
23120         * users.txt: Add cvsps, tmpwatch
23121
23122 2011-03-23  Matt Rice  <ratmice@gmail.com>
23123
23124         doc: update users.txt
23125         * users.txt: Add gdb.
23126
23127 2011-03-23  Jim Meyering  <meyering@redhat.com>
23128
23129         doc: update users.txt
23130         Looking through matches up to the following URL (there are still
23131         several more pages), I found several projects that use gnulib:
23132         http://codesearch.google.com/codesearch?start=50&q=gnulib-cache\.m4
23133         * users.txt: Add nagios plugins (nagiosplug), acct, gengetopt,
23134         gmediaserver, gtkreindeer, jugtail, libunistring, mini-httpd, reindeer.
23135
23136 2011-03-22  Bruno Haible  <bruno@clisp.org>
23137
23138         unictype/bidi*: Rename functions.
23139         * lib/unictype.in.h (uc_bidi_class_name, uc_bidi_class_byname,
23140         uc_bidi_class, uc_is_bidi_class): New declarations.
23141         * lib/unictype/bidi_byname.c (uc_bidi_class_byname): Renamed from
23142         uc_bidi_category_byname.
23143         (uc_bidi_category_byname): New function.
23144         * lib/unictype/bidi_name.c (u_bidi_class_name): Renamed from
23145         u_bidi_category_name.
23146         (uc_bidi_class_name): Renamed from uc_bidi_category_name.
23147         (uc_bidi_category_name): New function.
23148         * lib/unictype/bidi_of.c (uc_bidi_class): Renamed from
23149         uc_bidi_category.
23150         (uc_bidi_category): New function.
23151         * lib/unictype/bidi_test.c (uc_is_bidi_class): Renamed from
23152         uc_is_bidi_category. Invoke uc_bidi_class.
23153         (uc_is_bidi_category): New function.
23154         * tests/unictype/test-bidi_byname.c (main): Test uc_bidi_class_byname
23155         instead of uc_bidi_category_byname.
23156         * tests/unictype/test-bidi_name.c (main): Test uc_bidi_class_name
23157         instead of uc_bidi_category_name.
23158         * tests/unictype/test-bidi_of.c (main): Test uc_bidi_class instead of
23159         uc_bidi_category.
23160         * tests/unictype/test-bidi_test.c (main): Test uc_is_bidi_class
23161         instead of uc_is_bidi_category.
23162
23163 2011-03-21  Bruno Haible  <bruno@clisp.org>
23164
23165         New module 'unictype/joininggroup-all'.
23166         * modules/unictype/joininggroup-all: New file.
23167
23168         Tests for module 'unictype/joininggroup-of'.
23169         * modules/unictype/joininggroup-of-tests: New file.
23170         * tests/unictype/test-joininggroup_of.c: New file.
23171         * tests/unictype/test-joininggroup_of.h: New file, automatically
23172         generated by gen-uni-tables.
23173
23174         New module 'unictype/joininggroup-of'.
23175         * modules/unictype/joininggroup-of: New file.
23176         * lib/unictype/joininggroup_of.c: New file.
23177         * lib/unictype/joininggroup_of.h: New file, automatically generated by
23178         gen-uni-tables.
23179
23180         Tests for module 'unictype/joininggroup-byname'.
23181         * modules/unictype/joininggroup-byname-tests: New file.
23182         * tests/unictype/test-joininggroup_byname.c: New file.
23183
23184         New module 'unictype/joininggroup-byname'.
23185         * modules/unictype/joininggroup-byname: New file.
23186         * lib/unictype/joininggroup_byname.c: New file.
23187         * lib/unictype/joininggroup_byname.gperf: New file.
23188
23189         Tests for module 'unictype/joininggroup-name'.
23190         * modules/unictype/joininggroup-name-tests: New file.
23191         * tests/unictype/test-joininggroup_name.c: New file.
23192
23193         New module 'unictype/joininggroup-name'.
23194         * modules/unictype/joininggroup-name: New file.
23195         * lib/unictype/joininggroup_name.c: New file.
23196         * lib/unictype/joininggroup_name.h: New file.
23197
23198         New module 'unictype/joiningtype-all'.
23199         * modules/unictype/joiningtype-all: New file.
23200
23201         Tests for module 'unictype/joiningtype-of'.
23202         * modules/unictype/joiningtype-of-tests: New file.
23203         * tests/unictype/test-joiningtype_of.c: New file.
23204         * tests/unictype/test-joiningtype_of.h: New file, automatically
23205         generated by gen-uni-tables.
23206
23207         New module 'unictype/joiningtype-of'.
23208         * modules/unictype/joiningtype-of: New file.
23209         * lib/unictype/joiningtype_of.c: New file.
23210         * lib/unictype/joiningtype_of.h: New file, automatically generated by
23211         gen-uni-tables.
23212
23213         Tests for module 'unictype/joiningtype-byname'.
23214         * modules/unictype/joiningtype-byname-tests: New file.
23215         * tests/unictype/test-joiningtype_byname.c: New file.
23216
23217         New module 'unictype/joiningtype-byname'.
23218         * modules/unictype/joiningtype-byname: New file.
23219         * lib/unictype/joiningtype_byname.c: New file.
23220
23221         Tests for module 'unictype/joiningtype-name'.
23222         * modules/unictype/joiningtype-name-tests: New file.
23223         * tests/unictype/test-joiningtype_name.c: New file.
23224
23225         New module 'unictype/joiningtype-name'.
23226         * modules/unictype/joiningtype-name: New file.
23227         * lib/unictype/joiningtype_name.c: New file.
23228
23229         unictype: Add support for Arabic shaping properties.
23230         * lib/unictype.in.h (UC_JOINING_TYPE_*): New enumeration values.
23231         (uc_joining_type_name, uc_joining_type_byname, uc_joining_type): New
23232         declarations.
23233         (UC_JOINING_GROUP_*): New enumeration values.
23234         (uc_joining_group_name, uc_joining_group_byname, uc_joining_group): New
23235         declarations.
23236         * lib/gen-uni-tables.c (UC_JOINING_TYPE_*): New enumeration values.
23237         (unicode_joining_type): New variable.
23238         (UC_JOINING_GROUP_*): New enumeration values.
23239         (unicode_joining_group): New variable.
23240         (fill_arabicshaping, joining_type_as_c_identifier,
23241         output_joining_type_test, output_joining_type,
23242         joining_group_as_c_identifier, output_joining_group_test,
23243         output_joining_group): New functions.
23244         (main); Add an argument denoting the ArabicShaping.txt file. Invoke
23245         fill_arabicshaping and output_joining_type_test, output_joining_type,
23246         output_joining_group_test, output_joining_group.
23247         Reported by Simon Josefsson.
23248
23249 2011-03-21  Jim Meyering  <meyering@redhat.com>
23250
23251         strftime: fix a bug in yesterday's change
23252         * lib/strftime.c (add): Accommodate width's initial value of -1.
23253         Otherwise, nstrftime would copy uninitialized data into
23254         the result buffer.
23255
23256 2011-03-21  Jim Meyering  <meyering@redhat.com>
23257
23258         tests: add strftime-tests module
23259         * tests/test-strftime.c: New file.
23260         * modules/strftime-tests: New module.
23261
23262 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23263
23264         strftime: don't assume a byte count fits in 'int'
23265         * lib/strftime.c (add): Don't assume first arg fits in 'int'.  I
23266         found this problem by static analysis, using gcc -Wstrict-overflow
23267         (GCC 4.5.2, x86-64).  This reported an optimization that depended
23268         on an integer overflow having undefined behavior, but it turns out
23269         that the argument is a size, which might not fit in 'int' anyway,
23270
23271 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23272
23273         stdio: don't require ignore_value around fwrite
23274
23275         This patch works around libc bug 11959
23276         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=11959>.
23277         Without this patch, applications must often write
23278         ignore_value (fwrite (...)) even though the ignore_value is
23279         not helpful here.  It's common to write many objects, using
23280         fwrite/printf/etc., and then use ferror to detect output error.
23281
23282         I considered making this patch optional, but decided against it,
23283         because libc is obviously being inconsistent here: there is no
23284         reason libc should insist that user code must inspect fwrite
23285         return's value without also insisting that it inspect printf's,
23286         putchar's, etc.  If user code wants to have a strict style where
23287         all these functions' values are checked (so that ferror need not
23288         be checked), we could add support for that style in a new gnulib
23289         module, but in the meantime it's better to be consistent and to
23290         support common usage.
23291
23292         * lib/stdio.in.h (rpl_fwrite): Define this wrapper around fwrite,
23293         to work around libc bug 11959, if __USE_FORTIFY_LEVEL indicates
23294         that we are compiling in checking mode, and if not C++, and
23295         if not already wrapping fwrite for some other reason.
23296         (fwrite): #define to rpl_fwrite if the latter is defined.
23297
23298 2011-03-20  Bruno Haible  <bruno@clisp.org>
23299
23300         verror: Fix compilation error introduced on 2011-02-13.
23301         * lib/verror.h (verror, verror_at_line): Use _GL_ATTRIBUTE_FORMAT macro
23302         instead of __attribute__.
23303         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
23304
23305 2011-03-20  Paul Eggert  <eggert@cs.ucla.edu>
23306             Bruno Haible  <bruno@clisp.org>
23307
23308         socklen: do not depend on sys_socket
23309         While trying to modify Emacs to use gnulib's socklen module,
23310         I discovered a circular dependency: socklen depends on sys_socket
23311         and vice versa.  Emacs can use socklen, but it does not need
23312         sys_socket because it has its own substitute for sys/socket.h.
23313         * m4/socklen.m4 (gl_SOCKET_HEADERS): New macro, extracted from
23314         gl_TYPE_SOCKLEN_T.
23315         (gl_CHECK_SOCKET_HEADERS): New macro, taken from parts of
23316         gl_PREREQ_SYS_H_SOCKET.
23317         (gl_TYPE_SOCKLEN_T): Require it instead of requiring
23318         gl_PREREQ_SYS_H_SOCKET.
23319         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_SOCKET): Require
23320         gl_CHECK_SOCKET_HEADERS instead of doing its work ourselves.
23321         * modules/socklen (Depends-on): Do not depend on sys_socket.
23322         (Include): Adjust to match the code used in gl_SOCKET_HEADERS.
23323
23324 2011-03-20  Jim Meyering  <meyering@redhat.com>
23325
23326         maint.mk: sort file names *after* new transformation
23327         * top/maint.mk (sc_po_check): Sorting before removing the $(srcdir)/
23328         prefix would have led to an unwarranted failure in GNU parted.
23329         Sort after that transformation.
23330
23331 2011-03-19  Jim Meyering  <meyering@redhat.com>
23332
23333         maint.mk: fix po-file syntax-check rule
23334         * top/maint.mk (sc_po_check): Fix fatal typo in yesterday's change.
23335         Patch by Bruno Haible.
23336
23337 2011-03-19  Bruno Haible  <bruno@clisp.org>
23338
23339         socklen: Update comment.
23340         * m4/socklen.m4: Update comment about platforms.
23341
23342 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23343             Bruno Haible  <bruno@clisp.org>
23344
23345         inet_ntop, inet_pton: Simplify.
23346         * modules/inet_ntop (Depends-on): Remove socklen, since sys_socket is
23347         documented to provide socklen_t and we already depend on sys_socket.
23348         * modules/inet_pton (Depends-on): Likewise.
23349         * lib/arpa_inet.in.h: Adjust comment.
23350
23351 2011-03-19  Paul Eggert  <eggert@cs.ucla.edu>
23352             Bruno Haible  <bruno@clisp.org>
23353
23354         netdb: Simplify.
23355         * modules/netdb (Depends-on): Remove socklen, since sys_socket is
23356         documented to provide socklen_t and we already depend on sys_socket.
23357         * lib/netdb.in.h: Adjust comment.
23358
23359 2011-03-19  Bruno Haible  <bruno@clisp.org>
23360
23361         sys_socket, netdb: Document problem with socklen_t.
23362         * doc/posix-headers/sys_socket.texi: Mention lack of socklen_t on some
23363         platforms.
23364         * doc/posix-headers/netdb.texi: Likewise.
23365
23366 2011-03-18  Eric Blake  <eblake@redhat.com>
23367
23368         maint.mk: let po check work in VPATH build
23369         * top/maint.mk (po_file): Allow cfg.mk override.
23370         (sc_po_check): Allow VPATH use.
23371         Reported by Jiri Denemark.
23372
23373 2011-03-16  Jim Meyering  <meyering@redhat.com>
23374
23375         maint.mk: allow fine-grained syntax-check exclusion via Make variables
23376         Before, you would have had to create one .x-sc_ file per rule in order
23377         to exempt offending files.  Now, you may instead use a Make variable --
23378         usually defined in cfg.mk -- whose name identifies the affected rule.
23379         * top/maint.mk (_sc_excl): Define.
23380         (VC_LIST_EXCEPT): Use it to exclude names on a per-rule basis.
23381         (_sc_search_regexp): When not using VC_LIST_EXCEPT, exclude here, too.
23382
23383 2011-03-13  Bruno Haible  <bruno@clisp.org>
23384
23385         ignore-value tests: Avoid warnings.
23386         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Define to
23387         empty for gcc < 3.4.
23388
23389 2011-03-13  Bruno Haible  <bruno@clisp.org>
23390
23391         passfd: Fix link error on Solaris.
23392         * modules/passfd (Description): Correct.
23393         (Depends-on): Add socketlib.
23394         (Link): New section.
23395         * modules/passfd-tests (Makefile.am): Link test-passfd with LIBSOCKET.
23396
23397 2011-03-13  Bruno Haible  <bruno@clisp.org>
23398
23399         passfd: Fix link error on AIX 5.2.
23400         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Define _LINUX_SOURCE_COMPAT.
23401
23402 2011-03-13  Bruno Haible  <bruno@clisp.org>
23403
23404         passfd: Work around bug with CMSG_FIRSTHDR on FreeBSD 6.4.
23405         * lib/sys_socket.in.h: Include <stddef.h>.
23406         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Include <stddef.h> before using
23407         CMSG_FIRSTHDR. Remove unused variable.
23408
23409 2011-03-13  Bruno Haible  <bruno@clisp.org>
23410
23411         passfd: Fix compilation error on OpenBSD.
23412         * lib/passfd.c: Include <sys/uio.h>.
23413
23414 2011-03-13  Bruno Haible  <bruno@clisp.org>
23415
23416         passfd test: Fix warnings.
23417         * tests/test-passfd.c: Include <sys/wait.h>.
23418         (main): Fix typo.
23419
23420 2011-03-13  Bruno Haible  <bruno@clisp.org>
23421
23422         passfd module, part 4, tweaks.
23423         * tests/test-passfd.c: Reorder includes.
23424         (main): Fix perror and printf calls.
23425
23426 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23427
23428         passfd module, part 4.
23429         * modules/passfd-tests: New file.
23430         * tests/test-passfd.c: New file.
23431
23432 2011-03-13  Jim Meyering  <meyering@redhat.com>
23433
23434         Makefile: rely on GNU make; derive syntax-check rule names
23435         Rather than requiring that each sc_ rule be listed as a dependent
23436         of "check", use features of GNU make to derive the list.
23437         * Makefile (syntax-check-rules): Define.
23438         (check): Depend on the new variable, not the hard-coded list.
23439
23440 2011-03-13  Bastien Roucariès  <roucaries.bastien@gmail.com>
23441             Bruno Haible  <bruno@clisp.org>
23442
23443         passfd module, part 3.
23444         * lib/passfd.h (recvfd): Add a flags argument.
23445         * lib/passfd.c: Include <fcntl.h>, cloexec.h.
23446         (recvfd): Add a flags argument.
23447         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Test whether MSG_CMSG_CLOEXEC
23448         exists.
23449         * modules/passfd (Depends-on): Add cloexec.
23450         Suggested by Eric Blake.
23451
23452 2011-03-13  Bruno Haible  <bruno@clisp.org>
23453
23454         passfd module, part 2, tweaks.
23455         * modules/passfd (Files): Reorder.
23456         (Depends-on): Remove errno.
23457         (Include): Remove <sys/socket.h>, <sys/un.h>.
23458         * lib/passfd.h: Use a GPLv3+ header. Make C++ safe.
23459         * lib/passfd.c: Untabify. Use a GPLv3+ header. Really include the
23460         specification header. Include <sys/socket.h> always. Don't include
23461         <winsock2.h>. Use "#if HAVE_..." instead of "#ifdef HAVE_...".
23462         (sendfd): Clarify that it sets errno when it fails.
23463         (recvfd): Fix specification.
23464
23465 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23466
23467         passfd module, part 2.
23468         * modules/passfd: New file.
23469         * lib/passfd.h: New file.
23470         * lib/passfd.c: New file.
23471
23472 2011-03-12  Bruno Haible  <bruno@clisp.org>
23473
23474         wcswidth, mbswidth: Avoid integer overflow.
23475         * lib/wcswidth.c: Include <limits.h>.
23476         * lib/wcswidth-impl.h (wcswidth): Avoid 'int' overflow.
23477         * lib/mbswidth.c: Include <limits.h>.
23478         (mbsnwidth): Avoid 'int' overflow.
23479         Reported by Jim Meyering.
23480
23481 2011-03-12  Bruno Haible  <bruno@clisp.org>
23482
23483         futimens, utimensat: Avoid endless recursion on Solaris 10.
23484         * lib/sys_stat.in.h (futimens, utimensat): Define with rpl_ prefix on
23485         Solaris.
23486         Reported by Ben Walton <bwalton@artsci.utoronto.ca> via Eric Blake
23487         in <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=8230>.
23488
23489 2011-03-11  Jim Meyering  <meyering@redhat.com>
23490
23491         maint.mk: relax a regexp to accommodate other formatting styles
23492         * top/maint.mk (sc_unmarked_diagnostics): Allow 0 or 1 space
23493         between "ngettext" and the following "(".
23494
23495 2011-03-11  Pádraig Brady <P@draigBrady.com>
23496
23497         maint.mk: suppress a false positive warning
23498         * top/maint.mk ((sc_unmarked_diagnostics): Don't warn when
23499         diagnostics are marked with ngettext.
23500
23501 2011-03-10  Eric Blake  <eblake@redhat.com>
23502
23503         wchar: add explicit dependencies, for Tru64
23504         * modules/mbmemcasecoll (Depends-on): Add wchar.
23505         * modules/mbtowc (Depends-on): Likewise.
23506         * modules/vasnprintf (Depends-on): Likewise.
23507         * modules/unistdio/u-printf-args (Depends-on): Likewise.
23508         * modules/wctomb (Depends-on): Likewise.
23509         Reported by Peter O'Gorman.
23510
23511 2011-03-08  Bruno Haible  <bruno@clisp.org>
23512
23513         passfd module, part 1, tweaks.
23514         * m4/afunix.m4 (gl_SOCKET_AFUNIX): Update AC_REQUIRE invocation.
23515         Improve indentation. Improve AC_MSG_CHECKING messages.
23516         * m4/sockpfaf.m4 (gl_SOCKET_FAMILY_UNIX): New macro, extracted from
23517         gl_SOCKET_FAMILIES.
23518
23519 2011-03-07  Bastien Roucariès  <roucaries.bastien@gmail.com>
23520
23521         passfd module, part 1.
23522         * m4/afunix.m4: New file.
23523         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Also test for UNIX domain
23524         sockets.
23525
23526 2011-03-08  Bruno Haible  <bruno@clisp.org>
23527
23528         regex-quote: New API.
23529         * lib/regex-quote.h: Include <stdbool.h>.
23530         (struct regex_quote_spec): New type.
23531         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23532         New declarations.
23533         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23534         'const struct regex_quote_spec *' argument.
23535         * lib/regex-quote.c (RE_*, PCRE_*): New macros.
23536         (pcre_special): New constant.
23537         (regex_quote_spec_posix, regex_quote_spec_gnu, regex_quote_spec_pcre):
23538         New functions.
23539         (regex_quote_length, regex_quote_copy, regex_quote): Take a
23540         'const struct regex_quote_spec *' argument.
23541         * modules/regex-quote (Depends-on): Add stdbool.
23542         * tests/test-regex-quote.c (check): Update for new API. Add test for
23543         anchored results.
23544         * NEWS: Mention the API change.
23545         Reported by Reuben Thomas and Eric Blake.
23546
23547 2011-03-06  Bruno Haible  <bruno@clisp.org>
23548
23549         regex-quote: Fix creation of POSIX extended regular expressions.
23550         * lib/regex-quote.c (ere_special): Add grouping and alternation
23551         operators.
23552
23553 2011-03-05  Bruno Haible  <bruno@clisp.org>
23554
23555         doc: Improve doc regarding autopoint vs. gnulib.
23556         * doc/gnulib-tool.texi (gettextize and autopoint): Recommend to
23557         disable autopoint while running autoreconf.
23558         Suggested by Ralf Wildenhues.
23559
23560 2011-03-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
23561
23562         Update AC_OPENMP macro for Lahey compiler on GNU/Linux.
23563         * m4/openmp.m4 (AC_OPENMP): Sync from Autoconf.
23564
23565 2011-03-03  Bruce Korb  <bkorb@gnu.org>
23566
23567         parse-duration: remove xalloc.h dependency
23568         * lib/parse-duration.c (parse_period): handle NULL return from
23569         strdup instead of calling xstrdup().
23570         * modules/parse-duration: remove "xalloc" dependency
23571
23572 2011-03-03  Matthew Booth  <mbooth@redhat.com>
23573
23574         bootstrap: honor m4_base when running aclocal
23575         * build-aux/bootstrap: Fix hard-coded use of m4 directory name.
23576
23577 2011-03-02  Jim Meyering  <meyering@redhat.com>
23578
23579         getopt-gnu: relax license from LGPLv3+ to LGPLv2+
23580         * modules/getopt-gnu (License): Relax to LGPLv2+, for augeas,
23581         on request from Matt Booth.
23582
23583 2011-03-01  Eric Blake  <eblake@redhat.com>
23584
23585         test-link: work on Hurd
23586         * tests/test-link.h (test_link): Hurd rejects linking directories
23587         with EISDIR instead of the POSIX-mandated EPERM.
23588
23589 2011-02-28  Paul Eggert  <eggert@cs.ucla.edu>
23590
23591         stdio: simplify by moving files to printf-posix, sigpipe
23592         * m4/stdio_h.m4 (gl_STDIO_H): Do not require gl_ASM_SYMBOL_PREFIX,
23593         since this symbol is needed only if printf is replaced.
23594         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF):
23595         Require gl_ASM_SYMBOL_PREFIX.
23596         * modules/printf-posix (Files): Add m4/asm-underscore.m4.
23597         * modules/sigpipe (Files): Likewise.  Also, add m4/stdio-write.c.
23598         (Depends-on): Add 'raise'.
23599         (configure.ac): Require gl_ASM_SYMBOL_PREFIX.
23600         * modules/stdio (Files): Remove lib/stdio-write.c,
23601         m4/asm-underscore.m4.
23602         (Depends-on): Remove 'raise'.
23603
23604         stdio: simplify by moving gl_STDIN_LARGE_OFFSET to fseeko, ftello
23605         * m4/fseeko.m4 (gl_STDIN_LARGE_OFFSET): Moved here, from ...
23606         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): ... here, because
23607         * modules/ftello (Files): Add m4/fseeko.m4, for gl_STDIN_LARGE_OFFSET.
23608
23609 2011-02-28  Bruno Haible  <bruno@clisp.org>
23610
23611         localcharset: Assume ANSI C behaviour of free().
23612         * lib/localcharset.c (get_charset_aliases): Remove NULL test before
23613         calling free().
23614         Suggested by Simon Josefsson <simon@josefsson.org>.
23615
23616 2011-02-28  Corinna Vinschen  <vinschen@redhat.com>  (tiny change)
23617             Charles Wilson  <cygwin@cwilson.fastmail.fm>  (tiny change)
23618             Bruno Haible  <bruno@clisp.org>  (tiny change)
23619
23620         On Cygwin, use /proc file system instead of win32 API.
23621         * lib/relocatable.c: On Cygwin, use file names from /proc, rather than
23622         Win32 file names.
23623         (DllMain): Simplify by removing Cygwin specific code.
23624         (find_shared_library_fullname): Use Linux specific implementation also
23625         for Cygwin.
23626         (get_shared_library_fullname): Update accordingly.
23627         * lib/progreloc.c: On Cygwin, use file names from /proc, rather than
23628         Win32 file names.
23629         (find_executable): On Cygwin, use /proc, like on Linux. Remove previous
23630         Cygwin specific code.
23631
23632 2011-02-28  Christian Rössel  <christian.roessel@gmx.de>  (tiny change)
23633             Markus Geimer  <m.geimer@fz-juelich.de>  (tiny change)
23634
23635         Fix OpenMP flag detection for various Fortran compilers.
23636         * m4/openmp.m4 (_AC_LANG_OPENMP(Fortran 77)): Use '!$'
23637         OpenMP-conditional compilation construct, to force compile
23638         failure with missing OpenMP flag.
23639         (AC_OPENMP): Add flags for Cray CCE and NEC SX compilers.
23640
23641 2011-02-25  Eric Blake  <eblake@redhat.com>
23642
23643         strstr: expand test coverage
23644         * tests/test-strstr.c (main): Add much shorter trigger.  Fix C89
23645         compilation.
23646         * tests/test-memmem.c (main): Duplicate tests.
23647         * tests/test-strcasestr.c (main): Likewise.
23648         * tests/test-c-strcasestr.c (main): Likewise.
23649
23650 2011-02-25  Jim Meyering  <meyering@redhat.com>
23651
23652         maint.mk: detect missing-NL-at-EOF, too
23653         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Adjust so that
23654         it also detects when a file lacks a newline at EOF.
23655         (require_exactly_one_NL_at_EOF_): Renamed from
23656         detect_empty_lines_at_EOF_.  I opted not to rename the rule,
23657         since people may well have .x-sc_... file names tied to the
23658         existing name.  Suggested by Eric Blake.
23659
23660 2011-02-25  Paul Eggert  <eggert@cs.ucla.edu>
23661
23662         dirname: move m4/dos.m4 functionality into lib/dosname.h
23663
23664         m4/dos.m4 needs to go.  It laboriously invokes the C compiler, and
23665         extracts symbols from it, puts them into config.h; but it's much
23666         easier to use the symbols directly.  filename.h already does this,
23667         but it disagrees with dos.m4 in some respects.  This patch
23668         introduces a different include file dosname.h that packages up
23669         dos.m4, and then later we can work on merging filename.h and
23670         dosname.h.  Applications that need only the easy-to-configure
23671         symbols should consider including dosname.h rather than dirname.h.
23672         * NEWS: Mention incompatible changes.
23673         * m4/dos.m4: Remove.
23674         * lib/dosname.h, modules/dosname: New files.
23675         * lib/dirname.h (ISSLASH, FILE_SYSTEM_PREFIX_LEN):
23676         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE):
23677         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): Move to lib/dosname.h.
23678         * lib/at-func.c, lib/at-func2.c, lib/openat.c, lib/savewd.c:
23679         Include dosname.h, not dirname.h.
23680         * lib/rmdir.c, lib/stat.c, lib/unlink.c, lib/unlinkat.c:
23681         Include dosname.h, for definitions of symbols like ISSLASH
23682         that used to be in config.h.
23683         * m4/dirname.m4 (gl_DIRNAME_LGPL): Do not require gl_AC_DOS.
23684         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
23685         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
23686         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
23687         * modules/dirname-lgpl (Files): Omit m4/dos.m4.
23688         * modules/rmdir (Files): Likewise.
23689         * modules/stat (Files): Likewise.
23690         * modules/unlink (Files): Likewise.
23691         * modules/dirname-lgpl (Depends-on): Add dosname.
23692         * modules/lstat (Depends-on): Likewise.
23693         * modules/openat (Depends-on): Likewise.
23694         * modules/rmdir (Depends-on): Likewise.
23695         * modules/savewd (Depends-on): Likewise.
23696         * modules/stat (Depends-on): Likewise.
23697         * modules/unlink (Depends-on): Likewise.
23698         * modules/openat (Depends-on): Remove dirname-lgpl.
23699         * modules/savewd (Depends-on): Likewise.
23700         * tests/test-dirname.c: Do not use removed symbols like
23701         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.  Instead, use
23702         the remaining symbols, e.g., ISSLASH ('\\').
23703
23704 2011-02-25  Eric Blake  <eblake@redhat.com>
23705
23706         strstr: revert patches that introduced bug and pessimization
23707         * lib/str-two-way.h: Add another reference.
23708         (two_way_short_needle, two_way_long_needle): Revert changes from
23709         2011-02-24; they pessimize search speed.
23710         (critical_factorization): Partially revert changes from
23711         2010-06-22; they violate the requirement that the left half of the
23712         needle be smaller than the period of the needle.
23713
23714 2011-02-24  Paul Eggert  <eggert@cs.ucla.edu>
23715
23716         filenamecat: remove unnecessary dependency on dirname-lgpl
23717         * modules/filenamecat (Depends-on): Remove dirname-lgpl, as there
23718         is no direct dependency, just an indirect one via filenamecat-lgpl.
23719
23720         remove: remove unnecessary use of m4/dos.m4
23721         * m4/remove.m4 (gl_FUNC_REMOVE): Don't require gl_AC_DOS; not needed.
23722         * modules/remove (FILES): Remove m4/dos.m4.
23723
23724         * lib/openat-proc.c: Don't include dirname.h; not needed.
23725
23726         backupfile: remove unnecessary use of m4/dos.m4
23727         * m4/backupfile.m4 (gl_BACKUPFILE): Don't require gl_AC_DOS; none
23728         of its symbols are used by the backupfile code.  backupfile.c does
23729         use a symbol HAVE_DOS_FILE_NAMES, but that symbol is meant only
23730         for the rare case of programs that want all their backup file
23731         names to live within 8+3 limits, and dos.m4 doesn't address that.
23732         * modules/backupfile (Files): Remove m4/dos.m4.
23733
23734 2011-02-24  Jim Meyering  <meyering@redhat.com>
23735
23736         strstr: fix a bug whereby strstr would mistakenly return NULL
23737         * lib/str-two-way.h (two_way_short_needle): Correct off-by-one error
23738         in period calculation.
23739         (two_way_long_needle): Likewise.
23740         The original problem was reported by Mike Stump in
23741         http://thread.gmane.org/gmane.comp.sysutils.autoconf.bugs/7834
23742         Ralf Wildenhues provided the short needle and haystack.
23743         * tests/test-strstr.c: Add Ralf's test case to trigger the bug.
23744         Add a more involved test to trigger the bug in two_way_long_needle.
23745
23746 2011-02-24  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
23747
23748         gnulib-tool: remove use of bold display in help screen
23749         * gnulib-tool (func_usage): Do not use bold display anymore in the
23750         help screen.  That was just meant to be a temporary emphasis for a
23751         backward-incompatible change.
23752
23753 2011-02-23  Bruno Haible  <bruno@clisp.org>
23754
23755         Fix misindentation of preprocessor directives.
23756         * lib/argp-namefrob.h: Reindent preprocessor directives.
23757         * lib/getopt_int.h (struct _getopt_data): Likewise.
23758         * lib/progreloc.c (maybe_executable, find_executable): Likewise.
23759         * lib/vasnprintf.c (decode_long_double): Likewise.
23760         * tests/test-argmatch.c: Insert blank lines, for clarity.
23761         * tests/test-exclude.c: Likewise.
23762
23763 2011-02-22  Bruno Haible  <bruno@clisp.org>
23764
23765         ioctl: Fix for MacOS X in 64-bit mode.
23766         * lib/ioctl.c (rpl_ioctl): Zero-extend, not sign-extend, the request
23767         value.
23768         Suggested by Eric Blake.
23769         Reported by Markus Gothe <nietzsche@lysator.liu.se>.
23770
23771 2011-02-22  Jim Meyering  <meyering@redhat.com>
23772
23773         maint: sc_cpp_indent_check: remove the "only in lib/" restriction
23774         * Makefile (sc_cpp_indent_check): Don't limit the check to files
23775         in lib/.
23776
23777 2011-02-22  Eric Blake  <eblake@redhat.com>
23778
23779         maint: avoid any CDPATH issue
23780         * Makefile (sc_cpp_indent_check): Anchor cd argument.
23781
23782         maint: adjust cpp indentation for my modules, as well
23783         * Makefile (sc_cpp_indent_check): Add my name.
23784         * lib/fbufmode.c: Filter through cppi.
23785         * lib/fpurge.c: Likewise.
23786         * lib/freadable.c: Likewise.
23787         * lib/freading.c: Likewise.
23788         * lib/fwritable.c: Likewise.
23789         * lib/fwriting.c: Likewise.
23790         * lib/sigaction.c: Likewise.
23791
23792 2011-02-22  Jim Meyering  <meyering@redhat.com>
23793
23794         maint: adjust cpp indentation to reflect nesting depth
23795         I.e., in a block of code that begins with an unnested "#if",
23796         put one space between the "#" in column 1 and following token.
23797         For example,
23798         -#include <sys/vfs.h>
23799         +# include <sys/vfs.h>
23800         Do this only in .c files that are part of a module I maintain.
23801         * lib/linkat.c: Filter through cppi.
23802         * lib/nanosleep.c: Likewise.
23803         * lib/openat.c: Likewise.
23804         * lib/openat-die.c: Likewise.
23805         * lib/dup3.c: Likewise.
23806         * lib/fchownat.c: Likewise.
23807         * lib/flock.c: Likewise.
23808         * lib/fsync.c: Likewise.
23809         * lib/fts.c: Likewise.
23810         * lib/getpass.c: Likewise.
23811         * lib/gettimeofday.c: Likewise.
23812         * lib/userspec.c: Likewise.
23813         * Makefile (sc_cpp_indent_check): New rule, to check this.
23814
23815 2011-02-22  Bruno Haible  <bruno@clisp.org>
23816
23817         New module 'wctomb'.
23818         * lib/stdlib.in.h (wctomb): New declaration.
23819         * lib/wctomb.c: New file.
23820         * lib/wctomb-impl.h: New file.
23821         * m4/wctomb.m4: New file.
23822         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_WCTOMB,
23823         REPLACE_WCTOMB.
23824         * modules/stdlib (Makefile.am): Substitute GNULIB_WCTOMB,
23825         REPLACE_WCTOMB.
23826         * modules/wctomb: New file.
23827         * tests/test-stdlib-c++.cc: Test signature of wctomb.
23828         * doc/posix-functions/wctomb.texi: Mention the new module.
23829         * modules/wctob (Depends-on): Add wctomb.
23830
23831 2011-02-22  Bruno Haible  <bruno@clisp.org>
23832
23833         New module 'mbtowc'.
23834         * lib/stdlib.in.h (mbtowc): New declaration.
23835         * lib/mbtowc.c: New file.
23836         * lib/mbtowc-impl.h: New file, from libutf8 with modifications.
23837         * m4/mbtowc.m4: New file.
23838         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MBTOWC,
23839         REPLACE_MBTOWC.
23840         * modules/stdlib (Makefile.am): Substitute GNULIB_MBTOWC,
23841         REPLACE_MBTOWC.
23842         * modules/mbtowc: New file.
23843         * tests/test-stdlib-c++.cc: Test signature of mbtowc.
23844         * doc/posix-functions/mbtowc.texi: Mention the new module.
23845         * modules/btowc (Depends-on): Add mbtowc.
23846
23847 2011-02-22  Bruno Haible  <bruno@clisp.org>
23848
23849         wcrtomb: Add more tests for native Windows platforms.
23850         * tests/test-wcrtomb-w32-1.sh: New file.
23851         * tests/test-wcrtomb-w32-2.sh: New file.
23852         * tests/test-wcrtomb-w32-3.sh: New file.
23853         * tests/test-wcrtomb-w32-4.sh: New file.
23854         * tests/test-wcrtomb-w32-5.sh: New file.
23855         * tests/test-wcrtomb-w32.c: New file.
23856         * modules/wcrtomb-tests (Files): Add them.
23857         (Makefile.am): Arrange to run these tests.
23858         * tests/test-wcrtomb-w32-6.sh: New file, currently unused.
23859         * tests/test-wcrtomb-w32-7.sh: New file, currently unused.
23860
23861 2011-02-20  Bruno Haible  <bruno@clisp.org>
23862
23863         wcrtomb: Enhance test.
23864         * tests/test-wcrtomb.c (main): Add test against bug with NULL argument.
23865
23866 2011-02-20  Bruno Haible  <bruno@clisp.org>
23867
23868         mbrtowc: Tiny optimization.
23869         * lib/mbrtowc.c (mbrtowc): Delay pstate assignment until it is needed.
23870
23871 2011-02-20  Jim Meyering  <meyering@redhat.com>
23872
23873         test-exclude.c: remove unmatched #endif
23874         * tests/test-exclude.c: Remove stray #endif, left over from
23875         the change of a week ago.
23876
23877 2011-02-19  Jim Meyering  <meyering@redhat.com>
23878
23879         git-version-gen: skip "-dirty" check when appropriate
23880         * build-aux/git-version-gen: Don't run any git commands when the
23881         version string comes from .tarball-version.  Prior to this, we
23882         would run git update-index --refresh even from a just-unpacked
23883         tarball directory, and that could affect a .git/ directory in a
23884         parent of the build directory.  Reported by Mike Frysinger.
23885
23886 2011-02-19  Bruno Haible  <bruno@clisp.org>
23887
23888         unictype/property-byname: Reduce the size of the 'data' segment.
23889         * lib/unictype/pr_byname.gperf: Add gperf option '%pic'.
23890
23891 2011-02-19  Bruno Haible  <bruno@clisp.org>
23892
23893         unictype/scripts: Reduce the size of the 'data' segment.
23894         * lib/gen-uni-tables.c (output_scripts_byname): Emit gperf option
23895         '%pic'.
23896         * lib/unictype/scripts_byname.gperf: Regenerated.
23897
23898 2011-02-19  Bruno Haible  <bruno@clisp.org>
23899
23900         stdint: Update documentation.
23901         * doc/posix-headers/stdint.texi: Mention WCHAR_MIN, WCHAR_MAX problem.
23902
23903 2011-02-18  Paul Eggert  <eggert@cs.ucla.edu>
23904
23905         stdint: omit redundant check for wchar.h
23906         * m4/stdint.m4 (gl_STDINT_H): The earlier part of this macro now
23907         always tests whether wchar.h exists, so remove the now-redundant test.
23908
23909 2011-02-18  Bruno Haible  <bruno@clisp.org>
23910
23911         stdint: Cut dependency to module 'wchar'.
23912         * lib/stdint.in.h: Include wchar.h only when HAVE_WCHAR_H is 1. Also
23913         include the necessary prerequisites.
23914         * m4/stdint.m4 (gl_STDINT_H): Test whether wchar.h exists.
23915         * modules/stdint (Depends-on): Remove wchar.
23916         (Makefile.am): Substitute HAVE_WCHAR_H.
23917         This reverts part of a 2007-01-06 commit. Reported by Paul Eggert.
23918
23919 2011-02-18  Eric Blake  <eblake@redhat.com>
23920
23921         longlong: skip, rather than fail, on cross-compilation
23922         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Avoid aborting configure
23923         when cross-compiling; regression from 2011-02-16.
23924
23925 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23926
23927         * NEWS: Mention 2011-02-08 change to stdlib.
23928
23929 2011-02-17  Bruno Haible  <bruno@clisp.org>
23930
23931         getloadavg: Add comments about platforms.
23932         * m4/getloadavg.m4: Add comment.
23933         * lib/getloadavg.c: Likewise.
23934
23935 2011-02-17  Bruno Haible  <bruno@clisp.org>
23936
23937         getloadavg: Fix link error on Solaris 2.6.
23938         * modules/getloadavg (Link): New section.
23939         * modules/getloadavg-tests (Makefile.am): Use GETLOADAVG_LIBS for
23940         linking test-getloadavg.
23941         * doc/glibc-functions/getloadavg.texi: Mention that Solaris 2.6 lacks
23942         getloadavg.
23943
23944 2011-02-17  Paul Eggert  <eggert@cs.ucla.edu>
23945
23946         * lib/getloadavg.c (getloadavg) [sgi]: Make ldav_off of type ptrdiff_t.
23947         It was 'int', but this doesn't match the IRIX 6.5 manual.
23948         Suggested by Bruno Haible in
23949         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00207.html>.
23950
23951 2011-02-17  Bruno Haible  <bruno@clisp.org>
23952
23953         havelib: Fix comments.
23954         * m4/lib-link.m4 (AC_LIB_RPATH): Update comments after 2007-01-02
23955         change.
23956
23957 2011-02-17  Bruno Haible  <bruno@clisp.org>
23958
23959         havelib: Update config.rpath.
23960         * build-aux/config.rpath: Update to match libtool.m4 from libtool-2.4.
23961
23962 2011-02-17  Bruno Haible  <bruno@clisp.org>
23963
23964         getloadavg test: Add some plausibility checks.
23965         * tests/test-getloadavg.c (check_avg): Print a warning when the value
23966         is improbable.
23967
23968 2011-02-16  Eric Blake  <eblake@redhat.com>
23969
23970         maintainer-makefile: make syntax-check a no-op from tarballs
23971         * top/maint.mk (no-vc-detected): New rule.
23972         (local-checks-available): Use it to avoid hanging if someone tries
23973         'make syntax-check' from a tarball.  Also append to any non-syntax
23974         checks already defined in cfg.mk.
23975
23976 2011-02-16  Paul Eggert  <eggert@cs.ucla.edu>
23977
23978         longlong: tune, particularly for common case of c99
23979
23980         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Don't bother compiling
23981         or running anything if c99, or if unsigned long long int does not
23982         work.  In either case, we know the answer without further tests.
23983         Do not compile _AC_TYPE_LONG_LONG_SNIPPET twice.  Instead, compile
23984         it at most once, and use its results for both long long int and
23985         unsigned long long int.  This is more likely to be efficient in
23986         the common case where the program wants to check for both long
23987         long int and unsigned long long int.
23988         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Don't bother compiling if c99,
23989         since the answer is already known.
23990
23991 2011-02-15  Paul Eggert  <eggert@cs.ucla.edu>
23992
23993         getloadavg: set errno
23994         * lib/getloadavg.c: Set errno when returning -1.  If no other
23995         error number looks appropriate, set it to ENOSYS if the getloadavg
23996         looks like it can't possibly ever work, ENOTSUP otherwise.
23997         Suggested by Bruno Haible in
23998         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00187.html>.
23999
24000         getloadavg: trim unused parts and speed up 'configure'
24001         * NEWS: Document this.
24002         * lib/getloadavg.c: Ignore HAVE_GETLOADAVG; this file is now
24003         always compiled if getloadavg is absent.
24004         Move test code to ...
24005         * tests/test-getloadavg.c: New file, containing previous
24006         contents of test from lib/getloadavg.c.  It also contains
24007         suggestions by Bruno Haible in
24008         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00186.html>.
24009         * modules/getloadavg-tests: New file.
24010         * m4/getloadavg.m4 (gl_GETLOADAVG): Do not check for getloadavg twice.
24011         Do tests in the same order as they're needed for getloadavg.c.
24012         Omit setgid-related tests that generate symbols KMEM_GROUP,
24013         NEET_SETGID, GETLOADAVG_PRIVILEGED; nobody seems to use those any more.
24014         Do only the tests that are needed to see whether the system has
24015         getloadavg, moving the other tests into ...
24016         (gl_PREREQ_GETLOADAVG): ... here.  Do not define obsolete symbol
24017         NLIST_NAME_UNION; nobody should be using it.  Do not define
24018         symbols C_GETLOADAVG and HAVE_GETLOADAVG; they're no longer
24019         relevant, as the user of this module shouldn't care how getloadavg
24020         is implemented.
24021
24022         getloadavg: omit unused var
24023         * lib/getloadavg.c (getloadavg): Omit unused local variable.
24024
24025 2011-02-15  Jim Meyering  <meyering@redhat.com>
24026
24027         doc: update users.txt
24028         * users.txt: Update iwhd's URL.
24029
24030 2011-02-13  Bruno Haible  <bruno@clisp.org>
24031
24032         Consistent macro naming for macros that use GCC __attribute__.
24033         * lib/di-set.h (_GL_ATTRIBUTE_NONNULL): Renamed from
24034         _ATTRIBUTE_NONNULL_.
24035         * lib/ino-map.h (_GL_ATTRIBUTE_NONNULL): Likewise.
24036         * lib/hash.h (_GL_ATTRIBUTE_WUR): Renamed from ATTRIBUTE_WUR.
24037         * lib/ignore-value.h (_GL_ATTRIBUTE_DEPRECATED): Renamed from
24038         ATTRIBUTE_DEPRECATED.
24039         * lib/openat.h (_GL_ATTRIBUTE_NORETURN): Renamed from
24040         ATTRIBUTE_NORETURN.
24041         * lib/sigpipe-die.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24042         * lib/xmemdup0.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24043         * lib/xstrtol.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24044         * lib/xalloc.h (_GL_ATTRIBUTE_NORETURN): Likewise.
24045         (_GL_ATTRIBUTE_MALLOC): Renamed from ATTRIBUTE_MALLOC.
24046         (_GL_ATTRIBUTE_ALLOC_SIZE): Renamed from ATTRIBUTE_ALLOC_SIZE.
24047         * lib/version-etc.h (_GL_ATTRIBUTE_SENTINEL): Renamed from
24048         ATTRIBUTE_SENTINEL.
24049         * lib/safe-alloc.h (_GL_ATTRIBUTE_RETURN_CHECK): Renamed from
24050         ATTRIBUTE_RETURN_CHECK.
24051         * tests/test-ignore-value.c (_GL_ATTRIBUTE_RETURN_CHECK): Likewise.
24052         * tests/test-argmatch.c (_GL_ATTRIBUTE_NORETURN): Renamed from
24053         ATTRIBUTE_NORETURN.
24054         * tests/test-exclude.c (_GL_ATTRIBUTE_NORETURN): Likewise.
24055         Reported by Paul Eggert.
24056
24057 2011-02-13  Bruno Haible  <bruno@clisp.org>
24058
24059         Don't interfere with a program's definition of __attribute__.
24060         * lib/argp.h (__attribute__): Remove definition.
24061         (_GL_ATTRIBUTE_FORMAT): New macro.
24062         (argp_error, __argp_error, argp_failure, __argp_failure): Use it.
24063         * lib/argp-fmtstream.h (__attribute__): Remove definition.
24064         (_GL_ATTRIBUTE_FORMAT): New macro.
24065         (__argp_fmtstream_printf, argp_fmtstream_printf): Use it.
24066         * lib/argp-help.c (hol_entry_long_iterate): Use __attribute__ only for
24067         GCC 3 or newer.
24068         * lib/error.h (__attribute__): Remove definition.
24069         (_GL_ATTRIBUTE_FORMAT): New macro.
24070         (error, error_at_line): Use it.
24071         * lib/hash.h (__attribute__): Remove definition.
24072         (ATTRIBUTE_WUR): Update definition. Define always.
24073         * lib/openat.h (__attribute__): Remove definition.
24074         (ATTRIBUTE_NORETURN): Update definition. Define always.
24075         * lib/sigpipe-die.h (__attribute__): Remove definition.
24076         (ATTRIBUTE_NORETURN): Update definition. Define always.
24077         * lib/vasnprintf.h (__attribute__): Remove definition.
24078         (_GL_ATTRIBUTE_FORMAT): New macro.
24079         (asnprintf, vasnprintf): Use it.
24080         * lib/xalloc.h (__attribute__): Remove definition.
24081         (ATTRIBUTE_NORETURN): Update definition. Define always.
24082         (ATTRIBUTE_MALLOC, ATTRIBUTE_ALLOC_SIZE): Define always.
24083         * lib/xmemdup0.h (__attribute__): Remove definition.
24084         (ATTRIBUTE_NORETURN): Update definition. Define always.
24085         * lib/xprintf.h (__attribute__): Remove definition.
24086         (_GL_ATTRIBUTE_FORMAT): New macro.
24087         (xprintf, xvprintf, xfprintf, xvfprintf): Use it.
24088         * lib/xstrtol.h (__attribute__): Remove definition.
24089         (ATTRIBUTE_NORETURN): Update definition. Define always.
24090         * lib/xvasprintf.h (__attribute__): Remove definition.
24091         (_GL_ATTRIBUTE_FORMAT): New macro.
24092         (xasprintf, xvasprintf): Use it.
24093         * tests/test-argmatch.c (__attribute__): Remove definition.
24094         (ATTRIBUTE_NORETURN): Update definition. Define always.
24095         * tests/test-exclude.c (__attribute__): Remove definition.
24096         (ATTRIBUTE_NORETURN): Update definition. Define always.
24097         Reported by Paul Eggert.
24098
24099 2011-02-13  Bruno Haible  <bruno@clisp.org>
24100
24101         mbrtowc: Add more tests for native Windows platforms.
24102         * tests/test-mbrtowc-w32-1.sh: New file.
24103         * tests/test-mbrtowc-w32-2.sh: New file.
24104         * tests/test-mbrtowc-w32-3.sh: New file.
24105         * tests/test-mbrtowc-w32-4.sh: New file.
24106         * tests/test-mbrtowc-w32-5.sh: New file.
24107         * tests/test-mbrtowc-w32.c: New file.
24108         * modules/mbrtowc-tests (Files): Add them.
24109         (Makefile.am): Arrange to run these tests.
24110         * tests/test-mbrtowc-w32-6.sh: New file, currently unused.
24111         * tests/test-mbrtowc-w32-7.sh: New file, currently unused.
24112
24113 2011-02-13  Bruno Haible  <bruno@clisp.org>
24114
24115         mbrtowc: Work around native Windows bug.
24116         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Detect native Windows bug. Use the
24117         guess when no suitable locale for testing was found.
24118         * doc/posix-functions/mbrtowc.texi: Mention the native Windows bug.
24119
24120 2011-02-13  Bruno Haible  <bruno@clisp.org>
24121
24122         mbsinit: Work around mingw bug.
24123         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Replace mbsinit also on mingw.
24124         * lib/mbsinit.c (mbsinit): Provide an alternate definition for native
24125         Windows.
24126         * doc/posix-functions/mbsinit.texi: Mention the mingw bug.
24127
24128 2011-02-13  Bruno Haible  <bruno@clisp.org>
24129
24130         mbsinit: Don't crash for a NULL argument.
24131         * lib/mbsinit.c (mbsinit): When the argument is NULL, return 1.
24132         * tests/test-mbsinit.c (mbsinit): Check this behaviour.
24133
24134 2011-02-13  Bruno Haible  <bruno@clisp.org>
24135
24136         Don't interfere with a program's definition of __attribute__.
24137         * lib/stdio.in.h (__attribute__): Remove definition.
24138         (_GL_ATTRIBUTE_FORMAT, _GL_ATTRIBUTE_FORMAT_PRINTF): New macros.
24139         (dprintf, fprintf, obstack_printf, obstack_printf, obstack_vprintf,
24140         printf, snprintf, sprintf, asprintf, vasprintf, vdprintf, vfprintf,
24141         vsnprintf, vsprintf): Use _GL_ATTRIBUTE_FORMAT_PRINTF.
24142         * lib/string.in.h (__attribute__): Remove definition.
24143         Reported by Paul Eggert.
24144
24145 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
24146
24147         stdlib: don't get in the way of non-GCC __attribute__
24148         See thread starting at
24149         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00161.html>.
24150         Revert previous stdlib change, installing the following instead:
24151         * lib/stdlib.in.h (__attribute__): Remove.  We do not want
24152         to get in the way of a non-GCC compiler that supports __attribute__.
24153         (_GL_ATTRIBUTE_RETURN): New macro.
24154         (_Exit): Use it instead of __attribute__.
24155
24156 2011-02-12  Bruno Haible  <bruno@clisp.org>
24157
24158         quotearg test: Avoid test failure on mingw.
24159         * tests/test-quotearg.sh: Convert the locale identifier from native
24160         Windows syntax to Unix syntax.
24161
24162 2011-02-12  Bruno Haible  <bruno@clisp.org>
24163
24164         setlocale: Prefer gnulib's override over libintl's override.
24165         * lib/locale.in.h (GNULIB_defined_setlocale): New macro.
24166         * lib/gettext.h (setlocale): Redefine to rpl_setlocale if
24167         GNULIB_defined_setlocale is set.
24168
24169 2011-02-12  Paul Eggert  <eggert@cs.ucla.edu>
24170
24171         stdlib: support non-GCC __attribute__
24172
24173         Fix a serious and tricky problem encountered when attempting to
24174         add the getloadavg module to Emacs.  Emacs worked fine on RHEL
24175         5.5, but it crashed due to memory corruption on Solaris 10 with
24176         Sun C 5.11.  Emacs normally ORs 3-bit tags into their low-order
24177         bits that are otherwise zero.  This tagging is optional inside
24178         Emacs but is preferred and is used when __attribute__ ((__aligned
24179         (8))) works, as it does with both recent-enough GCC and with Sun C
24180         5.11.  However, Sun C 5.11 is not GCC and does not #define
24181         __GNUC__ and __GNUC_MINOR__.
24182
24183         When I added the getloadavg module to Emacs, it brought in
24184         stdlib.in.h, which contained this fragment:
24185
24186            #ifndef __attribute__
24187            # if __GNUC__ < 2 || (__GNUC__ == 2 && __GNUC_MINOR__ < 8)
24188            #  define __attribute__(Spec)   /* empty */
24189            # endif
24190            #endif
24191
24192         When files that include <stdlib.h> were compiled with Sun C 5.11,
24193         the above code disabled __attribute__ ((__aligned (8))), which
24194         caused variables to not be properly aligned, which eventually led
24195         to the pointer corruption mentioned above.  (This was a bit hard
24196         to diagnose, unfortunately.)
24197
24198         Several "#define __attribute__(X) /* empty */" code snippets need
24199         to be eradicated from Gnulib to work with non-GCC compilers that
24200         support __attribute__.  The Autoconf way to do this is to test for
24201         each kind of attribute that we want support for, and selectively
24202         enable that in source code.
24203
24204         Fix this problem just for stdlib.h, by adding a test for the
24205         __noreturn__ attribute, and change stdlib.in.h to use that test
24206         when needed.  This technique can be easily generalized to the
24207         other *.in.h files and attributes, and a similar technique can be
24208         used for *.h and *.c files.  This patch is enough to solve the
24209         problem for Emacs + getloadavg, and I thought I'd publish it for
24210         feedback before undertaking further, similar fixes in other
24211         modules.
24212
24213         This patch does not arrange to #define HAVE_ATTRIBUTE_NORETURN
24214         because it's not needed for stdlib.h.  It merely substitutes the
24215         value directly into stdlib.h.  We may well need to #define it, or
24216         similar symbols, for other modules, but it's nice to also have an
24217         option to not #define it for applications like Emacs that do not
24218         need it.
24219
24220         * lib/stdlib.in.h (__attribute__): Do not #define.
24221         (_GL_ATTRIBUTE_NORETURN): New macro, which in stdlib.h needs to
24222         be defined only if the _Exit module is also used.
24223         * m4/_Exit.m4 (gl_FUNC__EXIT): Require gl_ATTRIBUTE_NORETURN.
24224         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Subst
24225         HAVE_ATTRIBUTE_NORETURN and default it to 1, its value on GNU
24226         platforms.
24227         * modules/_Exit (Files): Add m4/attribute.m4.
24228         * modules/stdlib (Makefile.am): Substitute HAVE_ATTRIBUTE_NORETURN.
24229         * m4/attribute.m4: New file.
24230
24231 2011-02-12  Bruno Haible  <bruno@clisp.org>
24232
24233         wcsrtombs: Work around bug on native Windows.
24234         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_NULL): Test against mingw bug.
24235         * lib/wcsrtombs.c (rpl_wcsrtombs): When dest is NULL, pass SIZE_MAX
24236         instead of len.
24237         * doc/posix-functions/wcsrtombs.texi: Document mingw bug.
24238
24239 2011-02-12  Bruno Haible  <bruno@clisp.org>
24240
24241         mbsrtowcs: Work around bug on native Windows.
24242         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Require gt_LOCALE_FR. Test
24243         against mingw bug.
24244         * doc/posix-functions/mbsrtowcs.texi: Document mingw bug.
24245
24246 2011-02-12  Bruno Haible  <bruno@clisp.org>
24247
24248         Avoid setlocale bugs in tests.
24249         * modules/btowc (Dependencies): Add setlocale.
24250         * modules/c-strcase (Dependencies): Likewise.
24251         * modules/mbmemcasecmp (Dependencies): Likewise.
24252         * modules/mbmemcasecoll (Dependencies): Likewise.
24253         * modules/mbrtowc (Dependencies): Likewise.
24254         * modules/mbscasecmp (Dependencies): Likewise.
24255         * modules/mbscasestr (Dependencies): Likewise.
24256         * modules/mbschr (Dependencies): Likewise.
24257         * modules/mbscspn (Dependencies): Likewise.
24258         * modules/mbsinit (Dependencies): Likewise.
24259         * modules/mbsncasecmp (Dependencies): Likewise.
24260         * modules/mbsnrtowcs (Dependencies): Likewise.
24261         * modules/mbspbrk (Dependencies): Likewise.
24262         * modules/mbspcasecmp (Dependencies): Likewise.
24263         * modules/mbsrchr (Dependencies): Likewise.
24264         * modules/mbsrtowcs (Dependencies): Likewise.
24265         * modules/mbsspn (Dependencies): Likewise.
24266         * modules/mbsstr (Dependencies): Likewise.
24267         * modules/nl_langinfo (Dependencies): Likewise.
24268         * modules/quotearg (Dependencies): Likewise.
24269         * modules/unicase/locale-language (Dependencies): Likewise.
24270         * modules/unicase/ulc-casecmp (Dependencies): Likewise.
24271         * modules/unicase/ulc-casecoll (Dependencies): Likewise.
24272         * modules/unigbrk/ulc-grapheme-breaks (Dependencies): Likewise.
24273         * modules/unistdio/u8-vasnprintf (Dependencies): Likewise.
24274         * modules/unistdio/u16-vasnprintf (Dependencies): Likewise.
24275         * modules/unistdio/u32-vasnprintf (Dependencies): Likewise.
24276         * modules/unistdio/ulc-vasnprintf (Dependencies): Likewise.
24277         * modules/uniwbrk/ulc-wordbreaks (Dependencies): Likewise.
24278         * modules/vasnprintf-posix (Dependencies): Likewise.
24279         * modules/wcrtomb (Dependencies): Likewise.
24280         * modules/wcsnrtombs (Dependencies): Likewise.
24281         * modules/wcsrtombs (Dependencies): Likewise.
24282
24283 2011-02-12  Bruno Haible  <bruno@clisp.org>
24284
24285         setlocale: Workaround native Windows bug.
24286         * lib/setlocale.c (rpl_setlocale): On native Windows, when setlocale
24287         succeeds but sets LC_CTYPE to "C", report a failure.
24288         * tests/test-setlocale2.sh: New file.
24289         * tests/test-setlocale2.c: New file.
24290         * modules/setlocale-tests (Files): Add the new files.
24291         (Makefile.am): Enable test-setlocale2.sh test.
24292         * doc/posix-functions/setlocale.texi: Mention workaround.
24293
24294 2011-02-11  Bruno Haible  <bruno@clisp.org>
24295
24296         Tests for module 'setlocale'.
24297         * modules/setlocale-tests: New file.
24298         * tests/test-setlocale1.sh: New file.
24299         * tests/test-setlocale1.c: New file.
24300
24301         New module 'setlocale'.
24302         * lib/locale.in.h (setlocale): New declaration.
24303         * lib/setlocale.c: New file, based on
24304         gettext/gettext-runtime/intl/setlocale.c.
24305         * m4/setlocale.m4: New file.
24306         * m4/locale_h.m4 (gl_LOCALE_H): Test whether setlocale is declared.
24307         (gl_LOCALE_H_DEFAULTS): Initialize GNULIB_SETLOCALE, REPLACE_SETLOCALE.
24308         * modules/locale (Makefile.am): Substitute GNULIB_SETLOCALE,
24309         REPLACE_SETLOCALE.
24310         * modules/setlocale: New file.
24311         * tests/test-locale-c++.cc: Test the declaration of setlocale.
24312         * doc/posix-functions/setlocale.texi: Mention the new module.
24313
24314 2011-02-11  Bruno Haible  <bruno@clisp.org>
24315
24316         Prepare for locale dependent tests on mingw.
24317         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, don't try "ar"
24318         because it has the wrong locale encoding.
24319         * m4/locale-fr.m4 (gt_LOCALE_FR): On native Windows, try
24320         French_France.1252 instead of "fr".
24321         (gt_LOCALE_FR_UTF8): On native Windows, try French_France.65001.
24322         * m4/locale-ja.m4 (gt_LOCALE_JA): On native Windows, don't try "ja"
24323         because it has the wrong locale encoding.
24324         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Require AC_CANONICAL_HOST. On
24325         native Windows, try Turkish_Turkey.65001.
24326         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): On native Windows, try
24327         Chinese_China.54936.
24328
24329         Prepare for locale dependent tests on mingw.
24330         * m4/locale-ar.m4 (gt_LOCALE_AR): On native Windows, call setlocale
24331         differently.
24332         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Likewise.
24333         * m4/locale-ja.m4 (gt_LOCALE_JA): Likewise.
24334         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
24335         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
24336
24337 2011-02-11  Eric Blake  <eblake@redhat.com>
24338
24339         strptime: avoid compiler warnings
24340         * lib/strptime.c (__strptime_internal) [!_NL_CURRENT]: Avoid
24341         compiler warnings about dead code.
24342         Reported by Daniel P. Berrange.
24343
24344 2011-02-11  Thien-Thi Nguyen  <ttn@gnuvola.org>
24345
24346         doc: update users.txt
24347         * users.txt: Add rcs.
24348
24349 2011-02-10  John W. Eaton  <jwe@gnu.org>
24350
24351         doc: update users.txt
24352         * users.txt: Add octave.
24353
24354 2011-02-10  Jim Meyering  <meyering@redhat.com>
24355
24356         doc: update users.txt
24357         * users.txt: Add iwhd.
24358
24359 2011-02-09  Bruno Haible  <bruno@clisp.org>
24360
24361         gnulib-tool: Make copyright notice adjustment more robust.
24362         * gnulib-tool (func_import): In sed_transform_main_lib_file,
24363         sed_transform_build_aux_file, sed_transform_testsrelated_lib_file,
24364         allow a line break to occur after "GNU" in "GNU [Lesser] General Public
24365         License".
24366         Reported by Glenn Morris <rgm@gnu.org> via Paul Eggert.
24367
24368 2011-02-06  Bruno Haible  <bruno@clisp.org>
24369
24370         New module 'towctrans'.
24371         * modules/towctrans: New file.
24372         * lib/wctype.in.h (towctrans): New declaration.
24373         * lib/towctrans.c: New file.
24374         * lib/towctrans-impl.h: New file.
24375         * m4/towctrans.m4: New file.
24376         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether towctrans is declared.
24377         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_TOWCTRANS.
24378         * modules/wctype-h (Makefile.am): Substitute GNULIB_TOWCTRANS.
24379         * tests/test-wctype-h-c++.cc: Test the declaration of towctrans.
24380         * doc/posix-functions/towctrans.texi: Mention the new module.
24381
24382 2011-02-06  Bruno Haible  <bruno@clisp.org>
24383
24384         New module 'wctrans'.
24385         * modules/wctrans: New file.
24386         * lib/wctype.in.h (wctrans): New declaration.
24387         * lib/wctrans.c: New file.
24388         * lib/wctrans-impl.h: New file.
24389         * m4/wctrans.m4: New file.
24390         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctrans is declared.
24391         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTRANS.
24392         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTRANS.
24393         * tests/test-wctype-h-c++.cc: Test the declaration of wctrans.
24394         * doc/posix-functions/wctrans.texi: Mention the new module.
24395
24396 2011-02-06  Bruno Haible  <bruno@clisp.org>
24397
24398         New module 'iswctype'.
24399         * modules/iswctype: New file.
24400         * lib/wctype.in.h (iswctype): New declaration.
24401         * lib/iswctype.c: New file.
24402         * lib/iswctype-impl.h: New file.
24403         * m4/iswctype.m4: New file.
24404         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether iswctype is declared.
24405         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_ISWCTYPE.
24406         * modules/wctype-h (Makefile.am): Substitute GNULIB_ISWCTYPE.
24407         * tests/test-wctype-h-c++.cc: Test the declaration of iswctype.
24408         * doc/posix-functions/iswctype.texi: Mention the new module and the
24409         HP-UX 11.00 problem.
24410
24411 2011-02-06  Bruno Haible  <bruno@clisp.org>
24412
24413         New module 'wctype'.
24414         * modules/wctype: Change to represent the wctype() substitute.
24415         * lib/wctype.in.h (wctype): New declaration.
24416         * lib/wctype.c: New file.
24417         * lib/wctype-impl.h: New file.
24418         * m4/wctype.m4: New file.
24419         * m4/wctype_h.m4 (gl_WCTYPE_H): Test whether wctype is declared.
24420         (gl_WCTYPE_H_DEFAULTS): Initialize GNULIB_WCTYPE.
24421         * modules/wctype-h (Makefile.am): Substitute GNULIB_WCTYPE.
24422         * tests/test-wctype-h-c++.cc: Test the declaration of wctype.
24423         * doc/posix-functions/wctype.texi: Mention the new module and the
24424         HP-UX 11.00 problem.
24425
24426 2011-02-06  Bruno Haible  <bruno@clisp.org>
24427
24428         wctype-h: Ensure wctype_t and wctrans_t are defined.
24429         * lib/wctype.in.h (wctype_t, wctrans_t): New type declarations.
24430         * m4/wctype_h.m4 (gl_WCTYPE_H): Determine HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24431         (gl_WCTYPE_H_DEFAULTS): Initialize HAVE_WCTYPE_T, HAVE_WCTRANS_T.
24432         * modules/wctype-h (Makefile.am): Substitute HAVE_WCTYPE_T,
24433         HAVE_WCTRANS_T.
24434         * tests/test-wctype-h.c: Check that wctype_t and wctrans_t are defined.
24435
24436 2011-02-09  Paul Eggert  <eggert@cs.ucla.edu>
24437
24438         flock: fix license typo
24439
24440         * lib/flock.c: Fix typo in license.  One of the "Lesser"s was
24441         omitted.
24442
24443 2011-02-08  Bruno Haible  <bruno@clisp.org>
24444
24445         Split large sed scripts, for HP-UX sed.
24446         * modules/math (Makefile.am): Split sed scripts around 50 sed commands,
24447         to avoid HP-UX limit of 99 commands, in the near future.
24448         * modules/stdlib (Makefile.am): Likewise.
24449         * modules/unistd (Makefile.am): Likewise.
24450         * modules/wchar (Makefile.am): Likewise.
24451         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
24452         Suggestion by Ralf Wildenhues <Ralf.Wildenhues@gmx.de> in
24453         <http://lists.gnu.org/archive/html/bug-gnulib/2010-01/msg00216.html>.
24454
24455 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24456             Bruno Haible  <bruno@clisp.org>
24457
24458         stdlib: improve random_r modularization
24459         * lib/stdlib.in.h: Encapsulate all the stuff having to do with
24460         random_r inside "#if @GNULIB_RANDOM_R@", so that it's clearer that
24461         you also need the random_r module to get this material right.
24462         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Move check for random.h here ...
24463         * m4/stdlib_h.m4 (gl_STDLIB_H): ... from here.
24464         (gl_STDLIB_H_DEFAULTS): Default HAVE_RANDOM_H to 1, and AC_SUBST it.
24465
24466 2011-02-08  Paul Eggert  <eggert@cs.ucla.edu>
24467
24468         stdlib: don't depend on stdint
24469         * lib/stdlib.in.h: Don't include <stdint.h> merely because
24470         GNULIB_POSIXCHECK is defined.  GNULIB_POSIXCHECK seems to
24471         be independent of whether stdint.h is needed.
24472         * m4/random_r.m4 (gl_FUNC_RANDOM_R): Check for struct random_data
24473         here, instead of ...
24474         * m4/stdlib_h.m4 (gl_STDLIB_H): ... here.  Applications that need
24475         struct random_data should be using the random_r module, not just
24476         the stdlib module (which wouldn't make sense: what package needs
24477         just struct random_data without also needing random_r?).
24478         * modules/stdlib (Depends-on): Remove stdint.
24479
24480         getloadavg: don't depend on c-strtod, cloexec, fcntl-safer
24481         See the thread rooted at
24482         <http://lists.gnu.org/archive/html/bug-gnulib/2011-02/msg00090.html>.
24483         * lib/getloadavg.c: Do not include c-strtod.h, cloexec.h, or fcntl--.h.
24484         Include <fcntl.h> only if (defined __linux__ || defined __CYGWIN__
24485         || defined SUNOS_5 || (defined LOAD_AVE_TYPE && !  defined
24486         __VMS)); previously it was always included (via fcntl--.h).
24487         (getloadavg): Do not use c_strtod.  Instead, approximate it by
24488         hand; this is good enough for load averages.  Also, do not use
24489         set_cloexec_flag; instead, use the O_CLOEXEC and F_DUPFD_CLOEXEC
24490         flags directly if available and don't bother otherwise.  (Packages
24491         that need the extra reliability should use the modules that define
24492         these flags on older platforms that lack them.)
24493         * modules/getloadavg (Depends-on): Remove c-strtod, cloexec,
24494         fcntl-safer.
24495
24496 2011-02-08  Jim Meyering  <meyering@redhat.com>
24497
24498         di-set.h, ino-map.h: add multiple-inclusion guard
24499         Technically, the guard is required only for ino-map.h, due to its
24500         INO_MAP_INSERT_FAILURE definition, but do both for consistency.
24501         * lib/di-set.h: Add file-spanning #ifndef _GL_DI_SET_H.
24502         * lib/ino-map.h: Likewise.
24503
24504 2011-02-06  Bruno Haible  <bruno@clisp.org>
24505
24506         iswblank: Ensure declaration on glibc systems.
24507         * m4/iswblank.m4 (gl_FUNC_ISWBLANK): Require gl_USE_SYSTEM_EXTENSIONS.
24508         * modules/iswblank (Dependencies): Add 'extensions'.
24509         * doc/posix-functions/iswblank.texi: Document the glibc problem.
24510
24511 2011-02-06  Bruno Haible  <bruno@clisp.org>
24512
24513         New module 'iswblank'.
24514         * lib/wctype.in.h (iswblank): Don't declare if GNULIB_ISWBLANK is 0.
24515         * modules/iswblank: New file.
24516         * modules/wctype-h (Files): Remove lib/iswblank.c.
24517         (Makefile.am): Substitute GNULIB_ISWBLANK.
24518         * m4/iswblank.m4: New file, partially extracted from m4/wctype_h.m4.
24519         * m4/wctype_h.m4 (gl_WCTYPE_MODULE_INDICATOR): New macro.
24520         (gl_WCTYPE_H_DEFAULTS): New macro.
24521         (gl_WCTYPE_H): Require it. Remove iswblank related code.
24522         * modules/iswblank-tests: New file.
24523         * tests/test-iswblank.c: New file, extraced from tests/test-wctype-h.c.
24524         * tests/test-wctype-h.c (main): Remove iswblank tests.
24525         * tests/test-wctype-h-c++.cc: Guard the signature test of iswblank.
24526         * doc/posix-functions/iswblank.texi: Mention module 'iswblank' instead
24527         of 'wctype-h'.
24528         * NEWS: Mention the change.
24529         * modules/mbchar (Depends-on): Add iswblank.
24530
24531 2011-02-08  Bruno Haible  <bruno@clisp.org>
24532
24533         di-set tests: Refactor.
24534         * tests/test-di-set.c: Include di-set.h early. Include macros.h. Drop
24535         unnecessary includes.
24536         (ASSERT): Remove macro.
24537         (main): Make C90 compliant by avoiding variable declaration after
24538         statement.
24539         * modules/di-set-tests (Files): Add tests/macros.h.
24540
24541 2011-02-08  Bruno Haible  <bruno@clisp.org>
24542
24543         ino-map tests: Refactor.
24544         * tests/test-ino-map.c: Include ino-map.h early. Include macros.h. Drop
24545         unnecessary includes.
24546         (ASSERT): Remove macro.
24547         (main): Make C90 compliant by avoiding variable declaration after
24548         statement.
24549         * modules/ino-map-tests (Files): Add tests/macros.h.
24550
24551 2011-02-08  Jim Meyering  <meyering@redhat.com>
24552
24553         di-set: add "const" to a cast
24554         * lib/di-set.c (di_set_insert): Cast hash_insert0 argument to
24555         "(void const *)", not "(void *)".  Spotted by Bruno Haible.
24556
24557 2011-02-06  Bruno Haible  <bruno@clisp.org>
24558
24559         Rename module 'wctype' to 'wctype-h'.
24560         * modules/wctype-h: Renamed from modules/wctype.
24561         * modules/wctype: Simplyfy to a redirection to 'wctype-h'.
24562         * modules/wctype-h-tests: Renamed from modules/wctype-tests.
24563         (Files, Depends-on, Makefile.am): Update.
24564         * modules/wctype-h-c++-tests: Renamed from modules/wctype-c++-tests.
24565         (Files, Makefile.am): Update.
24566         * tests/test-wctype-h.c: Renamed from tests/test-wctype.c.
24567         * tests/test-wctype-h-c++.cc: Renamed from tests/test-wctype-c++.cc.
24568         * doc/posix-headers/wctype.texi: Update.
24569         * doc/posix-functions/iswalnum.texi: Update.
24570         * doc/posix-functions/iswalpha.texi: Update.
24571         * doc/posix-functions/iswblank.texi: Update.
24572         * doc/posix-functions/iswcntrl.texi: Update.
24573         * doc/posix-functions/iswdigit.texi: Update.
24574         * doc/posix-functions/iswgraph.texi: Update.
24575         * doc/posix-functions/iswlower.texi: Update.
24576         * doc/posix-functions/iswprint.texi: Update.
24577         * doc/posix-functions/iswpunct.texi: Update.
24578         * doc/posix-functions/iswspace.texi: Update.
24579         * doc/posix-functions/iswupper.texi: Update.
24580         * doc/posix-functions/iswxdigit.texi: Update.
24581         * doc/posix-functions/towlower.texi: Update.
24582         * doc/posix-functions/towupper.texi: Update.
24583         * NEWS: Mention the change.
24584         * modules/fnmatch (Dependencies): Add wctype-h, remove wctype.
24585         * modules/mbchar (Dependencies): Likewise.
24586         * modules/mbswidth (Dependencies): Likewise.
24587         * modules/quotearg (Dependencies): Likewise.
24588         * modules/regex (Dependencies): Likewise.
24589         * modules/wcscasecmp (Dependencies): Likewise.
24590         * modules/wcsncasecmp (Dependencies): Likewise.
24591         * modules/wcwidth (Dependencies): Likewise.
24592
24593 2011-02-06  Bruno Haible  <bruno@clisp.org>
24594
24595         New module 'wcswidth'.
24596         * modules/wcswidth: New file.
24597         * lib/wchar.in.h (wcswidth): New declaration.
24598         * lib/wcswidth.c: New file.
24599         * lib/wcswidth-impl.h: New file, from libutf8 with modifications.
24600         * m4/wcswidth.m4: New file.
24601         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcswidth is declared.
24602         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSWIDTH, HAVE_WCSWIDTH,
24603         REPLACE_WCSWIDTH.
24604         * modules/wchar (Makefile.am): Substitute GNULIB_WCSWIDTH,
24605         HAVE_WCSWIDTH, REPLACE_WCSWIDTH.
24606         * tests/test-wchar-c++.cc: Test the declaration of wcswidth.
24607         * doc/posix-functions/wcswidth.texi: Mention the new module.
24608
24609 2011-02-06  Bruno Haible  <bruno@clisp.org>
24610
24611         New module 'wcstok'.
24612         * modules/wcstok: New file.
24613         * lib/wchar.in.h (wcstok): New declaration.
24614         * lib/wcstok.c: New file.
24615         * lib/wcstok-impl.h: New file, from libutf8 with modifications.
24616         * m4/wcstok.m4: New file.
24617         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcstok is declared.
24618         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSTOK, HAVE_WCSTOK.
24619         * modules/wchar (Makefile.am): Substitute GNULIB_WCSTOK, HAVE_WCSTOK.
24620         * tests/test-wchar-c++.cc: Test the declaration of wcstok.
24621         * doc/posix-functions/wcstok.texi: Mention the new module.
24622
24623 2011-02-06  Bruno Haible  <bruno@clisp.org>
24624
24625         New module 'wcsstr'.
24626         * modules/wcsstr: New file.
24627         * lib/wchar.in.h (wcsstr): New declaration.
24628         * lib/wcsstr.c: New file.
24629         * lib/wcsstr-impl.h: New file, from libutf8 with modifications.
24630         * m4/wcsstr.m4: New file.
24631         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsstr is declared.
24632         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSTR, HAVE_WCSSTR.
24633         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSTR, HAVE_WCSSTR.
24634         * tests/test-wchar-c++.cc: Test the declaration of wcsstr.
24635         * doc/posix-functions/wcsstr.texi: Mention the new module.
24636
24637 2011-02-06  Bruno Haible  <bruno@clisp.org>
24638
24639         New module 'wcspbrk'.
24640         * modules/wcspbrk: New file.
24641         * lib/wchar.in.h (wcspbrk): New declaration.
24642         * lib/wcspbrk.c: New file.
24643         * lib/wcspbrk-impl.h: New file, from libutf8 with modifications.
24644         * m4/wcspbrk.m4: New file.
24645         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcspbrk is declared.
24646         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSPBRK, HAVE_WCSPBRK.
24647         * modules/wchar (Makefile.am): Substitute GNULIB_WCSPBRK, HAVE_WCSPBRK.
24648         * tests/test-wchar-c++.cc: Test the declaration of wcspbrk.
24649         * doc/posix-functions/wcspbrk.texi: Mention the new module.
24650
24651 2011-02-06  Bruno Haible  <bruno@clisp.org>
24652
24653         New module 'wcsspn'.
24654         * modules/wcsspn: New file.
24655         * lib/wchar.in.h (wcsspn): New declaration.
24656         * lib/wcsspn.c: New file.
24657         * lib/wcsspn-impl.h: New file, from libutf8 with modifications.
24658         * m4/wcsspn.m4: New file.
24659         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsspn is declared.
24660         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSSPN, HAVE_WCSSPN.
24661         * modules/wchar (Makefile.am): Substitute GNULIB_WCSSPN, HAVE_WCSSPN.
24662         * tests/test-wchar-c++.cc: Test the declaration of wcsspn.
24663         * doc/posix-functions/wcsspn.texi: Mention the new module.
24664
24665 2011-02-06  Bruno Haible  <bruno@clisp.org>
24666
24667         New module 'wcscspn'.
24668         * modules/wcscspn: New file.
24669         * lib/wchar.in.h (wcscspn): New declaration.
24670         * lib/wcscspn.c: New file.
24671         * lib/wcscspn-impl.h: New file, from libutf8 with modifications.
24672         * m4/wcscspn.m4: New file.
24673         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscspn is declared.
24674         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCSPN, HAVE_WCSCSPN.
24675         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCSPN, HAVE_WCSCSPN.
24676         * tests/test-wchar-c++.cc: Test the declaration of wcscspn.
24677         * doc/posix-functions/wcscspn.texi: Mention the new module.
24678
24679 2011-02-06  Bruno Haible  <bruno@clisp.org>
24680
24681         New module 'wcsrchr'.
24682         * modules/wcsrchr: New file.
24683         * lib/wchar.in.h (wcsrchr): New declaration.
24684         * lib/wcsrchr.c: New file.
24685         * lib/wcsrchr-impl.h: New file, from libutf8 with modifications.
24686         * m4/wcsrchr.m4: New file.
24687         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsrchr is declared.
24688         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRCHR, HAVE_WCSRCHR.
24689         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRCHR, HAVE_WCSRCHR.
24690         * tests/test-wchar-c++.cc: Test the declaration of wcsrchr.
24691         * doc/posix-functions/wcsrchr.texi: Mention the new module.
24692
24693 2011-02-06  Bruno Haible  <bruno@clisp.org>
24694
24695         New module 'wcschr'.
24696         * modules/wcschr: New file.
24697         * lib/wchar.in.h (wcschr): New declaration.
24698         * lib/wcschr.c: New file.
24699         * lib/wcschr-impl.h: New file, from libutf8 with modifications.
24700         * m4/wcschr.m4: New file.
24701         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcschr is declared.
24702         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCHR, HAVE_WCSCHR.
24703         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCHR, HAVE_WCSCHR.
24704         * tests/test-wchar-c++.cc: Test the declaration of wcschr.
24705         * doc/posix-functions/wcschr.texi: Mention the new module.
24706
24707 2011-02-06  Bruno Haible  <bruno@clisp.org>
24708
24709         New module 'wcsdup'.
24710         * modules/wcsdup: New file.
24711         * lib/wchar.in.h (wcsdup): New declaration.
24712         * lib/wcsdup.c: New file.
24713         * lib/wcsdup-impl.h: New file, from libutf8 with modifications.
24714         * m4/wcsdup.m4: New file.
24715         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsdup is declared.
24716         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSDUP, HAVE_WCSDUP.
24717         * modules/wchar (Makefile.am): Substitute GNULIB_WCSDUP, HAVE_WCSDUP.
24718         * tests/test-wchar-c++.cc: Test the declaration of wcsdup.
24719         * doc/posix-functions/wcsdup.texi: Mention the new module.
24720
24721 2011-02-06  Bruno Haible  <bruno@clisp.org>
24722
24723         New module 'wcsxfrm'.
24724         * modules/wcsxfrm: New file.
24725         * lib/wchar.in.h (wcsxfrm): New declaration.
24726         * lib/wcsxfrm.c: New file.
24727         * lib/wcsxfrm-impl.h: New file.
24728         * m4/wcsxfrm.m4: New file.
24729         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsxfrm is declared.
24730         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSXFRM, HAVE_WCSXFRM.
24731         * modules/wchar (Makefile.am): Substitute GNULIB_WCSXFRM, HAVE_WCSXFRM.
24732         * tests/test-wchar-c++.cc: Test the declaration of wcsxfrm.
24733         * doc/posix-functions/wcsxfrm.texi: Mention the new module.
24734
24735 2011-02-06  Bruno Haible  <bruno@clisp.org>
24736
24737         New module 'wcscoll'.
24738         * modules/wcscoll: New file.
24739         * lib/wchar.in.h (wcscoll): New declaration.
24740         * lib/wcscoll.c: New file.
24741         * lib/wcscoll-impl.h: New file.
24742         * m4/wcscoll.m4: New file.
24743         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscoll is declared.
24744         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCOLL, HAVE_WCSCOLL.
24745         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCOLL, HAVE_WCSCOLL.
24746         * tests/test-wchar-c++.cc: Test the declaration of wcscoll.
24747         * doc/posix-functions/wcscoll.texi: Mention the new module.
24748
24749 2011-02-06  Bruno Haible  <bruno@clisp.org>
24750
24751         New module 'wcsncasecmp'.
24752         * modules/wcsncasecmp: New file.
24753         * lib/wchar.in.h (wcsncasecmp): New declaration.
24754         * lib/wcsncasecmp.c: New file.
24755         * lib/wcsncasecmp-impl.h: New file, from libutf8 with modifications.
24756         * m4/wcsncasecmp.m4: New file.
24757         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncasecmp is declared.
24758         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCASECMP, HAVE_WCSNCASECMP.
24759         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCASECMP,
24760         HAVE_WCSNCASECMP.
24761         * tests/test-wchar-c++.cc: Test the declaration of wcsncasecmp.
24762         * doc/posix-functions/wcsncasecmp.texi: Mention the new module.
24763
24764 2011-02-06  Bruno Haible  <bruno@clisp.org>
24765
24766         New module 'wcscasecmp'.
24767         * modules/wcscasecmp: New file.
24768         * lib/wchar.in.h (wcscasecmp): New declaration.
24769         * lib/wcscasecmp.c: New file.
24770         * lib/wcscasecmp-impl.h: New file, from libutf8 with modifications.
24771         * m4/wcscasecmp.m4: New file.
24772         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscasecmp is declared.
24773         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCASECMP, HAVE_WCSCASECMP.
24774         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCASECMP,
24775         HAVE_WCSCASECMP.
24776         * tests/test-wchar-c++.cc: Test the declaration of wcscasecmp.
24777         * doc/posix-functions/wcscasecmp.texi: Mention the new module.
24778
24779 2011-02-05  Bruno Haible  <bruno@clisp.org>
24780
24781         New module 'wcsncmp'.
24782         * modules/wcsncmp: New file.
24783         * lib/wchar.in.h (wcsncmp): New declaration.
24784         * lib/wcsncmp.c: New file.
24785         * lib/wcsncmp-impl.h: New file, from libutf8 with modifications.
24786         * m4/wcsncmp.m4: New file.
24787         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncmp is declared.
24788         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCMP, HAVE_WCSNCMP.
24789         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCMP, HAVE_WCSNCMP.
24790         * tests/test-wchar-c++.cc: Test the declaration of wcsncmp.
24791         * doc/posix-functions/wcsncmp.texi: Mention the new module.
24792
24793 2011-02-05  Bruno Haible  <bruno@clisp.org>
24794
24795         New module 'wcscmp'.
24796         * modules/wcscmp: New file.
24797         * lib/wchar.in.h (wcscmp): New declaration.
24798         * lib/wcscmp.c: New file.
24799         * lib/wcscmp-impl.h: New file, from libutf8 with modifications.
24800         * m4/wcscmp.m4: New file.
24801         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscmp is declared.
24802         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCMP, HAVE_WCSCMP.
24803         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCMP, HAVE_WCSCMP.
24804         * tests/test-wchar-c++.cc: Test the declaration of wcscmp.
24805         * doc/posix-functions/wcscmp.texi: Mention the new module.
24806
24807 2011-02-05  Bruno Haible  <bruno@clisp.org>
24808
24809         New module 'wcsncat'.
24810         * modules/wcsncat: New file.
24811         * lib/wchar.in.h (wcsncat): New declaration.
24812         * lib/wcsncat.c: New file.
24813         * lib/wcsncat-impl.h: New file, from libutf8 with modifications.
24814         * m4/wcsncat.m4: New file.
24815         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncat is declared.
24816         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCAT, HAVE_WCSNCAT.
24817         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCAT, HAVE_WCSNCAT.
24818         * tests/test-wchar-c++.cc: Test the declaration of wcsncat.
24819         * doc/posix-functions/wcsncat.texi: Mention the new module.
24820
24821 2011-02-05  Bruno Haible  <bruno@clisp.org>
24822
24823         New module 'wcscat'.
24824         * modules/wcscat: New file.
24825         * lib/wchar.in.h (wcscat): New declaration.
24826         * lib/wcscat.c: New file.
24827         * lib/wcscat-impl.h: New file, from libutf8 with modifications.
24828         * m4/wcscat.m4: New file.
24829         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscat is declared.
24830         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCAT, HAVE_WCSCAT.
24831         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCAT, HAVE_WCSCAT.
24832         * tests/test-wchar-c++.cc: Test the declaration of wcscat.
24833         * doc/posix-functions/wcscat.texi: Mention the new module.
24834
24835 2011-02-05  Bruno Haible  <bruno@clisp.org>
24836
24837         New module 'wcpncpy'.
24838         * modules/wcpncpy: New file.
24839         * lib/wchar.in.h (wcpncpy): New declaration.
24840         * lib/wcpncpy.c: New file.
24841         * lib/wcpncpy-impl.h: New file, from libutf8 with modifications.
24842         * m4/wcpncpy.m4: New file.
24843         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpncpy is declared.
24844         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPNCPY, HAVE_WCPNCPY.
24845         * modules/wchar (Makefile.am): Substitute GNULIB_WCPNCPY, HAVE_WCPNCPY.
24846         * tests/test-wchar-c++.cc: Test the declaration of wcpncpy.
24847         * doc/posix-functions/wcpncpy.texi: Mention the new module.
24848
24849 2011-02-05  Bruno Haible  <bruno@clisp.org>
24850
24851         New module 'wcsncpy'.
24852         * modules/wcsncpy: New file.
24853         * lib/wchar.in.h (wcsncpy): New declaration.
24854         * lib/wcsncpy.c: New file.
24855         * lib/wcsncpy-impl.h: New file, from libutf8 with modifications.
24856         * m4/wcsncpy.m4: New file.
24857         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsncpy is declared.
24858         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNCPY, HAVE_WCSNCPY.
24859         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNCPY, HAVE_WCSNCPY.
24860         * tests/test-wchar-c++.cc: Test the declaration of wcsncpy.
24861         * doc/posix-functions/wcsncpy.texi: Mention the new module.
24862
24863 2011-02-05  Bruno Haible  <bruno@clisp.org>
24864
24865         New module 'wcpcpy'.
24866         * modules/wcpcpy: New file.
24867         * lib/wchar.in.h (wcpcpy): New declaration.
24868         * lib/wcpcpy.c: New file.
24869         * lib/wcpcpy-impl.h: New file, from libutf8 with modifications.
24870         * m4/wcpcpy.m4: New file.
24871         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcpcpy is declared.
24872         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCPCPY, HAVE_WCPCPY.
24873         * modules/wchar (Makefile.am): Substitute GNULIB_WCPCPY, HAVE_WCPCPY.
24874         * tests/test-wchar-c++.cc: Test the declaration of wcpcpy.
24875         * doc/posix-functions/wcpcpy.texi: Mention the new module.
24876
24877 2011-02-05  Bruno Haible  <bruno@clisp.org>
24878
24879         New module 'wcscpy'.
24880         * modules/wcscpy: New file.
24881         * lib/wchar.in.h (wcscpy): New declaration.
24882         * lib/wcscpy.c: New file.
24883         * lib/wcscpy-impl.h: New file, from libutf8 with modifications.
24884         * m4/wcscpy.m4: New file.
24885         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcscpy is declared.
24886         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSCPY, HAVE_WCSCPY.
24887         * modules/wchar (Makefile.am): Substitute GNULIB_WCSCPY, HAVE_WCSCPY.
24888         * tests/test-wchar-c++.cc: Test the declaration of wcscpy.
24889         * doc/posix-functions/wcscpy.texi: Mention the new module.
24890
24891 2011-02-05  Bruno Haible  <bruno@clisp.org>
24892
24893         New module 'wcsnlen'.
24894         * modules/wcsnlen: New file.
24895         * lib/wchar.in.h (wcsnlen): New declaration.
24896         * lib/wcsnlen.c: New file.
24897         * lib/wcsnlen-impl.h: New file, from libutf8 with modifications.
24898         * m4/wcsnlen.m4: New file.
24899         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcsnlen is declared.
24900         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNLEN, HAVE_WCSNLEN.
24901         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNLEN, HAVE_WCSNLEN.
24902         * tests/test-wchar-c++.cc: Test the declaration of wcsnlen.
24903         * doc/posix-functions/wcsnlen.texi: Mention the new module.
24904
24905 2011-02-05  Bruno Haible  <bruno@clisp.org>
24906
24907         New module 'wcslen'.
24908         * modules/wcslen: New file.
24909         * lib/wchar.in.h (wcslen): New declaration.
24910         * lib/wcslen.c: New file.
24911         * lib/wcslen-impl.h: New file, from libutf8 with modifications.
24912         * m4/wcslen.m4: New file.
24913         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wcslen is declared.
24914         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSLEN, HAVE_WCSLEN.
24915         * modules/wchar (Makefile.am): Substitute GNULIB_WCSLEN, HAVE_WCSLEN.
24916         * tests/test-wchar-c++.cc: Test the declaration of wcslen.
24917         * doc/posix-functions/wcslen.texi: Mention the new module.
24918
24919 2011-02-05  Bruno Haible  <bruno@clisp.org>
24920
24921         New module 'wmemset'.
24922         * modules/wmemset: New file.
24923         * lib/wchar.in.h (wmemset): New declaration.
24924         * lib/wmemset.c: New file.
24925         * lib/wmemset-impl.h: New file, from libutf8 with modifications.
24926         * m4/wmemset.m4: New file.
24927         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemset is declared.
24928         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMSET, HAVE_WMEMSET.
24929         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMSET, HAVE_WMEMSET.
24930         * tests/test-wchar-c++.cc: Test the declaration of wmemset.
24931         * doc/posix-functions/wmemset.texi: Mention the new module.
24932
24933 2011-02-05  Bruno Haible  <bruno@clisp.org>
24934
24935         New module 'wmemmove'.
24936         * modules/wmemmove: New file.
24937         * lib/wchar.in.h (wmemmove): New declaration.
24938         * lib/wmemmove.c: New file.
24939         * lib/wmemmove-impl.h: New file, from libutf8 with modifications.
24940         * m4/wmemmove.m4: New file.
24941         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemmove is declared.
24942         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMMOVE, HAVE_WMEMMOVE.
24943         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMMOVE,
24944         HAVE_WMEMMOVE.
24945         * tests/test-wchar-c++.cc: Test the declaration of wmemmove.
24946         * doc/posix-functions/wmemmove.texi: Mention the new module.
24947
24948 2011-02-05  Bruno Haible  <bruno@clisp.org>
24949
24950         New module 'wmemcpy'.
24951         * modules/wmemcpy: New file.
24952         * lib/wchar.in.h (wmemcpy): New declaration.
24953         * lib/wmemcpy.c: New file.
24954         * lib/wmemcpy-impl.h: New file, from libutf8 with modifications.
24955         * m4/wmemcpy.m4: New file.
24956         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcpy is declared.
24957         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCPY, HAVE_WMEMCPY.
24958         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCPY, HAVE_WMEMCPY.
24959         * tests/test-wchar-c++.cc: Test the declaration of wmemcpy.
24960         * doc/posix-functions/wmemcpy.texi: Mention the new module.
24961
24962 2011-02-05  Bruno Haible  <bruno@clisp.org>
24963
24964         New module 'wmemcmp'.
24965         * modules/wmemcmp: New file.
24966         * lib/wchar.in.h (wmemcmp): New declaration.
24967         * lib/wmemcmp.c: New file.
24968         * lib/wmemcmp-impl.h: New file, from libutf8 with modifications.
24969         * m4/wmemcmp.m4: New file.
24970         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemcmp is declared.
24971         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCMP, HAVE_WMEMCMP.
24972         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCMP, HAVE_WMEMCMP.
24973         * tests/test-wchar-c++.cc: Test the declaration of wmemcmp.
24974         * doc/posix-functions/wmemcmp.texi: Mention the new module.
24975
24976 2011-02-07  Jim Meyering  <meyering@redhat.com>
24977
24978         di-set, ino-map: new modules, from coreutils
24979         * lib/di-set.c: New file.
24980         * lib/di-set.h: Likewise.
24981         * lib/ino-map.c: Likewise.
24982         * lib/ino-map.h: Likewise.
24983         * modules/di-set: Likewise.
24984         * modules/di-set-tests: Likewise.
24985         * modules/ino-map: Likewise.
24986         * modules/ino-map-tests: Likewise.
24987         * tests/test-di-set.c: Likewise.
24988         * tests/test-ino-map.c: Likewise.
24989
24990 2011-02-06  Paul Eggert  <eggert@cs.ucla.edu>
24991
24992         getloadavg: merge minor changes from Emacs
24993
24994         * lib/getloadavg.c (getloadavg_initialized): More-accurate comment.
24995         (getloadavg): Use memset, not bzero.
24996
24997         2008-07-25  Chong Yidong  <cyd@stupidchicken.com>
24998         * lib/getloadavg.c (nl): Rename to name_list to avoid ncurses.h
24999         clash (bug#86).
25000
25001 2010-11-14  Bruno Haible  <bruno@clisp.org>
25002
25003         Allow multiple gnulib generated replacements to coexist.
25004         * lib/getopt.in.h (struct option): Avoid identical redefinition.
25005         * lib/inttypes.in.h (imaxdiv_t): Likewise.
25006         * lib/langinfo.in.h (nl_item): Likewise.
25007         * lib/math.in.h (_NaN, NAN): Likewise.
25008         * lib/netdb.in.h (struct addrinfo): Likewise.
25009         * lib/poll.in.h (struct pollfd, nfds_t): Likewise.
25010         * lib/pthread.in.h (pthread_t, pthread_attr_t, pthread_barrier_t,
25011         pthread_barrierattr_t, pthread_cond_t, pthread_condattr_t,
25012         pthread_key_t, pthread_mutex_t, pthread_mutexattr_t, pthread_once_t,
25013         pthread_rwlock_t, pthread_rwlockattr_t, pthread_cond_destroy,
25014         pthread_cond_init, pthread_cond_signal, pthread_cond_wait,
25015         pthread_create, pthread_exit, pthread_join, pthread_mutexattr_destroy,
25016         pthread_mutexattr_init, pthread_mutexattr_settype,
25017         pthread_mutex_destroy, pthread_mutex_init, pthread_mutex_lock,
25018         pthread_mutex_trylock, pthread_mutex_unlock, pthread_spinlock_t,
25019         pthread_spin_init, pthread_spin_destroy, pthread_spin_lock,
25020         pthread_spin_trylock, pthread_spin_unlock): Likewise.
25021         * lib/sched.in.h (struct sched_param): Likewise.
25022         * lib/se-selinux.in.h (security_class_t, security_context_t,
25023         is_selinux_enabled, getcon, freecon, getfscreatecon, setfscreatecon,
25024         matchpathcon, getfilecon, lgetfilecon, fgetfilecon, setfilecon,
25025         lsetfilecon, fsetfilecon, security_check_context,
25026         security_check_context_raw, setexeccon, matchpathcon_init_prefix):
25027         Likewise.
25028         * lib/search.in.h (VISIT, _gl_search_compar_fn, _gl_search_action_fn):
25029         Likewise.
25030         * lib/signal.in.h (sig_atomic_t, sigset_t, verify_NSIG_constraint,
25031         _gl_function_taking_int_returning_void_t, union sigval,
25032         struct siginfo_t, siginfo_t, struct sigaction): Likewise.
25033         * lib/spawn.in.h (posix_spawnattr_t, posix_spawn_file_actions_t,
25034         verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
25035         * lib/stdint.in.h (gl_int8_t, gl_uint8_t, gl_int16_t, gl_uint16_t,
25036         gl_int32_t, gl_uint32_t, gl_int64_t, gl_uint64_t, int_least8_t,
25037         uint_least8_t, int_least16_t, uint_least16_t, int_least32_t,
25038         uint_least32_t, int_least64_t, uint_least64_t, gl_int_fast8_t,
25039         gl_uint_fast8_t, gl_int_fast16_t, gl_uint_fast16_t, gl_int_fast32_t,
25040         gl_uint_fast32_t, int_fast64_t, uint_fast64_t, gl_intptr_t,
25041         gl_uintptr_t, intmax_t, uintmax_t, _verify_intmax_size): Likewise.
25042         * lib/stdio.in.h (rpl_fseek, rpl_ftell): Likewise.
25043         * lib/sys_socket.in.h (sa_family_t, struct sockaddr_storage,
25044         socklen_t, rpl_fd_isset): Likewise.
25045         * lib/sys_stat.in.h (rpl_mkdir): Likewise.
25046         * lib/sys_time.in.h (struct timeval): Likewise.
25047         * lib/sys_times.in.h (struct tms): Likewise.
25048         * lib/sys_utsname.in.h (struct utsname):
25049         * lib/time.in.h (struct timespec, __time_t_must_be_integral): Likewise.
25050         * lib/unistd.in.h (getpagesize): Likewise.
25051         * lib/wchar.in.h (mbstate_t): Likewise.
25052         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
25053         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit,
25054         towlower, towupper): Likewise.
25055         Reported by Sam Steingold <sds@gnu.org>.
25056
25057 2011-02-05  Eric Blake  <eblake@redhat.com>
25058
25059         unsetenv: work around Haiku issues
25060         * m4/setenv.m4 (gl_FUNC_UNSETENV): Also detect Haiku issue.
25061         * doc/posix-functions/unsetenv.texi (unsetenv): Document it.
25062
25063 2010-12-30  Bruce Korb  <bkorb@gnu.org>
25064
25065         libposix: avoid calling error() within libposix
25066         * lib/openat-die.c: remove error module stuff when GNULIB_LIBPOSIX
25067         is defined.
25068
25069 2011-02-05  Eric Blake  <eblake@redhat.com>
25070
25071         strerror_r-posix: port to cygwin
25072         * lib/strerror_r.c (strerror_r) [__CYGWIN__]: Add cygwin
25073         implementation.
25074         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Adjust comment.
25075         * tests/test-strerror_r.c (main): Fix test.
25076         * doc/posix-functions/strerror_r.texi (strerror_r): Document the
25077         issue.
25078
25079 2011-02-05  Bruno Haible  <bruno@clisp.org>
25080
25081         New module 'wmemchr'.
25082         * modules/wmemchr: New file.
25083         * lib/wchar.in.h (wmemchr): New declaration.
25084         * lib/wmemchr.c: New file.
25085         * lib/wmemchr-impl.h: New file, from libutf8 with modifications.
25086         * m4/wmemchr.m4: New file.
25087         * m4/wchar_h.m4 (gl_WCHAR_H): Test whether wmemchr is declared.
25088         (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WMEMCHR, HAVE_WMEMCHR.
25089         * modules/wchar (Makefile.am): Substitute GNULIB_WMEMCHR, HAVE_WMEMCHR.
25090         * tests/test-wchar-c++.cc: Test the declaration of wmemchr.
25091         * doc/posix-functions/wmemchr.texi: Mention the new module.
25092
25093 2011-02-04  Eric Blake  <eblake@redhat.com>
25094
25095         fdopendir: detect FreeBSD bug
25096         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Detect bug.
25097         * doc/posix-functions/fdopendir.texi (fdopendir): Document it.
25098
25099 2011-02-04  Paul Eggert  <eggert@cs.ucla.edu>
25100
25101         stdbool: do not define HAVE_STDBOOL_H
25102         * m4/stdbool.m4 (AC_CHECK_HEADER_STDBOOL): Renamed from
25103         AC_HEADER_STDBOOL.  All uses changed.  Do not define
25104         HAVE_STDBOOL_H, as gnulib does not need this.  This change is
25105         imported from the latest Autoconf git.  It was motivated by Emacs,
25106         which uses gnulib but does not need HAVE_STDBOOL_H.
25107
25108 2011-02-04  Bruno Haible  <bruno@clisp.org>
25109
25110         wcsnrtombs: Prepare for new module wwcsnrtombs.
25111         * lib/wcsnrtombs-impl.h: New file, extracted from lib/wcsnrtombs.c.
25112         * lib/wcsnrtombs.c: Include it.
25113         * modules/wcsnrtombs (Files): Add lib/wcsnrtombs-impl.h.
25114
25115         wcsrtombs: Prepare for new module wwcsrtombs.
25116         * lib/wcsrtombs-impl.h: New file, extracted from lib/wcsrtombs.c.
25117         * lib/wcsrtombs.c: Include it.
25118         * modules/wcsrtombs (Files): Add lib/wcsrtombs-impl.h.
25119
25120         mbsnrtowcs: Prepare for new module mbsnrtowwcs.
25121         * lib/mbsnrtowcs-impl.h: New file, extracted from lib/mbsnrtowcs.c.
25122         * lib/mbsnrtowcs.c: Include it.
25123         * modules/mbsnrtowcs (Files): Add lib/mbsnrtowcs-impl.h.
25124
25125         mbsrtowcs: Prepare for new module mbsrtowwcs.
25126         * lib/mbsrtowcs-impl.h: New file, extracted from lib/mbsrtowcs.c.
25127         * lib/mbsrtowcs.c: Include it.
25128         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-impl.h.
25129
25130 2011-02-04  Bruno Haible  <bruno@clisp.org>
25131
25132         vasnprintf: Reduce use of malloc for small format strings.
25133         * lib/printf-args.h (N_DIRECT_ALLOC_ARGUMENTS): New macro.
25134         (arguments): Add room for the first 7 arguments.
25135         * lib/printf-parse.h (N_DIRECT_ALLOC_DIRECTIVES): New macro.
25136         (char_directives, u8_directives, u16_directives, u32_directives): Add
25137         room for the first 7 directives.
25138         * lib/printf-parse.c: Include <string.h>.
25139         (PRINTF_PARSE): Change memory handling code so that it uses the first
25140         7 preallocated elements in an 'arguments' or 'DIRECTIVES' struct.
25141         * lib/vasnprintf.c (VASNPRINTF): Update memory handling code.
25142         Reported by Pádraig Brady <P@draigbrady.com>.
25143
25144 2011-01-31  Eric Blake  <eblake@redhat.com>
25145
25146         dup2: work around Haiku bug
25147         * m4/dup2.m4 (gl_FUNC_DUP2): Test for bug.
25148         * lib/dup2.c (rpl_dup2) [!WIN32]: Add workaround.
25149         * doc/posix-functions/dup2.texi (dup2): Document the bug.
25150         * tests/test-dup2.c (main): Enhance test.
25151
25152 2011-01-31  Simon Josefsson  <simon@josefsson.org>
25153
25154         doc: off_t is not available in eglibc 2.11.2 stdio.h.
25155         * doc/posix-headers/stdio.texi (stdio.h): Mention that off_t isn't
25156         declared by eglibc 2.11.2.
25157         * lib/stdio.in.h: Likewise.
25158
25159 2011-01-31  Eric Blake  <eblake@redhat.com>
25160
25161         ignore-value: add missing test dependency
25162         * tests/test-ignore-value.c: Revert previous change; stdio.h
25163         provides off_t.
25164         * modules/ignore-value-tests (Depends-on): Add missing dependency.
25165
25166 2011-01-30  Paul Eggert  <eggert@cs.ucla.edu>
25167
25168         mktime: clarify long_int width checking
25169         * lib/mktime.c (long_int_is_wide_enough): Move this assertion to
25170         the top level, to make it clearer that the assumption about
25171         long_int width is being checked.  See
25172         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00554.html>.
25173
25174 2011-01-30  Simon Josefsson  <simon@josefsson.org>
25175
25176         ignore-value: Fix self-test.
25177         * tests/test-ignore-value.c: Include sys/types.h for off_t.
25178
25179 2011-01-29  Paul Eggert  <eggert@cs.ucla.edu>
25180
25181         TYPE_MAXIMUM: avoid theoretically undefined behavior
25182         * lib/intprops.h (TYPE_MINIMUM, TYPE_MAXIMUM): Do not shift a
25183         negative number, which the C Standard says has undefined behavior.
25184         In practice this is not a problem, but might as well do it by the book.
25185         Reported by Rich Felker and Eric Blake; see
25186         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00493.html>.
25187         * lib/strtol.c (TYPE_MINIMUM, TYPE_MAXIMUM): Likewise.
25188         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
25189         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
25190         * m4/parse-datetime.m4 (gl_PARSE_DATETIME): Likewise.
25191         * m4/stdint.m4 (gl_STDINT_H): Likewise.
25192         * lib/mktime.c (TYPE_MAXIMUM): Redo slightly to match the others.
25193
25194         mktime: #undef mktime before #defining it
25195         * lib/mktime.c (mktime) [DEBUG]: #undef mktime before #defining it.
25196
25197         mktime: systematically normalize tm_isdst comparisons
25198         * lib/mktime.c (isdst_differ): New function.
25199         (__mktime_internal): Use it systematically for all isdst comparisons.
25200         This completes the fix for libc BZ #6723, and removes the need for
25201         normalizing tm_isdst.  See
25202         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>
25203         (not_equal_tm) [DEBUG]: Use isdst_differ here, too.
25204
25205         mktime: fix some integer overflow issues and sidestep the rest
25206
25207         This was prompted by a bug report by Benjamin Lindner for MinGW
25208         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00472.html>.
25209         His bug is due to signed integer overflow (0 - INT_MIN), and I
25210         I scanned through mktime.c looking for other integer overflow
25211         problems, fixing all the bugs I found.
25212
25213         Although the C Standard says the resulting code is still not safe
25214         in the presence of integer overflow, in practice it should be good
25215         enough for all real-world two's-complement implementations, except
25216         for debugging environments that deliberately trap on integer
25217         overflow (e.g., gcc -ftrapv).
25218
25219         * lib/mktime.c (WRAPV): New macro.
25220         (SHR): Also check that long_int and time_t shift right in the
25221         usual way, before using the fast-but-unportable method.
25222         (TYPE_ONES_COMPLEMENT, TYPE_SIGNED_MAGNITUDE): Remove, no longer
25223         used.  The code already assumed two's complement, so there's
25224         no need to test for alternatives.  All uses removed.
25225         (TYPE_MAXIMUM): Don't rely here on overflow behavior not defined by
25226         the C standard.  Problem reported by Rich Felker in
25227         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00488.html>.
25228         (twos_complement_arithmetic): Also check long_int and time_t.
25229         (time_t_avg, time_t_add_ok, time_t_int_add_ok): New functions.
25230         (guess_time_tm, ranged_convert, __mktime_internal): Use them.
25231         (__mktime_internal): Avoid integer overflow with unary subtraction
25232         in two instances where -1 - X is an adequate replacement for -X,
25233         since the calculations are approximate.
25234
25235 2011-01-29  Eric Blake  <eblake@redhat.com>
25236
25237         mktime: avoid infinite loop
25238         * m4/mktime.m4 (AC_FUNC_MKTIME): Avoid overflow on possibly-signed
25239         type; behavior is still undefined but portable to all known targets.
25240         Reported by Rich Felker.
25241
25242 2011-01-29  Simon Josefsson  <simon@josefsson.org>
25243
25244         rename, unlink, same-inode: Relicense.
25245         * modules/rename (License): Relax from LGPLv3+ to LGPLv2+.
25246         * modules/unlink (License): Likewise.
25247         * modules/same-inode (License): Likewise.
25248
25249 2011-01-28  Paul Eggert  <eggert@cs.ucla.edu>
25250
25251         mktime: avoid problems on NetBSD 5 / i386
25252         * lib/mktime.c (long_int): New type.  This works around a problem
25253         on NetBSD 5 / i386, where 'long int' and 'int' are both 32 bits
25254         but time_t is 64 bits, and where I expect the existing code is
25255         wrong in some cases.
25256         (leapyear, ydhms_diff, guess_time_tm, __mktime_internal): Use it.
25257         (ydhms_diff): Bring back the compile-time check for wide-enough
25258         year and yday.
25259
25260         mktime: fix misspelling in comment
25261         * lib/mktime.c (__mktime_internal): Fix misspelling in comment.
25262         This merges all recent glibc changes of importance.
25263
25264 2011-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
25265
25266         move-if-change: cope with concurrent mv of identical file.
25267         * build-aux/move-if-change (CMPPROG): Accept environment
25268         variable as an override for `cmp'.
25269         (usage): Document CMPPROG.
25270         Adjust comparison to drop stdout.  Cope with failure of mv if
25271         the target file exists and is identical to the source, for
25272         parallel builds.
25273         Report from H.J. Lu against binutils in PR binutils/12283.
25274
25275 2011-01-28  Bruce Korb  <bkorb@gnu.org>
25276
25277         * users.txt: Mention sharutils.
25278
25279 2011-01-28  Simon Josefsson  <simon@josefsson.org>
25280
25281         * users.txt: Mention OATH Toolkit.
25282
25283 2011-01-27  Bruno Haible  <bruno@clisp.org>
25284
25285         Prepare for supporting FreeBSD 10.
25286         * build-aux/config.libpath: Remove handling of freebsd1*.
25287
25288 2011-01-27  Gerald Pfeifer  <gerald@pfeifer.com>  (tiny change)
25289
25290         Prepare for supporting FreeBSD 10.
25291         * build-aux/config.rpath: Remove handling of freebsd1* which soon would
25292         match FreeBSD 10.0.
25293
25294 2011-01-27  Bruno Haible  <bruno@clisp.org>
25295
25296         vma-iter, get-rusage-as: Add OpenBSD support.
25297         * modules/vma-iter (configure.ac): Test for mquery.
25298         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define also on OpenBSD.
25299         * lib/vma-iter.c: Include <sys/mman.h>.
25300         (vma_iterate): Add an implementation based on mquery().
25301         * lib/resource-ext.h (get_rusage_as): Update comments.
25302         * lib/get-rusage-as.c: Likewise.
25303         * lib/get-rusage-data.c: Likewise.
25304
25305 2011-01-26  Karl Berry  <karl@gnu.org>
25306
25307         * doc/Makefile (lang_env, makeinfo_prog, manual_opts): new
25308         variables to make it easier to override the makeinfo program used.
25309
25310 2011-01-26  Eric Blake  <eblake@redhat.com>
25311
25312         fcntl: work around Haiku F_DUPFD bugs
25313         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also catch Haiku errno bug.
25314         * lib/fcntl.c (rpl_fcntl) [F_DUPFD]: Work around Haiku losing
25315         cloexec bit on duplication.
25316         * doc/posix-functions/fcntl.texi (fcntl): Document the bug.
25317
25318 2011-01-26  Bruno Haible  <bruno@clisp.org>
25319
25320         Enable memory leak tests on AIX.
25321         * tests/test-dprintf-posix2.c (main): Don't skip the test on AIX.
25322         * tests/test-fprintf-posix3.c (main): Likewise.
25323
25324 2011-01-26  Bruno Haible  <bruno@clisp.org>
25325
25326         Tests for module 'get-rusage-data'.
25327         * modules/get-rusage-data-tests: New file.
25328         * tests/test-get-rusage-data.c: New file.
25329
25330         New module 'get-rusage-data'.
25331         * lib/resource-ext.h (get_rusage_data): New declaration.
25332         * lib/get-rusage-data.c: New file.
25333         * modules/get-rusage-data: New file.
25334
25335 2011-01-25  Bruno Haible  <bruno@clisp.org>
25336
25337         get-rusage-as: Allow for easier testing.
25338         * lib/resource-ext.h (get_rusage_as): Add comment.
25339         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Define always.
25340         (main): New function for interactive testing.
25341
25342 2011-01-25  Bruno Haible  <bruno@clisp.org>
25343
25344         vma-iter: Treat Haiku like BeOS.
25345         * lib/vma-iter.h (VMA_ITERATE_SUPPORTED): Define on Haiku as well.
25346         * lib/vma-iter.c (vma_iterate) [Haiku]: Use the BeOS API.
25347
25348 2011-01-25  Eric Blake  <eblake@redhat.com>
25349
25350         c-stack: fix regression on cygwin when libsigsegv is present
25351         * lib/c-stack.c (die): Don't flatten error if sigsegv is present.
25352
25353 2011-01-24  Bruno Haible  <bruno@clisp.org>
25354
25355         vma-iter: Avoid empty intervals.
25356         * lib/vma-iter.c (vma_iterate) [IRIX, OSF/1]: Don't call the callback
25357         on an empty interval.
25358
25359 2011-01-24  Jim Meyering  <meyering@redhat.com>
25360
25361         u64: remove unnecessary #include
25362         * lib/u64.h: Don't include <stddef.h>.  It was not used.
25363
25364 2011-01-23  Paul Eggert  <eggert@cs.ucla.edu>
25365
25366         Allow the user to avoid the HAVE_RAW_DECL_* macros.
25367         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_POSIXCHECK): New macro.
25368
25369 2011-01-23  Bruno Haible  <bruno@clisp.org>
25370
25371         New module 'vma-iter'.
25372         * lib/vma-iter.h: New file.
25373         * lib/vma-iter.c: New file, based on lib/get-rusage-as.c.
25374         * modules/vma-iter: New file.
25375         * lib/get-rusage-as.c: Include vma-iter.h. Don't include system headers
25376         for get_rusage_as_via_iterator.
25377         (vma_iterate_callback): New function.
25378         (get_rusage_as_via_iterator): Rewritten to use vma_iterate.
25379         * modules/get-rusage-as (Depends-on): Add vma-iter.
25380
25381 2011-01-23  Bruno Haible  <bruno@clisp.org>
25382
25383         uninorm: Tweak includes.
25384         * lib/uninorm/normalize-internal.h: Don't include <stddef.h>.
25385         Reported by Jim Meyering.
25386
25387 2011-01-23  Bruno Haible  <bruno@clisp.org>
25388
25389         get-rusage-as: Improve on NetBSD.
25390         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On NetBSD, use
25391         /proc, like on FreeBSD.
25392
25393 2011-01-23  Jim Meyering  <meyering@redhat.com>
25394
25395         xreadlink.h: remove unnecessary #include
25396         * lib/xreadlink.h: Don't include <stddef.h>.  It was not used.
25397
25398         maint.mk: add syntax-check rule: detect unnecessary #include <stddef.h>
25399         * top/maint.mk (sc_prohibit_stddef_without_use): New rule.
25400
25401 2011-01-23  Bruno Haible  <bruno@clisp.org>
25402
25403         get-rusage-as: Fix bug.
25404         * lib/get-rusage-as.c (get_rusage_as_via_setrlimit): Restore the
25405         original limit when aborting the first loop.
25406
25407 2011-01-23  Bruno Haible  <bruno@clisp.org>
25408
25409         wctype: Ensure valid C syntax.
25410         * m4/wctype_h.m4 (gl_WCTYPE_H): Invoke gl_CHECK_NEXT_HEADERS
25411         unconditionally, instead of gl_NEXT_HEADERS conditionally.
25412
25413 2011-01-21  Paul Eggert  <eggert@cs.ucla.edu>
25414
25415         getopt: omit HAVE_OPTRESET, HAVE_GETOPT_CLIP from config.h
25416         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not put the
25417         symbols HAVE_OPTRESET and HAVE_GETOPT_CLIP into config.h,
25418         as they are needed only for configure's test case.
25419         This removes two unnecessary symbols from config.h.
25420
25421         gl_CHECK_NEXT_HEADERS implies AC_CHECK_HEADERS_ONCE
25422         * m4/include_next.m4 (gl_CHECK_HEXT_HEADERS): Document this.
25423         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Don't bother to invoke
25424         AC_CHECK_HEADERS_ONCE on a header that we also invoke
25425         gl_CHECK_NEXT_HEADERS on, since the latter invokes the former.
25426         * m4/netdb_h.m4 (gl_HEADER_NETDB): Likewise.
25427         * m4/pthread.m4 (gl_PTHREAD_CHECK): Likewise.
25428         * m4/sched_h.m4 (gl_SCHED_H): Likewise.
25429         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
25430         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
25431         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
25432         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
25433         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
25434         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
25435         * m4/termios_h.m4 (gl_TERMIOS_H): Likewise.
25436         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
25437         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
25438         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
25439
25440 2011-01-21  Eric Blake  <eblake@redhat.com>
25441
25442         maintainer-makefile: work with older git for submodule check
25443         * top/maint.mk (public-submodule-commit): Rewrite to avoid
25444         merge-base --independent, which Ubuntu 10.04 git 1.7.0.4 lacks.
25445         Reported by Matthias Bolte.
25446
25447         bootstrap: minor portability fixes
25448         * build-aux/bootstrap (me): Use $me instead of $0 in functions.
25449         (usage): Omit leading capital and trailing . on help phrases, per
25450         GNU Coding Standards.
25451         (check_versions, top level): Prefix messages with script name.
25452
25453 2011-01-21  Benjamin Lindner  <bjmldn@gmail.com>  (tiny change)
25454
25455         bootstrap: support --no-git option
25456         * build-aux/bootstrap: Add --no-git option, to be used when
25457         --gnulib-srcdir points to the exact desired checkout.
25458
25459 2011-01-21  Eric Blake  <eblake@redhat.com>
25460
25461         strerror_r-posix: work with glibc 2.13
25462         * lib/strerror_r.c (strerror_r): Fix return type.
25463
25464 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25465             Bruno Haible  <bruno@clisp.org>
25466
25467         uN_strstr: New unit tests.
25468         * modules/unistr/u8-strstr-tests: New file.
25469         * modules/unistr/u16-strstr-tests: New file.
25470         * modules/unistr/u32-strstr-tests: New file.
25471         * tests/unistr/test-u-strstr.h: New file, based on tests/test-strstr.c.
25472         * tests/unistr/test-u8-strstr.c: New file.
25473         * tests/unistr/test-u16-strstr.c: New file.
25474         * tests/unistr/test-u32-strstr.c: New file.
25475
25476 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25477             Bruno Haible  <bruno@clisp.org>
25478
25479         Make uN_strstr functions O(n) worst-case.
25480         * lib/unistr/u-strstr.h (FUNC): In the 8-bit case, use strstr. In the
25481         16-bit and 32-bit unit cases, use the unibyte algorithm from
25482         lib/mbsstr.c.
25483         * lib/unistr/u8-strstr.c: Include <string.h>.
25484         (UNIT_IS_UINT8_T): New macro.
25485         * lib/unistr/u16-strstr.c: Include malloca.h and str-kmp.h.
25486         (U_STRLEN, U_STRNLEN): New macros.
25487         * lib/unistr/u32-strstr.c: Include malloca.h and str-kmp.h.
25488         (U_STRLEN, U_STRNLEN): New macros.
25489         * modules/unistr/u8-strstr (Depends-on): Add strstr.
25490         (configure.ac): Update required libunistring version.
25491         * modules/unistr/u16-strstr (Files): Add lib/str-kmp.h.
25492         (Depends-on): Add unistr/u16-strlen, unistr/u16-strnlen, stdbool,
25493         malloca.
25494         (configure.ac): Update required libunistring version.
25495         * modules/unistr/u32-strstr (Files): Add lib/str-kmp.h.
25496         (Depends-on): Add unistr/u32-strlen, unistr/u32-strnlen, stdbool,
25497         malloca.
25498         (configure.ac): Update required libunistring version.
25499
25500 2011-01-21  Pádraig Brady  <P@draigBrady.com>
25501             Bruno Haible  <bruno@clisp.org>
25502
25503         Prepare for faster uN_strstr functions.
25504         * lib/str-kmp.h: Support definable UNITs.
25505         (knuth_morris_pratt): Renamed from knuth_morris_pratt_unibyte. Add
25506         needle_len argument.
25507         * lib/mbsstr.c (mbsstr): Adjust for the changed str-kmp.h.
25508         * lib/mbscasestr.c (mbscasestr): Likewise.
25509
25510 2011-01-21  Pádraig Brady <P@draigBrady.com>
25511
25512         malloca-tests: make faster by unsetting MALLOC_PERTURB_
25513         * tests/test-malloca.c (main): Unset the environment variable
25514         to greatly speed up the test.
25515         * tests/init.sh: Don't say that MALLOC_PERTURB_ is cheap.
25516         * modules/malloca-tests: Depend on unsetenv.
25517
25518 2011-01-21  Pádraig Brady <P@draigBrady.com>
25519
25520         ignore-value: remove stdint dependency
25521         * lib/ignore-value.h: Remove <stdint.h>
25522         * modules/ignore-value: Remove stdint dependency.
25523
25524 2011-01-21  Jim Meyering  <meyering@redhat.com>
25525
25526         maint.mk: adjust variable name to be consistent with other gl_ vars
25527         * top/maint.mk (gl_public_submodule_commit): Rename the variable
25528         to be lower case.
25529
25530 2011-01-20  Jim Meyering  <meyering@redhat.com>
25531
25532         maint.mk: make "check" depend on public-submodule-commit by default
25533         * top/maint.mk (GL_PUBLIC_SUBMODULE_COMMIT): New overridable variable.
25534
25535 2011-01-20  Bruno Haible  <bruno@clisp.org>
25536
25537         mbfile, mbiter: Complete change from 2008-12-21.
25538         * m4/mbfile.m4 (gl_MBFILE): Don't require AC_FUNC_MBRTOWC.
25539         * m4/mbiter.m4 (gl_MBITER): Likewise.
25540
25541 2011-01-20  Jim Meyering  <meyering@redhat.com>
25542
25543         init.sh: insert space between each function name and "()"
25544         * tests/init.sh: Make it a little easier to see that a function's
25545         name is "warn_", and not "warn" when looking at the first part of
25546         its definition: "warn_ ()".  Suggested by Ralf Wildenhues.
25547
25548 2011-01-20  Jim Meyering  <meyering@redhat.com>
25549
25550         mountlist: clean up code formatting
25551         * lib/mountlist.c (read_file_system_list): Split a long line,
25552         correct bracing style, use NULL in place of "(struct statfs *)0",
25553         don't parenthesize return value, add spaces around "=" and after
25554         ";-in-for-stmt".
25555
25556 2011-01-14  Markus Duft <mduft@gentoo.org>
25557
25558         mountlist: add support for Interix
25559         * lib/mountlist.c (read_file_system_list) [MOUNTED_INTERIX_STATVFS]:
25560         Apply statvfs to all entries of /dev/fs.
25561         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for statvfs,
25562         and if found, AC_DEFINE MOUNTED_INTERIX_STATVFS.
25563
25564 2011-01-20  Jim Meyering  <meyering@redhat.com>
25565
25566         maint.mk: improve the public-submodule-commit rule
25567         * top/maint.mk (public-submodule-commit): Prefix with $(AM_V_GEN),
25568         to suppress printing of its commands... unless V=1.
25569         Add git submodule's --quiet option to suppress printing of e.g.,
25570         "Entering gnulib" output.
25571         "cd" into $(srcdir) before running git submodule.
25572
25573 2011-01-20  Bruno Haible  <bruno@clisp.org>
25574
25575         include_next: Fix bug introduced on 2011-01-18.
25576         * m4/include_next.m4 (gl_NEXT_HEADERS_INTERNAL): New macro, extracted
25577         from gl_CHECK_NEXT_HEADERS and gl_NEXT_HEADERS. Omit test of
25578         ac_cv_header_... variable if the second argument is not 'check'.
25579         (gl_CHECK_NEXT_HEADERS, gl_NEXT_HEADERS): Invoke
25580         gl_NEXT_HEADERS_INTERNAL.
25581
25582 2011-01-20  Bruno Haible  <bruno@clisp.org>
25583
25584         Allow the user to avoid the GNULIB_TEST_* macros.
25585         * m4/gnulib-common.m4 (gl_ASSERT_NO_GNULIB_TESTS): New macro.
25586         Suggested by Paul Eggert.
25587
25588 2011-01-14  Jim Meyering  <meyering@redhat.com>
25589
25590         bootstrap: avoid failure when there is no .gitmodules file
25591         ": ${gnulib_path=gnulib}" fails to set $gnulib_path when that variable
25592         has been assigned to, even when its value is the empty string.
25593         * build-aux/bootstrap (gnulib_path): Test explicitly for an empty
25594         "$gnulib_path", rather than using ${gnulib_path=gnulib}.
25595         Reported by John W. Eaton <jwe@gnu.org>.
25596
25597 2011-01-19  Paul Eggert  <eggert@cs.ucla.edu>
25598
25599         assume <ctype.h>, ..., <time.h> exist
25600         For years gnulib has been assuming the existence of the headers
25601         <ctype.h>, <errno.h>, <fcntl.h>, <locale.h>, <signal.h>,
25602         <stdio.h>, <stdlib.h>, <string.h>, and <time.h>.  Omit checks for
25603         them, since they don't appear to be needed.
25604         * README (Portability guidelines): Document this.
25605         * lib/flock.c: Assume <fcntl.h> exists.
25606         * lib/regex_internal.h: Assume <locale.h> exists.
25607         * m4/ctype.m4 (gl_CTYPE_H): Assume <ctype.h> exists.
25608         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Assume <errno.h> exists.
25609         * m4/fcntl_h.m4 (gl_FCNTL_H): Assume <fcntl.h> exists.
25610         * m4/flock.m4 (gl_PREREQ_FLOCK): Likewise.
25611         * m4/locale_h.m4 (gl_LOCALE_H): Assume <locale.h> exists.
25612         * m4/regex.m4 (gl_REGEX): Likewise.
25613         * m4/signal_h.m4 (gl_SIGNAL_H): Assume <signal.h> exists.
25614         * m4/stdio_h.m4 (gl_STDIO_H): Assume <stdio.h> exists.
25615         * m4/stdlib_h.m4 (gl_STDLIB_H): Assume <stdlib.h> exists.
25616         * m4/string_h.m4 (gl_STRING_H): Assume <string.h> exists.
25617         * tests/test-argp.c: Likewise.
25618         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Assume <time.h> exists.
25619
25620         multiarch: remove AA_APPLE_UNIVERSAL_BUILD
25621         * m4/multiarch.m4 (gl_MULTIARCH): Don't AC_DEFINE
25622         AA_APPLE_UNIVERSAL_BUILD.  See
25623         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00247.html>.
25624         * NEWS: Document this.
25625
25626 2011-01-19  Eric Blake  <eblake@redhat.com>
25627
25628         c-stack: assume stack overflow if SA_SIGINFO unsupported
25629         * lib/c-stack.c (SIGACTION_WORKS): Rename...
25630         (SIGINFO_WORKS): ...since gnulib module guarantees that (most) of
25631         sigaction will work.
25632         (die): Assume stack overflow if siginfo doesn't work, to let Haiku
25633         behavior match Linux.
25634         * tests/test-c-stack.c (main): Prefer NULL for pointers.
25635
25636         stdbool-tests: accommodate Haiku
25637         * tests/test-stdbool.c: Haiku's gcc 2.95 lacks native _Bool.
25638
25639         binary-io: fix O_TEXT on Haiku
25640         * modules/binary-io (Depends-on): Add fcntl-h.
25641         * lib/binary-io.h (O_TEXT): Rely on replacement <fcntl.h> rather
25642         than blindly undefining O_TEXT.
25643         Reported by Scott McCreary.
25644
25645 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25646
25647         include_next: do not check for standard headers like stddef.h
25648
25649         I found this problem when modifying Emacs to use gnulib.
25650         I noticed that it added HAVE_STDDEF_H to config.h, even though
25651         gnulib always assumes <stddef.h> exists as per README and this
25652         symbol is unnecessary.
25653         * m4/include_next.m4 (gl_NEXT_HEADERS): New macro, which does not
25654         use AC_CHECK_HEADERS_ONCE, but which otherwise contains what
25655         gl_CHECK_NEXT_HEADERS used to contain.  This makes 'configure' run
25656         faster for headers like stddef.h that are known to exist.
25657         (gl_CHECK_NEXT_HEADERS): Use it.
25658         * m4/float_h.m4 (gl_FLOAT_H): For float.h, use gl_NEXT_HEADERS
25659         rather than gl_CHECK_NEXT_HEADERS.
25660         * m4/stdarg.m4 (gl_STDARG_H): Likewise, for stdarg.h.
25661         * m4/stddef_h.m4 (gl_STDDEF_H): Likewise, for stddef.h.
25662
25663 2011-01-18  Eric Blake  <eblake@redhat.com>
25664
25665         ansi-c++-opt: skip C++ dependency style if C++ is unused
25666         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Avoid full-blown dependency
25667         tests when we know C++ compilation is not desired.
25668         Reported by Scott McCreary.
25669
25670 2011-01-18  Bruno Haible  <bruno@clisp.org>
25671
25672         *printf-posix: Avoid test failures. Make tests work on MacOS X, Cygwin.
25673         * tests/test-fprintf-posix3.c: Include "resource-ext.h".
25674         (main): Perform test also when getrlimit and setrlimit don't exist or
25675         when setrlimit of RLIMIT_DATA fails (like on Cygwin). Instead of
25676         limiting the address space size using setrlimit, compare the address
25677         space size before and after the the test.
25678         * tests/test-dprintf-posix2.c: Likewise.
25679         * tests/test-fprintf-posix3.sh: Update skip messages.
25680         * tests/test-dprintf-posix2.sh: Likewise.
25681         * modules/fprintf-posix-tests (Depends-on): Add get-rusage-as.
25682         * modules/dprintf-posix-tests (Depends-on): Likewise.
25683         Reported by Bruce Korb <bkorb@gnu.org> and
25684         Gary V. Vaughan <gary@gnu.org>.
25685
25686 2011-01-18  Bruno Haible  <bruno@clisp.org>
25687
25688         get-rusage-as: Improvement for Cygwin.
25689         * lib/get-rusage-as.c (get_rusage_as_via_iterator): On Windows, ignore
25690         areas that are merely reserved.
25691
25692 2011-01-18  Paul Eggert  <eggert@cs.ucla.edu>
25693
25694         strftime: remove dependencies on multibyte modules
25695
25696         strftime depended on mbrlen, mbsinit, and wchar, but these modules
25697         are needed only if ! MULTIBYTE_IS_FORMAT_SAFE, and that is true
25698         only if __osf__ is defined, and I suspect OSF doesn't need these
25699         other modules.  If my guess is wrong, we'll need to come up with a
25700         variant of strftime that doesn't need the multibyte modules.
25701
25702         I discovered this problem when attempting modify Emacs to use the
25703         strftime module.  With the previous gnulib, this caused Emacs to
25704         need 31 new files, ranging from lib/config.charset to
25705         m4/wint_t.m4.  This was overkill and I expect would be offputting
25706         to the Emacs maintainers.  After this change, only 6 new files are
25707         needed, namely strftime.[ch], srtftime.m4, stdbool.in.h,
25708         stdbool.m4, and tm_gmtoff.m4.
25709
25710         * lib/strftime.c (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 always.
25711         Suggested by Bruno Haible in
25712         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00238.html>.
25713         * m4/strftime.m4 (gl_FUNC_STRFTIME): Do not require AC_TYPE_MBSTATE_T,
25714         and do not check for wchar.h.
25715         * modules/strftime (Files): Remove m4/mbstate_t.m4.
25716         (Depends-on): Remove mbrlen, mbsinit, wchar.
25717
25718 2011-01-18  Bruno Haible  <bruno@clisp.org>
25719
25720         Tests for module 'get-rusage-as'.
25721         * modules/get-rusage-as-tests: New file.
25722         * tests/test-get-rusage-as.c: New file.
25723
25724         New module 'get-rusage-as'.
25725         * modules/get-rusage-as: New file.
25726         * lib/resource-ext.h: New file.
25727         * lib/get-rusage-as.c: New file.
25728
25729 2011-01-17  Eric Blake  <eblake@redhat.com>
25730
25731         sigaction: relax license from LGPLv3+ to LGPLv2+
25732         * modules/sigaction (License): Relax to LGPLv2+.
25733
25734 2011-01-14  Bruno Haible  <bruno@clisp.org>
25735
25736         filemode: Make function declarations usable in C++ mode.
25737         * lib/filemode.h: Enclose function declarations in extern "C" block.
25738         Reported by John W. Eaton <jwe@gnu.org>.
25739
25740 2011-01-12  Rob Vermaas  <rob.vermaas@gmail.com>
25741
25742         save-cwd: no longer include "xgetcwd.h"
25743         * lib/save-cwd.c: Don't include "xgetcwd.h"; it's no longer used.
25744         This avoids a compilation failure in projects that use save-cwd
25745         without also using the xgetcwd module.
25746
25747 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25748
25749         ftoastr: split into 3 modules ftoastr, dtoastr, ldtoastr
25750         This is so that a program like Emacs, which needs only dtoastr,
25751         does not have to bother with distributing and compiling ftoastr
25752         and ldtoastr.
25753         * MODULES.html.sh: Document these modules (ftoastr wasn't documented).
25754         * modules/dtoastr, modules/ldtoastr: New files.
25755         * modules/ftoastr: Now works just for 'float'.
25756         (Files): Remove lib/dtoastr.c, lib/ldtoastr.c.
25757         (Makefile.am): Remove ftoastr.h (not needed and no effect),
25758         dtoastr.c, ldtoastr.c.
25759
25760 2011-01-11  Jim Meyering  <meyering@redhat.com>
25761
25762         save-cwd: remove #if-!HAVE_FCHDIR'd code; use the fchdir module
25763         There is no need to work around the lack of the fchdir function,
25764         since gnulib can now provide a replacement when required.
25765         * lib/save-cwd.c: Remove #if !HAVE_FCHDIR...#endif code.
25766         * modules/save-cwd (Depends-on): Add fchdir.
25767
25768 2011-01-11  Paul Eggert  <eggert@cs.ucla.edu>
25769
25770         openat, save-cwd: avoid xmalloc
25771
25772         This removes a direct (but undocumented) dependency of openat on
25773         xalloc, along with an indirect dependency via save-cwd.  It also
25774         removes a dependency of save-cwd on xgetcwd, and thereby
25775         indirectly on xalloc.  This change causes the openat substitute
25776         to fall back on save_cwd when memory is tight, and for save_cwd to
25777         fail instead of dying when memory is tight, but that's good enough.
25778         Problem and initial idea for fix reported by Bastien Roucaries in
25779         <http://lists.gnu.org/archive/html/bug-gnulib/2011-01/msg00170.html>.
25780
25781         * lib/openat-proc.c: Include stdlib.h (for malloc), not
25782         xalloc.h (for xmalloc).
25783         (openat_proc_name): Use malloc, not xmalloc.
25784         * lib/save-cwd.c (save_cwd): Use getcwd, not xgetcwd.
25785         * modules/save-cwd (Files): Depend on getcwd, not xgetcwd.
25786
25787         openat: Increase OPENAT_BUFFER_SIZE from 512 to at least 1024
25788         This avoids heap allocation for file names whose lengths are in
25789         the range 512..1023, with the upper bound increasing to at most
25790         4031 depending on the platform's PATH_MAX.  (We do not want
25791         pathmax.h here as it might supply a non-constant PATH_MAX.)
25792         * lib/openat-priv.h (SAFER_ALLOCA_MAX, SAFER_ALLOCA): New macros.
25793         Perhaps they should be moved to malloca.h?
25794         (OPENAT_BUFFER_SIZE): Use them.
25795
25796 2011-01-10  Bruno Haible  <bruno@clisp.org>
25797
25798         doc: Update users.txt.
25799         * users.txt: Add recutils.
25800
25801 2011-01-09  Karl Berry  <karl@gnu.org>
25802
25803         * doc/posix-functions/gai_strerror.texi: Insert missing @item.
25804
25805         * doc/configmake.texi: New file.
25806         * doc/gnulib.texi: Include it.
25807         * modules/configmake: Move documentation from here.
25808
25809 2011-01-09  Bruno Haible  <bruno@clisp.org>
25810
25811         Update to Unicode 6.0.0.
25812         * lib/gen-uni-tables.c (symbolic_width): Fix bounds of planes.
25813         (get_lbp): Update for Unicode 6.0.0.
25814         * lib/uniwidth/width.c (nonspacing_table_data): Add U+065F,
25815         U+0859..U+085B, U+093A, U+0956..U+0957, U+0F8D..U+0F8F, U+135D..U+135E,
25816         U+1BE6, U+1BE8..U+1BE9, U+1BED, U+1BEF..U+1BF1, U+1DFC, U+2D7F,
25817         U+11001, U+11038..U+11046. Remove U+06DE.
25818         (uc_width): Fix bounds of planes.
25819         * tests/uniwidth/test-uc_width2.sh: Same updates as in
25820         lib/uniwidth/width.c.
25821         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 6.0.0, with
25822         trailing whitespace removed.
25823         * tests/uninorm/NormalizationTest.txt: Update from Unicode 6.0.0,
25824         without comments, but with the original copyright notice.
25825         * lib/unicase/cased.h: Regenerated for Unicode 6.0.0.
25826         * lib/unicase/ignorable.h: Likewise.
25827         * lib/unicase/tocasefold.h: Likewise.
25828         * lib/unicase/tolower.h: Likewise.
25829         * lib/unicase/totitle.h: Likewise.
25830         * lib/unicase/toupper.h: Likewise.
25831         * lib/unictype/bidi_of.h: Likewise.
25832         * lib/unictype/blocks.h: Likewise.
25833         * lib/unictype/categ_C.h: Likewise.
25834         * lib/unictype/categ_Cn.h: Likewise.
25835         * lib/unictype/categ_L.h: Likewise.
25836         * lib/unictype/categ_Ll.h: Likewise.
25837         * lib/unictype/categ_Lm.h: Likewise.
25838         * lib/unictype/categ_Lo.h: Likewise.
25839         * lib/unictype/categ_Lu.h: Likewise.
25840         * lib/unictype/categ_M.h: Likewise.
25841         * lib/unictype/categ_Mc.h: Likewise.
25842         * lib/unictype/categ_Me.h: Likewise.
25843         * lib/unictype/categ_Mn.h: Likewise.
25844         * lib/unictype/categ_N.h: Likewise.
25845         * lib/unictype/categ_Nd.h: Likewise.
25846         * lib/unictype/categ_No.h: Likewise.
25847         * lib/unictype/categ_P.h: Likewise.
25848         * lib/unictype/categ_Po.h: Likewise.
25849         * lib/unictype/categ_S.h: Likewise.
25850         * lib/unictype/categ_Sc.h: Likewise.
25851         * lib/unictype/categ_Sk.h: Likewise.
25852         * lib/unictype/categ_Sm.h: Likewise.
25853         * lib/unictype/categ_So.h: Likewise.
25854         * lib/unictype/categ_of.h: Likewise.
25855         * lib/unictype/combining.h: Likewise.
25856         * lib/unictype/ctype_alnum.h: Likewise.
25857         * lib/unictype/ctype_alpha.h: Likewise.
25858         * lib/unictype/ctype_graph.h: Likewise.
25859         * lib/unictype/ctype_lower.h: Likewise.
25860         * lib/unictype/ctype_print.h: Likewise.
25861         * lib/unictype/ctype_punct.h: Likewise.
25862         * lib/unictype/ctype_upper.h: Likewise.
25863         * lib/unictype/decdigit.h: Likewise.
25864         * lib/unictype/digit.h: Likewise.
25865         * lib/unictype/numeric.h: Likewise.
25866         * lib/unictype/pr_alphabetic.h: Likewise.
25867         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
25868         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
25869         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
25870         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
25871         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
25872         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
25873         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
25874         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
25875         * lib/unictype/pr_case_ignorable.h: Likewise.
25876         * lib/unictype/pr_cased.h: Likewise.
25877         * lib/unictype/pr_changes_when_casefolded.h: Likewise.
25878         * lib/unictype/pr_changes_when_casemapped.h: Likewise.
25879         * lib/unictype/pr_changes_when_lowercased.h: Likewise.
25880         * lib/unictype/pr_changes_when_titlecased.h: Likewise.
25881         * lib/unictype/pr_changes_when_uppercased.h: Likewise.
25882         * lib/unictype/pr_combining.h: Likewise.
25883         * lib/unictype/pr_composite.h: Likewise.
25884         * lib/unictype/pr_currency_symbol.h: Likewise.
25885         * lib/unictype/pr_decimal_digit.h: Likewise.
25886         * lib/unictype/pr_deprecated.h: Likewise.
25887         * lib/unictype/pr_format_control.h: Likewise.
25888         * lib/unictype/pr_grapheme_base.h: Likewise.
25889         * lib/unictype/pr_grapheme_extend.h: Likewise.
25890         * lib/unictype/pr_grapheme_link.h: Likewise.
25891         * lib/unictype/pr_id_continue.h: Likewise.
25892         * lib/unictype/pr_id_start.h: Likewise.
25893         * lib/unictype/pr_ideographic.h: Likewise.
25894         * lib/unictype/pr_lowercase.h: Likewise.
25895         * lib/unictype/pr_math.h: Likewise.
25896         * lib/unictype/pr_numeric.h: Likewise.
25897         * lib/unictype/pr_other_alphabetic.h: Likewise.
25898         * lib/unictype/pr_other_id_continue.h: Likewise.
25899         * lib/unictype/pr_other_math.h: Likewise.
25900         * lib/unictype/pr_punctuation.h: Likewise.
25901         * lib/unictype/pr_sentence_terminal.h: Likewise.
25902         * lib/unictype/pr_terminal_punctuation.h: Likewise.
25903         * lib/unictype/pr_unassigned_code_value.h: Likewise.
25904         * lib/unictype/pr_unified_ideograph.h: Likewise.
25905         * lib/unictype/pr_uppercase.h: Likewise.
25906         * lib/unictype/pr_xid_continue.h: Likewise.
25907         * lib/unictype/pr_xid_start.h: Likewise.
25908         * lib/unictype/scripts.h: Likewise.
25909         * lib/unictype/scripts_byname.gperf: Likewise.
25910         * lib/unictype/sy_java_ident.h: Likewise.
25911         * lib/unigbrk/gbrkprop.h: Likewise.
25912         * lib/unilbrk/lbrkprop1.h: Likewise.
25913         * lib/unilbrk/lbrkprop2.h: Likewise.
25914         * lib/uninorm/decomposition-table2.h: Likewise.
25915         * lib/uniwbrk/wbrkprop.h: Likewise.
25916         * tests/unicase/test-cased.c: Likewise.
25917         * tests/unicase/test-ignorable.c: Likewise.
25918         * tests/unicase/test-uc_tolower.c: Likewise.
25919         * tests/unicase/test-uc_totitle.c: Likewise.
25920         * tests/unicase/test-uc_toupper.c: Likewise.
25921         * tests/unictype/test-categ_C.c: Likewise.
25922         * tests/unictype/test-categ_Cn.c: Likewise.
25923         * tests/unictype/test-categ_L.c: Likewise.
25924         * tests/unictype/test-categ_Ll.c: Likewise.
25925         * tests/unictype/test-categ_Lm.c: Likewise.
25926         * tests/unictype/test-categ_Lo.c: Likewise.
25927         * tests/unictype/test-categ_Lu.c: Likewise.
25928         * tests/unictype/test-categ_M.c: Likewise.
25929         * tests/unictype/test-categ_Mc.c: Likewise.
25930         * tests/unictype/test-categ_Me.c: Likewise.
25931         * tests/unictype/test-categ_Mn.c: Likewise.
25932         * tests/unictype/test-categ_N.c: Likewise.
25933         * tests/unictype/test-categ_Nd.c: Likewise.
25934         * tests/unictype/test-categ_No.c: Likewise.
25935         * tests/unictype/test-categ_P.c: Likewise.
25936         * tests/unictype/test-categ_Po.c: Likewise.
25937         * tests/unictype/test-categ_S.c: Likewise.
25938         * tests/unictype/test-categ_Sc.c: Likewise.
25939         * tests/unictype/test-categ_Sk.c: Likewise.
25940         * tests/unictype/test-categ_Sm.c: Likewise.
25941         * tests/unictype/test-categ_So.c: Likewise.
25942         * tests/unictype/test-ctype_alnum.c: Likewise.
25943         * tests/unictype/test-ctype_alpha.c: Likewise.
25944         * tests/unictype/test-ctype_graph.c: Likewise.
25945         * tests/unictype/test-ctype_lower.c: Likewise.
25946         * tests/unictype/test-ctype_print.c: Likewise.
25947         * tests/unictype/test-ctype_punct.c: Likewise.
25948         * tests/unictype/test-ctype_upper.c: Likewise.
25949         * tests/unictype/test-decdigit.h: Likewise.
25950         * tests/unictype/test-digit.h: Likewise.
25951         * tests/unictype/test-numeric.h: Likewise.
25952         * tests/unictype/test-pr_alphabetic.c: Likewise.
25953         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
25954         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
25955         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
25956         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
25957         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
25958         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
25959         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
25960         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
25961         * tests/unictype/test-pr_case_ignorable.c: Likewise.
25962         * tests/unictype/test-pr_cased.c: Likewise.
25963         * tests/unictype/test-pr_changes_when_casefolded.c: Likewise.
25964         * tests/unictype/test-pr_changes_when_casemapped.c: Likewise.
25965         * tests/unictype/test-pr_changes_when_lowercased.c: Likewise.
25966         * tests/unictype/test-pr_changes_when_titlecased.c: Likewise.
25967         * tests/unictype/test-pr_changes_when_uppercased.c: Likewise.
25968         * tests/unictype/test-pr_combining.c: Likewise.
25969         * tests/unictype/test-pr_composite.c: Likewise.
25970         * tests/unictype/test-pr_currency_symbol.c: Likewise.
25971         * tests/unictype/test-pr_decimal_digit.c: Likewise.
25972         * tests/unictype/test-pr_deprecated.c: Likewise.
25973         * tests/unictype/test-pr_format_control.c: Likewise.
25974         * tests/unictype/test-pr_grapheme_base.c: Likewise.
25975         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
25976         * tests/unictype/test-pr_grapheme_link.c: Likewise.
25977         * tests/unictype/test-pr_id_continue.c: Likewise.
25978         * tests/unictype/test-pr_id_start.c: Likewise.
25979         * tests/unictype/test-pr_ideographic.c: Likewise.
25980         * tests/unictype/test-pr_lowercase.c: Likewise.
25981         * tests/unictype/test-pr_math.c: Likewise.
25982         * tests/unictype/test-pr_numeric.c: Likewise.
25983         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
25984         * tests/unictype/test-pr_other_id_continue.c: Likewise.
25985         * tests/unictype/test-pr_other_math.c: Likewise.
25986         * tests/unictype/test-pr_punctuation.c: Likewise.
25987         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
25988         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
25989         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
25990         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
25991         * tests/unictype/test-pr_uppercase.c: Likewise.
25992         * tests/unictype/test-pr_xid_continue.c: Likewise.
25993         * tests/unictype/test-pr_xid_start.c: Likewise.
25994         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
25995         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
25996         changes.
25997         * lib/unictype/categ_Cc.h: Likewise.
25998         * lib/unictype/categ_Cf.h: Likewise.
25999         * lib/unictype/categ_Co.h: Likewise.
26000         * lib/unictype/categ_Cs.h: Likewise.
26001         * lib/unictype/categ_Lt.h: Likewise.
26002         * lib/unictype/categ_Nl.h: Likewise.
26003         * lib/unictype/categ_Pc.h: Likewise.
26004         * lib/unictype/categ_Pd.h: Likewise.
26005         * lib/unictype/categ_Pe.h: Likewise.
26006         * lib/unictype/categ_Pf.h: Likewise.
26007         * lib/unictype/categ_Pi.h: Likewise.
26008         * lib/unictype/categ_Ps.h: Likewise.
26009         * lib/unictype/categ_Z.h: Likewise.
26010         * lib/unictype/categ_Zl.h: Likewise.
26011         * lib/unictype/categ_Zp.h: Likewise.
26012         * lib/unictype/categ_Zs.h: Likewise.
26013         * lib/unictype/ctype_blank.h: Likewise.
26014         * lib/unictype/ctype_cntrl.h: Likewise.
26015         * lib/unictype/ctype_digit.h: Likewise.
26016         * lib/unictype/ctype_space.h: Likewise.
26017         * lib/unictype/ctype_xdigit.h: Likewise.
26018         * lib/unictype/mirror.h: Likewise.
26019         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
26020         * lib/unictype/pr_bidi_block_separator.h: Likewise.
26021         * lib/unictype/pr_bidi_common_separator.h: Likewise.
26022         * lib/unictype/pr_bidi_control.h: Likewise.
26023         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
26024         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
26025         * lib/unictype/pr_bidi_european_digit.h: Likewise.
26026         * lib/unictype/pr_bidi_pdf.h: Likewise.
26027         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
26028         * lib/unictype/pr_bidi_whitespace.h: Likewise.
26029         * lib/unictype/pr_dash.h: Likewise.
26030         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
26031         * lib/unictype/pr_diacritic.h: Likewise.
26032         * lib/unictype/pr_extender.h: Likewise.
26033         * lib/unictype/pr_hex_digit.h: Likewise.
26034         * lib/unictype/pr_hyphen.h: Likewise.
26035         * lib/unictype/pr_ids_binary_operator.h: Likewise.
26036         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
26037         * lib/unictype/pr_ignorable_control.h: Likewise.
26038         * lib/unictype/pr_iso_control.h: Likewise.
26039         * lib/unictype/pr_join_control.h: Likewise.
26040         * lib/unictype/pr_left_of_pair.h: Likewise.
26041         * lib/unictype/pr_line_separator.h: Likewise.
26042         * lib/unictype/pr_logical_order_exception.h: Likewise.
26043         * lib/unictype/pr_non_break.h: Likewise.
26044         * lib/unictype/pr_not_a_character.h: Likewise.
26045         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
26046         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
26047         * lib/unictype/pr_other_id_start.h: Likewise.
26048         * lib/unictype/pr_other_lowercase.h: Likewise.
26049         * lib/unictype/pr_other_uppercase.h: Likewise.
26050         * lib/unictype/pr_paired_punctuation.h: Likewise.
26051         * lib/unictype/pr_paragraph_separator.h: Likewise.
26052         * lib/unictype/pr_pattern_syntax.h: Likewise.
26053         * lib/unictype/pr_pattern_white_space.h: Likewise.
26054         * lib/unictype/pr_private_use.h: Likewise.
26055         * lib/unictype/pr_quotation_mark.h: Likewise.
26056         * lib/unictype/pr_radical.h: Likewise.
26057         * lib/unictype/pr_soft_dotted.h: Likewise.
26058         * lib/unictype/pr_space.h: Likewise.
26059         * lib/unictype/pr_titlecase.h: Likewise.
26060         * lib/unictype/pr_variation_selector.h: Likewise.
26061         * lib/unictype/pr_white_space.h: Likewise.
26062         * lib/unictype/pr_zero_width.h: Likewise.
26063         * lib/unictype/sy_c_ident.h: Likewise.
26064         * lib/unictype/sy_c_whitespace.h: Likewise.
26065         * lib/unictype/sy_java_whitespace.h: Likewise.
26066         * lib/uninorm/composition-table.gperf: Likewise.
26067         * lib/uninorm/decomposition-table1.h: Likewise.
26068         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Add test for rule
26069         LB8.
26070         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
26071         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
26072         * modules/unictype/*: Bump version number of expected libunistring
26073         version.
26074
26075 2011-01-09  Bruno Haible  <bruno@clisp.org>
26076
26077         Update to Unicode 5.2.0.
26078         * tests/unigbrk/GraphemeBreakTest.txt: Copied from Unicode 5.2.0, with
26079         trailing whitespace removed.
26080
26081 2011-01-09  Bruno Haible  <bruno@clisp.org>
26082
26083         New Unicode character properties, from Unicode 5.2.0.
26084         * lib/unictype.in.h (UC_PROPERTY_CASED, UC_PROPERTY_CASE_IGNORABLE,
26085         UC_PROPERTY_CHANGES_WHEN_LOWERCASED,
26086         UC_PROPERTY_CHANGES_WHEN_UPPERCASED,
26087         UC_PROPERTY_CHANGES_WHEN_TITLECASED,
26088         UC_PROPERTY_CHANGES_WHEN_CASEFOLDED,
26089         UC_PROPERTY_CHANGES_WHEN_CASEMAPPED,
26090         uc_is_property_cased, uc_is_property_case_ignorable,
26091         uc_is_property_changes_when_lowercased,
26092         uc_is_property_changes_when_uppercased,
26093         uc_is_property_changes_when_titlecased,
26094         uc_is_property_changes_when_casefolded,
26095         uc_is_property_changes_when_casemapped): New declarations.
26096         * lib/unictype/pr_byname.gperf: Add the new properties.
26097         * modules/unictype/property-byname (Depends-on): Depend on the new
26098         properties modules.
26099         * modules/unictype/property-all (Depends-on): Likewise.
26100         * MODULES.html.sh (Unicode string functions): Add
26101         unictype/property-case-ignorable, unictype/property-cased,
26102         unictype/property-changes-when-casefolded,
26103         unictype/property-changes-when-casemapped,
26104         unictype/property-changes-when-lowercased,
26105         unictype/property-changes-when-titlecased,
26106         unictype/property-changes-when-uppercased.
26107
26108         New module 'unictype/property-changes-when-casemapped'.
26109         * modules/unictype/property-changes-when-casemapped: New file.
26110         * lib/unictype/pr_changes_when_casemapped.c: New file.
26111         * lib/unictype/pr_changes_when_casemapped.h: New file, automatically
26112         generated by gen-uni-tables.
26113         * modules/unictype/property-changes-when-casemapped-tests: New file.
26114         * tests/unictype/test-pr_changes_when_casemapped.c: New file,
26115         automatically generated by gen-uni-tables.
26116
26117         New module 'unictype/property-changes-when-casefolded'.
26118         * modules/unictype/property-changes-when-casefolded: New file.
26119         * lib/unictype/pr_changes_when_casefolded.c: New file.
26120         * lib/unictype/pr_changes_when_casefolded.h: New file, automatically
26121         generated by gen-uni-tables.
26122         * modules/unictype/property-changes-when-casefolded-tests: New file.
26123         * tests/unictype/test-pr_changes_when_casefolded.c: New file,
26124         automatically generated by gen-uni-tables.
26125
26126         New module 'unictype/property-changes-when-titlecased'.
26127         * modules/unictype/property-changes-when-titlecased: New file.
26128         * lib/unictype/pr_changes_when_titlecased.c: New file.
26129         * lib/unictype/pr_changes_when_titlecased.h: New file, automatically
26130         generated by gen-uni-tables.
26131         * modules/unictype/property-changes-when-titlecased-tests: New file.
26132         * tests/unictype/test-pr_changes_when_titlecased.c: New file,
26133         automatically generated by gen-uni-tables.
26134
26135         New module 'unictype/property-changes-when-uppercased'.
26136         * modules/unictype/property-changes-when-uppercased: New file.
26137         * lib/unictype/pr_changes_when_uppercased.c: New file.
26138         * lib/unictype/pr_changes_when_uppercased.h: New file, automatically
26139         generated by gen-uni-tables.
26140         * modules/unictype/property-changes-when-uppercased-tests: New file.
26141         * tests/unictype/test-pr_changes_when_uppercased.c: New file,
26142         automatically generated by gen-uni-tables.
26143
26144         New module 'unictype/property-changes-when-lowercased'.
26145         * modules/unictype/property-changes-when-lowercased: New file.
26146         * lib/unictype/pr_changes_when_lowercased.c: New file.
26147         * lib/unictype/pr_changes_when_lowercased.h: New file, automatically
26148         generated by gen-uni-tables.
26149         * modules/unictype/property-changes-when-lowercased-tests: New file.
26150         * tests/unictype/test-pr_changes_when_lowercased.c: New file,
26151         automatically generated by gen-uni-tables.
26152
26153         New module 'unictype/property-case-ignorable'.
26154         * modules/unictype/property-case-ignorable: New file.
26155         * lib/unictype/pr_case_ignorable.c: New file.
26156         * lib/unictype/pr_case_ignorable.h: New file, automatically generated
26157         by gen-uni-tables.
26158         * modules/unictype/property-case-ignorable-tests: New file.
26159         * tests/unictype/test-pr_case_ignorable.c: New file, automatically
26160         generated by gen-uni-tables.
26161
26162         New module 'unictype/property-cased'.
26163         * modules/unictype/property-cased: New file.
26164         * lib/unictype/pr_cased.c: New file.
26165         * lib/unictype/pr_cased.h: New file, automatically generated by
26166         gen-uni-tables.
26167         * modules/unictype/property-cased-tests: New file.
26168         * tests/unictype/test-pr_cased.c: New file, automatically generated by
26169         gen-uni-tables.
26170
26171 2011-01-09  Bruno Haible  <bruno@clisp.org>
26172
26173         Update to Unicode 5.2.0.
26174         * lib/gen-uni-tables.c (output_predicate, output_category,
26175         output_combclass, output_bidi_category, output_decimal_digit_test,
26176         output_decimal_digit, output_digit_test, output_digit,
26177         output_numeric_test, output_numeric, output_mirror, output_scripts,
26178         output_scripts_byname, output_blocks, output_ident_category): Fix
26179         comment header.
26180         (is_WBP_MIDNUMLET, is_WBP_MIDLETTER): New functions, extracted from
26181         get_wbp.
26182         (PROP_CASED, PROP_CASE_IGNORABLE, PROP_CHANGES_WHEN_*): New enumeration
26183         items.
26184         (fill_properties): Also fill the peoperties Cased, Case_Ignorable,
26185         Changes_When_Lowercased, Changes_When_Uppercased,
26186         Changes_When_Titlecased, Changes_When_Casefolded,
26187         Changes_When_Casemapped.
26188         (is_property_alphabetic, is_property_default_ignorable_code_point):
26189         Update for Unicode 5.2.0.
26190         (is_property_cased, is_property_case_ignorable,
26191         is_property_changes_when_lowercased,
26192         is_property_changes_when_uppercased,
26193         is_property_changes_when_titlecased,
26194         is_property_changes_when_casefolded,
26195         is_property_changes_when_casemapped): New functions.
26196         (output_properties): Output also the properties cased, case_ignorable,
26197         changes_when_lowercased, changes_when_uppercased,
26198         changes_when_titlecased, changes_when_casefolded,
26199         changes_when_casemapped.
26200         (symbolic_width): Update for Unicode 5.2.0, incorporating changes from
26201         Unicode TR#11 revision 17 -> 19.
26202         (LBP_CP): New enumeration value.
26203         (LBP_*): Adjust values accordingly.
26204         (get_lbp): Update for Unicode 5.2.0, incorporating changes from Unicode
26205         TR#14 revision 22 -> 24.
26206         (debug_output_lbp): Allow for LBP_* bits >= 32. Support LBP_CP.
26207         (fill_org_lbp, debug_output_org_lbp, output_lbp): Support LBP_CP.
26208         (get_wbp): Update for Unicode 5.2.0, incorporating changes from Unicode
26209         TR#29 revision 13 -> 15. Use functions is_WBP_MIDNUMLET,
26210         is_WBP_MIDLETTER.
26211         (output_composition_tables): Allow for 24 bits instead of 16 bits in
26212         the code1 and code2 of each composition rule.
26213         * lib/unicase/cased.h: Regenerated for Unicode 5.2.0.
26214         * lib/unicase/ignorable.h: Likewise.
26215         * lib/unicase/tocasefold.h: Likewise.
26216         * lib/unicase/tolower.h: Likewise.
26217         * lib/unicase/totitle.h: Likewise.
26218         * lib/unicase/toupper.h: Likewise.
26219         * lib/unictype/bidi_of.h: Likewise.
26220         * lib/unictype/blocks.h: Likewise.
26221         * lib/unictype/categ_C.h: Likewise.
26222         * lib/unictype/categ_Cf.h: Likewise.
26223         * lib/unictype/categ_Cn.h: Likewise.
26224         * lib/unictype/categ_L.h: Likewise.
26225         * lib/unictype/categ_Ll.h: Likewise.
26226         * lib/unictype/categ_Lm.h: Likewise.
26227         * lib/unictype/categ_Lo.h: Likewise.
26228         * lib/unictype/categ_Lu.h: Likewise.
26229         * lib/unictype/categ_M.h: Likewise.
26230         * lib/unictype/categ_Mc.h: Likewise.
26231         * lib/unictype/categ_Mn.h: Likewise.
26232         * lib/unictype/categ_N.h: Likewise.
26233         * lib/unictype/categ_Nd.h: Likewise.
26234         * lib/unictype/categ_Nl.h: Likewise.
26235         * lib/unictype/categ_No.h: Likewise.
26236         * lib/unictype/categ_P.h: Likewise.
26237         * lib/unictype/categ_Pd.h: Likewise.
26238         * lib/unictype/categ_Po.h: Likewise.
26239         * lib/unictype/categ_S.h: Likewise.
26240         * lib/unictype/categ_Sc.h: Likewise.
26241         * lib/unictype/categ_So.h: Likewise.
26242         * lib/unictype/categ_of.h: Likewise.
26243         * lib/unictype/combining.h: Likewise.
26244         * lib/unictype/ctype_alnum.h: Likewise.
26245         * lib/unictype/ctype_alpha.h: Likewise.
26246         * lib/unictype/ctype_graph.h: Likewise.
26247         * lib/unictype/ctype_lower.h: Likewise.
26248         * lib/unictype/ctype_print.h: Likewise.
26249         * lib/unictype/ctype_punct.h: Likewise.
26250         * lib/unictype/ctype_upper.h: Likewise.
26251         * lib/unictype/decdigit.h: Likewise.
26252         * lib/unictype/digit.h: Likewise.
26253         * lib/unictype/numeric.h: Likewise.
26254         * lib/unictype/pr_alphabetic.h: Likewise.
26255         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
26256         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
26257         * lib/unictype/pr_bidi_european_digit.h: Likewise.
26258         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
26259         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
26260         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
26261         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
26262         * lib/unictype/pr_combining.h: Likewise.
26263         * lib/unictype/pr_composite.h: Likewise.
26264         * lib/unictype/pr_currency_symbol.h: Likewise.
26265         * lib/unictype/pr_dash.h: Likewise.
26266         * lib/unictype/pr_decimal_digit.h: Likewise.
26267         * lib/unictype/pr_deprecated.h: Likewise.
26268         * lib/unictype/pr_diacritic.h: Likewise.
26269         * lib/unictype/pr_extender.h: Likewise.
26270         * lib/unictype/pr_grapheme_base.h: Likewise.
26271         * lib/unictype/pr_grapheme_extend.h: Likewise.
26272         * lib/unictype/pr_grapheme_link.h: Likewise.
26273         * lib/unictype/pr_id_continue.h: Likewise.
26274         * lib/unictype/pr_id_start.h: Likewise.
26275         * lib/unictype/pr_ideographic.h: Likewise.
26276         * lib/unictype/pr_ignorable_control.h: Likewise.
26277         * lib/unictype/pr_logical_order_exception.h: Likewise.
26278         * lib/unictype/pr_lowercase.h: Likewise.
26279         * lib/unictype/pr_numeric.h: Likewise.
26280         * lib/unictype/pr_other_alphabetic.h: Likewise.
26281         * lib/unictype/pr_punctuation.h: Likewise.
26282         * lib/unictype/pr_sentence_terminal.h: Likewise.
26283         * lib/unictype/pr_terminal_punctuation.h: Likewise.
26284         * lib/unictype/pr_unassigned_code_value.h: Likewise.
26285         * lib/unictype/pr_unified_ideograph.h: Likewise.
26286         * lib/unictype/pr_uppercase.h: Likewise.
26287         * lib/unictype/pr_xid_continue.h: Likewise.
26288         * lib/unictype/pr_xid_start.h: Likewise.
26289         * lib/unictype/pr_zero_width.h: Likewise.
26290         * lib/unictype/scripts.h: Likewise.
26291         * lib/unictype/scripts_byname.gperf: Likewise.
26292         * lib/unictype/sy_java_ident.h: Likewise.
26293         * lib/unigbrk/gbrkprop.h: Likewise.
26294         * lib/unilbrk/lbrkprop1.h: Likewise.
26295         * lib/unilbrk/lbrkprop2.h: Likewise.
26296         * lib/unilbrk/lbrktables.h: Likewise.
26297         * lib/unilbrk/lbrktables.c (unilbrk_table): Add a row and column for
26298         LBP_CP. Implement rule LB30.
26299         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0816..U+0819,
26300         U+081B..U+0823, U+0825..U+0827, U+0829..U+082D, U+0900, U+0955, U+109D,
26301         U+1A56, U+1A58..U+1A5E, U+1A60, U+1A62, U+1A65..U+1A6C, U+1A73..U+1A7C,
26302         U+1A7F, U+1CD0..U+1CD2, U+1CD4..U+1CE0, U+1CE2..U+1CE8, U+1CED, U+1DFD,
26303         U+2CEF..U+2CF1, U+A6F0..U+A6F1, U+A8E0..U+A8F1, U+A980..U+A982, U+A9B3,
26304         U+A9B6..U+A9B9, U+A9BC, U+AAB0, U+AAB2..U+AAB4, U+AAB7..U+AAB8,
26305         U+AABE..U+AABF, U+AAC1, U+ABE5, U+ABE8, U+ABED, U+11080..U+11081,
26306         U+110B3..U+110B6, U+110B9..U+110BA, U+110BD.
26307         (uc_width): Return 2 also for unassigned code points of planes 2 and 3.
26308         * lib/uninorm/composition-table.gperf: Regenerated for Unicode 5.2.0.
26309         * lib/uninorm/composition.c (struct composition_rule): Allow for 24
26310         bits instead of 16 bits in the code1 and code2 of each composition
26311         rule.
26312         (uc_composition): Update for Unicode 5.2.0.
26313         * lib/uninorm/decomposition-table1.h: Regenerated for Unicode 5.2.0.
26314         * lib/uninorm/decomposition-table2.h: Likewise.
26315         * lib/uniwbrk/wbrkprop.h: Likewise.
26316         * tests/unicase/test-cased.c: Likewise.
26317         * tests/unicase/test-ignorable.c: Likewise.
26318         * tests/unicase/test-uc_tolower.c: Likewise.
26319         * tests/unicase/test-uc_totitle.c: Likewise.
26320         * tests/unicase/test-uc_toupper.c: Likewise.
26321         * tests/unictype/test-categ_C.c: Likewise.
26322         * tests/unictype/test-categ_Cf.c: Likewise.
26323         * tests/unictype/test-categ_Cn.c: Likewise.
26324         * tests/unictype/test-categ_L.c: Likewise.
26325         * tests/unictype/test-categ_Ll.c: Likewise.
26326         * tests/unictype/test-categ_Lm.c: Likewise.
26327         * tests/unictype/test-categ_Lo.c: Likewise.
26328         * tests/unictype/test-categ_Lu.c: Likewise.
26329         * tests/unictype/test-categ_M.c: Likewise.
26330         * tests/unictype/test-categ_Mc.c: Likewise.
26331         * tests/unictype/test-categ_Mn.c: Likewise.
26332         * tests/unictype/test-categ_N.c: Likewise.
26333         * tests/unictype/test-categ_Nd.c: Likewise.
26334         * tests/unictype/test-categ_Nl.c: Likewise.
26335         * tests/unictype/test-categ_No.c: Likewise.
26336         * tests/unictype/test-categ_P.c: Likewise.
26337         * tests/unictype/test-categ_Pd.c: Likewise.
26338         * tests/unictype/test-categ_Po.c: Likewise.
26339         * tests/unictype/test-categ_S.c: Likewise.
26340         * tests/unictype/test-categ_Sc.c: Likewise.
26341         * tests/unictype/test-categ_So.c: Likewise.
26342         * tests/unictype/test-ctype_alnum.c: Likewise.
26343         * tests/unictype/test-ctype_alpha.c: Likewise.
26344         * tests/unictype/test-ctype_graph.c: Likewise.
26345         * tests/unictype/test-ctype_lower.c: Likewise.
26346         * tests/unictype/test-ctype_print.c: Likewise.
26347         * tests/unictype/test-ctype_punct.c: Likewise.
26348         * tests/unictype/test-ctype_upper.c: Likewise.
26349         * tests/unictype/test-decdigit.h: Likewise.
26350         * tests/unictype/test-digit.h: Likewise.
26351         * tests/unictype/test-numeric.h: Likewise.
26352         * tests/unictype/test-pr_alphabetic.c: Likewise.
26353         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
26354         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
26355         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
26356         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
26357         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
26358         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
26359         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
26360         * tests/unictype/test-pr_combining.c: Likewise.
26361         * tests/unictype/test-pr_composite.c: Likewise.
26362         * tests/unictype/test-pr_currency_symbol.c: Likewise.
26363         * tests/unictype/test-pr_dash.c: Likewise.
26364         * tests/unictype/test-pr_decimal_digit.c: Likewise.
26365         * tests/unictype/test-pr_deprecated.c: Likewise.
26366         * tests/unictype/test-pr_diacritic.c: Likewise.
26367         * tests/unictype/test-pr_extender.c: Likewise.
26368         * tests/unictype/test-pr_grapheme_base.c: Likewise.
26369         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
26370         * tests/unictype/test-pr_grapheme_link.c: Likewise.
26371         * tests/unictype/test-pr_id_continue.c: Likewise.
26372         * tests/unictype/test-pr_id_start.c: Likewise.
26373         * tests/unictype/test-pr_ideographic.c: Likewise.
26374         * tests/unictype/test-pr_ignorable_control.c: Likewise.
26375         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
26376         * tests/unictype/test-pr_lowercase.c: Likewise.
26377         * tests/unictype/test-pr_numeric.c: Likewise.
26378         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
26379         * tests/unictype/test-pr_punctuation.c: Likewise.
26380         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
26381         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
26382         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
26383         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
26384         * tests/unictype/test-pr_uppercase.c: Likewise.
26385         * tests/unictype/test-pr_xid_continue.c: Likewise.
26386         * tests/unictype/test-pr_xid_start.c: Likewise.
26387         * tests/unictype/test-pr_zero_width.c: Likewise.
26388         * tests/unigbrk/test-uc-gbrk-prop.h: Likewise.
26389         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update for
26390         changed behaviour: line breaking is now disallowed between a letter
26391         or '=' and '('.
26392         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
26393         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
26394         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
26395         * tests/unilbrk/test-ulc-width-linebreaks.c (main): Likewise.
26396         * tests/uniwidth/test-uc_width2.sh: Same updates as in
26397         lib/uniwidth/width.c.
26398         * tests/uninorm/NormalizationTest.txt: Update from Unicode 5.2.0,
26399         without comments, but with the original copyright notice.
26400         * lib/unicase/special-casing-table.gperf: Regenerated; only comment
26401         changes.
26402         * lib/unictype/categ_Cc.h: Likewise.
26403         * lib/unictype/categ_Co.h: Likewise.
26404         * lib/unictype/categ_Cs.h: Likewise.
26405         * lib/unictype/categ_Lt.h: Likewise.
26406         * lib/unictype/categ_Me.h: Likewise.
26407         * lib/unictype/categ_Pc.h: Likewise.
26408         * lib/unictype/categ_Pe.h: Likewise.
26409         * lib/unictype/categ_Pf.h: Likewise.
26410         * lib/unictype/categ_Pi.h: Likewise.
26411         * lib/unictype/categ_Ps.h: Likewise.
26412         * lib/unictype/categ_Sk.h: Likewise.
26413         * lib/unictype/categ_Sm.h: Likewise.
26414         * lib/unictype/categ_Z.h: Likewise.
26415         * lib/unictype/categ_Zl.h: Likewise.
26416         * lib/unictype/categ_Zp.h: Likewise.
26417         * lib/unictype/categ_Zs.h: Likewise.
26418         * lib/unictype/ctype_blank.h: Likewise.
26419         * lib/unictype/ctype_cntrl.h: Likewise.
26420         * lib/unictype/ctype_digit.h: Likewise.
26421         * lib/unictype/ctype_space.h: Likewise.
26422         * lib/unictype/ctype_xdigit.h: Likewise.
26423         * lib/unictype/mirror.h: Likewise.
26424         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
26425         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
26426         * lib/unictype/pr_bidi_block_separator.h: Likewise.
26427         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
26428         * lib/unictype/pr_bidi_common_separator.h: Likewise.
26429         * lib/unictype/pr_bidi_control.h: Likewise.
26430         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
26431         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
26432         * lib/unictype/pr_bidi_pdf.h: Likewise.
26433         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
26434         * lib/unictype/pr_bidi_whitespace.h: Likewise.
26435         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
26436         * lib/unictype/pr_format_control.h: Likewise.
26437         * lib/unictype/pr_hex_digit.h: Likewise.
26438         * lib/unictype/pr_hyphen.h: Likewise.
26439         * lib/unictype/pr_ids_binary_operator.h: Likewise.
26440         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
26441         * lib/unictype/pr_iso_control.h: Likewise.
26442         * lib/unictype/pr_join_control.h: Likewise.
26443         * lib/unictype/pr_left_of_pair.h: Likewise.
26444         * lib/unictype/pr_line_separator.h: Likewise.
26445         * lib/unictype/pr_math.h: Likewise.
26446         * lib/unictype/pr_non_break.h: Likewise.
26447         * lib/unictype/pr_not_a_character.h: Likewise.
26448         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
26449         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
26450         * lib/unictype/pr_other_id_continue.h: Likewise.
26451         * lib/unictype/pr_other_id_start.h: Likewise.
26452         * lib/unictype/pr_other_lowercase.h: Likewise.
26453         * lib/unictype/pr_other_math.h: Likewise.
26454         * lib/unictype/pr_other_uppercase.h: Likewise.
26455         * lib/unictype/pr_paired_punctuation.h: Likewise.
26456         * lib/unictype/pr_paragraph_separator.h: Likewise.
26457         * lib/unictype/pr_pattern_syntax.h: Likewise.
26458         * lib/unictype/pr_pattern_white_space.h: Likewise.
26459         * lib/unictype/pr_private_use.h: Likewise.
26460         * lib/unictype/pr_quotation_mark.h: Likewise.
26461         * lib/unictype/pr_radical.h: Likewise.
26462         * lib/unictype/pr_soft_dotted.h: Likewise.
26463         * lib/unictype/pr_space.h: Likewise.
26464         * lib/unictype/pr_titlecase.h: Likewise.
26465         * lib/unictype/pr_variation_selector.h: Likewise.
26466         * lib/unictype/pr_white_space.h: Likewise.
26467         * lib/unictype/sy_c_ident.h: Likewise.
26468         * lib/unictype/sy_c_whitespace.h: Likewise.
26469         * lib/unictype/sy_java_whitespace.h: Likewise.
26470         * modules/uni*/*: Bump version number of expected libunistring version.
26471         Reported by Simon Josefsson.
26472
26473 2011-01-09  Karl Heuer  <kwzh@gnu.org>
26474
26475         useless-if-before-free: fix typo in --help and make the internal,
26476         automatic version date update process work once again.
26477         --help output contained a NUL character instead of the
26478         backslash-zero that was intended.  Also, the "must lie within
26479         the first 8 lines" line is on line 9, and hence not getting
26480         automatically updated.
26481         * build-aux/useless-if-before-free: Fix the former by adding a
26482         backslash, and the latter by condensing the three lines of what-it-does
26483         to a single line, leaving one line of slack for the future.
26484
26485 2011-01-09  Bruno Haible  <bruno@clisp.org>
26486
26487         uniwidth/width: Fix width of U+1D173..U+1D17A.
26488         * lib/gen-uni-tables.c (is_nonspacing, output_nonspacing_property,
26489         symbolic_width, output_width_property_test): New functions.
26490         (main): Invoke output_nonspacing_property, output_width_property_test.
26491         * lib/uniwidth/width.c (nonspacing_table_data): Set bits for
26492         U+1D173..U+1D17A.
26493         * tests/uniwidth/test-uc_width2.sh: For U+1D173..U+1D17A, expect 0, not
26494         1.
26495         * modules/uniwidth/*: Bump version number of expected libunistring
26496         version.
26497         * modules/unilbrk/*: Likewise.
26498
26499 2011-01-08  Bruno Haible  <bruno@clisp.org>
26500
26501         uninorm tests: Preserve copyright of Unicode data file.
26502         * tests/uninorm/NormalizationTest.txt: Re-add original copyright.
26503         Mention modifications.
26504
26505 2011-01-08  Bruno Haible  <bruno@clisp.org>
26506
26507         gen-uni-tables: Prepare for Unicode 5.2.0.
26508         * lib/gen-uni-tables.c (get_lbp): Allow for more than 32 LBP_* values.
26509         (debug_output_lbp, output_lbp): Update.
26510
26511 2011-01-08  Bruno Haible  <bruno@clisp.org>
26512
26513         unilbrk: Clarify gen-uni-tables.c code.
26514         * lib/gen-uni-tables.c (get_lbp): Assume REVISION_22 to be false. These
26515         were mistakes in UAX #14 revision 22 that are corrected in revision 24.
26516         Clarify what to do with unilbrk/lbrkprop.txt and uniwbrk/wbrkprop.txt.
26517
26518 2011-01-07  Bruno Haible  <bruno@clisp.org>
26519
26520         strtod: Restore errno when successfully parsing Infinity or NaN.
26521         * lib/strtod.c (strtod): After successfully parsing an Infinity or NaN,
26522         restore the original errno.
26523
26524 2011-01-07  Bruno Haible  <bruno@clisp.org>
26525
26526         remove test: Avoid failure on HP-UX 11.
26527         * tests/test-remove.c (main): Allow EEXIST as alternative error code.
26528
26529 2011-01-07  Bruno Haible  <bruno@clisp.org>
26530
26531         mkdir, mkdirat tests: Avoid failure on HP-UX 11.11.
26532         * tests/test-mkdir.h (test_mkdir): Allow EOPNOTSUPP as alternative
26533         error code.
26534
26535 2011-01-07  Pádraig Brady <P@draigBrady.com>
26536
26537         ignore-value: fixup comments, and add Eric Blake
26538         as an author since he rewrote the macros.
26539         * lib/ignore-value.h (ignore_value):  State that
26540         we now support aggregates.  Also specify exactly
26541         when the GCC warn_unused_result feature was added.
26542
26543 2011-01-06  Eric Blake  <eblake@redhat.com>
26544
26545         ignore-value: support aggregate types
26546         * lib/ignore-value.h (ignore_value): Provide separate gcc
26547         definition.
26548         * modules/ignore-value-tests: New test module.
26549         * tests/test-ignore-value.c: New test.
26550
26551         maint.mk: improve sc_prohibit_strcmp regex
26552         * top/maint.mk (sc_prohibit_strcmp): Detect strcmp()!=0, as
26553         documented.  Also, detect strcmp((expr),expr) == 0.  Exempt the
26554         definition of STRNEQ.
26555
26556         signal: work around Haiku issue with SIGBUS
26557         * lib/siglist.h: Add comment.
26558         * lib/sig2str.c (numname_table): Swap SIGBUS order, to match
26559         strsignal's favoring of SIGSEGV.
26560         * tests/test-signal.c (main): Avoid test failure.
26561         * doc/posix-headers/signal.texi (signal.h): Document the issue.
26562         Reported by Scott McCreary.
26563
26564         maint.mk: add pre-release check to ensure submodule commits are public
26565         * top/maint.mk (public-submodule-commit): New rule.
26566         (submodule-checks): New variable.
26567         (alpha beta stable): Depend on the variable.
26568
26569 2011-01-05  Pádraig Brady <P@draigBrady.com>
26570         and Jim Meyering  <meyering@redhat.com>
26571
26572         ignore-value: make ignore_value more generic; deprecate ignore_ptr
26573         * lib/ignore-value.h: Include <stdint.h>, for decl of intptr_t.
26574         (ATTRIBUTE_DEPRECATED): Define.
26575         (_ignore_case): New function.
26576         (ignore_value): New macro, to replace the old function.
26577         (ignore_ptr): Arrange for any use to evoke a deprecation warning.
26578         * modules/ignore-value (Depends-on): Add stdint.
26579
26580 2011-01-04  Eric Blake  <eblake@redhat.com>
26581
26582         doc: regenerate INSTALL
26583         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Re-add
26584         @firstparagraphindent support, now that autoconf dropped it.
26585         (INSTALL_PRELUDE): Reinstate old macro.
26586         * doc/install.texi: Resync from autoconf.
26587         * doc/INSTALL: Reflect recent autoconf update.
26588         * doc/INSTALL.ISO: Likewise.
26589         * doc/INSTALL.UTF-8: Likewise.
26590         Reported by Karl Berry.
26591
26592 2011-01-04  Bruce Korb  <address@hidden>
26593
26594         git-version-gen: avoid a sub-shell
26595         * build-aux/git-version-gen: Redirect stderr in `...` via
26596         "exec 2>...", rather than via an added sub-shell.
26597
26598 2011-01-03  Ben Pfaff  <blp@cs.stanford.edu>
26599
26600         git-version-gen: use (...) rather than sh -c '...'
26601         * build-aux/git-version-gen: Rather than hard-coding a shell's name
26602         with "sh -c '...'", just use "(...)".  Less syntax is better, too.
26603
26604 2011-01-03  Jim Meyering  <meyering@redhat.com>
26605
26606         git-version-gen: convert leading TABs to spaces
26607         * build-aux/git-version-gen: Expand leading TABs.
26608
26609         git-version-gen: handle failed "git rev-list"
26610         * build-aux/git-version-gen: Rather than leaking a "fatal" error
26611         from git and proceeding as if it had succeeded but printed no SHA1
26612         checksums, suppress the diagnostic and handle the failure.
26613         Reported by Bruce Korb in http://marc.info/?l=git&m=129399145930450&w=2
26614
26615         git-version-gen: include command name in one more diagnostic
26616         * build-aux/git-version-gen: When the required .tarball-version file
26617         was missing or unreadable, you might see the diagnostic from "cat",
26618         but no trace of the name of the invoking script.  Now, you still see
26619         the diagnostic from cat, but also get one from "git-version-gen: ".
26620         Inspired by a patch from Bruce Korb.
26621
26622         update-copyright: adjust test to match changed code
26623         * tests/test-update-copyright.sh: Change test's expected output
26624         to match new actual output.
26625
26626 2011-01-02  Bruno Haible  <bruno@clisp.org>
26627
26628         getlogin_r: Avoid test failure on HP-UX 11.
26629         * tests/test-getlogin_r.c (main): Allow an error code EINVAL instead of
26630         ERANGE when the second argument is zero.
26631         * doc/posix-functions/getlogin_r.texi: Document the HP-UX 11
26632         portability problem.
26633
26634 2011-01-02  Bruce Korb  <bkorb@gnu.org>
26635
26636         * build-aux/update-copyright: doc Simon's changes
26637
26638 2011-01-02  Simon Josefsson  <simon@josefsson.org>
26639
26640         * build-aux/update-copyright: Support UPDATE_COPYRIGHT_HOLDER
26641         environment variable.
26642
26643 2011-01-02  Bruno Haible  <bruno@clisp.org>
26644
26645         unigbrk: Avoid gcc warnings.
26646         * lib/unigbrk/u16-grapheme-breaks.c (u16_grapheme_breaks): Remove
26647         unused variable.
26648         * lib/unigbrk/u16-grapheme-prev.c (u16_grapheme_prev): Likewise.
26649         * lib/unigbrk/u8-grapheme-prev.c (u8_grapheme_prev): Likewise.
26650         * tests/unigbrk/test-u16-grapheme-breaks.c (main): Likewise.
26651         * tests/unigbrk/test-u32-grapheme-breaks.c (main): Likewise.
26652         * tests/unigbrk/test-u8-grapheme-breaks.c (test_u8_grapheme_breaks):
26653         Change type of first argument to 'const char *'.
26654         (main): Remove unused variable.
26655         * tests/unigbrk/test-u8-grapheme-next.c (test_u8_grapheme_next): Change
26656         type of first argument to 'const char *'.
26657         * tests/unigbrk/test-u8-grapheme-prev.c (test_u8_grapheme_prev):
26658         Likewise.
26659         (main): Change type of variable 's'.
26660         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Cast column number
26661         to 'int'.
26662
26663 2011-01-02  Bruno Haible  <bruno@clisp.org>
26664
26665         pwrite: Fix test whether it works and make it work on HP-UX 11.11.
26666         * m4/pwrite.m4 (gl_FUNC_PWRITE): Use AC_LANG_PROGRAM, not
26667         AC_LANG_SOURCE. Extend the test program to catch another HP-UX 11.11
26668         bug.
26669         * lib/pwrite.c: Undo 2010-12-31 patch.
26670         * doc/posix-functions/pwrite.texi: Document another HP-UX 11.11 bug.
26671
26672 2011-01-02  Bruno Haible  <bruno@clisp.org>
26673
26674         pread: Fix test whether it works.
26675         * m4/pread.m4 (gl_FUNC_PREAD): Use AC_LANG_PROGRAM, not AC_LANG_SOURCE.
26676
26677 2011-01-02  Bruno Haible  <bruno@clisp.org>
26678
26679         Fix detection of traditional Arabic locale on HP-UX, Solaris, Cygwin.
26680         * m4/locale-ar.m4 (gt_LOCALE_AR): Require that the locale encoding name
26681         ends in "6". Don't require a specific month name. Try also the locale
26682         names found on HP-UX 11 and Solaris 7.
26683
26684 2011-01-02  Bruno Haible  <bruno@clisp.org>
26685
26686         tcgetsid: Correct linkage in C++ mode on HP-UX 11.00.
26687         * lib/termios.in.h: In C++ mode, on HP-UX, include <sys/termios.h> with
26688         C linkage.
26689         * doc/posix-functions/tcgetsid.texi: Mention the HP-UX 11.00 bug.
26690
26691 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26692
26693         Rename uc_is_grapheme_cluster_break() to uc_is_grapheme_break()
26694         for consistency, since the "cluster" term is not used elsewhere.
26695         * lib/unigbrk.in.h: Update name.
26696         * lib/unigbrk/u16-grapheme-breaks.c: Update name.
26697         * lib/unigbrk/u16-grapheme-next.c: Update name.
26698         * lib/unigbrk/u16-grapheme-prev.c: Update name.
26699         * lib/unigbrk/u32-grapheme-breaks.c: Update name.
26700         * lib/unigbrk/u32-grapheme-next.c: Update name.
26701         * lib/unigbrk/u32-grapheme-prev.c: Update name.
26702         * lib/unigbrk/u8-grapheme-breaks.c: Update name.
26703         * lib/unigbrk/u8-grapheme-next.c: Update name.
26704         * lib/unigbrk/u8-grapheme-prev.c: Update name.
26705         * lib/unigbrk/uc-is-grapheme-break.c: Update name.
26706         * tests/unigbrk/test-uc-is-grapheme-break.c: Update name.
26707         Suggested by Bruno Haible.
26708
26709 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26710
26711         Remove module 'u8-grapheme-len' as too redundant with
26712         'u8-grapheme-next'.
26713         * modules/unigbrk/u8-grapheme-len: Delete file.
26714         * modules/unigbrk/u8-grapheme-len-tests: Delete file.
26715         * lib/unigbrk.in.h: Remove prototype for deleted function.
26716         * lib/unigbrk/u8-grapheme-len.c: Delete file.
26717         * tests/unigbrk/test-u8-grapheme-len.c: Delete file.
26718
26719         Remove module 'u16-grapheme-len' as too redundant with
26720         'u16-grapheme-next'.
26721         * modules/unigbrk/u16-grapheme-len: Delete file.
26722         * modules/unigbrk/u16-grapheme-len-tests: Delete file.
26723         * lib/unigbrk.in.h: Remove prototype for deleted function.
26724         * lib/unigbrk/u16-grapheme-len.c: Delete file.
26725         * tests/unigbrk/test-u16-grapheme-len.c: Delete file.
26726
26727         Remove module 'u32-grapheme-len' as too redundant with
26728         'u32-grapheme-next'.
26729         * modules/unigbrk/u32-grapheme-len: Delete file.
26730         * modules/unigbrk/u32-grapheme-len-tests: Delete file.
26731         * lib/unigbrk.in.h: Remove prototype for deleted function.
26732         * lib/unigbrk/u32-grapheme-len.c: Delete file.
26733         * tests/unigbrk/test-u32-grapheme-len.c: Delete file.
26734
26735         Suggested by Bruno Haible.
26736
26737 2011-01-01  Ben Pfaff  <blp@cs.stanford.edu>
26738
26739         * unigbrk.in.h: Fix typo: "ben" => "been".
26740         Reported by Bruno Haible.
26741
26742 2011-01-01  Jim Meyering  <meyering@redhat.com>
26743
26744         maint: update almost all copyright ranges to include 2011
26745         Run the new "make update-copyright" rule.
26746
26747 2011-01-01  Jim Meyering  <meyering@redhat.com>
26748
26749         maint: update-copyright: exempt doc/INSTALL*
26750         * Makefile (update-copyright): Also exclude doc/INSTALL*,
26751         since they are generated.  Suggested by Bruno Haible.
26752
26753 2011-01-01  Jim Meyering  <meyering@redhat.com>
26754
26755         maint: refine the update-copyright rule
26756         * Makefile (update-copyright): Also exclude any file that includes
26757         the "GENERATED AUTOMATICALLY" comment, being careful not to exclude
26758         code that merely generates the comment.
26759
26760 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26761
26762         New module 'u8-grapheme-len'.
26763         * modules/unigbrk/u8-grapheme-len: New file.
26764         * modules/unigbrk/u8-grapheme-len-tests: New file.
26765         * lib/unigbrk.in.h: Add prototype for new function.
26766         * lib/unigbrk/u8-grapheme-len.c: New file.
26767         * tests/unigbrk/test-u8-grapheme-len.c: New file.
26768
26769         New module 'u16-grapheme-len'.
26770         * modules/unigbrk/u16-grapheme-len: New file.
26771         * modules/unigbrk/u16-grapheme-len-tests: New file.
26772         * lib/unigbrk.in.h: Add prototype for new function.
26773         * lib/unigbrk/u16-grapheme-len.c: New file.
26774         * tests/unigbrk/test-u16-grapheme-len.c: New file.
26775
26776         New module 'u32-grapheme-len'.
26777         * modules/unigbrk/u32-grapheme-len: New file.
26778         * modules/unigbrk/u32-grapheme-len-tests: New file.
26779         * lib/unigbrk.in.h: Add prototype for new function.
26780         * lib/unigbrk/u32-grapheme-len.c: New file.
26781         * tests/unigbrk/test-u32-grapheme-len.c: New file.
26782
26783         New module 'u8-grapheme-next'.
26784         * modules/unigbrk/u8-grapheme-next: New file.
26785         * modules/unigbrk/u8-grapheme-next-tests: New file.
26786         * lib/unigbrk.in.h: Add prototype for new function.
26787         * lib/unigbrk/u8-grapheme-next.c: New file.
26788         * tests/unigbrk/test-u8-grapheme-next.c: New file.
26789
26790         New module 'u16-grapheme-next'.
26791         * modules/unigbrk/u16-grapheme-next: New file.
26792         * modules/unigbrk/u16-grapheme-next-tests: New file.
26793         * lib/unigbrk.in.h: Add prototype for new function.
26794         * lib/unigbrk/u16-grapheme-next.c: New file.
26795         * tests/unigbrk/test-u16-grapheme-next.c: New file.
26796
26797         New module 'u32-grapheme-next'.
26798         * modules/unigbrk/u32-grapheme-next: New file.
26799         * modules/unigbrk/u32-grapheme-next-tests: New file.
26800         * lib/unigbrk.in.h: Add prototype for new function.
26801         * lib/unigbrk/u32-grapheme-next.c: New file.
26802         * tests/unigbrk/test-u32-grapheme-next.c: New file.
26803
26804         New module 'u8-grapheme-prev'.
26805         * modules/unigbrk/u8-grapheme-prev: New file.
26806         * modules/unigbrk/u8-grapheme-prev-tests: New file.
26807         * lib/unigbrk.in.h: Add prototype for new function.
26808         * lib/unigbrk/u8-grapheme-prev.c: New file.
26809         * tests/unigbrk/test-u8-grapheme-prev.c: New file.
26810
26811         New module 'u16-grapheme-prev'.
26812         * modules/unigbrk/u16-grapheme-prev: New file.
26813         * modules/unigbrk/u16-grapheme-prev-tests: New file.
26814         * lib/unigbrk.in.h: Add prototype for new function.
26815         * lib/unigbrk/u16-grapheme-prev.c: New file.
26816         * tests/unigbrk/test-u16-grapheme-prev.c: New file.
26817
26818         New module 'u32-grapheme-prev'.
26819         * modules/unigbrk/u32-grapheme-prev: New file.
26820         * modules/unigbrk/u32-grapheme-prev-tests: New file.
26821         * lib/unigbrk.in.h: Add prototype for new function.
26822         * lib/unigbrk/u32-grapheme-prev.c: New file.
26823         * tests/unigbrk/test-u32-grapheme-prev.c: New file.
26824
26825         New module 'u8-grapheme-breaks'.
26826         * modules/unigbrk/u8-grapheme-breaks: New file.
26827         * modules/unigbrk/u8-grapheme-breaks-tests: New file.
26828         * lib/unigbrk.in.h: Add prototype for new function.
26829         * lib/unigbrk/u8-grapheme-breaks.c: New file.
26830         * tests/unigbrk/test-u8-grapheme-breaks.c: New file.
26831
26832         New module 'u16-grapheme-breaks'.
26833         * modules/unigbrk/u16-grapheme-breaks: New file.
26834         * modules/unigbrk/u16-grapheme-breaks-tests: New file.
26835         * lib/unigbrk.in.h: Add prototype for new function.
26836         * lib/unigbrk/u16-grapheme-breaks.c: New file.
26837         * tests/unigbrk/test-u16-grapheme-breaks.c: New file.
26838
26839         New module 'u32-grapheme-breaks'.
26840         * modules/unigbrk/u32-grapheme-breaks: New file.
26841         * modules/unigbrk/u32-grapheme-breaks-tests: New file.
26842         * lib/unigbrk.in.h: Add prototype for new function.
26843         * lib/unigbrk/u32-grapheme-breaks.c: New file.
26844         * tests/unigbrk/test-u32-grapheme-breaks.c: New file.
26845
26846         New module 'ulc-grapheme-breaks'.
26847         * modules/unigbrk/ulc-grapheme-breaks: New file.
26848         * modules/unigbrk/ulc-grapheme-breaks-tests: New file.
26849         * m4/locale-ar.m4: New file.
26850         * lib/unigbrk/ulc-grapheme-breaks.c: New file.
26851         * tests/unigbrk/test-ulc-grapheme-breaks.c: New file.
26852         * tests/unigbrk/test-ulc-grapheme-breaks.sh: New file.
26853
26854 2010-12-31  Ben Pfaff  <blp@cs.stanford.edu>
26855
26856         gbrkprop: Fix implementation of uc_graphemeclusterbreak_property.
26857         * lib/unigbrk/gbrkprop.h: Regenerate with gen-uni-tables.c.  I had
26858         modified how this file was generated before I initially submitted
26859         the module, but failed to regenerate it.  This meant that several
26860         of the level2 entries were wrong.
26861         * lib/unigbrk/uc-gbrk-prop.h (uc_graphemeclusterbreak_property):
26862         Remove the division-by-2 that is folded into the table now that
26863         gbrkprop.h has been regenerated properly.  Now -1 entries are
26864         handled correctly.
26865
26866         New module 'unigbrk/uc-gbrk-prop-tests'.
26867         * modules/unigbrk/uc-gbrk-prop-tests: New file.
26868         * lib/gen-uni-tables.c: Generate tests/test-uc-gbrk-prop.h.
26869         * tests/unigbrk/test-uc-gbrk-prop.c: New file.
26870         * tests/unigbrk/test-uc-gbrk-prop.h: New file.
26871
26872 2011-01-01  Bruno Haible  <bruno@clisp.org>
26873
26874         Avoid use of hexadecimal escapes.
26875         * tests/unigbrk/test-uc-is-grapheme-break.c (main): Use octal escapes
26876         instead of hexadecimal escapes.
26877
26878 2011-01-01  Jim Meyering  <meyering@redhat.com>
26879
26880         maint: new rule to update copyright year ranges
26881         * Makefile (update-copyright): New rule.
26882
26883         maint: indent with TABs in Makefile
26884         * Makefile: Expand leading sequences of spaces to TABs
26885
26886         version-etc: update the copyright year it reports
26887         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2011.
26888
26889 2010-12-31  Bruno Haible  <bruno@clisp.org>
26890
26891         isfinite: Avoid compiler bug of "cc -O" on HP-UX 11.11.
26892         * lib/isfinite.c (zerof, zerod, zerol): New variables.
26893         (gl_isfinitef, gl_isfinited, gl_isfinitel): Use them instead of literal
26894         zero.
26895
26896 2010-12-31  Bruno Haible  <bruno@clisp.org>
26897
26898         pwrite: Work around HP-UX 11.11 bug.
26899         * m4/pwrite.m4 (gl_FUNC_PWRITE): When pwrite exists, test whether it
26900         works and set REPLACE_PWRITE if not.
26901         * lib/pwrite.c (pwrite): Add an implementation that uses the system
26902         function.
26903         * doc/posix-functions/pwrite.texi: Document the HP-UX 11 bug.
26904
26905 2010-12-31  Bruno Haible  <bruno@clisp.org>
26906
26907         pread: Work around HP-UX 11 bugs.
26908         * m4/pread.m4 (gl_FUNC_PREAD): When pread exists, test whether it works
26909         and set REPLACE_PREAD if not.
26910         * doc/posix-functions/pread.texi: Document the HP-UX 11 bugs.
26911
26912 2010-12-31  Eric Blake  <eblake@redhat.com>
26913
26914         nl_langinfo: fix YESEXPR on Irix 6.5
26915         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Test for Irix bug.
26916         * lib/nl_langinfo.c (rpl_nl_langinfo): Work around it.
26917         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Document
26918         it.
26919
26920 2010-12-31  Bruno Haible  <bruno@clisp.org>
26921
26922         iconv: Document HP-UX 11 bug.
26923         * doc/posix-functions/iconv.texi: Document HP-UX 11 return value bug.
26924
26925 2010-12-31  Bruno Haible  <bruno@clisp.org>
26926
26927         ldexpl: Fix link error on HP-UX 11.
26928         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When replacing ldexpl, set
26929         LDEXPL_LIBM, using $ISNANL_LIBM.
26930
26931 2010-12-31  Eric Blake  <eblake@redhat.com>
26932
26933         ftello: avoid compilation failure with SunStudio c89
26934         * lib/ftello.c (ftello): Use lseek, not llseek.
26935
26936         tests: avoid failing coreutils tests on cygwin
26937         * tests/init.sh (find_exe_basenames_): Exempt [.exe.
26938         (create_exe_shims_): Return 0 when skipping.
26939
26940 2010-12-31  Bruno Haible  <bruno@clisp.org>
26941
26942         sys_select: Avoid warning about missing memset declaration on HP-UX 11.
26943         * lib/sys_select.in.h: On HP-UX, include also <string.h>.
26944
26945 2010-12-31  Bruno Haible  <bruno@clisp.org>
26946
26947         waitpid: Fix link error in C++ mode.
26948         * lib/sys_wait.in.h: Remove extern "C" { ... } group.
26949
26950 2010-12-31  Bruno Haible  <bruno@clisp.org>
26951
26952         isnan: Use GCC built-ins when possible.
26953         * lib/math.in.h (gl_isnan_f): Use __builtin_isnanf instead of
26954         __builtin_isnan.
26955         (gl_isnan_l): Use __builtin_isnanl instead of __builtin_isnan.
26956         (isnan): Define using GCC built-ins for GCC >= 4.0.
26957
26958 2010-12-31  Bruno Haible  <bruno@clisp.org>
26959
26960         isnand: Fix mistake.
26961         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM): Use __builtin_isnan, not
26962         __builtin_isnand.
26963
26964 2010-12-31  Bruno Haible  <bruno@clisp.org>
26965
26966         open: Avoid C++ error on HP-UX 11.
26967         * lib/fcntl.in.h (open): Disable _GL_CXXALIASWARN invocation on HP-UX.
26968
26969 2010-12-31  Bruno Haible  <bruno@clisp.org>
26970
26971         time_r: Add missing declarations on HP-UX 11.
26972         * lib/time.in.h (localtime_r, gmtime_r): Test HAVE_DECL_LOCALTIME_R
26973         instead of HAVE_LOCALTIME_R.
26974         * m4/time_r.m4 (gl_TIME_R): Test whether localtime_r is declared. Set
26975         HAVE_LOCALTIME_R always.
26976         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize
26977         HAVE_DECL_LOCALTIME_R, not HAVE_LOCALTIME_R.
26978         * modules/time (Makefile.am): Substitute HAVE_DECL_LOCALTIME_R, not
26979         HAVE_LOCALTIME_R.
26980         * doc/posix-functions/gmtime_r.texi: Document the HP-UX 11 problem.
26981         * doc/posix-functions/localtime_r.texi: Likewise.
26982
26983 2010-12-29  Eric Blake  <eblake@redhat.com>
26984
26985         mountlist: tweak previous commit
26986         * lib/mountlist.c (me_remote): Guarantee trailing backslash.
26987         Reported by Paul Eggert.
26988
26989         mountlist: fix local drive detection on cygwin
26990         * lib/mountlist.c (ME_REMOTE) [__CYGWIN__]: Provide implementation
26991         that works for cygwin.
26992
26993 2010-12-29  Paul Eggert  <eggert@cs.ucla.edu>
26994
26995         ftoastr, snprintf: ftoastr + snprintf module
26996         * lib/ftoastr.c: Use GNULIB_SNPRINTF, not GNULIB_SNPRINTF_POSIX,
26997         since the snprintf module now should be good enough here.
26998         * modules/snprintf (configure.ac): Add gl_MODULE_INDICATOR([snprintf]).
26999         It seems odd to have both gl_STDIO_MODULE_INDICATOR([snprintf])
27000         and gl_MODULE_INDICATOR([snprintf]), but the former enables
27001         GNULIB_SNPRINTF only for the test directory, and the latter
27002         doesn't arrange for gl_STDIO_H_DEFAULTS to be called, so neither
27003         seems to suffice by itself.
27004
27005 2010-12-28  Paul Eggert  <eggert@cs.ucla.edu>
27006
27007         alloca: one step towards thread-safety
27008         * lib/alloca.c (find_stack_direction): New arg PTR, to avoid the
27009         need for a static variable.  All callers changed.  This does not
27010         make the alloca replacement thread-safe, but it's one step.
27011
27012         tests: minor indenting change
27013         * tests/init.sh: Sync from coreutils housekeeping patch
27014         <http://lists.gnu.org/archive/html/coreutils/2010-12/msg00116.html>
27015         to keep lines within 80 columns.
27016
27017 2010-12-28  Jim Meyering  <meyering@redhat.com>
27018
27019         regex: don't infloop on persistent failing calloc
27020         * lib/regexec.c (build_trtable): Return failure indication upon
27021         calloc failure.  Otherwise, re_search_internal could infloop on OOM.
27022         In glibc, this was fixed for version 2.13:
27023         http://sourceware.org/bugzilla/show_bug.cgi?id=12348
27024
27025 2010-12-28  Bruno Haible  <bruno@clisp.org>
27026             Paul Eggert <eggert@cs.ucla.edu>
27027
27028         linkat: Make implementation robust against system behaviour variations.
27029         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Define
27030         LINK_FOLLOWS_SYMLINKS to -1 if it needs a runtime test in the Solaris
27031         way, and to -2 if it needs a generic runtime test.
27032         * lib/linkat.c (solaris_optimized_link_immediate,
27033         solaris_optimized_link_follow): New functions.
27034         * tests/test-linkat.c (EXPECT_LINK_HARDLINKS_SYMLINKS): New macro.
27035         (check_same_link): Use it.
27036
27037 2010-12-26  Ben Pfaff  <blp@cs.stanford.edu>
27038
27039         New module 'unigbrk/base'.
27040         * modules/unigbrk/base: New file.
27041         * lib/unigbrk.in.h: New file.
27042
27043         New module 'unigbrk/uc-gbrk-prop'.
27044         * lib/gen-uni-tables.c: Generate lib/unigbrk/gbrkprop.h.
27045         * modules/unigbrk/uc-gbrk-prop: New file.
27046         * lib/unigbrk/gbrkprop.h: New file.
27047         * lib/unigbrk/uc-gbrk-prop.c: New file.
27048
27049         New module 'unigbrk/uc-is-grapheme-break'.
27050         * modules/unigbrk/uc-is-grapheme-break: New file.
27051         * modules/unigbrk/uc-is-grapheme-break-tests: New file.
27052         * lib/unigbrk/uc-is-grapheme-break.c: New file.
27053         * tests/unigbrk/test-uc-is-grapheme-break.c: New file.
27054         * tests/unigbrk/test-uc-is-grapheme-break.sh: New file.
27055         * tests/unigbrk/GraphemeBreakTest.txt: New file.
27056
27057         With corrections and tweaks by Bruno Haible <bruno@clisp.org>.
27058
27059 2010-12-27  Bruno Haible  <bruno@clisp.org>
27060
27061         linkat test: Avoid failure on Solaris 11 2010-11.
27062         * tests/test-linkat.c (main): Allow ENOTDIR as alternative error code.
27063
27064 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
27065
27066         utimens: work around glibc rounding bug on more platforms
27067         * lib/utimens.c (fdutimens): Work around rounding bug even if
27068         HAVE_WORKING_UTIMES.  Reported for Linux 2.4.21 by Bruno Haible in
27069         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00298.html>.
27070
27071 2010-12-27  Bruno Haible  <bruno@clisp.org>
27072
27073         select tests: Improve comments.
27074         * tests/test-select.c (do_select): Add comments.
27075
27076 2010-12-27  Bruno Haible  <bruno@clisp.org>
27077
27078         select tests: Safer way of handling timeout.
27079         * tests/test-select.c (do_select_nowait): Zero-initialize the timeout
27080         at every invocation.
27081
27082 2010-12-27  Bruno Haible  <bruno@clisp.org>
27083
27084         select tests: Use 'bool' where appropriate.
27085         * tests/test-select.c (connect_to_socket): Change argument type to
27086         'bool'.
27087
27088 2010-12-27  Bruno Haible  <bruno@clisp.org>
27089
27090         select tests: Use existing modules.
27091         * modules/select-tests (Depends-on): Add pipe-posix, unistd.
27092         (configure.ac): Don't test for unistd.h.
27093         * tests/test-select.c: Include <unistd.h> always. Use pipe() as
27094         declared in <unistd.h>.
27095
27096 2010-12-27  Bruno Haible  <bruno@clisp.org>
27097
27098         mbrtowc: Work around a Solaris 7 bug.
27099         * m4/mbrtowc.m4 (gl_MBRTOWC_NULL_ARG1): New macro.
27100         (gl_MBRTOWC_NULL_ARG2): Renamed from gl_MBRTOWC_NULL_ARG.
27101         (gl_FUNC_MBRTOWC): Update. Define MBRTOWC_NULL_ARG2_BUG instead of
27102         MBRTOWC_NULL_ARG_BUG. Invoke gl_MBRTOWC_NULL_ARG1 and define
27103         MBRTOWC_NULL_ARG1_BUG.
27104         * lib/mbrtowc.c (rpl_mbrtowc): Use MBRTOWC_NULL_ARG2_BUG instead of
27105         MBRTOWC_NULL_ARG_BUG. Handle MBRTOWC_NULL_ARG1_BUG.
27106         * tests/test-mbrtowc.c (main): Test support of a NULL first argument.
27107         * doc/posix-functions/mbrtowc.texi: Mention the Solaris 7 bug.
27108
27109 2010-12-27  Jim Meyering  <meyering@redhat.com>
27110
27111         read-file.c: tweak syntax
27112         * lib/read-file.c (fread_file): Remove space after "*" in function
27113         definitions.
27114
27115 2010-12-27  Bruno Haible  <bruno@clisp.org>
27116
27117         times test: Avoid gcc warnings on OSF/1.
27118         * tests/test-times.c (main): Cast printf arguments from clock_t to
27119         'long int'.
27120
27121 2010-12-27  Paul Eggert  <eggert@cs.ucla.edu>
27122
27123         utimens: work around glibc rounding bug on older Linux kernels
27124         * lib/utimens.c (fdutimens): If invoking futimesat or futimes
27125         on Linux with a glibc whose utimes might not work, then work
27126         around a longstanding glibc bug involving rounding rather than
27127         truncated time stamps.  Reported for Linux 2.4.21 by Bruno Haible in
27128         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
27129
27130 2010-12-26  Bruno Haible  <bruno@clisp.org>
27131
27132         inet_ntop: Hide mismatch of declaration on NonStop Kernel.
27133         * lib/arpa_inet.in.h (inet_ntop): Use _GL_CXXALIAS_SYS_CAST instead of
27134         _GL_CXXALIAS_SYS.
27135         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27136
27137 2010-12-26  Bruno Haible  <bruno@clisp.org>
27138
27139         inet_ntop, inet_pton: Ensure declaration on NonStop Kernel.
27140         * lib/arpa_inet.in.h: On NonStop Kernel, include also <netdb.h>.
27141         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
27142         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Include also <netdb.h> when
27143         looking for the declaration.
27144         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
27145         * doc/posix-functions/inet_ntop.texi: Document the NonStop Kernel
27146         problem.
27147         * doc/posix-functions/inet_pton.texi: Likewise.
27148
27149 2010-12-26  Bruno Haible  <bruno@clisp.org>
27150
27151         arpa_inet: Use the common idioms with C++ support.
27152         * lib/arpa_inet.in.h: Include c++defs.h.
27153         (inet_ntop, inet_pton): Declare using the macros with C++ namespace
27154         support.
27155         * modules/arpa_inet (Depends-on): Add c++defs.
27156         (Makefile.am): Substitute the contents of c++defs.h.
27157         * modules/arpa_inet-tests (Depends-on): Add arpa_inet-c++-tests.
27158         * modules/arpa_inet-c++-tests: New file.
27159         * tests/test-arpa_inet-c++.cc: New file.
27160
27161 2010-12-25  Bruno Haible  <bruno@clisp.org>
27162
27163         Fix more C++ link errors on Solaris 8.
27164         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Add
27165         $(LIB_EACCESS).
27166         * modules/stdio-c++-tests (test_stdio_c___LDADD): Likewise.
27167         * modules/stdlib-c++-tests (test_stdlib_c___LDADD): Likewise.
27168         * modules/sys_ioctl-c++-tests (test_sys_ioctl_c___LDADD): Likewise.
27169         * modules/wchar-c++-tests (test_wchar_c___LDADD): Likewise.
27170         * modules/wctype-c++-tests (test_wctype_c___LDADD): Likewise.
27171
27172 2010-12-25  Bruno Haible  <bruno@clisp.org>
27173
27174         printf-posix: Fix link error when a non-GCC compiler is used.
27175         * lib/stdio.in.h (printf): When not using GCC, override printf
27176         correctly.
27177         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27178
27179 2010-12-25  Bruno Haible  <bruno@clisp.org>
27180
27181         strerror_r-posix: Update doc.
27182         * doc/posix-functions/strerror_r.texi: Update doc about the return
27183         value. See <http://sources.redhat.com/bugzilla/show_bug.cgi?id=12204>.
27184
27185 2010-12-25  Paul Eggert  <eggert@cs.ucla.edu>
27186
27187         utimens: simplify the logic of the previous change
27188         * m4/utimes.m4 (gl_FUNC_UTIMES): Simplify the logic a bit.
27189         This should not affect whether the test succeeds or fails.
27190
27191         utimens: configure better on hosts with NFS clock skew
27192         * m4/utimes.m4 (gl_FUNC_UTIMES): Don't assume that utimes (f, NULL)
27193         uses the clock of the local host.  It might use the clock of the
27194         NFS server.  Reported for Linux 2.4.21 client by Bruno Haible in
27195         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00113.html>.
27196
27197 2010-12-25  Bruno Haible  <bruno@clisp.org>
27198
27199         ptsname test: Avoid failure on Solaris.
27200         * tests/test-ptsname.c (main): For Solaris, use the recommended way to
27201         open a pseudo-terminal; don't use BSD-style ptys.
27202         * doc/posix-functions/ptsname.texi: Document the limitation on Solaris.
27203
27204 2010-12-25  Bruno Haible  <bruno@clisp.org>
27205
27206         ptsname: Avoid ERANGE failure on some systems.
27207         * lib/ptsname.c (buffer): Increase size.
27208
27209 2010-12-25  Bruno Haible  <bruno@clisp.org>
27210
27211         rename, renameat: Avoid test failures at NFS mounted locations.
27212         * tests/test-rename.h (assert_nonexistent): Remove the old directory,
27213         so that subsequent mkdir calls succeed.
27214
27215 2010-12-25  Bruno Haible  <bruno@clisp.org>
27216
27217         iswblank: Fix C++ link error on Solaris 8.
27218         * lib/wctype.in.h (iswblank): Declare using _GL_FUNCDECL_RPL or
27219         _GL_FUNCDECL_SYS.
27220
27221 2010-12-25  Bruno Haible  <bruno@clisp.org>
27222
27223         unistd: Fix C++ link error on Solaris 8.
27224         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add $(LIB_EACCESS).
27225
27226 2010-12-25  Bruno Haible  <bruno@clisp.org>
27227
27228         readlink doc: Mention an old glibc bug.
27229         * doc/posix-functions/readlink.texi: Mention glibc 2.4 bug (BZ #2450).
27230
27231 2010-12-25  Bruno Haible  <bruno@clisp.org>
27232
27233         fcntl-h: Fix for use of C++ on glibc systems.
27234         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
27235         also on glibc systems in C++ mode.
27236         Reported by Gary V. Vaughan <gary@gnu.org>.
27237
27238 2010-12-25  Bruno Haible  <bruno@clisp.org>
27239
27240         roundl-ieee: Make it work on OSF/1 5.1 with cc.
27241         * modules/roundl-ieee (Depends-on): Add floorl-ieee, ceill-ieee.
27242
27243 2010-12-25  Bruno Haible  <bruno@clisp.org>
27244
27245         truncl-ieee: Make it work on OSF/1 5.1 with cc.
27246         * doc/posix-functions/truncl.texi: Mention the OSF/1 5.1 bug.
27247         * m4/truncl.m4 (gl_FUNC_TRUNCL): If gl_FUNC_TRUNCL_IEEE is also used,
27248         test whether truncl works according to ISO C 99 with IEC 60559.
27249         * m4/truncl-ieee.m4: New file.
27250         * modules/truncl-ieee (Files): Add it and m4/minus-zero.m4,
27251         m4/signbit.m4.
27252         (configure.ac): Invoke gl_FUNC_TRUNCL_IEEE.
27253
27254 2010-12-25  Bruno Haible  <bruno@clisp.org>
27255
27256         ceill-ieee: Make it work on OSF/1 5.1 with cc.
27257         * doc/posix-functions/ceill.texi: Mention the OSF/1 5.1 bug.
27258         * m4/ceill.m4 (gl_FUNC_CEILL): If gl_FUNC_CEILL_IEEE is also used,
27259         test whether ceill works according to ISO C 99 with IEC 60559.
27260         * m4/ceill-ieee.m4: New file.
27261         * modules/ceill-ieee (Files): Add it and m4/minus-zero.m4,
27262         m4/signbit.m4.
27263         (configure.ac): Invoke gl_FUNC_CEILL_IEEE.
27264
27265 2010-12-25  Bruno Haible  <bruno@clisp.org>
27266
27267         Ensure all prerequisites of <wchar.h> are included.
27268         * m4/btowc.m4 (gl_FUNC_BTOWC): Include <stddef.h>, <stdio.h>, <time.h>
27269         before <wchar.h>.
27270         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
27271         gl_MBRLEN_NUL_RETVAL): Likewise.
27272         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
27273         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL,
27274         AC_FUNC_MBRTOWC): Likewise.
27275         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
27276         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
27277         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
27278         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
27279         Likewise.
27280         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
27281         * m4/wchar_h.m4 (gl_WCHAR_H_INLINE_OK): Likewise.
27282         (gl_WCHAR_H): Improve comments.
27283         * m4/wctype_h.m4 (gl_WCTYPE_H): Likewise.
27284
27285 2010-12-25  Bruno Haible  <bruno@clisp.org>
27286
27287         strtok_r: Fix C syntax error in autoconf macro.
27288         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't use UTF-8 encoded U+00A0
27289         characters in test program.
27290
27291 2010-12-24  Bruno Haible  <bruno@clisp.org>
27292
27293         ceil, trunc, round: Fix gcc warnings.
27294         * lib/ceil.c (MIN): Undefine before redefining.
27295         * lib/trunc.c (MIN): Likewise.
27296         * lib/round.c (MIN): Likewise.
27297         Include <math.h> first.
27298
27299 2010-12-24  Bruno Haible  <bruno@clisp.org>
27300
27301         select tests: Avoid failures on OSF/1 5.1.
27302         * tests/test-select.c (test_accept_first, test_socket_pair): Ignore
27303         failure of closing the last socket; it may fail with ECONNRESET.
27304
27305 2010-12-24  Eric Blake  <eblake@redhat.com>
27306
27307         stdint: avoid HP-UX 10.20 preprocessor bug
27308         * lib/stdint.in.h (INT64_MAX, UINT64_MAX): Check via #ifdef rather
27309         than #if.
27310         * tests/test-floor2.c (main): Likewise.
27311         Reported by Peter O'Gorman.
27312
27313         pipe: make obsoletion transition easier
27314         * lib/pipe.h: Restore file as thin shim around "spawn-pipe.h".
27315         * modules/pipe (Files): Include revived file.
27316         (Include): Drop reference, to mirror getdate's behavior.
27317
27318 2010-12-24  Bruno Haible  <bruno@clisp.org>
27319
27320         sys_socket: Hide mismatch of declarations on NonStop Kernel.
27321         * lib/sys_socket.in.h (connect, bind, sendto, setsockopt): Use
27322         _GL_CXXALIAS_SYS_CAST instead of _GL_CXXALIAS_SYS.
27323         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27324
27325 2010-12-24  Bruno Haible  <bruno@clisp.org>
27326
27327         gethostname: Ensure declaration on NonStop Kernel.
27328         * lib/unistd.in.h: Include <netdb.h> also on NonStop Kernel systems.
27329         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27330
27331 2010-12-24  Bruno Haible  <bruno@clisp.org>
27332
27333         sys_select: Ensure all necessary types on NonStop Kernel.
27334         * lib/sys_select.in.h: If the system does not have <sys/select.h>,
27335         include <sys/time.h>.
27336         * doc/posix-headers/sys_select.texi: Mention that it's missing on
27337         NonStop Kernel.
27338         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27339
27340 2010-12-24  Bruno Haible  <bruno@clisp.org>
27341
27342         sys_select: Remove unneeded include.
27343         * lib/sys_select.in.h: Don't include <sys/socket.h> on platforms that
27344         have <sys/select.h>.
27345
27346 2010-12-24  Bruno Haible  <bruno@clisp.org>
27347
27348         gethostname: Provide a fallback for HOST_NAME_MAX.
27349         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): When neither HOST_NAME_MAX
27350         nor MAXHOSTNAMELEN is found in the usual system headers, use 256
27351         instead.
27352         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27353
27354 2010-12-24  Bruno Haible  <bruno@clisp.org>
27355
27356         sigaction tests: Allow missing SA_RESETHAND and SA_RESTART.
27357         * tests/test-sigaction.c (SA_RESETHAND): Fall back to 0.
27358         (SA_RESTART): Likewise.
27359         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27360
27361 2010-12-24  Bruno Haible  <bruno@clisp.org>
27362
27363         signal: Define NSIG.
27364         * lib/signal.in.h (NSIG): Define to 32 on NonStop Kernel.
27365         * tests/test-signal.c (nsig): New variable.
27366         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27367
27368 2010-12-24  Bruno Haible  <bruno@clisp.org>
27369
27370         rename, renameat: Avoid test failures on OSF/1 5.1.
27371         * tests/test-rename.h (test_rename): Allow EEXIST and ENOTDIR as
27372         alternative error codes.
27373         * tests/test-renameat.c (main): Likewise.
27374
27375 2010-12-24  Bruno Haible  <bruno@clisp.org>
27376
27377         *printf: Detect large precisions bug on Solaris 10/SPARC.
27378         * m4/printf.m4 (gl_PRINTF_PRECISION): Add one more test code, provided
27379         by Paul Eggert.
27380         * tests/test-snprintf-posix.h (test_function): Add this test code here
27381         too.
27382         * tests/test-sprintf-posix.h (test_function): Likewise.
27383         * tests/test-vasnprintf-posix.c (test_function): Likewise.
27384         * tests/test-vasprintf-posix.c (test_function): Likewise.
27385         * doc/posix-functions/fprintf.texi: Mention Solaris 10 bug as worked
27386         around by gnulib.
27387         * doc/posix-functions/printf.texi: Likewise.
27388         * doc/posix-functions/snprintf.texi: Likewise.
27389         * doc/posix-functions/sprintf.texi: Likewise.
27390         * doc/posix-functions/vfprintf.texi: Likewise.
27391         * doc/posix-functions/vprintf.texi: Likewise.
27392         * doc/posix-functions/vsnprintf.texi: Likewise.
27393         * doc/posix-functions/vsprintf.texi: Likewise.
27394         * doc/posix-functions/dprintf.texi: Undo last commit.
27395         * doc/posix-functions/vdprintf.texi: Likewise.
27396
27397 2010-12-23  Paul Eggert  <eggert@cs.ucla.edu>
27398
27399         tests: port test-fdutimensat.c to Solaris 8
27400         * tests/test-fdutimensat.c (do_fdutimens): Don't assume
27401         fdutimensat works with a nonnegative fd and AT_SYMLINK_NOFOLLOW.
27402         On Solaris 8, it fails with errno == ENOSYS, because there is no
27403         futimens (so it can't use the fd), and there is no lutimens (so it
27404         can't implement AT_SYMLINK_NOFOLLOW on symlinks).
27405
27406         vsnprintf: make more consistent with snprintf; doc fixes
27407
27408         * doc/posix-functions/snprintf.texi (snprintf): The workaround for
27409         the byte count return problem was promoted from the snprintf-posix
27410         to the snprintf module.
27411         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
27412         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Also check
27413         gl_SNPRINTF_RETVAL_C99, for consistency with gl_FUNC_SNPRINTF.
27414         * tests/test-snprintf.c (main): Check the byte count returned.
27415         * tests/test-vsnprintf.c (main): Likewise.
27416
27417 2010-12-23  Eric Blake  <eblake@redhat.com>
27418
27419         sigpipe: relax to LGPLv2+, since it did not have any LGPLv3+ parts
27420         * modules/sigpipe (License): Relax license.
27421
27422 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27423
27424         doc: document Solaris printf bug with large float precisions
27425         * doc/posix-functions/dprintf.texi (dprintf):
27426         * doc/posix-functions/fprintf.texi (fprintf):
27427         * doc/posix-functions/printf.texi (printf):
27428         * doc/posix-functions/snprintf.texi (snprintf):
27429         * doc/posix-functions/sprintf.texi (sprintf):
27430         * doc/posix-functions/vdprintf.texi (vdprintf):
27431         * doc/posix-functions/vfprintf.texi (vfprintf):
27432         * doc/posix-functions/vprintf.texi (vprintf):
27433         * doc/posix-functions/vsnprintf.texi (vsnprintf):
27434         * doc/posix-functions/vsprintf.texi (vsprintf):
27435         Mention that these functions mishandle large floating point
27436         precisions on Solaris 10.  The same bug is also present in Solaris
27437         8, and I assume earlier.  This causes "cd gnulib-tests; make
27438         check" to fail on Solaris 8 (and I assume, later) when building
27439         the latest coreutils, in test-vasprintf-posix's call to
27440         my_asprintf (&result, "%.4000f %d", 1.0, 99).  I have not checked
27441         the wide flavors (e.g., wprintf) so this patch just updates the
27442         documentation for the narrow ones.
27443
27444         test-posixtm.c: add two tests
27445         * tests/test-posixtm.c: Add two tests, to highlight the
27446         bug in Solaris 10 (and earlier) localtime.  Gnulib doesn't work
27447         around this bug; this is merely to document it.
27448
27449 2010-12-22  Bruno Haible  <bruno@clisp.org>
27450
27451         getlogin_r: Work around portability problem on OSF/1.
27452         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Detect the OSF/1 problem.
27453         * lib/unistd.in.h (getlogin_r): Replace if REPLACE_GETLOGIN_R is set.
27454         * lib/getlogin_r.c (getlogin_r): When getlogin_r exists, invoke it and
27455         test for a truncated result.
27456         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_GETLOGIN_R.
27457         * modules/unistd (Makefile.am): Substitute REPLACE_GETLOGIN_R.
27458         * modules/getlogin_r (Depends-on): Add memchr.
27459         * doc/posix-functions/getlogin_r.texi: Mention the OSF/1 problem.
27460
27461 2010-12-22  Bruno Haible  <bruno@clisp.org>
27462
27463         ptsname: Avoid test failure on OSF/1 5.1.
27464         * modules/ptsname-tests (Depends-on): Add 'same-inode'.
27465         * tests/test-ptsname.c: Include <sys/stat.h>, same-inode.h.
27466         (same_slave): New function.
27467         (main): Use it to compare ptsname's result with the expected file name.
27468
27469 2010-12-22  Bruno Haible  <bruno@clisp.org>
27470
27471         Port extended stdio modules to HP NonStop Kernel.
27472         * lib/stdio-impl.h (_IOERR, _IOREAD, _IOWRT, _IORW) [__TANDEM]: New
27473         macros.
27474         * lib/fbufmode.c: Update comments.
27475         * lib/fflush.c: Likewise.
27476         * lib/fpurge.c: Likewise.
27477         * lib/freadable.c: Likewise.
27478         * lib/freadahead.c: Likewise.
27479         * lib/freading.c: Likewise.
27480         * lib/freadptr.c: Likewise.
27481         * lib/freadseek.c: Likewise.
27482         * lib/fseeko.c: Likewise.
27483         * lib/fseterr.c: Likewise.
27484         * lib/fwritable.c: Likewise.
27485         * lib/fwriting.c: Likewise.
27486         Reported by Joachim Schmitz <jojo@schmitz-digital.de>.
27487
27488 2010-12-22  Bruno Haible  <bruno@clisp.org>
27489
27490         ttyname_r: Work around bug on OSF/1 5.1.
27491         * doc/posix-functions/ttyname_r.texi: Mention the OSF/1 bug.
27492         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Detect the OSF/1 bug. Say "no"
27493         instead of "guessing no" when the OSF/1 bug or the Solaris bug is
27494         present.
27495         * lib/ttyname_r.c (ttyname_r): Update comments.
27496
27497 2010-12-22  Bruno Haible  <bruno@clisp.org>
27498
27499         round: Implement result sign according to IEEE 754.
27500         * lib/round.c (MIN, MINUS_ZERO): New macros.
27501         (FLOOR_FREE_ROUND): Return -0.0 for -0.5 < x < 0.
27502         * tests/test-roundf-ieee.c (main): Test also values between -1 and 1.
27503         * tests/test-round-ieee.c (main): Likewise.
27504         * tests/test-roundl-ieee.c (main): Likewise.
27505
27506         trunc: Implement result sign according to IEEE 754.
27507         * lib/trunc.c (MIN, MINUS_ZERO): New macros.
27508         (FUNC): Return +0.0 for 0 < x < 1 and -0.0 for -1 < x < 0.
27509         * tests/test-trunc2.c: Include minus-zero.h.
27510         (MINUS_ZERO): New macro.
27511         (trunc_reference): Keep in sync with lib/trunc.c.
27512         * tests/test-truncf2.c: Include minus-zero.h.
27513         (MINUS_ZERO): New macro.
27514         (truncf_reference): Keep in sync with lib/trunc.c.
27515         * tests/test-truncf-ieee.c (main): Test also values between -1 and 1.
27516         * tests/test-trunc-ieee.c (main): Likewise.
27517         * tests/test-truncl-ieee.c (main): Likewise.
27518
27519         ceil: Implement result sign according to IEEE 754.
27520         * lib/ceil.c (MIN, MINUS_ZERO): New macros.
27521         (FUNC): Return -0.0 for -1 < x < 0.
27522         * tests/test-ceil2.c: Include minus-zero.h.
27523         (MINUS_ZERO): New macro.
27524         (ceil_reference): Keep in sync with lib/ceil.c.
27525         * tests/test-ceilf2.c: Include minus-zero.h.
27526         (MINUS_ZERO): New macro.
27527         (ceilf_reference): Keep in sync with lib/ceil.c.
27528         * tests/test-ceilf-ieee.c (main): Test also values between -1 and 1.
27529         * tests/test-ceil-ieee.c (main): Likewise.
27530         * tests/test-ceill-ieee.c (main): Likewise.
27531
27532         floor: Implement result sign according to IEEE 754.
27533         * lib/floor.c (FUNC): Return +0.0 for 0 < x < 1.
27534         * tests/test-floor2.c (floor_reference): Keep in sync with lib/floor.c.
27535         * tests/test-floorf2.c (floorf_reference): Likewise.
27536         * tests/test-floorf-ieee.c (main): Test also values between -1 and 1.
27537         * tests/test-floor-ieee.c (main): Likewise.
27538         * tests/test-floorl-ieee.c (main): Likewise.
27539
27540 2010-12-22  Bruno Haible  <bruno@clisp.org>
27541
27542         getaddrinfo: Update doc.
27543         * doc/posix-functions/gai_strerror.texi: Return type is also different
27544         on AIX and HP-UX.
27545
27546 2010-12-22  Paul Eggert  <eggert@cs.ucla.edu>
27547
27548         getaddrinfo, inet_ntop: Update doc for Solaris.
27549         * doc/posix-functions/gai_strerror.texi: Return type is also an
27550         issue on Solaris 9 and earlier.
27551         * doc/posix-functions/inet_ntop.texi: 4th arg type is also an issue
27552         on Solaris 10 and earlier.
27553
27554 2010-12-21  Bruno Haible  <bruno@clisp.org>
27555
27556         New module 'roundl-ieee'.
27557         * modules/roundl-ieee: New file.
27558         * m4/roundl.m4 (gl_FUNC_ROUNDL): If gl_FUNC_ROUNDL_IEEE is also used,
27559         test whether roundl works according to ISO C 99 with IEC 60559.
27560         * m4/roundl-ieee.m4: New file.
27561         * modules/roundl-ieee-tests: New file.
27562         * tests/test-roundl-ieee.c: New file, based on tests/test-roundl.c.
27563         * tests/test-roundl.c (main): Remove signbit tests.
27564         * modules/roundl-tests (Depends-on): Remove signbit.
27565         * doc/posix-functions/roundl.texi: Mention the new module.
27566
27567 2010-12-21  Bruno Haible  <bruno@clisp.org>
27568
27569         New module 'truncl-ieee'.
27570         * modules/truncl-ieee: New file.
27571         * modules/truncl-ieee-tests: New file.
27572         * tests/test-truncl-ieee.c: New file, based on tests/test-truncl.c.
27573         * tests/test-truncl.c (main): Remove signbit tests.
27574         * modules/truncl-tests (Depends-on): Remove signbit.
27575         * doc/posix-functions/truncl.texi: Mention the new module.
27576
27577 2010-12-21  Bruno Haible  <bruno@clisp.org>
27578
27579         New module 'ceill-ieee'.
27580         * modules/ceill-ieee: New file.
27581         * modules/ceill-ieee-tests: New file.
27582         * tests/test-ceill-ieee.c: New file, based on tests/test-ceill.c.
27583         * tests/test-ceill.c (main): Remove signbit tests.
27584         * modules/ceill-tests (Depends-on): Remove signbit.
27585         * doc/posix-functions/ceill.texi: Mention the new module.
27586
27587 2010-12-21  Bruno Haible  <bruno@clisp.org>
27588
27589         New module 'floorl-ieee'.
27590         * modules/floorl-ieee: New file.
27591         * modules/floorl-ieee-tests: New file.
27592         * tests/test-floorl-ieee.c: New file, based on tests/test-floorl.c.
27593         * tests/test-floorl.c (main): Remove signbit tests.
27594         * modules/floorl-tests (Depends-on): Remove signbit.
27595         * doc/posix-functions/floorl.texi: Mention the new module.
27596
27597 2010-12-21  Bruno Haible  <bruno@clisp.org>
27598
27599         New module 'round-ieee'.
27600         * modules/round-ieee: New file.
27601         * m4/round.m4 (gl_FUNC_ROUND): If gl_FUNC_ROUND_IEEE is also used, test
27602         whether round works according to ISO C 99 with IEC 60559.
27603         * m4/round-ieee.m4: New file.
27604         * modules/round-ieee-tests: New file.
27605         * tests/test-round-ieee.c: New file, based on tests/test-roundf-ieee.c.
27606         * tests/test-round1.c (main): Remove signbit tests.
27607         * modules/round-tests (Depends-on): Remove 'signbit'.
27608         * doc/posix-functions/round.texi: Mention the new module.
27609
27610 2010-12-21  Bruno Haible  <bruno@clisp.org>
27611
27612         New module 'trunc-ieee'.
27613         * modules/trunc-ieee: New file.
27614         * m4/trunc.m4 (gl_FUNC_TRUNC): If gl_FUNC_TRUNC_IEEE is also used, test
27615         whether trunc works according to ISO C 99 with IEC 60559.
27616         * m4/trunc-ieee.m4: New file.
27617         * lib/math.in.h (trunc): Replace if REPLACE_TRUNC is set.
27618         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNC.
27619         * modules/math (Makefile.am): Substitute REPLACE_TRUNC.
27620         * modules/trunc-ieee-tests: New file.
27621         * tests/test-trunc-ieee.c: New file, based on tests/test-truncf-ieee.c.
27622         * tests/test-trunc1.c (main): Remove signbit tests.
27623         * modules/trunc-tests (Depends-on): Remove 'signbit'.
27624         * doc/posix-functions/trunc.texi: Mention the new module.
27625
27626 2010-12-21  Bruno Haible  <bruno@clisp.org>
27627
27628         New module 'ceil-ieee'.
27629         * modules/ceil-ieee: New file.
27630         * m4/ceil.m4 (gl_FUNC_CEIL): Require gl_MATH_H_DEFAULTS. If
27631         gl_FUNC_CEIL_IEEE is also used, test whether ceil works according to
27632         ISO C 99 with IEC 60559.
27633         * m4/ceil-ieee.m4: New file.
27634         * modules/ceil (Files): Add lib/ceil.c.
27635         (Depends-on): Add 'float'.
27636         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27637         * lib/math.in.h (ceil): New declaration.
27638         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEIL,
27639         REPLACE_CEIL.
27640         * modules/math (Makefile.am): Substitute GNULIB_CEIL, REPLACE_CEIL.
27641         * modules/ceil-ieee-tests: New file.
27642         * tests/test-ceil-ieee.c: New file, based on tests/test-ceilf-ieee.c.
27643         * tests/test-math-c++.cc: Check the signature of 'ceil'.
27644         * doc/posix-functions/ceil.texi: Mention the new module.
27645
27646 2010-12-21  Bruno Haible  <bruno@clisp.org>
27647
27648         New module 'floor-ieee'.
27649         * modules/floor-ieee: New file.
27650         * m4/floor.m4 (gl_FUNC_FLOOR): Require gl_MATH_H_DEFAULTS. If
27651         gl_FUNC_FLOOR_IEEE is also used, test whether floor works according to
27652         ISO C 99 with IEC 60559.
27653         * m4/floor-ieee.m4: New file.
27654         * modules/floor (Files): Add lib/floor.c.
27655         (Depends-on): Add 'float'.
27656         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
27657         * lib/math.in.h (floor): New declaration.
27658         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOOR,
27659         REPLACE_FLOOR.
27660         * modules/math (Makefile.am): Substitute GNULIB_FLOOR, REPLACE_FLOOR.
27661         * modules/floor-ieee-tests: New file.
27662         * tests/test-floor-ieee.c: New file, based on tests/test-floorf-ieee.c.
27663         * tests/test-math-c++.cc: Check the signature of 'floor'.
27664         * doc/posix-functions/floor.texi: Mention the new module.
27665
27666 2010-12-21  Bruno Haible  <bruno@clisp.org>
27667
27668         New module 'roundf-ieee'.
27669         * modules/roundf-ieee: New file.
27670         * m4/roundf.m4 (gl_FUNC_ROUNDF): If gl_FUNC_ROUNDF_IEEE is also used,
27671         test whether roundf works according to ISO C 99 with IEC 60559.
27672         * m4/roundf-ieee.m4: New file.
27673         * modules/roundf-ieee-tests: New file.
27674         * tests/test-roundf-ieee.c: New file, based on tests/test-roundf1.c.
27675         * tests/test-roundf1.c (main): Remove signbit tests.
27676         * modules/roundf-tests (Depends-on): Remove 'signbit'.
27677         * doc/posix-functions/roundf.texi: Mention the new module.
27678
27679 2010-12-21  Bruno Haible  <bruno@clisp.org>
27680
27681         New module 'truncf-ieee'.
27682         * modules/truncf-ieee: New file.
27683         * m4/truncf.m4 (gl_FUNC_TRUNCF): If gl_FUNC_TRUNCF_IEEE is also used,
27684         test whether truncf works according to ISO C 99 with IEC 60559.
27685         * m4/truncf-ieee.m4: New file.
27686         * lib/math.in.h (truncf): Replace if REPLACE_TRUNCF is set.
27687         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCF.
27688         * modules/math (Makefile.am): Substitute REPLACE_TRUNCF.
27689         * modules/truncf-ieee-tests: New file.
27690         * tests/test-truncf-ieee.c: New file, based on tests/test-truncf1.c.
27691         * tests/test-truncf1.c (main): Remove signbit tests.
27692         * modules/truncf-tests (Depends-on): Remove 'signbit'.
27693         * doc/posix-functions/truncf.texi: Mention the new module.
27694
27695 2010-12-21  Bruno Haible  <bruno@clisp.org>
27696
27697         New module 'ceilf-ieee'.
27698         * modules/ceilf-ieee: New file.
27699         * m4/ceilf.m4 (gl_FUNC_FLOORF): If gl_FUNC_CEILF_IEEE is also used,
27700         test whether ceilf works according to ISO C 99 with IEC 60559.
27701         * m4/ceilf-ieee.m4: New file.
27702         * modules/ceilf-ieee-tests: New file.
27703         * tests/test-ceilf-ieee.c: New file, based on tests/test-ceilf1.c.
27704         * tests/test-ceilf1.c (main): Remove signbit tests.
27705         * modules/ceilf-tests (Depends-on): Remove 'signbit'.
27706         * doc/posix-functions/ceilf.texi: Mention the new module.
27707
27708 2010-12-21  Bruno Haible  <bruno@clisp.org>
27709
27710         New module 'floorf-ieee'.
27711         * modules/floorf-ieee: New file.
27712         * m4/floorf.m4 (gl_FUNC_FLOORF): If gl_FUNC_FLOORF_IEEE is also used,
27713         test whether floorf works according to ISO C 99 with IEC 60559.
27714         * m4/floorf-ieee.m4: New file.
27715         * modules/floorf-ieee-tests: New file.
27716         * tests/test-floorf-ieee.c: New file, based on tests/test-floorf1.c.
27717         * tests/test-floorf1.c (main): Remove signbit tests.
27718         * modules/floorf-tests (Depends-on): Remove 'signbit'.
27719         * doc/posix-functions/floorf.texi: Mention the new module.
27720
27721 2010-12-21  Bruno Haible  <bruno@clisp.org>
27722
27723         Support for minus zero in autoconf macros.
27724         * m4/minus-zero.m4: New file, based on tests/minus-zero.h.
27725         * m4/signbit.m4 (gl_FLOAT_SIGNBIT_CODE, gl_DOUBLE_SIGNBIT_CODE,
27726         gl_LONG_DOUBLE_SIGNBIT_CODE, gl_FLOATTYPE_SIGNBIT_CODE): New macros.
27727         * tests/minus-zero.h: Update comments.
27728
27729 2010-12-21  Bruno Haible  <bruno@clisp.org>
27730
27731         Tests for module 'ceil'.
27732         * modules/ceil-tests: New file.
27733         * tests/test-ceil1.c: New file, based on tests/test-ceill.c.
27734         * tests/test-ceil2.c: New file, based on tests/test-ceilf2.c.
27735
27736 2010-12-21  Bruno Haible  <bruno@clisp.org>
27737
27738         Tests for module 'floor'.
27739         * modules/floor-tests: New file.
27740         * tests/test-floor1.c: New file, based on tests/test-floorl.c.
27741         * tests/test-floor2.c: New file, based on tests/test-floorf2.c.
27742
27743 2010-12-21  Bruno Haible  <bruno@clisp.org>
27744
27745         math: Fix indentation.
27746         * lib/math.in.h (floorf): Fix indentation.
27747
27748 2010-12-21  Bruno Haible  <bruno@clisp.org>
27749
27750         Fix cross-compilation guesses on Solaris.
27751         * m4/fopen.m4 (gl_FUNC_FOPEN): Correct shell pattern so that it does
27752         not match "solaris2.10".
27753         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
27754         * m4/printf.m4 (gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_DIRECTIVE_N,
27755         gl_VSNPRINTF_ZEROSIZE_C99): Likewise.
27756
27757 2010-12-21  Paul Eggert  <eggert@cs.ucla.edu>
27758
27759         snprintf: port snprintf (NULL, 0, ...) to Solaris 8 and 9
27760         This fixes a problem observed with the latest coreutils snapshot
27761         that caused a test to fail on Solaris 8.  src/csplit.c's call
27762         snprintf (NULL, 0, format, UINT_MAX) returns -1 on Solaris 9 and
27763         earlier, instead of returning the number of bytes that would have
27764         been generated; this causes csplit to incorrectly report memory
27765         exhaustion.
27766         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Also check for
27767         snprintf (NULL, 0, ...) and (for good measure) snprintf (buf, 0, ...).
27768         Guess that it doesn't work on Solaris 2.6 through 9.  Adjust
27769         comments to match.
27770         (gl_PRINTF_SIZES_C99, gl_PRINTF_DIRECTIVE_F, gl_SNPRINTF_RETVAL_C99):
27771         Fix typo in matching older versions of Solaris: "solaris2.10"
27772         is matched by the shell pattern "solaris2.[0-9]*".  This matters
27773         only for guessing while cross-compiling.
27774         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Also check gl_SNPRINTF_RETVAL_C99.
27775
27776 2010-12-20  Paul Eggert  <eggert@cs.ucla.edu>
27777
27778         ftoastr: fix comment again
27779         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27780         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00149.html>.
27781         Also, simplify example a bit by using flags = 0.
27782
27783 2010-12-20  Bruno Haible  <bruno@clisp.org>
27784
27785         round*, trunc*: Update documentation regarding glibc.
27786         * doc/posix-functions/roundf.texi: Mention missing declaration problem.
27787         * doc/posix-functions/round.texi: Likewise.
27788         * doc/posix-functions/roundl.texi: Likewise.
27789         * doc/posix-functions/truncf.texi: Likewise.
27790         * doc/posix-functions/trunc.texi: Likewise.
27791         * doc/posix-functions/truncl.texi: Likewise.
27792
27793 2010-12-20  Bruno Haible  <bruno@clisp.org>
27794
27795         roundf, round, roundl: Update documentation regarding OSF/1 5.1.
27796         * doc/posix-functions/roundf.texi: Mention OSF/1 5.1 problem.
27797         * doc/posix-functions/round.texi: Likewise.
27798         * doc/posix-functions/roundl.texi: Likewise.
27799
27800 2010-12-20  Bruno Haible  <bruno@clisp.org>
27801
27802         ttyname_r: Add missing declaration on HP-UX 11.
27803         * lib/unistd.in.h (ttyname_r): Test HAVE_DECL_TTYNAME_R instead of
27804         HAVE_TTYNAME_R.
27805         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether ttyname_r is
27806         declared. Set HAVE_TTYNAME_R always.
27807         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
27808         HAVE_DECL_TTYNAME_R, not HAVE_TTYNAME_R.
27809         * modules/unistd (Makefile.am): Substitute HAVE_DECL_TTYNAME_R, not
27810         HAVE_TTYNAME_R.
27811         * doc/posix-functions/ttyname_r.texi: Document the HP-UX 11 problem.
27812
27813 2010-12-20  Bruno Haible  <bruno@clisp.org>
27814
27815         getlogin, getlogin_r: Document HP-UX 11.11 bugs.
27816         * doc/posix-functions/getlogin.texi: Document HP-UX 11.11 bug.
27817         * doc/posix-functions/getlogin_r.texi: Likewise.
27818         * tests/test-getlogin.c: Include <errno.h>.
27819         (main): Avoid test failure on HP-UX 11.11.
27820         * tests/test-getlogin_r.c (main): Likewise.
27821
27822 2010-12-20  Bruno Haible  <bruno@clisp.org>
27823
27824         getlogin_r: Add missing declaration on HP-UX 11.
27825         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Test whether getlogin_r is
27826         declared also when it exists as a function.
27827         * doc/posix-functions/getlogin_r.texi: Document this workaround.
27828
27829 2010-12-20  Bruno Haible  <bruno@clisp.org>
27830
27831         wcsrtombs: Don't confuse mbstate_t with rpl_mbstate_t.
27832         * lib/wcsrtombs.c: If gnulib overrides mbstate_t, define wcsrtombs
27833         through wcrtomb.
27834
27835 2010-12-19  Paul Eggert  <eggert@cs.ucla.edu>
27836
27837         ftoastr: fix comment
27838         * lib/ftoastr.h: Fix typo in comment.  Noted by Ben Pfaff in
27839         <http://lists.gnu.org/archive/html/bug-gnulib/2010-12/msg00130.html>.
27840
27841 2010-12-19  Bruno Haible  <bruno@clisp.org>
27842
27843         isnan: Ensure it is a macro.
27844         * lib/math.in.h (isnan): Define as a macro if not already a macro.
27845         * doc/posix-functions/isnan.texi: Mention problem on IRIX, OSF/1,
27846         Solaris.
27847
27848 2010-12-19  Bruno Haible  <bruno@clisp.org>
27849
27850         ldexpl test: Fix link error on OSF/1 5.1.
27851         * modules/ldexpl-tests (Makefile.am): Define test_ldexpl_LDADD.
27852
27853 2010-12-19  Bruno Haible  <bruno@clisp.org>
27854
27855         wctype: Make it work in C++ mode on OSF/1 5.1.
27856         * lib/wctype.in.h (iswblank): Declare but not define here.
27857         * lib/iswblank.c: New file, extracted from lib/wctype.in.h.
27858         * m4/wctype_h.m4 (gl_WCTYPE_H): Arrange to compile it if needed.
27859         * modules/wctype (Files): Add lib/iswblank.c.
27860
27861 2010-12-19  Bruno Haible  <bruno@clisp.org>
27862
27863         signal: Document problem with type of SIGRTMIN, SIGRTMAX on OSF/1 5.1.
27864         * doc/posix-headers/signal.texi: Document OSF/1 5.1 problem.
27865         * lib/strsignal.c (strsignal): Cast SIGRTMIN to 'int'.
27866
27867 2010-12-19  Bruno Haible  <bruno@clisp.org>
27868
27869         sys_socket: Use POSIX compatible declarations on OSF/1 5.1.
27870         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): On OSF/1, define
27871         _POSIX_PII_SOCKET.
27872         * doc/posix-functions/recv.texi: Document the OSF/1 problem.
27873         * doc/posix-functions/recvfrom.texi: Likewise.
27874         * doc/posix-functions/send.texi: Likewise.
27875         * doc/posix-functions/sendto.texi: Likewise.
27876
27877 2010-12-19  Bruno Haible  <bruno@clisp.org>
27878
27879         tcgetsid: Add missing declaration on OSF/1 5.1.
27880         * lib/termios.in.h (tcgetsid): Test HAVE_DECL_TCGETSID instead of
27881         HAVE_TCGETSID.
27882         * m4/tcgetsid.m4 (gl_FUNC_TCGETSID): Test whether tcgetsid is declared.
27883         Don't set HAVE_TCGETSID.
27884         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Initialize
27885         HAVE_DECL_TCGETSID, not HAVE_TCGETSID.
27886         * modules/termios (Makefile.am): Substitute HAVE_DECL_TCGETSID, not
27887         HAVE_TCGETSID.
27888         * doc/posix-functions/tcgetsid.texi: Mention the OSF/1 5.1 problem.
27889
27890 2010-12-19  Bruno Haible  <bruno@clisp.org>
27891
27892         stdio: Fix problem with popen() declaration on OSF/1 5.1.
27893         * lib/stdio.in.h: During the include_next statement, let recursive
27894         includes of this file include only the system header file.
27895
27896 2010-12-19  Bruno Haible  <bruno@clisp.org>
27897
27898         iconv_open: Fix regression from 2010-12-04.
27899         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Fix typo.
27900         Reported by Noah Lavine <noah.b.lavine@gmail.com>.
27901
27902 2010-12-19  Bruno Haible  <bruno@clisp.org>
27903
27904         stdbool test: Avoid a gcc warning.
27905         * tests/test-stdbool.c (main): Fail if e1 is false.
27906         Reported by Jim Meyering.
27907
27908 2010-12-19  Jim Meyering  <meyering@redhat.com>
27909
27910         setenv: restore to working order
27911         $HAVE_SETENV is used in gl_FUNC_SETENV, yet its definitions were
27912         mistakenly removed.
27913         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Restore code to set
27914         HAVE_SETENV.
27915         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Restore code to initialize
27916         HAVE_SETENV.
27917
27918 2010-12-19  Bruno Haible  <bruno@clisp.org>
27919
27920         Document some different function declarations on OSF/1 5.1.
27921         * doc/posix-functions/gai_strerror.texi: Mention different declaration.
27922         * doc/posix-functions/inet_ntop.texi: Likewise.
27923         * doc/posix-functions/gethostname.texi: Likewise.
27924         * lib/unistd.in.h (gethostname): Update comment.
27925
27926 2010-12-19  Bruno Haible  <bruno@clisp.org>
27927
27928         doc: Mention vasprintf-posix module.
27929         * doc/glibc-functions/asprintf.texi: Mention the workarounds present in
27930         the 'vasprintf-posix' module.
27931         * doc/glibc-functions/vasprintf.texi: Likewise.
27932
27933 2010-12-19  Bruno Haible  <bruno@clisp.org>
27934
27935         unsetenv: Add missing declaration on OSF/1 5.1.
27936         * lib/stdlib.in.h (setenv): Test HAVE_DECL_UNSETENV, not HAVE_UNSETENV.
27937         * m4/setenv.m4 (gl_FUNC_UNSETENV): Test whether unsetenv is declared.
27938         Don't set HAVE_UNSETENV. In the test program, set _BSD.
27939         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_UNSETENV,
27940         not HAVE_UNSETENV.
27941         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_UNSETENV, not
27942         HAVE_UNSETENV.
27943         * doc/posix-functions/unsetenv.texi: Mention the OSF/1 5.1 problem.
27944
27945 2010-12-19  Bruno Haible  <bruno@clisp.org>
27946
27947         setenv: Add missing declaration on OSF/1 5.1.
27948         * lib/stdlib.in.h (setenv): Test HAVE_DECL_SETENV, not HAVE_SETENV.
27949         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test whether setenv is
27950         declared. Don't set HAVE_SETENV.
27951         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_DECL_SETENV,
27952         not HAVE_SETENV.
27953         * modules/stdlib (Makefile.am): Substitute HAVE_DECL_SETENV, not
27954         HAVE_SETENV.
27955         * doc/posix-functions/setenv.texi: Mention the OSF/1 5.1 problem.
27956
27957 2010-12-19  Bruno Haible  <bruno@clisp.org>
27958
27959         nl_langinfo tests: Avoid gcc warning.
27960         * tests/test-nl_langinfo.c: Don't enable the GCC pragma for GCC 4.2.
27961
27962 2010-12-19  Bruno Haible  <bruno@clisp.org>
27963
27964         mknod: Avoid error in C++ mode on OSF/1 with GCC.
27965         * lib/sys_stat.in.h (mknod): Use _GL_CXXALIAS_SYS_CAST instead of
27966         _GL_CXXALIAS_SYS.
27967
27968 2010-12-19  Bruno Haible  <bruno@clisp.org>
27969
27970         stdbool: Relax test.
27971         * tests/test-stdbool.c (e): Don't require that casts from a variable's
27972         address to 'bool' work in static initializer, for compilers other than
27973         GCC.
27974
27975 2010-12-19  Bruno Haible  <bruno@clisp.org>
27976
27977         ftello: Add missing declaration on OSF/1 5.1.
27978         * lib/stdio.in.h (ftello): Test HAVE_DECL_FTELLO, not HAVE_FTELLO.
27979         * m4/ftello.m4 (gl_FUNC_FTELLO): Test whether ftello is declared.
27980         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FTELLO.
27981         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FTELLO.
27982         * doc/posix-functions/ftello.texi: Mention the OSF/1 5.1 problem.
27983
27984 2010-12-19  Bruno Haible  <bruno@clisp.org>
27985
27986         fseeko: Add missing declaration on OSF/1 5.1.
27987         * lib/stdio.in.h (fseeko): Test HAVE_DECL_FSEEKO, not HAVE_FSEEKO.
27988         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Test whether fseeko is declared.
27989         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_DECL_FSEEKO.
27990         * modules/stdio (Makefile.am): Substitute HAVE_DECL_FSEEKO.
27991         * doc/posix-functions/fseeko.texi: Mention the OSF/1 5.1 problem.
27992
27993 2010-12-19  Bruno Haible  <bruno@clisp.org>
27994
27995         fchdir: Add missing declaration on OSF/1 5.1.
27996         * lib/unistd.in.h (fchdir): Provide declaration if systems lacks it.
27997         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check whether fchdir is declared.
27998         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_DECL_FCHDIR.
27999         * modules/unistd (Makefile.am): Substitute HAVE_DECL_FCHDIR.
28000         * doc/posix-functions/fchdir.texi: Mention the OSF/1 5.1 problem.
28001
28002 2010-12-19  Bruno Haible  <bruno@clisp.org>
28003
28004         relocatable-prog-wrapper: Separate from relocatable-prog.
28005         * modules/relocatable-prog (Makefile.am): Define uninstall-hook and
28006         uninstall-relocwrapper rule here.
28007         * modules/relocatable-prog-wrapper (Makefile.am): ... not here.
28008         Reported by Ian Beckwith <ianb@erislabs.net>.
28009
28010 2010-12-19  Bruno Haible  <bruno@clisp.org>
28011
28012         unistr/u8-mbsnlen: Add missing dependency.
28013         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtouc.
28014         Reported by Ian Beckwith <ianb@erislabs.net>.
28015
28016 2010-12-19  Bruno Haible  <bruno@clisp.org>
28017
28018         iconv: Make it possible again to use this module without 'iconv-h'.
28019         * modules/iconv (configure.ac): Don't invoke gl_ICONV_MODULE_INDICATOR
28020         if it is not defined.
28021         Reported by Ian Beckwith <ianb@erislabs.net>.
28022
28023 2010-12-18  Paul Eggert  <eggert@cs.ucla.edu>
28024
28025         acl: port to Solaris 8 when copying from tmpfs to ufs
28026         * lib/copy-acl.c (qcopy_acl): Also allow EINVAL as an ignorable
28027         error number.  Problem observed on Solaris 8 with latest
28028         coreutils, with "mv A B", where A is on a tmpfs file system and B
28029         is on a ufs file system.  This caused coreutils' mv/part-symlink
28030         test to fail.
28031
28032         tests: set fail=0 at start
28033         * tests/init.sh (setup_): Move fail=0 initialization here ...
28034         (mktempd_): ... from here, so that tests can rely on fail being
28035         set to 0 initially.  This fixes a problem in coreutils; see:
28036         http://lists.gnu.org/archive/html/coreutils/2010-12/msg00083.html
28037
28038 2010-12-18  Bruno Haible  <bruno@clisp.org>
28039
28040         memmem-simple: Stylistic changes.
28041         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Avoid possible gcc warning.
28042         Fix preprocessor directive indentation.
28043
28044 2010-12-15  Pádraig Brady <P@draigBrady.com>
28045
28046         memmem, memmem-simple: reorganize and expand empty needle check
28047         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Move all
28048         functional checks to memmem-simple so that one has a fully functional
28049         memmem by using just this module.
28050         Restrict the performance only check to the memmem module.
28051         Also expand the empty needle check to ensure the correct
28052         pointer is returned, not just a non NULL pointer.
28053         * doc/glibc-functions/memmem.texi: Rearrange the portability
28054         documentation to correlate with the rearranged checks.
28055         Clarify exactly how the memmem and memmem-simple modules
28056         relate to each other.
28057
28058 2010-12-15  Pádraig Brady <P@draigBrady.com>
28059             Bruno Haible  <bruno@clisp.org>
28060
28061         Improve cross-compilation guesses for uClibc.
28062         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): When cross-compiling, assume
28063         that uClibc does not have the glibc bug.
28064         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Likewise.
28065         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE): Likewise.
28066
28067 2010-12-14  Eric Blake  <eblake@redhat.com>
28068
28069         configmake: provide fallbacks for oldest supported autotools
28070         * m4/configmake.m4: New file.
28071         * modules/configmake (Files): Ship it.
28072         (configure.ac): Use it to guarantee fallbacks.
28073
28074 2010-12-13  Pádraig Brady <P@draigBrady.com>
28075
28076         read-file: Improve handling of large files
28077         * lib/read-file.c (fread_file): Minimize realloc()s
28078         for regular files, and better manage sizes around SIZE_MAX.
28079
28080 2010-12-13  Eric Blake  <eblake@redhat.com>
28081
28082         cloexec, fcntl: relax license
28083         * modules/cloexec (License): Change from LGPLv3+ to LGPLv2+, with
28084         consent from all contributors.
28085         * modules/fcntl (License): Likewise.
28086
28087 2010-12-10  Bruno Haible  <bruno@clisp.org>
28088
28089         Tests for module 'pipe-posix'.
28090         * modules/pipe-posix-tests: New file.
28091         * tests/test-pipe.c: New file, based on tests/test-pipe2.c.
28092
28093 2010-12-10  Bruno Haible  <bruno@clisp.org>
28094
28095         pipe-posix: Make it work in C++ mode.
28096         * lib/unistd.in.h: Don't include <io.h>, <fcntl.h> for pipe.
28097         (pipe): Use common idiom, not a macro definition.
28098         * lib/pipe.c: New file.
28099         * m4/pipe.m4: New file.
28100         * modules/pipe-posix (Description): Enhance.
28101         (Files): Add lib/pipe.c, m4/pipe.m4.
28102         (configure.ac): Invoke gl_FUNC_PIPE.
28103         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_PIPE.
28104         * modules/unistd (Makefile.am): Substitute HAVE_PIPE.
28105         * tests/test-unistd-c++.cc: Check the signature of pipe.
28106
28107 2010-12-10  Bruno Haible  <bruno@clisp.org>
28108
28109         Rename module 'pipe' to 'spawn-pipe'.
28110         * modules/spawn-pipe: New file, renamed from modules/pipe.
28111         (Files, configure.ac, Makefile.am): Update.
28112         (Include): Mention "spawn-pipe.h" instead of "pipe.h".
28113         * modules/pipe: Reduce to an obsolete indirection to 'spawn-pipe'.
28114         * lib/spawn-pipe.h: New file, renamed from lib/pipe.h.
28115         * lib/spawn-pipe.c: New file, renamed from lib/pipe.c. Include
28116         "spawn-pipe.h" instead of "pipe.h".
28117         * m4/spawn-pipe.m4: New file, renamed from m4/pipe.m4. Rename gl_PIPE
28118         to gl_SPAWN_PIPE.
28119         * modules/spawn-pipe-tests: New file, renamed from modules/pipe-tests.
28120         (Files, Makefile.am): Update.
28121         * tests/test-spawn-pipe.sh: New file, renamed from tests/test-pipe.sh.
28122         Update.
28123         * tests/test-spawn-pipe.c: New file, renamed from tests/test-pipe.c.
28124         Include "spawn-pipe.h" instead of "pipe.h".
28125         * lib/csharpcomp.c: Include "spawn-pipe.h" instead of "pipe.h".
28126         * lib/javacomp.c: Likewise.
28127         * lib/javaversion.c: Likewise.
28128         * lib/pipe-filter-gi.c: Likewise.
28129         * lib/pipe-filter-ii.c: Likewise.
28130         * modules/csharpcomp (Depends-on): Add 'spawn-pipe', remove 'pipe'.
28131         * modules/javacomp (Depends-on): Likewise.
28132         * modules/javaversion (Depends-on): Likewise.
28133         * modules/pipe-filter-gi (Depends-on): Likewise.
28134         * modules/pipe-filter-ii (Depends-on): Likewise.
28135         * MODULES.html.sh (Executing programs): Update.
28136         * NEWS: Mention the change.
28137
28138 2010-12-10  Eric Blake  <eblake@redhat.com>
28139
28140         pipe-posix: new module
28141         * modules/pipe-posix: New file.
28142         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set default.
28143         (gl_UNISTD_H): Check for declaration.
28144         * modules/unistd (Makefile.am): Substitute it.
28145         * lib/unistd.in.h (pipe): Provide it for mingw.
28146         * doc/posix-functions/pipe.texi (pipe): Update documentation.
28147         * MODULES.html.sh (File descriptor based Input/Output): Likewise.
28148
28149 2010-12-07  Bruno Haible  <bruno@clisp.org>
28150
28151         unistr/u8-strcmp: Avoid collision with libc function on Solaris 11.
28152         * lib/unistr.in.h (u8_strcmp) [__sun]: Declare with real name
28153         u8_strcmp_gnu.
28154         * modules/unistr/u8-strcmp (configure.ac): Bump version number.
28155
28156 2010-12-06  Bruno Haible  <bruno@clisp.org>
28157
28158         Update internal documentation.
28159         * m4/README: Document new idioms for AC_RUN_IFELSE invocations.
28160
28161 2010-12-04  Bruno Haible  <bruno@clisp.org>
28162
28163         Put more information about failed tests into the test return codes.
28164         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Change test
28165         program so that it returns an enumerated value (0, 1, 2, 3, 4, ...).
28166         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
28167         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
28168         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Likewise.
28169         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28170         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28171         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
28172         * m4/isapipe.m4 (gl_PREREQ_ISAPIPE): Likewise.
28173         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
28174         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Likewise.
28175         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
28176         * m4/sleep.m4 (gl_FUNC_SLEEP): Likewise.
28177         * m4/stdint.m4 (gl_STDINT_H): Likewise.
28178         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Change test program so that it
28179         returns a bit mask.
28180         * m4/canonicalize.m4 (gl_FUNC_REALPATH_WORKS): Likewise.
28181         * m4/chown.m4 (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Likewise.
28182         * m4/dup2.m4 (gl_FUNC_DUP2): Likewise.
28183         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): Likewise.
28184         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
28185         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
28186         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
28187         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
28188         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
28189         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
28190         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
28191         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
28192         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
28193         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
28194         * m4/link.m4 (gl_FUNC_LINK): Likewise.
28195         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
28196         * m4/mbrlen.m4 (gl_MBRLEN_RETVAL): Likewise.
28197         * m4/mbrtowc.m4 (gl_MBRTOWC_RETVAL): Likewise.
28198         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
28199         * m4/memchr.m4 (gl_FUNC_MEMCHR): Likewise.
28200         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
28201         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
28202         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Likewise.
28203         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
28204         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
28205         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
28206         * m4/popen.m4 (gl_FUNC_POPEN): Likewise.
28207         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
28208         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
28209         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_LS,
28210         gl_PRINTF_PRECISION): Likewise.
28211         * m4/regex.m4 (gl_REGEX): Likewise.
28212         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
28213         * m4/rmdir.m4 (gl_FUNC_RMDIR): Likewise.
28214         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Likewise.
28215         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
28216         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
28217         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
28218         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Likewise.
28219         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Likewise.
28220         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
28221         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
28222         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
28223         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
28224         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
28225         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
28226         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
28227         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
28228         * m4/utimes.m4 (gl_FUNC_UTIMES): Likewise.
28229         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
28230         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
28231         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Likewise.
28232         (gl_FLOATTYPE_SIGN_LOCATION): Change test program so that it returns an
28233         enumerated value.
28234         * m4/acl.m4 (gl_ACL_GET_FILE): Use "if ... return 1; return 0;" style.
28235
28236 2010-12-04  Bruno Haible  <bruno@clisp.org>
28237
28238         Update for Solaris 11 2010-11.
28239         * doc/{glibc,posix}-{functions,headers}: Add info about Solaris 11
28240         Express, released in November 2010.
28241
28242 2010-12-04  Bruno Haible  <bruno@clisp.org>
28243
28244         nproc: Relax license.
28245         * modules/nproc (License): Change to LGPL, with consent by Glen Lenker
28246         and Paul Eggert.
28247         Requested by Ludovic Courtès <ludo@gnu.org>.
28248
28249 2010-12-01  Paul Eggert  <eggert@cs.ucla.edu>
28250
28251         utimecmp: fine-grained src to nearby coarse-grained dest
28252
28253         * lib/utimecmp.c (utimecmp): When UTIMECMP_TRUNCATE_SOURCE is set,
28254         and the source is on a file system with higher-resolution time
28255         stamps, than the destination, and _PC_TIMESTAMP_RESOLUTION does
28256         not work, and the time stamps are close together, the algorithm to
28257         determine the exact resolution from the read-back mtime was buggy:
28258         it had a "!=" where it should have had an "==".  This bug has been
28259         in the code ever since it was introduced to gnulib.
28260         Problem reported by Dan Jacobson in
28261         <http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7529>.
28262
28263 2010-11-30  Bruno Haible  <bruno@clisp.org>
28264
28265         strerror_r-posix: Fix autoconf test.
28266         * m4/strerror_r.m4 (gl_FUNC_STRERROR_R): Fix typo.
28267
28268 2010-11-28  Bruno Haible  <bruno@clisp.org>
28269             Paul Eggert  <eggert@cs.ucla.edu>
28270
28271         Tests for module 'getdomainname'.
28272         * modules/getdomainname-tests: New file.
28273         * tests/test-getdomainname.c: New file, based on
28274         tests/test-gethostname.c.
28275
28276 2010-11-28  Bruno Haible  <bruno@clisp.org>
28277             Paul Eggert  <eggert@cs.ucla.edu>
28278
28279         getdomainname: Use the system function when possible.
28280         * lib/unistd.in.h: Include <netdb.h>, for getdomainname's declaration.
28281         (getdomainname): Replace if needed. Provide the declaration if it is
28282         missing. Don't use _GL_CXXALIAS_SYS_CAST.
28283         * lib/getdomainname.c: Include <limits.h> and <sys/systeminfo.h>.
28284         (getdomainname): When the system has getdomainname, call the system
28285         function. When sysinfo (SI_SRPC_DOMAIN, ...) is possible, use that.
28286         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
28287         gl_HEADER_SYS_SOCKET and gl_HEADER_NETDB. Test whether the function is
28288         found in libnsl. Look for the declaration also in <netdb.h>. Replace
28289         the function if its second argument is of type 'int' or if it is found
28290         in libnsl.
28291         (gl_PREREQ_GETDOMAINNAME): Define HAVE_GETDOMAINNAME. Check for
28292         <sys/systeminfo.h> and sysinfo().
28293         * modules/getdomainname (Depends-on): Add netdb, sys_socket.
28294         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
28295         HAVE_DECL_GETDOMAINNAME and REPLACE_GETDOMAINNAME instead of
28296         HAVE_GETDOMAINNAME.
28297         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETDOMAINNAME and
28298         REPLACE_GETDOMAINNAME instead of HAVE_GETDOMAINNAME.
28299         * doc/glibc-functions/getdomainname.texi: Document the problems with
28300         the getdomainname declaration.
28301
28302 2010-11-28  Bruno Haible  <bruno@clisp.org>
28303
28304         sys_socket: Ensure ss_family field on AIX.
28305         * lib/sys_socket.in.h (ss_family): New macro definition.
28306         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Set
28307         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY. Set SYS_SOCKET_H if necessary.
28308         (gl_SYS_SOCKET_H_DEFAULTS): Initialize
28309         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
28310         * modules/sys_socket (Makefile.am): Substitute
28311         HAVE_STRUCT_SOCKADDR_STORAGE_SS_FAMILY.
28312         * doc/posix-headers/sys_socket.texi: Mention the AIX bug.
28313
28314 2010-11-27  Bruno Haible  <bruno@clisp.org>
28315
28316         readline: Improve configure output.
28317         * m4/readline.m4 (gl_FUNC_READLINE): Make the
28318         "checking for readline..." result understandable.
28319
28320 2010-11-27  Bruno Haible  <bruno@clisp.org>
28321
28322         *printf-posix: Detect a bug on Solaris 10/x86.
28323         * m4/printf.m4 (gl_PRINTF_PRECISION): Detect crash with large precision
28324         for floating-point output.
28325         * tests/test-vasnprintf-posix.c (test_function): Test precision with %f
28326         directive.
28327         * tests/test-snprintf-posix.h (test_function): Likewise.
28328         * tests/test-sprintf-posix.h (test_function): Likewise.
28329         * tests/test-vasprintf-posix.c (test_function): Likewise.
28330         * doc/posix-functions/fprintf.texi: Mention Solaris/x86 bug.
28331         * doc/posix-functions/printf.texi: Likewise.
28332         * doc/posix-functions/snprintf.texi: Likewise.
28333         * doc/posix-functions/sprintf.texi: Likewise.
28334         * doc/posix-functions/vfprintf.texi: Likewise.
28335         * doc/posix-functions/vprintf.texi: Likewise.
28336         * doc/posix-functions/vsnprintf.texi: Likewise.
28337         * doc/posix-functions/vsprintf.texi: Likewise.
28338         * doc/glibc-functions/obstack_printf.texi: Likewise.
28339         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
28340
28341 2010-11-27  Bruno Haible  <bruno@clisp.org>
28342
28343         Fix link error when module libunistring-optional is in use.
28344         * modules/striconveh-tests (Makefile.am): Link with $(LIBUNISTRING).
28345         * modules/striconveha-tests (Makefile.am): Likewise.
28346
28347 2010-11-27  Bruno Haible  <bruno@clisp.org>
28348
28349         regex: Mention link dependencies.
28350         * modules/regex (Link): New section.
28351         * modules/rpmatch (Link): Likewise.
28352         * modules/regex-quote-tests (Makefile.am): Link with $(LIBINTL).
28353
28354 2010-11-27  Bruno Haible  <bruno@clisp.org>
28355
28356         ftoastr: Fix compilation error on Solaris.
28357         * lib/ftoastr.c: Include <config.h>.
28358
28359 2010-11-27  Bruno Haible  <bruno@clisp.org>
28360
28361         getloadavg: Update documentation.
28362         * doc/glibc-functions/getloadavg.texi: Mention the Solaris problem.
28363
28364 2010-11-27  Bruno Haible  <bruno@clisp.org>
28365
28366         sys_socket: Fix test whether the functions are declared.
28367         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Include <sys/socket.h>,
28368         not <sys/select.h>.
28369
28370 2010-11-27  Bruno Haible  <bruno@clisp.org>
28371
28372         getpass: Make sure to get system declaration on some platforms.
28373         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU): Require
28374         gl_USE_SYSTEM_EXTENSIONS.
28375         * modules/getpass (Depends-on): Add extensions.
28376
28377 2010-11-26  Bruno Haible  <bruno@clisp.org>
28378
28379         iconv-h: Fix test-iconv-h-c++ failure on Solaris 11 2010-11.
28380         * lib/iconv.in.h (iconv_open, iconv, iconv_close): Define only if the
28381         'iconv' module is present.
28382         (ICONV_CONST): New macro.
28383         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize GNULIB_ICONV and
28384         ICONV_CONST.
28385         * m4/iconv.m4 (AM_ICONV): If the gnulib module 'iconv-h' is present,
28386         set ICONV_CONST.
28387         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Don't set ICONV_CONST
28388         here.
28389         * modules/iconv (configure.ac): Invoke gl_ICONV_MODULE_INDICATOR.
28390         * modules/iconv-h (Makefile.am): Substitute GNULIB_ICONV.
28391         * tests/test-iconv-h.c (ICONV_CONST): Don't define here.
28392         * tests/test-iconv-h-c++.cc (ICONV_CONST): Don't define here.
28393         (iconv_open, iconv, iconv_close): Test only if the 'iconv' module is
28394         present.
28395
28396 2010-11-25  Paul Eggert  <eggert@cs.ucla.edu>
28397
28398         ftoastr: comment fix
28399         * lib/ftoastr.c: "little" -> "little or no" in comment
28400
28401 2010-11-24  Paul Eggert  <eggert@cs.ucla.edu>
28402
28403         stdint: port to GCC 4.3 + OSX + Octave
28404         On this platform, stdint.h is buggy and defines int64_t to long
28405         long int.  The replacement defined it to long int, causing
28406         problems with C++ style name mangling.  Instead, trust the system
28407         definition if INT64_MAX is defined, and likewise for the unsigned
28408         variant.   Problem reported by Jarno Rajahalme in
28409         <http://lists.gnu.org/archive/html/bug-gnulib/2010-04/msg00143.html>.
28410         * lib/stdint.in.h (GL_INT64_T): Define if INT64_MAX is defined,
28411         and don't mess with int64_t and INT64_MAX in this case.
28412         (GL_UINT64_T): Likewise for UINT64_MAX and uint64_t.
28413
28414 2010-11-24  Bruno Haible  <bruno@clisp.org>
28415
28416         doc: Corrections regarding MacOS X 10.4 and 10.5.
28417         * doc/{glibc,posix,pastposix}-functions/*.texi: Update info about
28418         MacOS X.
28419         Reported by Simon Josefsson.
28420
28421 2010-11-22  Ben Pfaff  <blp@cs.stanford.edu>
28422
28423         Uninstall ".bin" files installed by relocwrapper.
28424         * modules/relocatable-prog-wrapper (uninstall-relocwrapper):
28425         Recursively run "make uninstall" with ".bin" prefixed to EXEEXT,
28426         unless it is already there.
28427
28428 2010-11-21  Bruno Haible  <bruno@clisp.org>
28429
28430         Update for NetBSD 5.0.
28431         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28432         NetBSD; the test fails on NetBSD 5.0.
28433         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28434         about NetBSD.
28435
28436 2010-11-21  Bruno Haible  <bruno@clisp.org>
28437
28438         Update for HP-UX 11.23 and HP-UX 11.31.
28439         * doc/{glibc,posix}-{headers,functions}/*.texi: Update info about
28440         HP-UX.
28441
28442 2010-11-21  Bruno Haible  <bruno@clisp.org>
28443
28444         Update for MacOS X 10.5.
28445         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Don't guess yes on
28446         MacOS X; the test fails on MacOS X 10.5.8.
28447         * doc/{glibc,posix,pastposix}-{headers,functions}/*.texi: Update info
28448         about MacOS X.
28449
28450 2010-11-20  Joel E. Denny  <joeldenny@joeldenny.org>
28451
28452         bootstrap: add bootstrap_sync option.
28453         See discussion at
28454         <http://lists.gnu.org/archive/html/bug-gnulib/2010-10/msg00369.html>,
28455         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00200.html>.
28456         * build-aux/bootstrap: Accept --bootstrap-sync to update
28457         bootstrap if it is not identical to the local gnulib's
28458         bootstrap.  Accept bootstrap_sync=true in bootstrap.conf to
28459         enable this by default.  Accept --no-bootstrap-sync to disable
28460         it.
28461
28462 2010-11-20  Bruno Haible  <bruno@clisp.org>
28463
28464         Ensure that <features.h> is included before __GLIBC__ is tested.
28465         * lib/printf-parse.h: Include <features.h>.
28466         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gl_FEATURES_H.
28467         Reported by Mike Frysinger <vapier@gentoo.org>.
28468
28469         Ensure that <features.h> is included before __GLIBC__ is tested.
28470         * lib/wchar.in.h: Include <features.h>.
28471         * m4/wchar_h.m4 (gl_WCHAR_H): Require gl_FEATURES_H.
28472         * modules/wchar (Makefile.am): Substitute HAVE_FEATURES_H.
28473         Reported by Mike Frysinger <vapier@gentoo.org>.
28474
28475         Ensure that <features.h> is included before __GLIBC__ is tested.
28476         * lib/arpa_inet.in.h: Include <features.h>.
28477         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Require gl_FEATURES_H.
28478         * modules/arpa_inet (Makefile.am): Substitute HAVE_FEATURES_H.
28479         Reported by Mike Frysinger <vapier@gentoo.org>.
28480
28481         Ensure that <features.h> is included before __GLIBC__ is tested.
28482         * build-aux/link-warning.h: Include <features.h>.
28483         * modules/link-warning (configure.ac): Require gl_FEATURES_H.
28484         (Makefile.am): Substitute HAVE_FEATURES_H into link-warning.h.
28485         Reported by Mike Frysinger <vapier@gentoo.org>.
28486
28487         Ensure that <features.h> is included before __GLIBC__ is tested.
28488         * m4/gnulib-common.m4 (gl_FEATURES_H): New macro.
28489         Reported by Mike Frysinger <vapier@gentoo.org>.
28490
28491 2010-11-20  Bruno Haible  <bruno@clisp.org>
28492
28493         memmem: Fix autoconf test.
28494         * m4/memmem.m4 (gl_FUNC_MEMMEM): Test HAVE_DECL_MEMMEM, not HAVE_MEMMEM.
28495
28496 2010-11-20  Bruno Haible  <bruno@clisp.org>
28497
28498         Port to uClibc.
28499         * build-aux/link-warning.h (GL_LINK_WARNING): Treat uClibc like glibc.
28500         * lib/fcntl.in.h: Likewise.
28501         * lib/hard-locale.c (GLIBC_VERSION): Likewise.
28502         * lib/mbrtowc.c (mbrtowc): Likewise.
28503         * lib/relocatable.c (find_shared_library_fullname): Likewise.
28504         * lib/strerror_r.c: Likewise.
28505         * lib/unistr/u8-strnlen.c: Likewise.
28506         * lib/vasnprintf.c (decimal_point_char): Likewise.
28507         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Likewise.
28508         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
28509         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
28510         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
28511         * tests/test-sigaction.c (handler, main): Likewise.
28512         * lib/freading.h: Treat uClibc like a non-glibc platform.
28513         * lib/freading.c: Likewise.
28514         * lib/gettext.h: Likewise.
28515         * lib/localename.c (gl_locale_name_thread_unsafe, HAVE_LOCALE_NULL):
28516         Likewise.
28517         * lib/printf-parse.h (FLAG_LOCALIZED): Likewise.
28518         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
28519         * lib/propername.c (proper_name_utf8): Likewise.
28520         * lib/spawn.in.h: Likewise.
28521         * lib/striconv.c (mem_cd_iconv, str_cd_iconv, str_iconv): Likewise.
28522         * lib/striconveh.c (iconveh_open, iconv_carefully, iconv_carefully_1,
28523         mem_cd_iconveh_internal): Likewise.
28524         * lib/striconveha.c (mem_iconveha, str_iconveha): Likewise.
28525         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
28526         strstr, strcasestr): Likewise.
28527         * lib/unicodeio.c (unicode_to_mb): Likewise.
28528         * lib/uniconv/u16-conv-from-enc.c (UTF16_NAME): Likewise.
28529         * lib/uniconv/u16-conv-to-enc.c (UTF16_NAME): Likewise.
28530         * lib/uniconv/u16-strconv-to-enc.c (UTF16_NAME): Likewise.
28531         * lib/uniconv/u32-conv-from-enc.c (UTF32_NAME): Likewise.
28532         * lib/uniconv/u32-conv-to-enc.c (UTF32_NAME): Likewise.
28533         * lib/uniconv/u32-strconv-to-enc.c (UTF32_NAME): Likewise.
28534         * lib/unistr/u8-stpncpy.c: Likewise.
28535         * lib/vasnprintf.c (VASNPRINTF): Likewise.
28536         * lib/xmalloc.c (HAVE_GNU_CALLOC): Likewise.
28537         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
28538         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
28539         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
28540         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Likewise.
28541         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Likewise.
28542         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Likewise.
28543         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE, gl_FUNC_STRCASESTR):
28544         Likewise.
28545         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
28546         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
28547         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
28548         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
28549         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
28550         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
28551         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
28552         * m4/wchar_h.m4 (gl_WCHAR_H): Likewise.
28553         * tests/test-getopt.h (OPTIND_MIN): Likewise.
28554         * tests/test-striconveha.c (main): Likewise.
28555         * tests/test-vasnprintf-posix.c (test_function): Likewise.
28556         * tests/test-vasnprintf-posix3.c (test_function, main): Likewise.
28557         * doc/posix-functions/getdelim.texi: Mention an uClibc bug.
28558         * doc/posix-functions/getline.texi: Likewise.
28559         Reported by Mike Frysinger <vapier@gentoo.org>.
28560
28561 2010-11-20  Bruno Haible  <bruno@clisp.org>
28562
28563         nproc: Fix condition.
28564         * lib/nproc.c: Test HAVE_PTHREAD_GETAFFINITY_NP, not
28565         HAVE_PTHREAD_AFFINITY_NP.
28566
28567 2010-11-20  Bruno Haible  <bruno@clisp.org>
28568
28569         Fix a comment.
28570         * lib/vasnprintf.c (VASNPRINTF): Fix comment.
28571
28572 2010-11-19  Paul Eggert  <eggert@cs.ucla.edu>
28573
28574         ftoastr: don't assume snprintf
28575         * lib/ftoastr.c (snprintf) [! GNULIB_SNPRINTF_POSIX]:
28576         Implement a subset of snprintf here, by using sprintf safely.
28577         * modules/ftoastr (Depends-on): Remove snprintf.
28578
28579 2010-11-19  Jim Meyering  <meyering@redhat.com>
28580
28581         test-rename.h: fix compilation failure
28582         * tests/test-rename.h (test_rename): Add omitted "}".
28583
28584 2010-11-17  Jim Meyering  <meyering@redhat.com>
28585
28586         maint.mk: add a URL discussing the no-@acronym policy
28587         * top/maint.mk (sc_texinfo_acronym): Add a URL in a comment.
28588
28589 2010-11-18  Paul Eggert  <eggert@cs.ucla.edu>
28590
28591         ftoastr: depend on snprintf, improve comments
28592         * lib/ftoastr.c: Also mention Loitsch's draft.
28593         * lib/ftoastr.h: Require WIDTH to be nonnegative.  This isn't
28594         needed in the current implementation, but it might simplify
28595         speeding up the code later.
28596         * modules/ftoastr: Depend on snprintf; this improves portability.
28597         Suggested by Bruno Haible in the same email.
28598
28599         ftoastr: port to hosts lacking strtof and strtold
28600         Problem reported by Bruno Haible in
28601         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00242.html>.
28602         * lib/ftoastr.c (STRTOF): Define to strtod if in a pre-C99
28603         environment and strtold (and presumably strtof) are not available.
28604         * modules/ftoastr (Files): Add m4/c-strtod.m4.
28605         (configure.ac): Require gl_C99_STRTOLD.
28606
28607 2010-11-18  Bruno Haible  <bruno@clisp.org>
28608
28609         c-strtold: Avoid link error on AIX 7.
28610         * lib/c-strtod.c: Test also HAVE_STRTOD_L or HAVE_STRTOLD_L.
28611         * m4/c-strtod.m4 (gl_C_STRTOD): Test whether strtod_l exists.
28612         (gl_C_STRTOLD): Test whether strtold_l exists.
28613         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
28614
28615 2010-11-17  Paul Eggert  <eggert@cs.ucla.edu>
28616
28617         intprops: new macro INT_BITS_STRLEN_BOUND
28618         * lib/intprops.h (INT_BITS_STRLEN_BOUND): New macro, needed by
28619         ftoastr.h.  This exposes an internal of intprops.h that was formerly
28620         not exposed.  Also, it uses a slightly tighter bound than before;
28621         though this makes no practical difference, we might as well be as
28622         tight as we easily can.
28623
28624         ftoastr: new module, for lossless conversion of floats to short strings
28625         * lib/ftoastr.h, lib/ftoastr.c, lib/dtoastr.c, lib/ldtoastr.c:
28626         * modules/ftoastr: New files.
28627
28628 2010-11-15  Paul Eggert  <eggert@cs.ucla.edu>
28629
28630         bootstrap: port to Solaris sed
28631         * build-aux/bootstrap (get_version): Port to Solaris sed.
28632         See Ralf Wildenhues's note in
28633         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00156.html>.
28634
28635 2010-11-14  Jim Meyering  <meyering@redhat.com>
28636
28637         maint.mk: rename variable: s/noteworthy/gl_noteworthy_news_/
28638         * top/maint.mk (gl_noteworthy_news_): Rename from "noteworthy"
28639         and move definition closer to sole use.
28640
28641 2010-11-13  Jim Meyering  <meyering@redhat.com>
28642
28643         remove autoconf-2.57 work-around requiring AC_PROG_EGREP and AC_PROG_CPP
28644         Now we require at least autoconf-2.59, which means the work-around
28645         is no longer needed.
28646         * m4/alloca.m4 (gl_FUNC_ALLOCA): Remove work-around.
28647         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
28648         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
28649         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
28650         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
28651
28652 2010-11-13  Bruno Haible  <bruno@clisp.org>
28653
28654         rename, renameat: Avoid test failures at NFS mounted locations.
28655         * tests/test-rename.h (dentry_exists, assert_nonexistent): New
28656         functions.
28657         (test_rename): Use assert_nonexistent.
28658         * tests/test-rename.c: Include <dirent.h>.
28659         * tests/test-renameat.c: Likewise.
28660         Reported by Gary V. Vaughan <gary@gnu.org>.
28661
28662         rename, renameat: Document Linux bug with NFS
28663         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00154.html>.
28664         * doc/posix-functions/rename.texi: Mention the NFS bug on Linux.
28665         * doc/posix-functions/renameat.texi: Likewise.
28666         Suggested by Eric Blake.
28667
28668 2010-11-13  Bruno Haible  <bruno@clisp.org>
28669
28670         rename test: Add comments.
28671         * tests/test-rename.h (test_rename): Add structure and comments.
28672
28673 2010-11-13  Eric Blake  <eblake@redhat.com>
28674
28675         maintainer-makefile: cover a few more files
28676         * top/maint.mk (sc_prohibit_test_double_equal): Also cover shell
28677         scripts generated within C files, for libvirt.
28678
28679 2010-11-13  Bruno Haible  <bruno@clisp.org>
28680
28681         unistr/u8-mbtouc: Improve handling of ill-formed UTF-8 input.
28682         * lib/unistr/u8-mbtouc.c (u8_mbtouc): For an invalid multibyte
28683         character, return the number of bytes that belong together, not always
28684         1.
28685         * lib/unistr/u8-mbtouc-unsafe.c (u8_mbtouc_unsafe): Likewise.
28686         * lib/unistr/u8-mbtouc-aux.c (u8_mbtouc_aux): Likewise.
28687         * lib/unistr/u8-mbtouc-unsafe-aux.c (u8_mbtouc_unsafe_aux): Likewise.
28688         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtouc to determine the
28689         number of bytes of an invalid character.
28690         * tests/unistr/test-u8-mbtouc.c (test_safe_function): New function.
28691         (main): Invoke it.
28692         * tests/unistr/test-u8-mbtouc.h (test_function): Update two test
28693         results.
28694         * tests/unistr/test-u8-mbsnlen.c (main): Test various kinds of
28695         malformed byte sequences.
28696         * modules/unistr/u8-mbtouc (configure.ac): Bump version number.
28697         * modules/unistr/u8-mbtouc-unsafe (configure.ac): Likewise.
28698         * modules/unistr/u8-mbsnlen (configure.ac): Likewise.
28699         Reported by Ben Pfaff and Paolo Bonzini.
28700
28701 2010-11-13  Bruno Haible  <bruno@clisp.org>
28702
28703         openat: Work around glibc bug with fchownat() and empty file names.
28704         * m4/openat.m4 (gl_FUNC_FCHOWNAT_EMPTY_FILENAME_BUG): New macro.
28705         (gl_FUNC_FCHOWNAT): Invoke it.
28706         * lib/fchownat.c (rpl_fchownat): Handle the empty file name specially.
28707         * doc/posix-functions/fchownat.texi: Document the glibc bug.
28708         Reported by Gary V. Vaughan <gary@gnu.org>.
28709
28710 2010-11-13  Bruno Haible  <bruno@clisp.org>
28711
28712         openat: Ensure autoconf macro ordering.
28713         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Require
28714         gl_USE_SYSTEM_EXTENSIONS.
28715         (gl_FUNC_FCHOWNAT): Require gl_UNISTD_H_DEFAULTS.
28716
28717 2010-11-13  Bruno Haible  <bruno@clisp.org>
28718
28719         Update comments.
28720         * lib/unistr/u8-check.c: Update file name in comments.
28721         * lib/unistr/u8-mblen.c: Likewise.
28722         * lib/unistr/u8-prev.c: Likewise.
28723         * lib/unistr/u8-strmblen.c: Likewise.
28724         * lib/unistr/u8-strmbtouc.c: Likewise.
28725
28726 2010-11-13  Jim Meyering  <meyering@redhat.com>
28727
28728         tests: avoid test failure on Solaris 10 due to lack of PATH export
28729         * tests/test-update-copyright.sh: Don't forget to export PATH.
28730
28731         init.sh: ensure that IFS is defined, just in case...
28732         * tests/init.sh (setup_): Ensure that IFS is defined,
28733         so that saving and restoring it works as expected.  This
28734         appears to be useful at least for an old version of dash
28735         from a long time ago (RH 6).  See here for details:
28736         http://thread.gmane.org/gmane.comp.gnu.coreutils.general/436/focus=455
28737
28738         maint.mk: tighten "test a == b" check
28739         * top/maint.mk (sc_prohibit_test_double_equal): Restrict this
28740         test to files that contain something like #!/bin/sh.
28741         Without this, coreutils would get two false positives in
28742         the comments of C source files.
28743
28744 2010-11-12  Eric Blake  <eblake@redhat.com>
28745
28746         bootstrap: fix typo in previous attempt
28747         * build-aux/bootstrap (buildreq): Correct the grouping.
28748         Reported by Paul Eggert.
28749
28750         maintainer-makefile: prohibit test x == x
28751         * top/maint.mk (sc_prohibit_test_double_equal): New rule.
28752         Based on a report by Matthias Bolte.
28753
28754         bootstrap: allow FreeBSD gzip
28755         * build-aux/bootstrap (get_version): Parse FreeBSD gzip version,
28756         which has no '.' and goes to stderr.
28757         * build-aux/bootstrap.conf (buildreq): Improve the sample file.
28758         Reported by Matthias Bolte.
28759
28760         maintainer-makefile: check for i18n setup
28761         * top/maint.mk (sc_bindtextdomain): Check for evidence that _()
28762         will likely work.
28763
28764 2010-11-12  Bruno Haible  <bruno@clisp.org>
28765
28766         sleep, nanosleep: Work around Linux 2.6.9 nanosleep bug.
28767         * lib/sleep.c (rpl_sleep): Split in chunks no larger than 24 days.
28768         * lib/nanosleep.c (nanosleep): Likewise.
28769
28770 2010-11-11  Bruno Haible  <bruno@clisp.org>
28771
28772         fcntl-h: Fix for use of C++ on glibc systems.
28773         * lib/fcntl.in.h: Include <sys/stat.h> before include_next <fcntl.h>
28774         also on glibc systems in C++ mode.
28775         Reported by Gary V. Vaughan <gary@gnu.org>.
28776
28777 2010-11-11  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
28778
28779         mknod: avoid false failure with dash
28780         * m4/mknod.m4 (gl_FUNC_MKNOD): Use portable shell syntax.
28781
28782 2010-11-11  Paul Eggert  <eggert@cs.ucla.edu>
28783
28784         unlink: Fix "is it should" typo in diagnostic.
28785         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix typo, as per Reuben Thomas in
28786         <http://lists.gnu.org/archive/html/bug-gnulib/2010-11/msg00106.html>.
28787
28788 2010-11-11  Bruno Haible  <bruno@clisp.org>
28789
28790         Tests for module 'strerror_r-posix'.
28791         * modules/strerror_r-posix-tests: New file.
28792         * tests/test-strerror_r.c: New file.
28793         * tests/test-string-c++.cc: Check the signature of strerror_r.
28794
28795         New module 'strerror_r-posix'.
28796         * lib/string.in.h (strerror_r): New declaration.
28797         * lib/strerror_r.c: New file.
28798         * m4/strerror_r.m4: New file.
28799         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Check for the declaration
28800         of strerror_r.
28801         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRERROR_R,
28802         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28803         * modules/strerror_r-posix: New file.
28804         * modules/string (Makefile.am): Substitute GNULIB_STRERROR_R,
28805         HAVE_DECL_STRERROR_R, REPLACE_STRERROR_R.
28806         * doc/posix-functions/strerror_r.texi: Mention the new module and the
28807         portability problems.
28808
28809 2010-11-11  Torsten Scheck  <Torsten.Scheck@Leica-Microsystems.com> (tiny change)
28810
28811         * build-aux/pmccabe2html: Fixed a off-by-one error, so last input
28812         line is also considered for output. Quoted function name in shell
28813         command, so temporary files for functions like MyClass::operator()
28814         are removed correctly without errors.
28815
28816 2010-11-09  Bruno Haible  <bruno@clisp.org>
28817
28818         * doc/posix-functions/strerror.texi: List more failing platforms.
28819
28820         * doc/posix-functions/strerror.texi: Add a comment.
28821
28822 2010-11-07  Paul Eggert  <eggert@cs.ucla.edu>
28823
28824         fdopendir: fix bug on MacOS X when low on file descriptors
28825
28826         * lib/fdopendir.c (REPLACE_FCHDIR): #define to 0 if not defined.
28827         (fdopendir_with_dup, fd_clone_opendir): Now have extra CWD arg.
28828         All callers changed.
28829         (fdopendir): Invoke save_cwd at the top level, not after using
28830         multiple dup() calls to use up file descriptors.  Then retry
28831         fdopendir_with_dup.  This avoids failure with EMFILE if FD is 1
28832         less than the maximum number of open file descriptors, because
28833         save_cwd fails with errno == EMFILE.  Problem reported by tsteven4
28834         on Mac OS X 10.6.4 for tar 1.24
28835         <http://lists.gnu.org/archive/html/bug-tar/2010-10/msg00084.html>
28836         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00000.html>
28837         and for tar 1.25
28838         <http://lists.gnu.org/archive/html/bug-tar/2010-11/msg00038.html>.
28839
28840 2010-11-07  Bruno Haible  <bruno@clisp.org>
28841
28842         vasnprintf: Support I flag on glibc systems.
28843         * lib/printf-parse.h (FLAG_LOCALIZED): New macro.
28844         * lib/printf-parse.c (PRINTF_PARSE): Handle the 'I' flag.
28845         * lib/vasnprintf.c (VASNPRINTF): Pass the 'I' flag on to the system's
28846         snprintf function.
28847         * tests/test-vasnprintf-posix.c (test_function): Test the 'I' flag on
28848         glibc systems.
28849         * tests/test-vasnprintf-posix3.c: New file.
28850         * modules/vasnprintf-posix-tests (Files): Add it.
28851         (TESTS, check_PROGRAMS): Add test-vasnprintf-posix3.
28852
28853 2010-11-05  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
28854
28855         [html] Fix copy/paste bug: Use unique name for compiler warnings.
28856         * MODULES.html.sh: For compiler warnings, use name
28857         `ansic_ext_compwarn' since `ansic_ext_misc' is already taken.
28858
28859 2010-11-05  Eric Blake  <eblake@redhat.com>
28860
28861         ceil, floor: avoid spurious failure with icc
28862         * tests/test-ceilf2.c (ceilf_reference): Avoid icc's use of DAZ
28863         [denormals-as-zero] when optimizing without -mieee-fp option.
28864         * tests/test-floorf2.c (floorf_reference): Likewise.
28865         * tests/test-ceilf1.c (dummy): New function.
28866         (main): Use it to outsmart icc's optimization.
28867         * tests/test-floorf1.c (dummy, main): Likewise.
28868
28869         tests: require working signbit
28870         * modules/ceilf-tests (Depends-on): Add signbit.
28871         * modules/ceill-tests (Depends-on): Likewise.
28872         * modules/floorf-tests (Depends-on): Likewise.
28873         * modules/floorl-tests (Depends-on): Likewise.
28874         * modules/round-tests (Depends-on): Likewise.
28875         * modules/roundf-tests (Depends-on): Likewise.
28876         * modules/roundl-tests (Depends-on): Likewise.
28877         * modules/trunc-tests (Depends-on): Likewise.
28878         * modules/truncf-tests (Depends-on): Likewise.
28879         * modules/truncl-tests (Depends-on): Likewise.
28880
28881         strtod: work around icc bug
28882         * lib/strtod.c (minus_zero): Define to working value.
28883         (strtod): Use it to avoid icc bug.
28884
28885         copysign: enhance tests
28886         * modules/copysign-tests (Files): Add minus-zero.h.
28887         * tests/test-copysign.c (main): Also test zeros.
28888
28889 2010-11-04  Eric Blake  <eblake@redhat.com>
28890
28891         ceil, floor, round, trunc: enhance tests of -0
28892         * tests/test-ceilf1.c (main): Ensure correct sign of result.
28893         * tests/test-ceill.c (main): Likewise.
28894         * tests/test-floorf1.c (main): Likewise.
28895         * tests/test-floorl.c (main): Likewise.
28896         * tests/test-round1.c (main): Likewise.
28897         * tests/test-roundf1.c (main): Likewise.
28898         * tests/test-roundl.c (main): Likewise.
28899         * tests/test-trunc1.c (main): Likewise.
28900         * tests/test-truncf1.c (main): Likewise.
28901         * tests/test-truncl.c (main): Likewise.
28902
28903 2010-11-04  Eric Blake  <eblake@redhat.com>
28904
28905         frexp, tests: work around ICC bug with -zero
28906         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Compute -0.0 in a way that
28907         works with more compilers.
28908         * tests/minus-zero.h: New file.
28909         * modules/ceilf-tests (Files): Include it.
28910         * modules/ceill-tests (Files): Likewise.
28911         * modules/floorf-tests (Files): Likewise.
28912         * modules/floorl-tests (Files): Likewise.
28913         * modules/frexp-nolibm-tests (Files): Likewise.
28914         * modules/frexp-tests (Files): Likewise.
28915         * modules/frexpl-nolibm-tests (Files): Likewise.
28916         * modules/frexpl-tests (Files): Likewise.
28917         * modules/isnan-tests (Files): Likewise.
28918         * modules/isnand-nolibm-tests (Files): Likewise.
28919         * modules/isnand-tests (Files): Likewise.
28920         * modules/isnanf-nolibm-tests (Files): Likewise.
28921         * modules/isnanf-tests (Files): Likewise.
28922         * modules/isnanl-nolibm-tests (Files): Likewise.
28923         * modules/isnanl-tests (Files): Likewise.
28924         * modules/round-tests (Files): Likewise.
28925         * modules/roundf-tests (Files): Likewise.
28926         * modules/roundl-tests (Files): Likewise.
28927         * modules/ldexpl-tests (Files): Likewise.
28928         * modules/signbit-tests (Files): Likewise.
28929         * modules/snprintf-posix-tests (Files): Likewise.
28930         * modules/sprintf-posix-tests (Files): Likewise.
28931         * modules/strtod-tests (Files): Likewise.
28932         * modules/trunc-tests (Files): Likewise.
28933         * modules/truncf-tests (Files): Likewise.
28934         * modules/truncl-tests (Files): Likewise.
28935         * modules/vsnprintf-posix-tests (Files): Likewise.
28936         * modules/vsprintf-posix-tests (Files): Likewise.
28937         * modules/vasnprintf-posix-tests (Files): Likewise.
28938         * modules/vasprintf-posix-tests (Files): Likewise.
28939         * tests/test-ceilf1.c (main): Use it.
28940         * tests/test-ceill.c (main): Likewise.
28941         * tests/test-floorf1.c (main): Likewise.
28942         * tests/test-floorl.c (main): Likewise.
28943         * tests/test-frexp.c (main): Likewise.
28944         * tests/test-frexpl.c (main): Likewise.
28945         * tests/test-isnan.c (main): Likewise.
28946         * tests/test-isnand.h (main): Likewise.
28947         * tests/test-isnanf.h (main): Likewise.
28948         * tests/test-isnanl.h (main): Likewise.
28949         * tests/test-ldexpl.c (main): Likewise.
28950         * tests/test-round.c (main): Likewise.
28951         * tests/test-roundf.c (main): Likewise.
28952         * tests/test-roundl.c (main): Likewise.
28953         * tests/test-signbit.c (test_signbitf, test_signbitd)
28954         (test_signbitl): Likewise.
28955         * tests/test-snprintf-posix.h (test_function): Likewise.
28956         * tests/test-sprintf-posix.h (test_function): Likewise.
28957         * tests/test-strtod.c (main): Likewise.
28958         * tests/test-trunc1.c (main): Likewise.
28959         * tests/test-truncf1.c (main): Likewise.
28960         * tests/test-truncl.c (main): Likewise.
28961
28962         isnanl: work around icc bug
28963         * lib/isnan.c (FUNC): Compute run-time NaN under ICC as well.
28964
28965 2010-11-03  Eric Blake  <eblake@redhat.com>
28966
28967         tests: fix compiler warnings
28968         * tests/test-getopt.h (test_getopt): Fix condition.
28969         * tests/test-getopt_long.h (test_getopt_long): Likewise.
28970         * tests/test-pipe2.c (main): Likewise.
28971         * tests/test-quotearg-simple.c (main): Avoid icc warning.
28972
28973         utimens: fix broken m4 test
28974         * m4/utimens.m4 (gl_UTIMENS): Include correct headers.
28975
28976 2010-10-28  Bruno Haible  <bruno@clisp.org>
28977
28978         posix_spawn*, getdtablesize: Relax license.
28979         * modules/posix_spawn (License): Change to LGPLv2+.
28980         * modules/posix_spawnp (License): Likewise.
28981         * modules/posix_spawn-internal (License): Likewise.
28982         * modules/posix_spawnattr_init (License): Likewise.
28983         * modules/posix_spawnattr_getflags (License): Likewise.
28984         * modules/posix_spawnattr_setflags (License): Likewise.
28985         * modules/posix_spawnattr_getpgroup (License): Likewise.
28986         * modules/posix_spawnattr_setpgroup (License): Likewise.
28987         * modules/posix_spawnattr_getschedparam (License): Likewise.
28988         * modules/posix_spawnattr_setschedparam (License): Likewise.
28989         * modules/posix_spawnattr_getschedpolicy (License): Likewise.
28990         * modules/posix_spawnattr_setschedpolicy (License): Likewise.
28991         * modules/posix_spawnattr_getsigdefault (License): Likewise.
28992         * modules/posix_spawnattr_setsigdefault (License): Likewise.
28993         * modules/posix_spawnattr_getsigmask (License): Likewise.
28994         * modules/posix_spawnattr_setsigmask (License): Likewise.
28995         * modules/posix_spawnattr_destroy (License): Likewise.
28996         * modules/posix_spawn_file_actions_init (License): Likewise.
28997         * modules/posix_spawn_file_actions_addclose (License): Likewise.
28998         * modules/posix_spawn_file_actions_adddup2 (License): Likewise.
28999         * modules/posix_spawn_file_actions_addopen (License): Likewise.
29000         * modules/posix_spawn_file_actions_destroy (License): Likewise.
29001         * modules/getdtablesize (License): Likewise.
29002         Requested by Adam Stokes <ajs@redhat.com> for use in netcf.
29003
29004 2010-10-26  Bruno Haible  <bruno@clisp.org>
29005
29006         unistd: Refine workaround from 2009-12-23 against Cygwin bug.
29007         * lib/unistd.in.h: Don't include <stdio.h> and <fcntl.h>, except on
29008         Cygwin and mingw.
29009         Suggested by Eric Blake.
29010
29011 2010-10-26  Bruno Haible  <bruno@clisp.org>
29012
29013         stdio: Work around compilation error due to renameat() on Solaris 10.
29014         * lib/stdio.in.h: Include <unistd.h> on Solaris.
29015         * lib/renameat.c: Don't include <unistd.h> here.
29016         * doc/posix-functions/renameat.texi: Mention the Solaris problem.
29017         Reported by Paul Eggert and Eric Blake.
29018
29019 2010-10-26  Paul Eggert  <eggert@cs.ucla.edu>
29020
29021         renameat: port to Solaris 10, which declares renameat in unistd.h
29022
29023         * lib/renameat.c: Include unistd.h before stdio.h, because
29024         Solaris 10 declares renameat in unistd.h.  Problem encountered
29025         when building GNU tar 1.24 on Solaris 10.
29026
29027 2010-10-26  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
29028
29029         fdopendir: fix C89 compilation
29030         * lib/fdopendir.c (fd_clone_opendir): Move declaration for older
29031         compilers.
29032
29033 2010-10-23  Paul Eggert  <eggert@cs.ucla.edu>
29034
29035         inttostr: simplify by removing unnecessary redundancy
29036         * lib/anytostr.c: Don't include verify.h.
29037         (anytostr): Don't verify that TYPE_SIGNED (inttype) equals
29038         inttype_is_signed.  Instead, disable the bogus GCC warnings, so that
29039         there's no need for inttype_is_signed and for calling TYPE_SIGNED.
29040         * lib/imaxtostr.c (inttype_is_signed): Remove; no longer needed.
29041         * lib/inttostr.c, lib/offtostr.c, lib/uinttostr.c, lib/umaxtostr.c:
29042         Likewise.
29043         * modules/inttostr (Depends-on): Remove 'verify'.
29044
29045 2010-10-23  Bruno Haible  <bruno@clisp.org>
29046
29047         nl_langinfo: Mention problem with CRNCYSTR on NetBSD 5.0.
29048         * doc/posix-functions/nl_langinfo.texi: Mention problem with CRNCYSTR.
29049         Reported by Eric Blake.
29050
29051 2010-10-23  Bruno Haible  <bruno@clisp.org>
29052
29053         Tests: Fix LOCALE_JA on MirBSD 10.
29054         * m4/locale-ja.m4 (gt_LOCALE_JA): Reject a locale identifier that leads
29055         to an UTF-8 locale.
29056         * m4/locale-fr.m4 (gt_LOCALE_FR): Likewise.
29057         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
29058         Reported by Eric Blake.
29059
29060 2010-10-21  Bruno Haible  <bruno@clisp.org>
29061
29062         nl_langinfo test: Avoid test failure on NetBSD 5.
29063         * tests/test-nl_langinfo.c (main): Relax test of nl_langinfo(CRNCYSTR).
29064         Reported by Eric Blake.
29065
29066 2010-10-21  Eric Blake  <eblake@redhat.com>
29067
29068         c-stack: work around libsigsegv 2.8 bug
29069         * lib/c-stack.c (SIGSTKSZ): Increase size to avoid alternate stack
29070         overflow on at least PowerPC64.
29071
29072 2010-10-17  Bruno Haible  <bruno@clisp.org>
29073
29074         userspec: Drop redundant file.
29075         * modules/userspec (Files): Remove lib/inttostr.h.
29076
29077 2010-10-17  Bruno Haible  <bruno@clisp.org>
29078
29079         nl_langinfo tests: Silence some warnings.
29080         * tests/test-nl_langinfo.c: Silence -Wtype-limits warnings.
29081         Reported by Jim Meyering.
29082
29083 2010-10-17  Bruno Haible  <bruno@clisp.org>
29084
29085         Make use of GCC's attribute __alloc_size__.
29086         * lib/xalloc.h (ATTRIBUTE_ALLOC_SIZE): New macro.
29087         (xmalloc, xzalloc, xcalloc, xrealloc, xmemdup, xnmalloc, xnrealloc,
29088         xcharalloc): Declare with ATTRIBUTE_ALLOC_SIZE.
29089         * lib/eealloc.h (eemalloc, eerealloc): Declare with attribute
29090         __alloc_size__.
29091         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
29092         Suggested by Jim Meyering.
29093
29094 2010-10-16  Joel E. Denny  <joeldenny@joeldenny.org>
29095
29096         bootstrap: anchor .gitignore entries.
29097         * build-aux/bootstrap (insert_sorted_if_absent): Replace all uses
29098         with...
29099         (insert_vc_ignore): ... this new function, which prepends `/' to
29100         all .gitignore entries before passing them to
29101         insert_sorted_if_absent.
29102
29103 2010-10-16  Bruno Haible  <bruno@clisp.org>
29104
29105         nextafter: Fix configure check.
29106         * modules/nextafter (configure.ac): Correct expected prototype.
29107
29108 2010-10-16  Bruno Haible  <bruno@clisp.org>
29109
29110         termios: Update documentation.
29111         * doc/posix-headers/termios.texi: Mention remaining mingw problems.
29112
29113 2010-10-16  Bruno Haible  <bruno@clisp.org>
29114
29115         tests: Make them compile with TinyCC.
29116         * tests/test-strstr.c (main): Remove parentheses around array
29117         initializer.
29118
29119 2010-10-15  Eric Blake  <eblake@redhat.com>
29120
29121         ignore-value: make header idempotent
29122         * lib/ignore-value.h: Add double-inclusion guards.
29123         Reported by Stefan Berger.
29124
29125 2010-10-15  Jim Meyering  <meyering@redhat.com>
29126
29127         GNUmakefile: handle "stable" target, not "major"
29128         * top/GNUmakefile (_is-dist-target): s/major/stable/ to match the
29129         lists in maint.mk and announce-gen.  Without this, "make stable"
29130         would fail to ensure that $(VERSION) is up to date.
29131
29132 2010-10-15  Ludovic Courtès  <ludo@gnu.org>
29133
29134         * lib/isnan.c (FUNC): Treat TinyCC (`__TINYC__') like `__SUNPRO_C'
29135         & co.
29136
29137 2010-10-14  Bruno Haible  <bruno@clisp.org>
29138
29139         vasnprintf: Don't set errno to 0.
29140         * lib/vasnprintf.c (VASNPRINTF): Save and restore errno around the
29141         block that sets it to 0.
29142         Reported by Gianluigi Tiesi <sherpya@netfarm.it>.
29143
29144 2010-10-14  Bruno Haible  <bruno@clisp.org>
29145
29146         socketlib: Fix.
29147         * modules/socketlib (Files): Add m4/sys_socket_h.m4. Needed for
29148         gl_PREREQ_SYS_H_WINSOCK2.
29149         Reported by Ian Beckwith <ianb@erislabs.net>.
29150
29151 2010-10-13  Jim Meyering  <meyering@redhat.com>
29152
29153         test-select-stdin.c: avoid warn_unused_result warnings
29154         * tests/test-select-stdin.c: Include "macros.h".
29155         ASSERT that read and fflush succeed.
29156
29157 2010-10-13  Jim Meyering  <meyering@redhat.com>
29158
29159         git-version-gen: do require git-VC'd files in cwd
29160         * build-aux/git-version-gen: Reject a git version string
29161         if there are no commits associated with the current directory.
29162         This avoids an unlikely false-positive (unrelated dir whose parent
29163         repository also contains a tag matching v*), as pointed out
29164         by Giuseppe Scrivano in
29165         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=23664
29166
29167 2010-10-13  Paul Eggert  <eggert@cs.ucla.edu>
29168
29169         argv-iter: omit nonconforming declaration
29170         * lib/argv-iter.h (enum argv_iter_err): Omit the useless
29171         enum arg_iter_err declaration, which doesn't conform to C99.
29172         Solaris 10 cc warns about this.
29173
29174 2010-10-13  Eric Blake  <eblake@redhat.com>
29175
29176         termios: fix compilation on mingw
29177         * m4/termios_h.m4 (gl_TERMIOS_H_DEFAULTS): Set default.
29178         (gl_TERMIOS_H): Adjust it on mingw.
29179         * modules/termios (Makefile.am): Substitute new key.
29180         * lib/termios.in.h (includes): Make include_next conditional.
29181         * doc/posix-headers/termios.texi (termios.h): Update
29182         documentation.
29183         Reported by Daniel P. Berrange.
29184
29185 2010-10-13  Jim Meyering  <meyering@redhat.com>
29186
29187         git-version-gen: don't require that .git/ be in the current dir
29188         * build-aux/git-version-gen: Adjust this script so that it works
29189         when run from any working directory beneath the top-level .git/-
29190         containing directory.  Inspired by a patch from Giuseppe Scrivano,
29191         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/21843/focus=21847
29192
29193         test-select: avoid warn_unused_result warnings
29194         * tests/test-select.c: Include "macros.h".
29195         ASSERT that each call to read, write, and pipe succeeds.
29196         While not technically required, also check each "close".
29197         * modules/select-tests (Files): Add tests/macros.h.
29198
29199         test-symlinkat: remove declaration of unused local
29200         * tests/test-symlinkat.c (main): Remove unused local, "buf".
29201
29202         test-inttostr: avoid shadowing warnings
29203         * tests/test-inttostr.c (main): Rename local, "buf" to "b",
29204         and use malloc rather than the stack for the same reason as
29205         mentioned in the comment justifying the other allocation.
29206
29207 2010-10-11  Bruno Haible  <bruno@clisp.org>
29208
29209         stdlib: Allow multiple gnulib generated replacements to coexist.
29210         * lib/stdlib.in.h (struct random_data): Avoid identical redefinition.
29211         Reported by Sam Steingold <sds@gnu.org>.
29212
29213 2010-10-11  Jim Meyering  <meyering@redhat.com>
29214
29215         fix a documentation typo
29216         * doc/posix-functions/futimens.texi (futimens): Fix typo: s/itme/item/
29217
29218 2010-10-11  Eric Blake  <eblake@redhat.com>
29219
29220         futimens: work around Solaris 11 bug
29221         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect the bug.
29222         * tests/test-futimens.h (test_futimens): Enhance, rather than
29223         weaken test.
29224         * doc/posix-functions/futimens.texi (futimens): Document the bug.
29225
29226 2010-10-11  Paul Eggert  <eggert@cs.ucla.edu>
29227
29228         Indentation.
29229         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Indent
29230         higher-level operators more to the left.
29231
29232 2010-10-11  Jim Meyering  <meyering@redhat.com>
29233
29234         test-futimens: avoid unwarranted test failure on Solaris 5.11
29235         * tests/test-futimens.h (test_futimens): When provoking EBADF, use an
29236         invalid file descriptor, so we don't provoke EFAULT from Solaris 5.11,
29237         because it tries to dereference the NULL name argument.
29238
29239 2010-10-11  Bruno Haible  <bruno@clisp.org>
29240
29241         Indentation.
29242         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Improve
29243         indentation.
29244
29245 2010-10-11  Jim Meyering  <meyering@redhat.com>
29246
29247         spawn.in.h: make indentation consistent with parentheses
29248         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap):
29249         Make indentation consistent with parentheses.
29250
29251 2010-10-11  Gary V. Vaughan  <gary@gnu.org>
29252
29253         Fix mismatched parens in previous commit
29254         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Fix mismatched
29255         parens.
29256
29257 2010-10-10  Paul Eggert  <eggert@cs.ucla.edu>
29258
29259         rewrite int foo[2*X-1] to verify(X) or to int foo[X?1:-1]
29260
29261         * lib/float+.h (verify_sizeof_flt, verify_sizeof_dbl):
29262         (verify_sizeof_ldbl): Rewrite 2*X-1 to X?1:-1.
29263         * lib/malloca.c: Include "verify.h".
29264         (verify1): Remove, replacing with a verify call.
29265         * lib/relocwrapper.c (verify1): Likewise.
29266         * lib/vasnprintf.c (mp_limb_verify, mp_twolimb_verify, TCHAR_T_verify):
29267         Likewise.
29268         * modules/malloca (Depends-on): Add 'verify'.
29269         * modules/relocatable-prog-wrapper (Depends-on): Add 'verify'.
29270         * modules/vasnprintf (Depends-on): Add 'verify'.
29271         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
29272         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
29273         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
29274         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
29275         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
29276         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
29277         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
29278
29279         prefer (X ? 1 : -1) when converting from boolean (1,0) to int (1,-1)
29280
29281         Formerly the style was sometimes 2*X - 1, because the C standard
29282         was wrongly thought to disallow ?: in integral constant expressions.
29283         * lib/inet_ntop.c (verify_int_size): Rewrite 2*X-7 (!) to 4<=X?1:-1.
29284         * lib/signal.in.h (verify_NSIG_constraint): Rewrite 2*X-1 to X?1:-1.
29285         * lib/spawn.in.h (verify_POSIX_SPAWN_USEVFORK_no_overlap): Likewise.
29286         * lib/stdint.in.h (_verify_intmax_size): Likewise.
29287         * lib/time.in.h (struct __time_t_must_be_integral): Rewrite
29288         2 * ((time_t) 1 / 2 == 0) - 1 to (time_t) 1; this suffices to
29289         verify that time_t cannot be floating.
29290
29291 2010-10-08  Eric Blake  <eblake@redhat.com>
29292
29293         time: enforce recent POSIX ruling that time_t is integral
29294         * lib/time.in.h (__time_t_must_be_integral): Detect any
29295         problematic systems, allowing the rest of gnulib to assume POSIX.
29296
29297 2010-10-08  Jim Meyering  <meyering@redhat.com>
29298
29299         fdopendir: fix a bug on systems lacking openat and /proc support
29300         OpenBSD 4.7 is one such system.  The most noticeable effect was
29301         failure of any application making nontrivial use of fts: rm, du,
29302         chown, chmod etc.  E.g., "mkdir -p a/b; ./rm -rf a" would fail with
29303           ./rm: traversal failed: `a': Bad file descriptor
29304         Debugging that, you see that even though FD 6 was closed just
29305         prior to the opendir call in fd_clone_opendir, its resulting
29306         dir->dd_fd was 8, rather than the expected value of 6:
29307
29308         Breakpoint 3, fdopendir_with_dup (fd=6, older_dupfd=-1) at fdopendir.c:93
29309         93                close (fd);
29310         (gdb) n
29311         94                dir = fd_clone_opendir (dupfd);
29312         (gdb) n
29313         95                saved_errno = errno;
29314         (gdb) p dir->dd_fd
29315         $11 = 8
29316
29317         Notice how it closes FD 6, then gets a DIR* pointer using FD 8.
29318         The problem is that on OpenBSD, fd_clone_opendir has to resort
29319         to using the old-style save/restore CWD mechanism, due to its
29320         lack of openat/proc support, and *that* would steal the FD (6)
29321         that opendir was supposed to use.
29322
29323         The fix is to squirrel away the desired FD so that save_cwd uses a
29324         different one, and then free the dest FD right before calling opendir.
29325         That guarantees opendir will use the required file descriptor.
29326
29327         * lib/fdopendir.c (fd_clone_opendir): Handle the above.
29328
29329 2010-10-08  Bruno Haible  <bruno@clisp.org>
29330
29331         sys_select: Avoid warning due to undeclared memset() on OpenBSD 4.5.
29332         * lib/sys_select.in.h: Include <string.h> also on OpenBSD.
29333
29334 2010-10-08  Bruno Haible  <bruno@clisp.org>
29335
29336         nanosleep: Make replacement POSIX compliant.
29337         * lib/nanosleep.c (nanosleep): Return -1/EINVAL if the delay's tv_nsec
29338         is out of range.
29339         Reported by Jim Meyering.
29340
29341 2010-10-08  Paul Eggert  <eggert@cs.ucla.edu>
29342
29343         bootstrap: add hook for altering gnulib.mk, for Bison
29344         * build-aux/bootstrap (gnulib_mk_hook): New function, so that
29345         the Bison bootstrapping process can rewrite file names and variables
29346         in this file before later parts of 'bootstrap' use the file.
29347         Bison wants to include lib/gnulib.mk from the top-level makefile,
29348         so it needs the file names in this file to be relative to the top
29349         level, not relative to lib; plus it needs variable names to be
29350         rewritten.
29351         (slurp): Use the new function.
29352
29353         bootstrap: reformat for readability
29354         * build-aux/bootstrap: Rewrite to avoid lines longer than 80 columns.
29355
29356 2010-10-08  Eric Blake  <eblake@redhat.com>
29357
29358         docs: update cygwin progress
29359         * doc/posix-functions/cacos.texi (cacos): Added after cygwin
29360         1.7.7.
29361         * doc/posix-functions/cacosf.texi (cacosf): Likewise.
29362         * doc/posix-functions/cacosh.texi (cacosh): Likewise.
29363         * doc/posix-functions/cacoshf.texi (cacoshf): Likewise.
29364         * doc/posix-functions/carg.texi (carg): Likewise.
29365         * doc/posix-functions/cargf.texi (cargf): Likewise.
29366         * doc/posix-functions/casin.texi (casin): Likewise.
29367         * doc/posix-functions/casinf.texi (casinf): Likewise.
29368         * doc/posix-functions/casinh.texi (casinh): Likewise.
29369         * doc/posix-functions/casinhf.texi (casinhf): Likewise.
29370         * doc/posix-functions/catan.texi (catan): Likewise.
29371         * doc/posix-functions/catanf.texi (catanf): Likewise.
29372         * doc/posix-functions/catanh.texi (catanh): Likewise.
29373         * doc/posix-functions/catanhf.texi (catanhf): Likewise.
29374         * doc/posix-functions/ccos.texi (ccos): Likewise.
29375         * doc/posix-functions/ccosf.texi (ccosf): Likewise.
29376         * doc/posix-functions/ccosh.texi (ccosh): Likewise.
29377         * doc/posix-functions/ccoshf.texi (ccoshf): Likewise.
29378         * doc/posix-functions/cexp.texi (cexp): Likewise.
29379         * doc/posix-functions/cexpf.texi (cexpf): Likewise.
29380         * doc/posix-functions/cimag.texi (cimag): Likewise.
29381         * doc/posix-functions/cimagf.texi (cimagf): Likewise.
29382         * doc/posix-functions/clog.texi (clog): Likewise.
29383         * doc/posix-functions/clogf.texi (clogf): Likewise.
29384         * doc/posix-functions/conj.texi (conj): Likewise.
29385         * doc/posix-functions/conjf.texi (conjf): Likewise.
29386         * doc/posix-functions/cpow.texi (cpow): Likewise.
29387         * doc/posix-functions/cpowf.texi (cpowf): Likewise.
29388         * doc/posix-functions/cproj.texi (cproj): Likewise.
29389         * doc/posix-functions/cprojf.texi (cprojf): Likewise.
29390         * doc/posix-functions/creal.texi (creal): Likewise.
29391         * doc/posix-functions/crealf.texi (crealf): Likewise.
29392         * doc/posix-functions/csin.texi (csin): Likewise.
29393         * doc/posix-functions/csinf.texi (csinf): Likewise.
29394         * doc/posix-functions/csinh.texi (csinh): Likewise.
29395         * doc/posix-functions/csinhf.texi (csinhf): Likewise.
29396         * doc/posix-functions/csqrt.texi (csqrt): Likewise.
29397         * doc/posix-functions/csqrtf.texi (csqrtf): Likewise.
29398         * doc/posix-functions/ctan.texi (ctan): Likewise.
29399         * doc/posix-functions/ctanf.texi (ctanf): Likewise.
29400         * doc/posix-functions/ctanh.texi (ctanh): Likewise.
29401         * doc/posix-functions/ctanhf.texi (ctanhf): Likewise.
29402         * doc/posix-headers/complex.texi (complex.h): Likewise.
29403
29404 2010-10-07  Jim Meyering  <meyering@redhat.com>
29405
29406         parse-datetime: avoid compilation failure on OpenBSD 4.7
29407         * lib/parse-datetime.y (_STDLIB_H) [_STDLIB_H_]: Define.
29408         This works around a compilation failure on OpenBSD 4.7:
29409         http://thread.gmane.org/gmane.comp.parsers.bison.bugs/3418
29410
29411 2010-10-07  Eric Blake  <eblake@redhat.com>
29412
29413         docs: update cygwin progress
29414         * doc/glibc-functions/mkostemp.texi (mkostemp): Added in cygwin
29415         1.7.6.
29416         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
29417         * doc/posix-headers/fenv.texi (fenv.h): Added after cygwin 1.7.7.
29418         * doc/posix-functions/feclearexcept.texi (feclearexcept): Likewise.
29419         * doc/posix-functions/fegetenv.texi (fegetenv): Likewise.
29420         * doc/posix-functions/fegetexceptflag.texi (fegetexceptflag):
29421         Likewise.
29422         * doc/posix-functions/fegetround.texi (fegetround): Likewise.
29423         * doc/posix-functions/feholdexcept.texi (feholdexcept): Likewise.
29424         * doc/posix-functions/feraiseexcept.texi (feraiseexcept):
29425         Likewise.
29426         * doc/posix-functions/fesetenv.texi (fesetenv): Likewise.
29427         * doc/posix-functions/fesetexceptflag.texi (fesetexceptflag):
29428         Likewise.
29429         * doc/posix-functions/fesetround.texi (fesetround): Likewise.
29430         * doc/posix-functions/fetestexcept.texi (fetestexcept): Likewise.
29431         * doc/posix-functions/feupdateenv.texi (feupdateenv): Likewise.
29432         * doc/glibc-functions/feenableexcept.texi (feenableexcept):
29433         Likewise.
29434         * doc/glibc-functions/fedisableexcept.texi (fedisableexcept):
29435         Likewise.
29436         * doc/glibc-functions/fegetexcept.texi (fegetexcept): Likewise.
29437
29438         docs: update parse-datetime history
29439         * doc/parse-datetime.texi (Authors of parse_datetime): Better
29440         documentation of this function's history and alternatives.
29441
29442         cygwin: use more robust version check
29443         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE, gl_FUNC_MEMMEM): Don't
29444         exclude an eventual cygwin 1.9.1.
29445         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29446         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29447         (gl_FUNC_STRCASESTR): Likewise.
29448         Reported by Bruno Haible.
29449
29450 2010-10-06  Bruno Haible  <bruno@clisp.org>
29451
29452         string, sys_select: Avoid #including large headers unless necessary.
29453         * lib/string.in.h: Don't include <unistd.h> except on NetBSD.
29454         * lib/sys_select.in.h: Don't include <string.h> except on Solaris,
29455         OSF/1, BeOS, Haiku.
29456         Reported by Jim Meyering.
29457
29458 2010-10-05  Eric Blake  <eblake@redhat.com>
29459
29460         memmem, strstr, strcasestr: fix bug with long periodic needle
29461         * lib/str-two-way.h (two_way_long_needle): Avoid bug with long
29462         periodic needle having false positive.
29463         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): Detect bug in glibc 2.12
29464         and cygwin 1.7.7.
29465         (gl_FUNC_MEMMEM): Be more pessimistic when cross-compiling.
29466         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE)
29467         (gl_FUNC_STRCASESTR): Likewise.
29468         * m4/strstr.m4 (gl_FUNC_STRSTR_SIMPLE, gl_FUNC_STRSTR): Likewise.
29469         * tests/test-memmem.c (main): Expose the bug.
29470         * tests/test-strcasestr.c (main): Likewise.
29471         * tests/test-strstr.c (main): Likewise.
29472         * tests/test-c-strcasestr.c (main): Likewise.
29473         * doc/glibc-functions/memmem.texi (memmem): Document the bug.
29474         * doc/posix-functions/strstr.texi (strstr): Likewise.
29475         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
29476         Reported via http://sourceware.org/bugzilla/show_bug.cgi?id=12092
29477
29478 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29479
29480         parse-datetime: do some more renaming
29481         * doc/parse-datetime.texi (Authors of parse_datetime): Call it
29482         parse_datetime, not get_date.  Mention the renaming.
29483         * lib/parse-datetime.y:  Call it parse_datetime, not getdate,
29484         in comments.
29485         * m4/bison.m4: Likewise.
29486
29487 2010-10-05  Eric Blake  <eblake@redhat.com>
29488
29489         parse-datetime: better name than get_date
29490         * NEWS: Reword the deprecation notice.
29491         * modules/get_date: Rename to modules/parse-datetime.
29492         * modules/get_date-tests: Rename to modules/parse-datetime-tests.
29493         * m4/get_date.m4: Rename to m4/parse-datetime.m4.
29494         * lib/get_date.y: Rename to lib/parse-datetime.y.
29495         * tests/test-get_date.c: Rename to tests/test-parse-datetime.c.
29496         * doc/get_date.texi: Rename to doc/parse-datetime.texi.
29497         * doc/getdate.texi: Provide fallback wrapper.
29498         * lib/getdate.h: Move guts, and wrap...
29499         * lib/parse-datetime.h: ...new file.
29500         * lib/parse-datetime.y (get_date): Rename...
29501         (parse_datetime): ...to this.
29502         * m4/parse-datetime.m4 (gl_GET_DATE): Rename...
29503         (gl_PARSE_DATETIME): ...to this.
29504         * doc/posix-functions/getdate.texi (get_date): Provide fallback
29505         documentation.
29506         * modules/getdate (Files): Provide fallback docs and header.
29507         (Notice, Depends-on): Update references.
29508         * tests/test-parse-datetime.c: Likewise.
29509         * DEPENDENCIES: Likewise.
29510         * MODULES.html.sh (Date and time <time.h>): Likewise.
29511         * doc/parse-datetime.texi (Date input formats)
29512         (Authors of parse_datetime): Likewise.
29513         * modules/parse-datetime (Files, configure.ac, Makefile.am)
29514         (Include): Likewise.
29515         * modules/parse-datetime-tests (Files, Makefile.am): Likewise.
29516         * gnulib-tool: Likewise.
29517         * m4/bison.m4 (gl_BISON): Likewise.
29518         Suggested by Bruno Haible.
29519
29520 2010-10-05  Paul Eggert  <eggert@cs.ucla.edu>
29521
29522         more ports to Solaris tr, which needs [] around ranges
29523         * gnulib-tool: Solaris tr needs [] around ranges.
29524         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX): Likewise.
29525         * tests/test-pipe-filter-gi1.c (main): Likewise.
29526         * tests/test-pipe-filter-ii1.c (main): Likewise.
29527
29528 2010-10-05  Eric Blake  <eblake@redhat.com>
29529
29530         bootstrap: fix Solaris regression
29531         * build-aux/bootstrap (check_versions): Solaris tr still needs []
29532         around ranges.
29533         Reported by Pádraig Brady.
29534
29535         bootstrap: work with pkg-config
29536         * build-aux/bootstrap (check_versions): Also transliterate - in
29537         prerequisite name.
29538         (print_versions): Be robust to any \ in $buildreq.  Avoid listing
29539         prerequisites that were already found, to avoid confusion.
29540         Reported by Justin Clift.
29541
29542         faccessat: remove unused wrappers
29543         * lib/openat.h (accessat, euidaccesat): Delete, since the mere
29544         presence of these wrappers dragged in -lgen on Solaris.
29545         Reported by Clemens Brogi; fix suggested by Paul Eggert.
29546
29547 2010-10-05  Jim Meyering  <meyering@redhat.com>
29548
29549         tests: require @PRAGMA_COLUMNS@ with each @PRAGMA_SYSTEM_HEADER@
29550         * Makefile (sc_pragma_columns): New syntax-check rule.
29551
29552 2010-10-04  Bruno Haible  <bruno@clisp.org>
29553
29554         gnulib-tool: Synthesize appropriate _LDFLAGS for a libtool library.
29555         * gnulib-tool (func_emit_lib_Makefile_am): When preparing for a libtool
29556         library, put '-no-undefined' and the link dependencies into _LDFLAGS.
29557         Reported by Bruce Korb and Eric Blake.
29558
29559 2010-10-04  Bruno Haible  <bruno@clisp.org>
29560
29561         threadlib: Make option --with-libpth-prefix work.
29562         * m4/threadlib.m4 (gl_THREADLIB_BODY): When testing whether pth works,
29563         use $LIBPTH, not just -lpth.
29564
29565 2010-10-04  Bruno Haible  <bruno@clisp.org>
29566
29567         Avoid line length limitation from HP NonStop system header files.
29568         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define also PRAGMA_COLUMNS.
29569         * lib/arpa_inet.in.h: Use PRAGMA_COLUMNS.
29570         * lib/ctype.in.h: Likewise.
29571         * lib/dirent.in.h: Likewise.
29572         * lib/errno.in.h: Likewise.
29573         * lib/fcntl.in.h: Likewise.
29574         * lib/float.in.h: Likewise.
29575         * lib/getopt.in.h: Likewise.
29576         * lib/iconv.in.h: Likewise.
29577         * lib/inttypes.in.h: Likewise.
29578         * lib/langinfo.in.h: Likewise.
29579         * lib/locale.in.h: Likewise.
29580         * lib/math.in.h: Likewise.
29581         * lib/netdb.in.h: Likewise.
29582         * lib/netinet_in.in.h: Likewise.
29583         * lib/poll.in.h: Likewise.
29584         * lib/pthread.in.h: Likewise.
29585         * lib/pty.in.h: Likewise.
29586         * lib/sched.in.h: Likewise.
29587         * lib/se-selinux.in.h: Likewise.
29588         * lib/search.in.h: Likewise.
29589         * lib/signal.in.h: Likewise.
29590         * lib/spawn.in.h: Likewise.
29591         * lib/stdarg.in.h: Likewise.
29592         * lib/stddef.in.h: Likewise.
29593         * lib/stdint.in.h: Likewise.
29594         * lib/stdio.in.h: Likewise.
29595         * lib/stdlib.in.h: Likewise.
29596         * lib/string.in.h: Likewise.
29597         * lib/strings.in.h: Likewise.
29598         * lib/sys_file.in.h: Likewise.
29599         * lib/sys_ioctl.in.h: Likewise.
29600         * lib/sys_select.in.h: Likewise.
29601         * lib/sys_socket.in.h: Likewise.
29602         * lib/sys_stat.in.h: Likewise.
29603         * lib/sys_time.in.h: Likewise.
29604         * lib/sys_times.in.h: Likewise.
29605         * lib/sys_utsname.in.h: Likewise.
29606         * lib/sys_wait.in.h: Likewise.
29607         * lib/sysexits.in.h: Likewise.
29608         * lib/termios.in.h: Likewise.
29609         * lib/time.in.h: Likewise.
29610         * lib/unistd.in.h: Likewise.
29611         * lib/wchar.in.h: Likewise.
29612         * lib/wctype.in.h: Likewise.
29613         * modules/arpa_inet (Makefile.am): Substitute PRAGMA_COLUMNS.
29614         * modules/ctype (Makefile.am): Likewise.
29615         * modules/dirent (Makefile.am): Likewise.
29616         * modules/errno (Makefile.am): Likewise.
29617         * modules/fcntl-h (Makefile.am): Likewise.
29618         * modules/float (Makefile.am): Likewise.
29619         * modules/getopt-posix (Makefile.am): Likewise.
29620         * modules/iconv-h (Makefile.am): Likewise.
29621         * modules/inttypes (Makefile.am): Likewise.
29622         * modules/langinfo (Makefile.am): Likewise.
29623         * modules/locale (Makefile.am): Likewise.
29624         * modules/math (Makefile.am): Likewise.
29625         * modules/netdb (Makefile.am): Likewise.
29626         * modules/netinet_in (Makefile.am): Likewise.
29627         * modules/poll-h (Makefile.am): Likewise.
29628         * modules/pthread (Makefile.am): Likewise.
29629         * modules/pty (Makefile.am): Likewise.
29630         * modules/sched (Makefile.am): Likewise.
29631         * modules/search (Makefile.am): Likewise.
29632         * modules/selinux-h (Makefile.am): Likewise.
29633         * modules/signal (Makefile.am): Likewise.
29634         * modules/spawn (Makefile.am): Likewise.
29635         * modules/stdarg (Makefile.am): Likewise.
29636         * modules/stddef (Makefile.am): Likewise.
29637         * modules/stdint (Makefile.am): Likewise.
29638         * modules/stdio (Makefile.am): Likewise.
29639         * modules/stdlib (Makefile.am): Likewise.
29640         * modules/string (Makefile.am): Likewise.
29641         * modules/strings (Makefile.am): Likewise.
29642         * modules/sys_file (Makefile.am): Likewise.
29643         * modules/sys_ioctl (Makefile.am): Likewise.
29644         * modules/sys_select (Makefile.am): Likewise.
29645         * modules/sys_socket (Makefile.am): Likewise.
29646         * modules/sys_stat (Makefile.am): Likewise.
29647         * modules/sys_time (Makefile.am): Likewise.
29648         * modules/sys_times (Makefile.am): Likewise.
29649         * modules/sys_utsname (Makefile.am): Likewise.
29650         * modules/sys_wait (Makefile.am): Likewise.
29651         * modules/sysexits (Makefile.am): Likewise.
29652         * modules/termios (Makefile.am): Likewise.
29653         * modules/time (Makefile.am): Likewise.
29654         * modules/unistd (Makefile.am): Likewise.
29655         * modules/wchar (Makefile.am): Likewise.
29656         * modules/wctype (Makefile.am): Likewise.
29657
29658 2010-10-04  Bruno Haible  <bruno@clisp.org>
29659
29660         read-file tests: Avoid a test failure on NonStop Kernel.
29661         * tests/test-read-file.c (main): Don't assume that /etc/resolv.conf is
29662         a regular file.
29663         Reported by Joachim Schmitz <schmitz@hp.com>.
29664
29665 2010-10-03  Bruno Haible  <bruno@clisp.org>
29666
29667         gnulib-tool: Fixes for --create-testdir with --libtool.
29668         * gnulib-tool (func_get_automake_snippet): Don't augment
29669         EXTRA_lib_SOURCES for the pt_chown module, since pt_chown.o goes into
29670         an executable.
29671         (func_create_testdir): Handle module 'alloca' like func_import.
29672         Reported by Bruce Korb <bruce.korb@gmail.com>.
29673
29674 2010-10-03  Paul Eggert  <eggert@cs.ucla.edu>
29675
29676         Avoid some lines longer than 80 characters.
29677         * lib/stdint.in.h: Break long comment lines.
29678         * lib/math.in.h: Likewise.
29679         (_GL_NUM_UINT_WORDS): New macro, for readability.
29680         (gl_signbitf, gl_signbitd, gl_signbitl): Use it.
29681         * lib/stdio.in.h: Break lines in _GL_WARN_ON_USE calls.
29682         * lib/stdlib.in.h: Likewise.
29683         * lib/spawn.in.h: Likewise.
29684         * lib/sys_socket.in.h: Update an URL.
29685         * lib/sys_stat.in.h: Break long line.
29686
29687 2010-10-03  Reuben Thomas  <rrt@sc3d.org>
29688
29689         Improve pmccabe2html.
29690         * build-aux/pmccabe2html: Add CYCLO_SRCS variable, and make
29691         cyclo-$(PACKAGE).html depend on it, so the HTML file is remade
29692         when the sources change. Remove the line in the HTML about "Used
29693         ranges" (which implied that there might be other unused ranges),
29694         rename "Resume" to "Summary" (easier to understand for more users).
29695         * build-aux/pmccabe.css: Removing the dashed dividers, some unused
29696         styles, and some unnecessary blank lines.
29697
29698 2010-10-03  Bruno Haible  <bruno@clisp.org>
29699             Joachim Schmitz  <schmitz@hp.com>  (tiny change)
29700
29701         acl: Add support for ACLs on NonStop Kernel.
29702         * m4/acl.m4 (gl_FUNC_ACL): For Solaris, test for facl(), not for acl().
29703         Check whether the function aclsort() exists.
29704         * lib/acl-internal.h: For Solaris, test HAVE_FACL, not HAVE_ACL.
29705         (acl_nontrivial) [HAVE_ACLSORT]: New declaration.
29706         * lib/file-has-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29707         (acl_nontrivial [HAVE_ACLSORT]: New function.
29708         (file_has_acl): Implement for NonStop Kernel.
29709         * lib/set-mode-acl.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29710         (qset_acl): Implement for NonStop Kernel.
29711         * lib/copy-acl.c (qcopy_acl): Implement for NonStop Kernel.
29712         * tests/test-sameacls.c: For Solaris, test HAVE_FACL, not HAVE_ACL.
29713         (main): Implement for NonStop Kernel.
29714         * tests/test-file-has-acl.sh (acl_flavor): Set to 'nsk' on NonStop
29715         Kernel. Handle this flavor.
29716         * tests/test-set-mode-acl.sh: Likewise.
29717         * tests/test-copy-acl.sh: Likewise.
29718         * tests/test-copy-file.sh: Likewise.
29719
29720 2010-10-03  Bruno Haible  <bruno@clisp.org>
29721
29722         Info about ACLs on NonStop Kernel.
29723         * doc/acl-resources.txt: Add info about NonStop Kernel.
29724         References by Joachim Schmitz <schmitz@hp.com>.
29725
29726 2010-10-02  Bruno Haible  <bruno@clisp.org>
29727
29728         Define missing EDQUOT on NonStop Kernel.
29729         * lib/errno.in.h (EDQUOT): Assign a value if missing.
29730         * lib/strerror.c (rpl_strerror): Handle missing EDQUOT.
29731         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether EDQUOT is
29732         missing.
29733         * doc/posix-headers/errno.texi: Mention the NSK bug.
29734         * doc/posix-functions/strerror.texi: Mention the workaround on NSK.
29735         Reported by Joachim Schmitz <schmitz@hp.com>.
29736
29737 2010-10-02  Bruno Haible  <bruno@clisp.org>
29738
29739         Update doc for POSIX:2008.
29740         * doc/posix-headers/*.texi [except ucontext.texi, sys_timeb.texi]:
29741         Update URL of POSIX specification.
29742
29743 2010-10-02  Bruno Haible  <bruno@clisp.org>
29744
29745         gnulib-tool: In testdirs, use the newest available config.{guess.sub}.
29746         * gnulib-tool (func_create_testdir): Use config.guess and config.sub
29747         from gnulib, not from Automake.
29748
29749 2010-10-02  Bruno Haible  <bruno@clisp.org>
29750
29751         New module 'system-posix'.
29752         * modules/system-posix: New file.
29753         * lib/stdlib.in.h: Include <sys/wait.h> only when the 'system-posix'
29754         module is present.
29755         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
29756         GNULIB_SYSTEM_POSIX.
29757         * modules/stdlib (Depends-on): Remove sys_wait.
29758         (Makefile.am): Substitute GNULIB_SYSTEM_POSIX.
29759         * doc/posix-functions/system.texi: Mention the new module.
29760         * doc/posix-headers/stdlib.texi: Likewise.
29761         * tests/test-stdlib.c: If GNULIB_TEST_SYSTEM_POSIX is not defined,
29762         define test_sys_wait_macros to a no-op.
29763         Reported by Sam Steingold <sds@gnu.org>.
29764
29765 2010-09-30  Bruno Haible  <bruno@clisp.org>
29766
29767         More renaming from 'getdate' to 'get_date'.
29768         * doc/get_date.texi: Renamed from doc/getdate.texi.
29769         * modules/get_date (Files): Update.
29770         * MODULES.html.sh (Date and time <time.h>): Update.
29771         * DEPENDENCIES: Update.
29772         * gnulib-tool: Update comment.
29773         * m4/bison.m4 (gl_BISON): Likewise.
29774         * m4/get_date.m4 (gl_GET_DATE): Likewise.
29775
29776 2010-09-30  Justin Clift  <jclift@redhat.com>  (tiny change)
29777
29778         bootstrap: support ACLOCAL_FLAGS during aclocal
29779         * build-aux/bootstrap (aclocal): Honor ACLOCAL_FLAGS, so the user
29780         can add additional -I dir for third-party .m4 files.
29781
29782 2010-09-30  Eric Blake  <eblake@redhat.com>
29783
29784         bootstrap: use glibtoolize on MacOS
29785         * build-aux/bootstrap (check_versions): Convert libtool into
29786         libtoolize.
29787         (tool search): Move libtool check earlier, and look for
29788         glibtoolize for MacOS.
29789         (gnulib_tool_options): Auto-add --libtool when appropriate.
29790         Reported by Justin Clift.
29791
29792         poll: fix typo that broke test on MacOS
29793         * m4/poll.m4 (gl_FUNC_POLL): Add missing test.
29794         Reported by Justin Clift.
29795
29796         getdate: rename to get_date
29797         Note: getdate.h is not renamed, to minimize client impact.
29798         * modules/getdate: Mark obsolete.  Move old contents...
29799         * modules/get_date: ...to new module name.
29800         * modules/getdate-tests: Move...
29801         * modules/get_date-tests: ...here.
29802         * m4/getdate.m4: Move...
29803         * m4/get_date.m4: ...here, and rename gl_GETDATE to gl_GET_DATE.
29804         * lib/getdate.y: Move...
29805         * lib/get_date.y: ...here.
29806         * tests/test-getdate.c: Move...
29807         * tests/test-get_date.c: ...here.
29808         * doc/posix-functions/getdate.texi (getdate): Update name.
29809         * NEWS: Mention the change.
29810
29811 2010-09-29  Bruno Haible  <bruno@clisp.org>
29812
29813         Separate the module 'waitpid' from the module 'sys_wait'.
29814         * lib/sys_wait.in.h (waitpid): Declare only if the 'waitpid' module is
29815         present.
29816         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Invoke
29817         gl_MODULE_INDICATOR_FOR_TESTS.
29818         (gl_SYS_WAIT_H_DEFAULTS): Initialize GNULIB_WAITPID.
29819         * modules/sys_wait (Depends-on): Remove waitpid.
29820         (Makefile.am): Substitute GNULIB_WAITPID.
29821         * modules/waitpid (configure.ac): Invoke gl_SYS_WAIT_MODULE_INDICATOR.
29822         * tests/test-sys_wait-c++.cc (GNULIB_NAMESPACE::waitpid): Check the
29823         signature only if the 'waitpid' module is present.
29824         * doc/posix-functions/waitpid.texi: Mention the 'waitpid' module.
29825         * NEWS: Mention the change.
29826         * modules/grantpt (Depends-on): Add waitpid.
29827         * modules/wait-process (Depends-on): Likewise.
29828
29829 2010-09-29  Bruno Haible  <bruno@clisp.org>
29830
29831         More tests for module 'sys_wait'.
29832         * modules/sys_wait-c++-tests: New file.
29833         * tests/test-sys_wait-c++.cc: New file.
29834         * modules/sys_wait-tests (Depends-on): Add sys_wait-c++-tests.
29835         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29836
29837 2010-09-29  Bruno Haible  <bruno@clisp.org>
29838
29839         New module 'waitpid'.
29840         * lib/waitpid.c: New file, extracted from lib/sys_wait.in.h.
29841         * lib/sys_wait.in.h: Include <sys/types.h>, c++defs.h, warn-on-use.h.
29842         Don't include <process.h>.
29843         (waitpid): Declare only, using modern idiom.
29844         * m4/waitpid.m4: New file.
29845         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Check whether waitpid is declared.
29846         * modules/waitpid: New file.
29847         * modules/sys_wait (Depends-on): Add c++defs, warn-on-use, waitpid.
29848         (Makefile.am): Update.
29849         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>.
29850
29851 2010-09-28  Bruno Haible  <bruno@clisp.org>
29852
29853         poll: Assume ANSI C.
29854         * lib/poll.c (poll): Use an ANSI C declaration.
29855
29856 2010-09-28  Bruno Haible  <bruno@clisp.org>
29857
29858         poll-h: Create poll.h on all platforms.
29859         * lib/poll.in.h: Use double-inclusion guard. Don't define POLL*,
29860         struct pollfd, nfds_t, INFTIM when the system has <poll.h>.
29861         * m4/poll_h.m4 (gl_POLL_H): Set HAVE_POLL_H. Invoke
29862         gl_CHECK_NEXT_HEADERS. Don't set POLL_H.
29863         (gl_REPLACE_POLL_H): Don't set POLL_H.
29864         (gl_POLL_H_DEFAULTS): Don't initialize POLL_H.
29865         * modules/poll-h (Depends-on): Add include_next.
29866         (Makefile.am): Create poll.h unconditionally. Substitute also
29867         HAVE_POLL_H, INCLUDE_NEXT, PRAGMA_SYSTEM_HEADER, NEXT_POLL_H.
29868
29869 2010-09-28  Bruno Haible  <bruno@clisp.org>
29870
29871         Tests for module 'poll-h'.
29872         * modules/poll-h-c++-tests: New file.
29873         * tests/test-poll-h-c++.cc: New file.
29874
29875         Tests for module 'poll-h'.
29876         * modules/poll-h-tests: New file.
29877         * tests/test-poll-h.c: New file.
29878
29879 2010-09-28  Bruno Haible  <bruno@clisp.org>
29880
29881         poll-h: Ensure POLL{RD,WR}{NORM,BAND} are defined on glibc platforms.
29882         * modules/poll-h (Depends-on): Add 'extensions'.
29883
29884 2010-09-28  Bruno Haible  <bruno@clisp.org>
29885
29886         New module 'poll-h'.
29887         * lib/poll.in.h: Include c++defs.h and warn-on-use.h.
29888         (poll): Use modern idiom.
29889         * modules/poll-h: New file.
29890         * modules/poll (Files): Remove lib/poll.in.h.
29891         (Depends-on): Add poll-h.
29892         (configure.ac): Invoke gl_POLL_MODULE_INDICATOR.
29893         (Makefile.am): Move code for generation of poll.h to modules/poll-h.
29894         * m4/poll_h.m4: New file.
29895         * m4/poll.m4 (gl_FUNC_POLL): Require gl_POLL_H. Don't check for poll.h
29896         here. Don't set POLL_H here. Instead, set HAVE_POLL and REPLACE_POLL
29897         and invoke gl_REPLACE_POLL_H.
29898         * lib/poll.c: Use common idiom.
29899         * tests/test-poll.c: Likewise.
29900         * doc/posix-headers/poll.texi: Mention the poll-h module.
29901         Suggested by Eric Blake.
29902
29903 2010-09-26  Bruno Haible  <bruno@clisp.org>
29904
29905         sys_wait: Implement WSTOPSIG.
29906         * lib/sys_wait.in.h (WSTOPSIG): New macro.
29907         Reported by Simon Josefsson.
29908
29909 2010-09-26  Simon Josefsson  <simon@josefsson.org>
29910
29911         stdlib, sys_wait: Avoid compilation error on mingw.
29912         * lib/sys_wait.in.h: Include <signal.h>, for SIGTERM.
29913
29914 2010-09-26  Bruno Haible  <bruno@clisp.org>
29915
29916         stdlib tests: Avoid code duplication.
29917         * modules/stdlib-tests (Files): Add tests/test-sys_wait.h.
29918         * modules/sys_wait-tests (Files): Likewise.
29919         * tests/test-sys_wait.h: New file, extracted from tests/test-stdlib.c.
29920         * tests/test-stdlib.c: Include test-sys_wait.h.
29921         (main): Invoke test_sys_wait_macros.
29922         * tests/test-sys_wait.c: Include test-sys_wait.h.
29923         (main): Invoke test_sys_wait_macros.
29924
29925 2010-09-25  Simon Josefsson  <simon@josefsson.org>
29926
29927         * modules/getaddrinfo (Depends-on): Depend on the sockets module.
29928         * lib/getaddrinfo.c (use_win32_p): Call gl_sockets_startup to make
29929         sure Windows sockets are working before calling getaddrinfo.
29930         * tests/test-getaddrinfo.c (main): Don't call WSAStartup here.
29931         * doc/gnulib.texi (Windows sockets): Fix typo.
29932
29933 2010-09-25  Bruno Haible  <bruno@clisp.org>
29934
29935         Tests for module 'regex-quote'.
29936         * modules/regex-quote-tests: New file.
29937         * tests/test-regex-quote.c: New file.
29938
29939         New module 'regex-quote'.
29940         * lib/regex-quote.h: New file.
29941         * lib/regex-quote.c: New file.
29942         * modules/regex-quote: New file.
29943         Suggested by Reuben Thomas <rrt@sc3d.org>.
29944
29945 2010-09-24  Bruno Haible  <bruno@clisp.org>
29946
29947         unistr/u8-strchr: Fix a test failure on i586 glibc systems.
29948         * tests/unistr/test-strchr.h (test_strchr): Disable an invalid check.
29949
29950 2010-09-23  Bruno Haible  <bruno@clisp.org>
29951
29952         setenv: Relax license.
29953         * modules/setenv (License): Change to LGPLv2+, with consent by Eric
29954         Blake.
29955         Requested by Eric Blake.
29956
29957 2010-09-22  Bruno Haible  <bruno@clisp.org>
29958
29959         termios: Relax license.
29960         * modules/termios (License): Change to LGPLv2+.
29961         Requested by Eric Blake.
29962
29963 2010-09-22  Bruno Haible  <bruno@clisp.org>
29964
29965         threadlib: Allow the package to change the default to 'no'.
29966         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): When
29967         gl_THREADLIB_DEFAULT_NO is defined, change the default to 'no'.
29968         Reported by Paul Eggert.
29969
29970 2010-09-22  Pádraig Brady  <P@draigbrady.com>
29971             Bruno Haible  <bruno@clisp.org>
29972
29973         Fix endless loop in mbmemcasecoll.
29974         * lib/mbmemcasecoll.c (apply_towlower): When mbrtowc returns 0, copy 1
29975         byte.
29976         * tests/test-mbmemcasecmp.h (test_ascii): Test embedded NULs.
29977
29978 2010-09-22  Bruno Haible  <bruno@clisp.org>
29979
29980         Tests for module 'memcoll'.
29981         * modules/memcoll-tests: New file.
29982         * tests/test-memcoll.c: New file, based on tests/test-memcmp.c.
29983
29984         memcoll, xmemcoll: Clarify size vs. length.
29985         * modules/memcoll.c (memcoll0): Clarify specification.
29986         * modules/xmemcoll.c (xmemcoll0): Likewise. Reduce by 1 the lengths
29987         passed to collate_error.
29988
29989 2010-09-22  Bruno Haible  <bruno@clisp.org>
29990
29991         Tests for module 'memcasecmp'.
29992         * modules/memcasecmp-tests: New file.
29993         * tests/test-memcasecmp.c: New file, based on tests/test-memcmp.c.
29994
29995 2010-09-22  Paul Eggert  <eggert@cs.ucla.edu>
29996
29997         * lib/pthread.in.h: Add split double-inclusion guard, and include
29998         system <pthread.h> if there is one.  Use @@-style as in other
29999         .in.h files.  Define PTHREAD_COND_INITIALIZER etc. only if system
30000         pthread.h doesn't.
30001         (pthread_mutexattr_destroy, pthread_mutexattr_init):
30002         (pthread_mutexattr_settype, pthread_mutex_trylock):
30003         New static inline functions, if there's no system <pthread.h>.
30004         (pthread_spinlock_t, pthread_spin_init, pthread_spin_destroy):
30005         (pthread_spin_lock, pthread_spin_trylock, pthread_spin_unlock):
30006         Approximate with mutexes if the system lacks spinlocks, as in
30007         MacOS.
30008         * m4/pthread.m4 (gl_PTHREAD_CHECK): Require gl_PTHREAD_DEFAULTS.
30009         Add gl_CHECK_NEXT_HEADERS for pthread.h, and support the usual
30010         @@-style.  Check for spinlocks separately.
30011         (gl_PTHREAD_DEFAULTS): New macro.
30012         * modules/pthread: Redo to use a more typical style for in.h files.
30013
30014 2010-09-21  Eric Blake  <eblake@redhat.com>
30015
30016         net_if: enhance tests
30017         * tests/test-net_if.c (main): Move signature checks earlier.
30018         Print failures to stderr.
30019         * doc/posix-functions/if_freenameindex.texi (if_freenameindex):
30020         Document the bug that we do not yet fix.
30021
30022 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
30023
30024         * doc/gnulib.texi (Out of memory handling): Rewrite section to be
30025         about gnulib, not GSS.
30026
30027 2010-09-21  Reuben Thomas  <rrt@sc3d.org>
30028
30029         * build-aux/pmccabe2html: Look for sources in src/ instead of lib/.
30030         * build-aux/pmccabe2html: Set cut_dir properly, and add mode line
30031         for Emacs.
30032         * build-aux/pmccabe2html: Make Makefile.am example code more
30033         cut-and-paste friendly.
30034
30035 2010-09-21  Simon Josefsson  <simon@josefsson.org>
30036
30037         * tests/test-net_if.c: New file.
30038         * modules/net_if-tests: New file.
30039
30040 2010-09-20  Paul Eggert  <eggert@cs.ucla.edu>
30041
30042         pthread: add pthread_spin_destroy
30043         * lib/pthread.in.h (pthread_spin_destroy): New function.
30044
30045 2010-09-19  Bruno Haible  <bruno@clisp.org>
30046
30047         gnulib-tool: Fix --help output.
30048         * gnulib-tool (func_usage): Fix help message.
30049         Reported by Reuben Thomas <rrt@sc3d.org>.
30050
30051 2010-09-18  Jim Meyering  <meyering@redhat.com>
30052
30053         maint.mk: avoid unexpanded \n in two diagnostics
30054         * top/maint.mk (sc_prohibit_always_true_header_tests):
30055         Don't use a literal \n in a halt=... assignment.  It would not be
30056         expanded, and the two \n bytes would appear in the diagnostic output
30057         rather than the desired newline.  Use halt=$$(printf ... instead.
30058         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
30059
30060 2010-09-18  Bruno Haible  <bruno@clisp.org>
30061
30062         netinet_in: Doc tweak.
30063         * doc/posix-headers/netinet_in.texi: Mention an affected platform.
30064         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30065
30066 2010-09-18  Jim Meyering  <meyering@redhat.com>
30067
30068         init.sh: correct an outdated comment
30069         * tests/init.sh (create_exe_shims_):  s/function/alias/
30070
30071         init.sh: don't let an ephemeral "*.exe" make us skip all dir entries
30072         * tests/init.sh (find_exe_basenames_): Don't give up on a directory if
30073         a file named "*.exe" is removed between the glob expansion and the
30074         processing of that oddly named file.
30075
30076 2010-09-17  Eric Blake  <eblake@redhat.com>
30077
30078         mirbsd: add some more support
30079         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): MirBSD is
30080         in BSD family.
30081         * m4/gc-random.m4 (gl_GC_RANDOM): MirBSD supports same random
30082         devices as OpenBSD.
30083         * m4/host-os.m4 (mirbsd): Add MirBSD.
30084
30085         tests: fix unportable assumption on sys/wait.h
30086         * tests/test-sys_wait.c (main): Relax test.
30087         * tests/test-stdlib.c (main): Likewise.
30088
30089         init.sh: accommodate directory with no .exes
30090         * tests/init.sh: Accomodate directory containing only scripts.
30091
30092         tests: avoid compiler warning
30093         * tests/test-stdlib.c (main): Use the variable.
30094
30095         fdutimens, fdutimensat: update signature, again
30096         * lib/utimens.h (gl_futimens): Delete, and move signature...
30097         (fdutimens): ...here.
30098         (fdutimensat): Rearrange signature.
30099         (lutimensat): Rename variable for clarity.
30100         * lib/fdutimensat.c (fdutimensat): Update signature.
30101         * lib/utimens.c (fdutimens): Likewise.
30102         (gl_futimens): Delete.
30103         (utimens, lutimens): Update callers.
30104         * lib/futimens.c (futimens): Likewise.
30105         * tests/test-fdutimensat.c: Likewise.
30106         * tests/test-utimens.c: Likewise.
30107         * tests/test-futimens.h: Update comment.
30108         * NEWS: Mention this.
30109         Suggested by Paul Eggert.
30110
30111 2010-09-17  Bruno Haible  <bruno@clisp.org>
30112
30113         Take over the maintenance of some older macros from Autoconf.
30114         * m4/error.m4 (AC_FUNC_ERROR_AT_LINE): New macro, from GNU Autoconf.
30115         * m4/lstat.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): New macro, from
30116         GNU Autoconf.
30117         * m4/memcmp.m4 (AC_FUNC_MEMCMP): New macro, from GNU Autoconf.
30118         * m4/mktime.m4 (AC_FUNC_MKTIME): Change comment.
30119
30120 2010-09-17  Eric Blake  <eblake@redhat.com>
30121
30122         fdutimensat: drop atflag validation
30123         * lib/fdutimensat.c (fdutimensat): Allow AT_SYMLINK_NOFOLLOW even
30124         with valid fd, to close a race scenario where futimens is
30125         unsupported and FILE was replaced by a symlink.
30126         * tests/test-fdutimensat.c (do_fdutimens, main): Adjust test
30127         accordingly.
30128         Suggested by Paul Eggert.
30129
30130 2010-09-16  Bruno Haible  <bruno@clisp.org>
30131
30132         unlockpt: Fix declaration within GNULIB_POSIXCHECK.
30133         * lib/stdlib.in.h (unlockpt): Fix warning declaration.
30134
30135 2010-09-16  Bruno Haible  <bruno@clisp.org>
30136
30137         login_tty: Fix detection of function on FreeBSD, OpenBSD, NetBSD.
30138         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): Augment LIBS while checking whether
30139         login_tty exists.
30140         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30141
30142 2010-09-16  Bruno Haible  <bruno@clisp.org>
30143
30144         login_tty: Make the replacement code work on BSD systems.
30145         * lib/login_tty.c: Include <sys/ioctl.h>.
30146         (login_tty): Use ioctl TIOCSCTTY when available.
30147         * modules/login_tty (Depends-on): Add sys_ioctl.
30148         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30149
30150 2010-09-16  Bruno Haible  <bruno@clisp.org>
30151
30152         login_tty: Stricter unit test.
30153         * modules/login_tty-tests (Depends-on): Add tcgetsid.
30154         * tests/test-login_tty.c (main): Also check the results of tcgetpgrp()
30155         and tcgetsid() after login_tty.
30156         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30157
30158 2010-09-16  Bruno Haible  <bruno@clisp.org>
30159
30160         New module 'tcgetsid'.
30161         * lib/tcgetsid.c: New file.
30162         * m4/tcgetsid.m4: New file.
30163         * modules/tcgetsid: New file.
30164         * modules/termios (Depends-on): Add c++defs, warn-on-use.
30165         (Makefile.am): Ensure c++defs.h, warn-on-use.h get included. Substitute
30166         GNULIB_TCGETSID, HAVE_TCGETSID.
30167         * lib/termios.in.h: Include <sys/types.h>.
30168         (tcgetsid): New declaration.
30169         * m4/termios_h.m4 (gl_TERMIOS_H): Check whether tcgetsid is declared.
30170         (gl_TERMIOS_H_DEFAULTS): Initialize GNULIB_TCGETSID, HAVE_TCGETSID.
30171         * doc/posix-functions/tcgetsid.texi: Mention the new module.
30172         * tests/test-termios-c++.cc: Check GNULIB_NAMESPACE::tcgetsid.
30173
30174 2010-09-16  Bruno Haible  <bruno@clisp.org>
30175
30176         Tests for module 'termios'.
30177         * modules/termios-c++-tests: New file.
30178         * modules/termios-tests: New file.
30179         * tests/test-termios-c++.cc: New file.
30180         * tests/test-termios.c: New file.
30181
30182         New module 'termios'.
30183         * modules/termios: New file.
30184         * lib/termios.in.h: New file.
30185         * m4/termios_h.m4: New file.
30186         * doc/posix-headers/termios.texi: Mention the new module.
30187
30188 2010-09-16  Eric Blake  <eblake@redhat.com>
30189
30190         fdutimensat: add an atflag parameter
30191         * lib/fdutimensat.c (fdutimensat): Add new parameter.
30192         * lib/utimens.h (fdutimensat): Update prototype.
30193         * tests/test-fdutimensat.c: Adjust test to match.
30194         * NEWS: Document the change.
30195         Suggested by Paul Eggert.
30196
30197 2010-09-16  Bruno Haible  <bruno@clisp.org>
30198
30199         Fix typos in comments.
30200         * lib/striconveh.h: Fix typo in comment.
30201         * lib/login_tty.c (login_tty): Likewise.
30202
30203 2010-09-15  Bruno Haible  <bruno@clisp.org>
30204
30205         stdlib: clarify MirBSD WEXITSTATUS bug
30206         * lib/stdlib.in.h: Clarify the MirBSD bug regarding WEXITSTATUS.
30207         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
30208
30209 2010-09-15  Eric Blake  <eblake@redhat.com>
30210
30211         stdlib: work around MirBSD WEXITSTATUS bug
30212         * lib/stdlib.in.h (includes): Guarantee WEXITSTATUS.
30213         * modules/stdlib (Depends-on): Add sys_wait.
30214         * tests/test-sys_wait.c (main): Enhance test.
30215         * tests/test-stdlib.c (main): Likewise.
30216         * doc/posix-headers/stdlib.texi (stdlib.h): Document the bug.
30217
30218         docs: mention MacOS issue with WEXITSTATUS(constant)
30219         * doc/posix-headers/sys_wait.texi (sys/wait.h): Document the
30220         issue.
30221         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
30222
30223         strnlen: add tests
30224         * modules/strnlen-tests: New file.
30225         * tests/test-strnlen.c: Likewise.
30226
30227 2010-09-14  Bruno Haible  <bruno@clisp.org>
30228
30229         unistr/base: Avoid link errors when module 'libunistring' is also used.
30230         * lib/unistr.in.h (u8_mbtouc_unsafe, u16_mbtouc_unsafe,
30231         u32_mbtouc_unsafe, u8_mbtouc, u16_mbtouc, u32_mbtouc, u8_mbtoucr,
30232         u16_mbtoucr, u32_mbtoucr, u8_uctomb_aux, u16_uctomb_aux, u32_uctomb):
30233         Declare also when HAVE_LIBUNISTRING is set.
30234         Reported by Pádraig Brady <P@draigbrady.com>.
30235
30236 2010-09-14  Eric Blake  <eblake@redhat.com>
30237
30238         test-rawmemchr: make more robust
30239         * modules/rawmemchr-tests (Files): Add zerosize-ptr.h, mmap-anon.m4.
30240         (Depends-on, configure.ac): Add needed prerequisites to use it.
30241         * modules/memchr-tests (Files, Depends-on, configure.ac):
30242         Likewise, to avoid implicit reliance on memchr module prereqs.
30243         * tests/test-memchr.c (main): Ensure proper masking.
30244         * tests/test-rawmemchr.c (main): Likewise.  Detect oversized
30245         reads.
30246
30247         memchr: detect glibc Alpha bug
30248         Avoids http://sourceware.org/bugzilla/show_bug.cgi?id=12019.
30249         * m4/memchr.m4 (gl_FUNC_MEMCHR): Detect glibc 2.11.2 failure on
30250         Alpha.
30251         * doc/posix-functions/memchr.texi (memchr): Tweak wording.
30252         * tests/test-memchr.c (main): Enhance test.
30253         Reported by Nelson H. F. Beebe.
30254
30255 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
30256
30257         fts, getcwd, glob: audit for dirfd returning -1
30258         * lib/fts.c (opendir): Remove #define; no longer used.
30259         (opendirat): New arg PDIR_FD.  All callers changed.
30260         (fts_build, _opendir2): Use new opendirat to avoid the need for
30261         dirfd, or for checking whether dirfd returns a negative value.
30262         Don't use opendir; always use openat followed by fdopendir.
30263         * lib/getcwd.c (__getcwd): Don't reset fd; fdopendir no longer clobbers
30264         it.
30265         * lib/glob.c (link_exists_p): Add comment explaining why dirfd never
30266         returns -1 here.
30267         * modules/fts (Depends-on): Remove dirfd.
30268         * modules/getcwd (Depends-on): Likewise.
30269
30270 2010-09-13  Eric Blake  <eblake@redhat.com>
30271
30272         float: fix broken MirBSD header
30273         * m4/float_h.m4 (gl_FLOAT_H): MirBSD copied OpenBSD's bug.
30274         * doc/posix-headers/float.texi (float.h): Document it.
30275
30276 2010-09-13  Paul Eggert  <eggert@cs.ucla.edu>
30277
30278         fts: use O_NOFOLLOW to avoid race condition when opening a directory
30279         * lib/fts.c (opendirat): New arg extra_flags.
30280         (__opendir2): Use it to avoid following symlinks when opening
30281         a directory, if symlinks are not supposed to be followed.  See
30282         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00213.html>.
30283
30284         fdopendir: preserve argument fd before returning
30285         * lib/fdopendir.c: Adjust comments to say POSIX, not Solaris.
30286         (fdopendir_with_dup, fd_clone_opendir): New static functions.
30287         (fdopendir): Use them, arranging for FD to be open to the same
30288         directory that it was when it started.  (It might be temporarily
30289         closed while fdopendir is running, so this not thread- or
30290         signal-safe.)  Be careful to do the right thing even when file
30291         descriptors are scarce and dup fails with errno == EMFILE.  See
30292         <http://lists.gnu.org/archive/html/bug-gnulib/2010-09/msg00208.html>.
30293
30294 2010-09-10  Paolo Bonzini  <bonzini@gnu.org>
30295
30296         regex: Pass the system regex if its only problem is 32-bit regoff_t.
30297         * NEWS: Document change.
30298         * m4/regex.m4: Disable test for regoff_t size.
30299
30300 2010-09-13  Jim Meyering  <meyering@redhat.com>
30301
30302         fts: don't operate on an invalid file descriptor after failed dup
30303         * lib/fts.c (fts_build): Don't call set_cloexec_flag on a
30304         negative file descriptor.
30305
30306 2010-09-12  Paul Eggert  <eggert@cs.ucla.edu>
30307
30308         savedir: add streamsavedir, deprecate fdsavedir
30309         * NEWS: Mention deprecation of fdsavedir.
30310         * lib/savedir.c (streamsavedir): New extern function, whose name
30311         ends in "savedir" to be consistent with the others.  This differs
30312         from savedirstream in that it doesn't close its argument.  The
30313         next version of GNU tar will use this instead of fdsavedir, to
30314         avoid some race conditions and conserve file descriptors.
30315         (savedirstream): Reimplement as a wrapper around streamsavedir.
30316         (fdsavedir): Add a comment deprecating this function.  As far as
30317         I know, only GNU tar used it, and GNU tar doesn't need it any more.
30318         * lib/savedir.h (streamsavedir): New decl.
30319         (fdsavedir): Add a comment deprecating this.
30320
30321 2010-09-10  Bruno Haible  <bruno@clisp.org>
30322
30323         langinfo: Fix last commit.
30324         * m4/langinfo_h.m4 (gl_LANGINFO_H): Initialize
30325         HAVE_LANGINFO_T_FMT_AMPM, HAVE_LANGINFO_YESEXPR.
30326         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30327
30328 2010-09-10  Bruno Haible  <bruno@clisp.org>
30329
30330         relocatable-prog-wrapper: Fix compilation failure due to O_EXEC.
30331         * lib/progreloc.c (O_EXEC): Define fallback.
30332
30333 2010-09-10  Paul Eggert  <eggert@cs.ucla.edu>
30334
30335         fcntl-h: define O_CLOEXEC and O_EXEC if not defined; use new defines
30336         * NEWS: Document recent changes to fcntl-h.
30337         * doc/posix-headers/fcntl.texi (fcntl.h): Document that
30338         O_CLOEXEC is now defined to 0 if it is not defined, like other flags.
30339         Also, O_EXEC is now defined to be O_RDONLY if O_EXEC is not defined.
30340         Similarly for O_SEARCH; this last was already true, but not documented.
30341         * lib/fcntl.in.h (O_CLOEXEC): Define to 0 if not defined.
30342         * lib/dup-safer-flag.c (O_CLOEXEC): Remove now-useless #define.
30343         * lib/dup3.c, lib/pipe2.c, tests/test-dup-safer.c, tests/test-fcntl.c:
30344         Likewise.
30345         * lib/popen-safer.c (open_noinherit): Check whether O_CLOEXEC
30346         is zero, not whether it is defined.
30347         * tests/test-dup3.c, tests/test-pipe2.c (main): Likewise.
30348         * lib/progreloc.c (find_executable): Use O_EXEC rather than O_RDONLY.
30349         * lib/open.c (open): Check for O_SEARCH as well as for O_RDONLY.
30350
30351 2010-09-10  Bruno Haible  <bruno@clisp.org>
30352
30353         langinfo, nl_langinfo: Fix for IRIX 5.3.
30354         * m4/langinfo_h.m4 (gl_LANGINFO_H): Test whether langinfo.h defines
30355         T_FMT_AMPM, YESEXPR. Set HAVE_LANGINFO_T_FMT_AMPM,
30356         HAVE_LANGINFO_YESEXPR.
30357         * modules/langinfo (Makefile.am): Substitute HAVE_LANGINFO_T_FMT_AMPM,
30358         HAVE_LANGINFO_YESEXPR.
30359         * lib/langinfo.in.h (T_FMT_AMPM, GNULIB_defined_T_FMT_AMPM): Define if
30360         HAVE_LANGINFO_T_FMT_AMPM is 0.
30361         (YESEXPR, NOEXPR, GNULIB_defined_YESEXPR): Define if
30362         HAVE_LANGINFO_YESEXPR is 0.
30363         * lib/nl_langinfo.c (rpl_nl_langinfo): Handle also T_FMT_AMPM, YESEXPR,
30364         NOEXPR.
30365         * doc/posix-headers/langinfo.texi: Mention the IRIX 5.3 problem.
30366         * doc/posix-functions/nl_langinfo.texi: Likewise.
30367         Reported by Eric Blake.
30368
30369 2010-09-10  Bruno Haible  <bruno@clisp.org>
30370
30371         pty, readutmp: Fix for FreeBSD 8.0 and OpenBSD 4.6.
30372         * doc/glibc-functions/login_tty.texi: Mention the include file problem
30373         on FreeBSD 8.0 and OpenBSD 4.6.
30374         * lib/pty.in.h: Include <sys/types.h> before <libutil.h>.
30375         * m4/pty_h.m4 (gl_PTY_H): Likewise.
30376         * m4/pty.m4 (gl_FUNC_FORKPTY, gl_FUNC_OPENPTY): Likewise.
30377         * m4/readutmp.m4 (gl_READUTMP): Include <sys/types.h> before <utmp.h>.
30378         Invoke AC_INCLUDES_DEFAULT instead of using the undocumented variable
30379         ac_includes_default.
30380         Reported by Mats Erik Andersson <mats.andersson@gisladisker.se>.
30381
30382 2010-09-09  Eric Blake  <eblake@redhat.com>
30383
30384         strsignal: work around NetBSD bug
30385         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check in <unistd.h>.
30386         * lib/string.in.h (includes): Likewise.
30387         * doc/posix-functions/strsignal.texi (strsignal): Document the
30388         bug.
30389         Reported by Nelson H. F. Beebe.
30390
30391         gnulib-tool: work with NetBSD /bin/sh
30392         * gnulib-tool (func_cache_var, func_cache_lookup_module)
30393         (func_get_description, func_get_comment, func_get_status)
30394         (func_get_notice, func_get_applicability, func_get_filelist)
30395         (func_get_dependencies, func_get_autoconf_early_snippet)
30396         (func_get_autoconf_snippet, func_get_automake_snippet)
30397         (func_get_include_directive, func_get_link_directive)
30398         (func_get_license, func_get_maintainer, func_import): Avoid
30399         shell syntax errors from parsing syntax extensions.
30400
30401 2010-09-09  Bruno Haible  <bruno@clisp.org>
30402
30403         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30404         * gnulib-tool: Don't fiddle with file descriptors 0, 1, 2. Instead, use
30405         a reliable way to determine whether the 'alias' command works.
30406
30407 2010-09-08  Jim Meyering  <meyering@redhat.com>
30408
30409         init.sh: penalize a set-x-impaired shell; don't disqualify it
30410         * tests/init.sh: Too many shells corrupt application stderr when
30411         you set -x, so we can't afford to disqualify them, since at least
30412         on Irix-6.5, that would disqualify all bourne shells.
30413         Instead, use a two-pass approach.
30414         On the first pass, try to find a shell that meets the stricter
30415         condition that set -x does not corrupt stderr.
30416         If no shell meets the stricter condition, retest each candidate
30417         shell, but without that extra condition.  Finally, when
30418         VERBOSE=yes is requested and set -x might cause trouble, simply
30419         issue a warning and refrain from enabling debug output.
30420
30421 2010-09-08  Eric Blake  <eblake@redhat.com>
30422
30423         unsetenv: fix OpenBSD bug
30424         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for OpenBSD bug.
30425         * doc/posix-functions/unsetenv.texi (unsetenv): Update
30426         documentation.
30427         Reported by Jim Meyering.
30428
30429         strtod: work around IRIX 6.5 bug
30430         * lib/strtod.c (strtod): Reparse number on shorter string if
30431         exponent parse was invalid.
30432         * tests/test-strtod.c (main): Add check for "0x1p 2".
30433         Reported by Tom G. Christensen.
30434
30435         getopt: optimize previous patch
30436         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Correctly check for
30437         empty variable.  Speed up awk script.
30438         Reported by Paolo Bonzini.
30439
30440 2010-09-08  Jim Meyering  <meyering@redhat.com>
30441
30442         test.sh: disqualify shells for which set -x corrupts stderr
30443         * tests/init.sh: Add a test to disqualify /bin/sh from SunOS 5.11
30444         and OpenBSD 4.7.  They make it so with "set -x", environment settings
30445         appear in stderr output.  For example, this command:
30446             /bin/sh -c 'set -x; P=1 true 2> err' 2>/dev/null; cat err
30447         prints "P=1" on those two systems:
30448
30449 2010-09-08  Bruno Haible  <bruno@clisp.org>
30450
30451         gnulib-tool: Avoid stderr output on IRIX related to 'alias', 'unalias'.
30452         * gnulib-tool: Use stderr redirection around the 'alias' and 'unalias'
30453         commands, because some shells ignore redirections when there is an
30454         error in the command lookup.
30455         Reported by Eric Blake.
30456
30457 2010-09-07  Reuben Thomas  <rrt@sc3d.org>
30458
30459         * lib/regex.h: Fix a mention of `regex_compile' (should be
30460         `re_compile_pattern').
30461         Correct and clarify documentation for RE_CONTEXT_INVALID_DUP.
30462         (re_set_registers): Correct name of parameter in comment.
30463
30464         * doc/regex.texi: Add documentation for missing syntax flags.
30465         Remove commented-out documentation of defunct syntax option
30466         RE_NO_EMPTY_ALTS.
30467         Correct name of RE_CHAR_CLASSES in one incorrect occurrence.
30468         Add documentation of re_set_registers.
30469         Document trick to re-use a pattern buffer by setting fastmap manually.
30470         Update documentation of struct re_pattern_buffer per public members.
30471         Uncomment documentation of equivalence class operators and
30472         collating symbol operators, since they are now implemented,
30473         Explain leftmost-longest matching in relation to alternatives.
30474         Tidy documentation of substring matching.
30475         Remove POSIX documentation, which is done better in
30476         glibc, and refer the reader there. Keep BSD API documentation, as
30477         that is not readily available elsewhere.
30478
30479 2010-09-07  Eric Blake  <eblake@redhat.com>
30480
30481         getopt: handle POSIXLY_CORRECT set but not exported
30482         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Restore pre-existing
30483         export state of POSIXLY_CORRECT, due to bash set -o posix.
30484         Reported by Dustin J. Mitchell.
30485
30486 2010-09-05  Bruno Haible  <bruno@clisp.org>
30487
30488         gnulib-tool: Highlight the changed options.
30489         * gnulib-tool (func_usage): Display the --import, --add-import,
30490         --remove-import explanations in bold font.
30491
30492 2010-09-06  Karl Berry  <karl@gnu.org>
30493
30494         * doc/gnulib-tool.texi (Modified imports): doc tweaks.
30495
30496 2010-09-05  Bruno Haible  <bruno@clisp.org>
30497
30498         uniwidth/width: Update comment.
30499         * lib/uniwidth/width.c (uc_width): Update comment for Unicode >= 3.1.
30500         Reported by Emanuele Giaquinta <emanuele.giaquinta@gmail.com>.
30501
30502 2010-09-05  Bruno Haible  <bruno@clisp.org>
30503
30504         isinf, isnan: Relax license.
30505         * modules/isinf (License): Change from GPL to LGPL, with consent from
30506         Ben Pfaff.
30507         * modules/isnan (License): Likewise.
30508         Requested by Ludovic Courtès.
30509
30510 2010-09-04  Bruno Haible  <bruno@clisp.org>
30511
30512         gnulib-tool: Help migration from --import to --add-import or --update.
30513         * gnulib-tool: Emit a verbose error message when --import is used
30514         without any module name.
30515
30516 2010-09-04  Bruno Haible  <bruno@clisp.org>
30517
30518         Update doc about gnulib-tool.
30519         * doc/gnulib-tool.texi (VCS Issues): Explain 'gnulib-tool --import' vs.
30520         'gnulib-tool --update' in more detail.
30521         Reported by Eric Blake.
30522
30523 2010-09-04  Bruno Haible  <bruno@clisp.org>
30524
30525         gnulib-tool: Change --import. New options --add/remove-import.
30526         * gnulib-tool: New options --add-import, --remove-import.
30527         (func_usage): Document them.
30528         (have_associative): Define always.
30529         (func_import): In import mode, don't merge the specified settings with
30530         the cached settings. Implement remove-import mode.
30531         * doc/gnulib-tool.texi (Modified imports): Mention the new options.
30532         Explain when to use them versus --import.
30533         (Simple update): Use --add-import instead of --import.
30534         * NEWS: Mention the change.
30535
30536 2010-09-04  Bruno Haible  <bruno@clisp.org>
30537
30538         * doc/gnulib-tool.texi (Initial import): Update paragraph about
30539         separate gnulib.mk.
30540
30541 2010-09-04  Bruno Haible  <bruno@clisp.org>
30542
30543         gnulib-tool: Don't talk about CVS any more.
30544         * gnulib-tool (func_usage, func_import): Write "version control"
30545         instead of CVS.
30546
30547 2010-09-04  Jim Meyering  <meyering@redhat.com>
30548
30549         maint.mk: avoid obscure sc_copyright_check failure in coreutils
30550         * top/maint.mk (v_etc_file): Prepend $(gnulib_dir)/, to avoid
30551         false positives (whose names may be ill-chosen) when searching
30552         non-VC'd files.  Otherwise, a file named "a b/lib/version-etc.c"
30553         would cause a false-positive.
30554
30555         avoid coreutils "make distcheck" failure
30556         Coreutils tests with an absolute build directory name that contains
30557         a space.  Not quoting this directory name caused a failure.
30558         * tests/test-vc-list-files-git.sh: Quote PATH dir name.
30559         * tests/test-vc-list-files-cvs.sh: Likewise.
30560
30561 2010-09-04  Bruno Haible  <bruno@clisp.org>
30562
30563         gnulib-tool: Avoid error when run in a package without Makefile.am.
30564         * gnulib-tool: When collecting the m4dirs in a package that does not
30565         have a Makefile.am, eliminate those directories that contain no
30566         gnulib-cache.m4. Fix expression that counts these directories.
30567
30568 2010-09-04  Bruno Haible  <bruno@clisp.org>
30569
30570         update-copyright test: Improve output when perl is missing or too old.
30571         * tests/test-update-copyright.sh: Move test of Perl version down after
30572         the test whether Perl exists. Provide an explanation relating Perl's
30573         error message to Automake's SKIP: message.
30574
30575 2010-09-04  Bruno Haible  <bruno@clisp.org>
30576
30577         Don't augment PATH in TESTS_ENVIRONMENT.
30578         * modules/update-copyright-tests (Makefile.am): In TESTS_ENVIRONMENT,
30579         set abs_aux_dir instead of augmenting PATH.
30580         * modules/vc-list-files-tests (Makefile.am): Likewise.
30581         * tests/test-update-copyright.sh: Augment PATH here.
30582         * tests/test-vc-list-files-cvs.sh: Augment PATH here, through
30583         path_prepend_.
30584         * tests/test-vc-list-files-git.sh: Likewise.
30585
30586 2010-09-04  Jim Meyering  <meyering@redhat.com>
30587
30588         tests: prohibit augmenting PATH via TESTS_ENVIRONMENT
30589         * Makefile (sc_prohibit_augmenting_PATH_via_TESTS_ENVIRONMENT): New rule.
30590
30591 2010-09-04  Bruno Haible  <bruno@clisp.org>
30592
30593         strdup: Fix compilation error in C++ mode.
30594         * lib/string.in.h (strdup): In C++ mode with GNULIB_NAMESPACE, undefine
30595         the macro.
30596
30597 2010-09-04  Bruno Haible  <bruno@clisp.org>
30598
30599         dirfd: Fix compilation error in C++ mode on MacOS X, *BSD, IRIX.
30600         * lib/dirent.in.h (dirfd): In C++ mode with GNULIB_NAMESPACE, turn the
30601         macro into a function.
30602         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
30603
30604 2010-09-04  Bruno Haible  <bruno@clisp.org>
30605
30606         Set PATH_SEPARATOR the same way autoconf does.
30607         * build-aux/relocatable.sh.in (func_find_curr_installdir): Determine
30608         the value of PATH_SEPARATOR the same way autoconf-generated configure
30609         scripts do.
30610         * m4/lib-ld.m4 (AC_LIB_PROG_LD): Likewise.
30611         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
30612
30613 2010-09-04  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
30614
30615         Set PATH_SEPARATOR the same way autoconf does.
30616         * gnulib-tool (func_gnulib_dir): Determine the value of PATH_SEPARATOR
30617         the same way autoconf-generated configure scripts do.
30618         * posix-modules: Likewise.
30619
30620 2010-09-02  Paul Eggert  <eggert@cs.ucla.edu>
30621
30622         hash: fix safe_hasher const typo
30623         * lib/hash.c (safe_hasher): Result is pointer, not pointer to
30624         const; otherwise, there is a type error later.
30625
30626 2010-09-02  Jim Meyering  <meyering@redhat.com>
30627
30628         test-update-copyright.sh: require perl 5.8.0
30629         * tests/test-update-copyright.sh: Require 5.8.0,
30630         which Tom G. Christensen has confirmed is adequate,
30631         while 5.6.1 is not.
30632
30633 2010-09-02  Eric Blake  <eblake@redhat.com>
30634
30635         tests: init.sh improvements for re-exec'ing with zsh
30636         * tests/init.sh: Borrow autoconf POSIX-mode sanitization.  Pass
30637         -vx through shell re-exec.
30638         Reported by Tom G. Christensen.
30639
30640         wctype: fix typo in previous commit
30641         * m4/wctype_h.m4 (gl_WCTYPE_H): Fix spelling.
30642         Reported by Ludovic Courtès.
30643
30644 2010-09-02  Jim Meyering  <meyering@redhat.com>
30645
30646         test-update-copyright.sh: skip test if Perl is too old
30647         * tests/test-update-copyright.sh: Exit 77 if Perl is too old.
30648         Reported by Tom G. Christensen.
30649
30650 2010-09-02  Bruno Haible  <bruno@clisp.org>
30651
30652         wctype: Avoid compilation error on IRIX 6.5.30.
30653         * lib/wctype.in.h (iswblank): Declare with a replacement if
30654         REPLACE_ISWBLANK is set.
30655         * m4/wctype_h.m4 (gl_WCTYPE_H): Check also whether iswblank is
30656         declared. Set REPLACE_ISWBLANK.
30657         * modules/wctype (Makefile.am): Substitute REPLACE_ISWBLANK.
30658         * doc/posix-functions/iswblank.texi: Mention the IRIX 6.5.30 problem.
30659         * doc/posix-headers/wctype.texi: Likewise.
30660         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
30661
30662 2010-09-01  Bruno Haible  <bruno@clisp.org>
30663
30664         New module 'socketlib'.
30665         * modules/socketlib: New file.
30666         * m4/socketlib.m4: New file, extracted from m4/sockets.m4.
30667         * m4/sockets.m4 (gl_SOCKETS): Require gl_SOCKETLIB.
30668         * modules/sockets (Depends-on): Add socketlib.
30669         Suggested by Sam Steingold <sds@gnu.org>.
30670
30671 2010-09-01  Paul Eggert  <eggert@cs.ucla.edu>
30672
30673         fcntl-h, etc.: prefer O_SEARCH to O_RDONLY when applicable
30674
30675         POSIX 2008 specifies a new 'open' flag O_SEARCH, which can be used
30676         when one needs search access to a directory but not read access.
30677         On systems where it is available, it works in some cases where
30678         O_RDONLY does not, namely on directories that are searchable but
30679         not readable, and which need only to be searchable.  If O_SEARCH
30680         is not available, fall back to the traditional method of using
30681         O_RDONLY.
30682
30683         * lib/fcntl.in.h (O_SEARCH): #define to O_RDONLY if not defined.
30684         * lib/chdir-long.c (cdb_advance_fd): Use O_SEARCH, not O_RDONLY,
30685         when opening a directory that needs only to be searchable.
30686         * lib/chdir-safer.c (chdir_no_follow): Likewise.
30687         * lib/fts.c (diropen, fts_open, fd_ring_check): Likewise.
30688         * lib/openat-proc.c (openat_proc_name): Likewise.
30689         * lib/openat.c (openat_needs_fchdir): Likewise.
30690         * lib/save-cwd.c (save_cwd): Likewise.
30691         * lib/savewd.c (savewd_save, savewd_chdir): Likewise.
30692
30693 2010-08-28  Bruno Haible  <bruno@clisp.org>
30694
30695         New module 'host-cpu-c-abi'.
30696         * modules/host-cpu-c-abi: New file.
30697         * m4/host-cpu-c-abi.m4: New file, based on part of
30698         clisp/src/m4/general.m4.
30699         Requested by Sam Steingold <sds@gnu.org>.
30700
30701 2010-08-31  Eric Blake  <eblake@redhat.com>
30702         and Jim Meyering  <meyering@redhat.com>
30703
30704         hash: factor, and guard against misbehaving hasher function
30705         * lib/hash.c (safe_hasher): New function, to encapsulate the checking
30706         of table->hasher's return value.  Also protect against a hash value
30707         so large that adding it to table->bucket results in a NULL pointer.
30708         (hash_lookup, hash_get_next, hash_find_entry, transfer_entries):
30709         Use it in place of open-coded check-and-abort.
30710
30711 2010-08-30  Bruno Haible  <bruno@clisp.org>
30712
30713         hash: silence spurious clang warning
30714         * lib/hash.c (hash_get_next): Remove unnecessary test against NULL.
30715         Reported by Eric Blake.
30716
30717 2010-08-30  Eric Blake  <eblake@redhat.com>
30718
30719         strstr, memmem, strcasestr: avoid leaked shell message
30720         * m4/strstr.m4 (gl_FUNC_STRSTR): Avoid "Alarm clock" message from
30721         FreeBSD.
30722         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
30723         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
30724
30725         tests: silence clang warning
30726         * tests/test-malloca.c (do_allocation): Avoid dead store.
30727
30728 2010-08-29  Bruno Haible  <bruno@clisp.org>
30729
30730         gettext: Fix recent mistake.
30731         * m4/intl.m4 (gt_CHECK_DECL): Fix typo introduced on 2010-08-26.
30732
30733 2010-08-29  Bruno Haible  <bruno@clisp.org>
30734
30735         selinux-h: Offer a --without-selinux option.
30736         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): If
30737         --without-selinux was specified, skip all tests and define
30738         HAVE_SELINUX_SELINUX_H to 0.
30739         (gl_LIBSELINUX): Offer --without-selinux option. If it is specified,
30740         set LIB_SELINUX to empty.
30741         * m4/selinux-context-h.m4 (gl_HEADERS_SELINUX_CONTEXT_H): Require
30742         gl_LIBSELINUX. If --without-selinux was specified, replace
30743         selinux/context.h.
30744         Reported by Johan Hattne <johan.hattne@utsouthwestern.edu>.
30745
30746 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30747             Bruno Haible  <bruno@clisp.org>
30748
30749         Make the module 'realloc-gnu' work again on AIX and OSF/1.
30750         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): Define HAVE_REALLOC_GNU instead
30751         of HAVE_REALLOC.
30752         * lib/realloc.c (NEED_REALLOC_GNU): Enable behaviour also when
30753         GNULIB_REALLOC_GNU && !HAVE_REALLOC_GNU.
30754         (SYSTEM_MALLOC_GLIBC_COMPATIBLE): Adjust definition.
30755         * modules/realloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30756
30757 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30758             Bruno Haible  <bruno@clisp.org>
30759
30760         Make the module 'calloc-gnu' work again on AIX and OSF/1.
30761         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Define HAVE_CALLOC_GNU instead of
30762         HAVE_CALLOC.
30763         * lib/xmalloc.c: Update accordingly.
30764         * lib/calloc.c (NEED_CALLOC_GNU): Enable also when
30765         GNULIB_CALLOC_GNU && !HAVE_CALLOC_GNU.
30766         * modules/calloc-gnu (configure.ac): Invoke gl_MODULE_INDICATOR.
30767
30768 2010-08-29  Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
30769             Bruno Haible  <bruno@clisp.org>
30770
30771         Make the module 'malloc-gnu' work again on AIX and OSF/1.
30772         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): Define HAVE_MALLOC_GNU instead of
30773         HAVE_MALLOC.
30774         * lib/malloc.c (NEED_MALLOC_GNU): Enable behaviour also when
30775         GNULIB_MALLOC_GNU && !HAVE_MALLOC_GNU.
30776         * modules/malloc-gnu (configure.ac): Use gl_MODULE_INDICATOR.
30777
30778 2010-08-29  Bruno Haible  <bruno@clisp.org>
30779
30780         Update modules list.
30781         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
30782         malloc-gnu, calloc-gnu, realloc-gnu. Remove malloc, calloc, realloc.
30783         (String handling <string.h>): Add astrxfrm.
30784         (File system functions): Add readlinkat.
30785
30786 2010-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
30787
30788         Tests for module 'realloc-gnu'.
30789         * modules/realloc-gnu-tests: New file.
30790         * tests/test-realloc-gnu.c: New file.
30791
30792         Tests for module 'calloc-gnu'.
30793         * modules/calloc-gnu-tests: New file.
30794         * tests/test-calloc-gnu.c: New file.
30795
30796         Tests for module 'malloc-gnu'.
30797         * modules/malloc-gnu-tests: New file.
30798         * tests/test-malloc-gnu.c: New file.
30799
30800 2010-08-28  Bruno Haible  <bruno@clisp.org>
30801
30802         Rename module 'realloc' -> 'realloc-gnu'.
30803         * modules/realloc-gnu: New file, copied from modules/realloc.
30804         * modules/realloc: Convert to a redirection to 'realloc-gnu'. Mark as
30805         obsolete.
30806         * modules/mgetgroups (Depends-on): Update.
30807         * doc/posix-functions/realloc.texi: Update.
30808         * NEWS: Mention the change.
30809
30810         Rename module 'calloc' -> 'calloc-gnu'.
30811         * modules/calloc-gnu: New file, copied from modules/calloc.
30812         * modules/calloc: Convert to a redirection to 'calloc-gnu'. Mark as
30813         obsolete.
30814         * doc/posix-functions/calloc.texi: Update.
30815         * NEWS: Mention the change.
30816
30817         Rename module 'malloc' -> 'malloc-gnu'.
30818         * modules/malloc-gnu: New file, copied from modules/malloc.
30819         * modules/malloc: Convert to a redirection to 'malloc-gnu'. Mark as
30820         obsolete.
30821         * modules/argp (Depends-on): Update.
30822         * modules/regex (Depends-on): Update.
30823         * doc/posix-functions/malloc.texi: Update.
30824         * NEWS: Mention the change.
30825
30826 2010-08-28  Eric Blake  <eblake@redhat.com>
30827
30828         pread, pwrite: add missing dependency
30829         * modules/pread (Depends-on): Add extensions.
30830         * modules/pwrite (Depends-on): Likewise.
30831
30832 2010-08-28  Bruno Haible  <bruno@clisp.org>
30833
30834         unistr/u*-strchr: Fix tests dependencies.
30835         * modules/unistr/u8-strchr-tests (Depends-on): Add unistr/u32-to-u8.
30836         * modules/unistr/u16-strchr-tests (Depends-on): Add unistr/u32-to-u16.
30837         Reported by Ian Beckwith <ianb@erislabs.net>.
30838
30839 2010-08-28  Bruno Haible  <bruno@clisp.org>
30840
30841         read-file: Don't occupy too much unused memory.
30842         * lib/read-file.c (fread_file): Shrink the buffer at the end.
30843
30844 2010-08-28  Giuseppe Scrivano  <gscrivano@gnu.org>
30845             Eric Blake  <eblake@redhat.com>
30846             Bruno Haible  <bruno@clisp.org>
30847
30848         read-file: Avoid memory reallocations with regular files.
30849         * lib/read-file.c: Include <sys/stat.h>, <stdio.h>, <stdint.h>.
30850         (fread_file): With regular files, use the remaining length as the
30851         initial buffer size.  Check against overflow.
30852         * modules/read-file (Depends-on): Add ftello, malloc-posix, stdint,
30853         sys_stat.
30854
30855 2010-08-28  Bruno Haible  <bruno@clisp.org>
30856
30857         ftello: Relax license.
30858         * modules/ftello (License): Relax to LGPLv2+.
30859         Reported by Eric Blake.
30860
30861 2010-08-28  Bruno Haible  <bruno@clisp.org>
30862
30863         Avoid relocwrapper link errors due to gnulib replacement functions.
30864         * lib/canonicalize-lgpl.c [IN_RELOCWRAPPER]: Use the system's getcwd
30865         function.
30866         Reported by Ben Pfaff <blp@cs.stanford.edu>.
30867
30868 2010-08-28  Bruno Haible  <bruno@clisp.org>
30869
30870         Prefer using AC_DEFUN_ONCE over AC_DEFUN in projects with gnulib.
30871         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Use AC_DEFUN_ONCE if gl_00GNULIB is
30872         defined.
30873         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): Likewise.
30874         Suggested by Eric Blake.
30875
30876 2010-08-28  Bruno Haible  <bruno@clisp.org>
30877
30878         sys_socket, netdb: Ensure socklen_t gets defined.
30879         * modules/sys_socket (Depends-on): Add socklen.
30880         * modules/netdb (Depends-on): Likewise.
30881         * modules/getaddrinfo (Depends-on): Remove socklen.
30882         * modules/getsockopt (Depends-on): Likewise.
30883         * modules/setsockopt (Depends-on): Likewise.
30884         * tests/test-sys_socket.c: Check that socklen_t is defined.
30885         * tests/test-netdb.c: Likewise.
30886         * m4/socklen.m4: Update comments.
30887         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
30888
30889 2010-08-27  Eric Blake  <eblake@redhat.com>
30890
30891         login_tty: add missing dependency
30892         * modules/login_tty (Depends-on): Add pty.
30893
30894 2010-08-26  Eric Blake  <eblake@redhat.com>
30895
30896         lib-symbol-versions: fix m4 quoting
30897         * m4/ld-version-script.m4 (gl_LD_VERSION_SCRIPT): Use correct
30898         format for AC_LINK_IFELSE.
30899
30900         glob: fix compile test
30901         * m4/glob.m4 (gl_GLOB): Use correct format for AC_COMPILE_IFELSE.
30902
30903         btowc: fix missing file
30904         * modules/btowc (Files): Also ship locale-fr.m4.
30905
30906         lseek: fix link test
30907         * m4/lseek.m4 (gl_FUNC_LSEEK): Use correct format for
30908         AC_LINK_IFELSE.
30909
30910         include_next: silence autoconf 2.68 warning
30911         * m4/include_next.m4 (gl_INCLUDE_NEXT): Mark this use of
30912         AC_COMPILE_IFELSE as special.
30913         (AC_LANG_DEFINES_PROVIDED): Provide dummy implementation for
30914         autoconf < 2.68.
30915
30916         acl: fix compilation test
30917         * m4/acl.m4 (gl_FUNC_ALL): Use correct format for
30918         AC_COMPILE_IFELSE.
30919
30920 2010-08-26  Bruno Haible  <bruno@clisp.org>
30921
30922         Modernize AC_TRY_RUN invocations.
30923         * m4/btowc.m4 (gl_FUNC_BTOWC): Use AC_RUN_IFELSE instead of AC_TRY_RUN.
30924         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Likewise.
30925         * m4/exponentd.m4 (gl_DOUBLE_EXPONENT_LOCATION): Likewise.
30926         * m4/exponentf.m4 (gl_FLOAT_EXPONENT_LOCATION): Likewise.
30927         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Likewise.
30928         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
30929         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Likewise.
30930         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
30931         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30932         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30933         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN_UTF): Likewise.
30934         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
30935         * m4/isnanf.m4 (gl_ISNANF_WORKS): Likewise.
30936         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
30937         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Likewise.
30938         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL,
30939         gl_MBRLEN_NUL_RETVAL): Likewise.
30940         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
30941         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
30942         Likewise.
30943         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
30944         * m4/open.m4 (gl_FUNC_OPEN): Likewise.
30945         * m4/printf.m4 (gl_PRINTF_SIZES_C99, gl_PRINTF_LONG_DOUBLE,
30946         gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE,
30947         gl_PRINTF_DIRECTIVE_A, gl_PRINTF_DIRECTIVE_F, gl_PRINTF_DIRECTIVE_N,
30948         gl_PRINTF_DIRECTIVE_LS, gl_PRINTF_POSITIONS, gl_PRINTF_FLAG_GROUPING,
30949         gl_PRINTF_FLAG_LEFTADJUST, gl_PRINTF_FLAG_ZERO, gl_PRINTF_PRECISION,
30950         gl_SNPRINTF_TRUNCATION_C99, gl_SNPRINTF_RETVAL_C99,
30951         gl_SNPRINTF_DIRECTIVE_N, gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99):
30952         Likewise.
30953         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
30954         * m4/signbit.m4 (gl_SIGNBIT, gl_FLOATTYPE_SIGN_LOCATION): Likewise.
30955         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
30956         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
30957         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
30958         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Likewise.
30959         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise.
30960         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION): Likewise.
30961         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
30962         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
30963
30964 2010-08-26  Bruno Haible  <bruno@clisp.org>
30965
30966         Modernize AC_TRY_LINK invocations.
30967         * m4/acosl.m4 (gl_FUNC_ACOSL): Use AC_LINK_IFELSE instead of
30968         AC_TRY_LINK.
30969         * m4/argp.m4 (gl_ARGP): Likewise.
30970         * m4/asinl.m4 (gl_FUNC_ASINL): Likewise.
30971         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
30972         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
30973         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
30974         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
30975         * m4/codeset.m4 (AM_LANGINFO_CODESET): Likewise.
30976         * m4/cosl.m4 (gl_FUNC_COSL): Likewise.
30977         * m4/expl.m4 (gl_FUNC_EXPL): Likewise.
30978         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
30979         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
30980         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
30981         * m4/frexp.m4 (gl_FUNC_FREXP, gl_CHECK_FREXP_NO_LIBM): Likewise.
30982         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_CHECK_FREXPL_NO_LIBM): Likewise.
30983         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
30984         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
30985         * m4/hostent.m4 (gl_HOSTENT): Likewise.
30986         * m4/iconv.m4 (AM_ICONV_LINK): Likewise.
30987         * m4/intl.m4 (gt_INTL_SUBDIR_CORE): Likewise.
30988         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
30989         * m4/isnand.m4 (gl_HAVE_ISNAND_IN_LIBM, gl_HAVE_ISNAND_NO_LIBM):
30990         Likewise.
30991         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_HAVE_ISNANF_IN_LIBM):
30992         Likewise.
30993         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM):
30994         Likewise.
30995         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
30996         * m4/ldexpl.m4 (gl_FUNC_LDEXPL, gl_CHECK_LDEXPL_NO_LIBM): Likewise.
30997         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Likewise.
30998         * m4/logb.m4 (gl_FUNC_LOGB): Likewise.
30999         * m4/logl.m4 (gl_FUNC_LOGL): Likewise.
31000         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
31001         * m4/servent.m4 (gl_SERVENT): Likewise.
31002         * m4/signbit.m4 (gl_SIGNBIT): Likewise.
31003         * m4/sinl.m4 (gl_FUNC_SINL): Likewise.
31004         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Likewise.
31005         * m4/tanl.m4 (gl_FUNC_TANL): Likewise.
31006         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
31007         * m4/trunc.m4 (gl_FUNC_TRUNC): Likewise.
31008         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
31009         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
31010         * modules/tsearch-tests (configure.ac): Likewise.
31011
31012 2010-08-26  Bruno Haible  <bruno@clisp.org>
31013
31014         Modernize AC_TRY_COMPILE invocations.
31015         * m4/environ.m4 (gt_CHECK_VAR_DECL): Use AC_COMPILE_IFELSE instead of
31016         AC_TRY_COMPILE.
31017         * m4/iconv.m4 (gl_iconv_AC_DEFUN): Likewise.
31018         * m4/intl.m4 (gt_CHECK_DECL): Likewise.
31019         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
31020         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
31021         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
31022         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
31023         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
31024         * m4/lock.m4 (gl_LOCK): Likewise.
31025         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): Likewise.
31026         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
31027         * m4/minmax.m4 (gl_MINMAX_IN_HEADER): Likewise.
31028         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
31029         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
31030         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Likewise.
31031         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
31032         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Likewise.
31033         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
31034         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
31035         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
31036         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
31037         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Likewise. Remove
31038         extraneous semicolon.
31039
31040 2010-08-26  Jim Meyering  <meyering@redhat.com>
31041
31042         stat-time: relax license LGPL
31043         * modules/stat-time (License): Change from GPL to LGPL,
31044         with consent from all contributors, for use in libguile.
31045         Requested by Ludovic Courtès.
31046
31047 2010-08-26  Erik Faye-Lund  <kusmabite@gmail.com>
31048
31049         poll: return immediately on POLLHUP.
31050         * lib/poll.c (poll): Always set timeout before wait_timeout is
31051         computed.
31052
31053 2010-08-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31054
31055         Fix test-unlinkat, test-rmdir failure on AIX 5.3.
31056         * tests/test-rmdir.h (test_rmdir_func): Also accept EEXIST for
31057         rmdir ("dir/.//"), unlinkat.
31058
31059 2010-08-24  Paul Eggert  <eggert@cs.ucla.edu>
31060
31061         stdbool: avoid spurious failure with modern xlc
31062         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
31063
31064 2010-08-24  Bruno Haible  <bruno@clisp.org>
31065
31066         getloadavg: simplify code
31067         * m4/getloadavg.m4 (gl_GETLOADAVG): Remove useless test of
31068         gl_have_func. Update comments.
31069
31070 2010-08-24  Eric Blake  <eblake@redhat.com>
31071
31072         getloadavg: don't define SVR4 on cygwin
31073         * m4/getloadavg.m4 (gl_GETLOADAVG): Sync with autoconf fix, to
31074         only define SVR4 when -lkvm is required.
31075         Reported by Yaakov Selkowitz.
31076
31077 2010-08-24  Bruno Haible  <bruno@clisp.org>
31078
31079         priv-set: fix comment
31080         * lib/priv-set.c (priv_set_restore): Fix typo in comment.
31081
31082 2010-08-23  Paul Eggert  <eggert@cs.ucla.edu>
31083
31084         priv-set: fix comments
31085         * lib/priv-set.c (priv_set_remove, priv_set_restore): Fix comments
31086         to match code, as suggested by David Bartley in:
31087         http://lists.gnu.org/archive/html/bug-tar/2010-08/msg00018.html
31088
31089 2010-08-23  Eric Blake  <eblake@redhat.com>
31090
31091         stdbool: avoid rejecting clang
31092         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Resync with autoconf.
31093         * tests/test-stdbool.c: Enable more tests if using the system
31094         <stdbool.h> instead of the gnulib replacement.
31095         (main): Move xlc bug test to a runtime test for all compilers.
31096         Reported by Anders Kaseorg.
31097
31098         argz: fix shell quoting issue
31099         * m4/argz.m4 (gl_FUNC_ARGZ): Allow for spaces in argument.
31100         Reported by Charles Wilson.
31101
31102 2010-08-22  Paolo Bonzini  <bonzini@gnu.org>
31103             Erik Faye-Lund <kusmabite@gmail.com>
31104
31105         poll, select: handle ERROR_BROKEN_PIPE.
31106         * lib/poll.c (win32_compute_revents): Return POLLHUP when
31107         PeekNamedPipe fails with ERROR_BROKEN_PIPE.
31108         * lib/select.c (win32_compute_revents): Do not mark a pipe
31109         as writeable if PeekNamedPipe fails with ERROR_BROKEN_PIPE.
31110
31111 2010-08-22  Giuseppe Scrivano  <gscrivano@gnu.org>
31112
31113         fts: allow compilation with C++
31114         * lib/fts_.h: Specify extern "C" linkage with C++.
31115
31116 2010-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
31117
31118         Fix gnulib-tool sed script de-commentation for AIX sed.
31119         * gnulib-tool (sed_comments): Try indented comments, for AIX 5.3
31120         sed.
31121
31122 2010-08-17  Eric Blake  <eblake@redhat.com>
31123
31124         test-stddef: test for (some) offsetof bugs
31125         * tests/test-stddef.c: Enhance test to ensure correct type of
31126         offsetof.
31127         * doc/posix-headers/stddef.texi (stddef.h): Document a Solaris bug
31128         that we are not fixing at this time.
31129
31130 2010-08-15  Bruno Haible  <bruno@clisp.org>
31131
31132         stpncpy: Allow stpncpy to be defined as a macro.
31133         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Don't attempt to redeclare stpncpy
31134         if it's already correctly declared.
31135         * lib/string.in.h (stpncpy): Undefine before redefining.
31136         Reported by Jeremy Huddleston <jeremyhu@macports.org>.
31137
31138 2010-08-14  Bruno Haible  <bruno@clisp.org>
31139
31140         Rename module 'memxfrm' to 'amemxfrm'.
31141         * lib/amemxfrm.h: Renamed from lib/memxfrm.h.
31142         (amemxfrm): Renamed from memxfrm.
31143         * lib/amemxfrm.c: Renamed from lib/memxfrm.h. Include amemxfrm.h.
31144         (amemxfrm): Renamed from memxfrm.
31145         * modules/amemxfrm: Renamed from modules/memxfrm. Update.
31146         * NEWS: Mention the change.
31147         * MODULES.html.sh (String handling <string.h>): Update.
31148         * lib/unicase/u-casexfrm.h: Invoke amemxfrm instead of memxfrm.
31149         * lib/unicase/u8-casexfrm.c: Include amemxfrm.h instead of memxfrm.h.
31150         * lib/unicase/u16-casexfrm.c: Likewise.
31151         * lib/unicase/u32-casexfrm.c: Likewise.
31152         * lib/uninorm/u-normxfrm.h: Invoke amemxfrm instead of memxfrm.
31153         * lib/uninorm/u8-normxfrm.c: Include amemxfrm.h instead of memxfrm.h.
31154         * lib/uninorm/u16-normxfrm.c: Likewise.
31155         * lib/uninorm/u32-normxfrm.c: Likewise.
31156         * modules/unicase/u8-casexfrm (Depends-on): Add amemxfrm, remove
31157         memxfrm.
31158         * modules/unicase/u16-casexfrm (Depends-on): Likewise.
31159         * modules/unicase/u32-casexfrm (Depends-on): Likewise.
31160         * modules/uninorm/u8-normxfrm (Depends-on): Likewise.
31161         * modules/uninorm/u16-normxfrm (Depends-on): Likewise.
31162         * modules/uninorm/u32-normxfrm (Depends-on): Likewise.
31163         Suggested by Paul Eggert.
31164
31165 2010-08-14  Bruno Haible  <bruno@clisp.org>
31166
31167         Tests for module 'astrxfrm'.
31168         * modules/astrxfrm-tests: New file.
31169         * tests/test-astrxfrm.c: New file.
31170
31171         New module 'astrxfrm'.
31172         * lib/astrxfrm.h: New file.
31173         * lib/astrxfrm.c: New file, based on lib/memxfrm.c.
31174         * modules/astrxfrm: New file.
31175
31176 2010-08-14  Reuben Thomas <rrt@sc3d.org>
31177
31178         regex: Tweak doc.
31179         * doc/regex.texi (Overview): Don't mention regex.c.
31180         (GNU Regular Expression Compiling): Likewise.
31181         (Match-end-of-line Operator): Mention 'not_eol'.
31182
31183 2010-08-14  Brian Gough  <bjg@gnu.org>
31184             Bruno Haible  <bruno@clisp.org>
31185
31186         git-merge-changelog: add doc relating to use with bzr and hg.
31187         * lib/git-merge-changelog.c: Add comments regarding bzr, hg, diff3.
31188
31189 2010-08-14  Matthias Bolte  <matthias.bolte@googlemail.com>
31190
31191         pthread: fix pthread.h creation for srcdir != builddir
31192         * modules/pthread (Makefile.am): Fix the rule to work also in a
31193         non-srcdir build.
31194
31195 2010-08-13  Karl Berry  <karl@gnu.org>
31196
31197         * doc/regex.texi (Predefined Syntaxes): @smallexample.
31198         * doc/posix-*/*: force line break before @url of POSIX
31199         specifications.
31200         Suggested by Werner Lemberg.
31201
31202 2010-08-10  Paul Eggert  <eggert@cs.ucla.edu>
31203
31204         strtod: fix const diagnostic
31205         * lib/strtod.c (strtod): Don't assign const char * to char *,
31206         as this elicits a warning from GCC when warnings are enabled.
31207
31208 2010-08-10  Pádraig Brady <P@draigbrady.com>
31209         and Eric Blake  <eblake@redhat.com>
31210
31211         copy-acl: ignore ENOTSUP on HP-UX
31212         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Move definition up,
31213         so that it is available for HP-UX.
31214         * lib/copy-acl.c (qcopy_acl): Use it.
31215         Reported by Patrick M. Callahan.
31216
31217 2010-08-10  Eric Blake  <eblake@redhat.com>
31218
31219         open, chown: relax license
31220         * modules/open (License): Change to LGPLv2+, with consent by all
31221         authors, for use in augeas.
31222         * modules/chown (License): Likewise.
31223         * modules/lchown (Likewise): Likewise.
31224         Requested by Adam Stokes.
31225
31226 2010-08-09  Karl Berry  <karl@gnu.org>
31227
31228         * build-aux/ar-lib: new file, import from Automake.
31229         * config/srclist.txt: autocheck for updates.
31230
31231 2010-08-09  Eric Blake  <eblake@redhat.com>
31232
31233         readlinkat: adjust client modules
31234         * modules/areadlinkat (Depends-on): Use readlinkat, not
31235         symlinkat.
31236         * modules/areadlinkat-with-size (Depends-on): Likewise.
31237
31238         mknod: be more vocal about danger of running tests as root
31239         * m4/mknod.m4 (gl_FUNC_MKNOD): Make it harder to run configure as
31240         root, since that is just asking for problems.
31241         Suggested by Bruno Haible, based on a report by Rainer Tammer.
31242
31243         readlinkat: split into its own module
31244         * modules/symlinkat: Split readlinkat...
31245         * modules/readlinkat: ...into separate module.
31246         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Move readlinkat check...
31247         * m4/readlinkat.m4 (gl_FUNC_READLINAT): ...to new file.
31248         * lib/symlinkat.c (readlinkat): Move...
31249         * lib/readlinkat.c: ...into new file.
31250         * modules/symlinkat-tests: Split readlinkat test...
31251         * modules/readlinkat-tests: ...into separate module.
31252         * tests/test-symlinkat.c: Split...
31253         * tests/test-readlinkat.c: ...into new file.
31254         * NEWS: Document the split.
31255         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
31256         * lib/unistd.in.h (readlinkat): Likewise.
31257         Suggested by Bruno Haible.
31258
31259 2010-08-08  Bruno Haible  <bruno@clisp.org>
31260
31261         memxfrm: Speed up.
31262         * lib/memxfrm.c (memxfrm): Allocate enough memory ahead of time, so
31263         that usually only one call to strxfrm is necessary for each string
31264         part.
31265         Reported by Paul Eggert <eggert@cs.ucla.edu>.
31266
31267 2010-08-07  Karl Berry  <karl@gnu.org>
31268
31269         * doc/posix-headers/limits.texi,
31270         * doc/posix-functions/malloc.texi,
31271         * doc/posix-functions/strsignal.texi: missing @item.
31272         * doc/ld-version-script.texi: spurious leading i.
31273         * doc/regex.texi (Interval Operators): no commas inside @var.
31274
31275 2010-08-01  Bruno Haible  <bruno@clisp.org>
31276
31277         Integrate the regex documentation.
31278         * doc/gnulib.texi: Define 'cn' index.
31279         (Regular expressions): New a chapter that includes regex.texi and
31280         regexprops-generic.texi.
31281         * doc/regex.texi: Remove boilerplate stuff. Use simplified @node
31282         syntax.
31283
31284         Whitespace cleanup.
31285         * doc/regex.texi: Remove trailing spaces.
31286
31287         Add regex documentation.
31288         * doc/regex.texi: New file. Taken from regex-0.12/doc/regex.texi in
31289         http://ftp.gnu.org/old-gnu/regex/regex-0.12.tar.gz.
31290         Written by Kathy A. Hargreaves and Karl Berry.
31291
31292 2010-08-01  Bruno Haible  <bruno@clisp.org>
31293
31294         link: Update documentation.
31295         * doc/posix-functions/link.texi: Update regarding Solaris.
31296
31297 2010-07-31  Bruno Haible  <bruno@clisp.org>
31298
31299         Update modules list.
31300         * MODULES.html.sh (Sorting functions <stdlib.h>): Add array-mergesort.
31301         (String handling <string.h>): Add memcmp2, memxfrm.
31302         (Container data structures): Add xlist, xsublist, xoset.
31303         (Core language properties): Add alignof, unused-parameter.
31304         (Process control, Numeric conversion functions <stdlib.h>): Renamed
31305         from Numeric conversion functions <stdlib.h>. Add _Exit, atoll.
31306         (Unibyte characters <ctype.h>): New section.
31307         (String handling <string.h>): New section.
31308         (Mathematics <math.h>): Add acos, acosl, asin, asinl, atan, atan2,
31309         atanl, cbrt, copysign, cos, cosh, cosl, erf, erfc, exp, expl, fabs,
31310         fmod, hypot, j0, j1, jn, ldexp, lgamma, log, log10, log1p, logb, logl,
31311         modf, nextafter, pow, remainder, rint, sin, sinh, sinl, sqrt, sqrtl,
31312         tan, tanh, tanl, y0, y1, yn.
31313         (Support for systems lacking POSIX:2008): Add alphasort, dirent,
31314         dprintf, dprintf-posix, duplocale, fcntl, getlogin, getopt-posix,
31315         grantpt, iconv-h, ioctl, isblank, langinfo, nl_langinfo, pread,
31316         ptsname, pwrite, scandir, servent, sys_utsname, ttyname_r, uname,
31317         unlockpt, vdprintf, vdprintf-posix.
31318         (Enhancements for POSIX:2008 functions): Add getopt-gnu. Remove getopt.
31319         (File system functions): Add concat-filename, sys_file, sys_ioctl,
31320         xconcat-filename.
31321         (File descriptor based Input/Output): Add dup3, fd-safer-flag,
31322         getdtablesize, pipe2, pipe2-safer.
31323         (Security): New section.
31324         (Networking functions): Add accept4.
31325         (Signal handling): Add sigpipe.
31326         (Internationalization functions): Add xstriconveh, mbmemcasecmp,
31327         mbmemcasecoll.
31328         (Unicode string functions): Add libunistring-optional, unistr/u*-cmp2,
31329         unistr/u*-strcoll, uniwbrk/*, uninorm/*, unicase/*.
31330         (Executing programs): Add findprog-lgpl, pipe-filter-gi,
31331         pipe-filter-ii.
31332         (Misc): Add argp-version-etc, login_tty, parse-duration.
31333
31334 2010-07-31  Bruno Haible  <bruno@clisp.org>
31335
31336         Improve doc in MODULES.html.
31337         * modules/linkat (Description): Add the word "function".
31338         * modules/mkfifo (Description): Likewise.
31339         * modules/mknod (Description): Likewise.
31340         * modules/remove (Description): Likewise.
31341         * modules/renameat (Description): Likewise.
31342         * modules/stat (Description): Likewise.
31343         * modules/symlink (Description): Likewise.
31344         * modules/unlink (Description): Likewise.
31345
31346 2010-07-31  Bruno Haible  <bruno@clisp.org>
31347
31348         ansi-c++-opt: Provide option --enable-c++/--disable-c++ when possible.
31349         * m4/ansi-c++.m4 (gl_CXX_CHOICE): In Autoconf 2.66 or newer, provide
31350         option --enable/disable-c++ instead of --enable/disable-cxx.
31351         * NEWS: Mention the change.
31352
31353 2010-07-31  Bruno Haible  <bruno@clisp.org>
31354
31355         readlink, areadlink: Relax test a bit.
31356         * tests/test-readlink.h (test_readlink): Accept EINVAL as an
31357         alternative to ENOTDIR.
31358         * tests/test-areadlink.h (test_areadlink): Likewise.
31359         Reported by Rainer Tammer.
31360
31361 2010-07-31  Bruno Haible  <bruno@clisp.org>
31362
31363         unistr/u8-strstr, unistr/u16-strstr: Optimize the one-character case.
31364         * lib/unistr/u-strstr.h (FUNC): When the needle contains only one
31365         character, perform the search using U_STRCHR.
31366         * lib/unistr/u8-strstr.c (U_STRMBTOUC): New macro.
31367         * lib/unistr/u16-strstr.c (U_STRMBTOUC): Likewise.
31368         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strmbtouc.
31369         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strmbtouc.
31370         Suggested by Paolo Bonzini.
31371
31372 2010-07-31  Bruno Haible  <bruno@clisp.org>
31373
31374         unistr/u*-strstr: Fix dependencies.
31375         * modules/unistr/u8-strstr (Depends-on): Add unistr/u8-strchr.
31376         * modules/unistr/u16-strstr (Depends-on): Add unistr/u16-strchr.
31377         * modules/unistr/u32-strstr (Depends-on): Add unistr/u32-strchr.
31378
31379 2010-07-31  Bruno Haible  <bruno@clisp.org>
31380
31381         unistr/u8-chr, unistr/u8-strchr: Optimize and add comments.
31382         * lib/unistr/u8-chr.c (u8_chr): Add comments. Remove a useless test at
31383         the beginning of the loop.
31384         * lib/unistr/u8-strchr.c (u8_strchr): Add comments. Don't fall through
31385         cases in 'switch' statement.
31386
31387         unistr/u8-strchr: Fix several bugs.
31388         * lib/unistr/u8-strchr.c (u8_strchr): Don't search beyond the end of
31389         the string. When not found, return NULL, not a pointer near the end.
31390
31391         More tests for unistr/u8-strchr.
31392         * tests/unistr/test-strchr.h (test_strchr): Renamed from main. Check
31393         that the function does not read past the first occurrence of the byte
31394         being searched.
31395         * tests/unistr/test-u8-strchr.c (main): New function, with more tests.
31396         * tests/unistr/test-u16-strchr.c (main): New function.
31397         * tests/unistr/test-u32-strchr.c (main): New function.
31398
31399 2010-07-31  Bruno Haible  <bruno@clisp.org>
31400
31401         posix-modules: Ignore backup files of documentation files.
31402         * posix-modules: grep only through files named *.texi.
31403
31404 2010-07-31  Bruno Haible  <bruno@clisp.org>
31405
31406         symlinkat: Fix documentation.
31407         * doc/posix-functions/readlinkat.texi: Fix module name.
31408
31409 2010-07-31  Bruno Haible  <bruno@clisp.org>
31410
31411         fchownat: Replace also when chown has the trailing slash bug.
31412         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Move the test of REPLACE_CHOWN
31413         outside the gl_FUNC_FCHOWNAT_DEREF_BUG invocation. Fixes regression
31414         introduced on 2010-04-10.
31415         Reported by Rainer Tammer.
31416
31417 2010-07-31  Bruno Haible  <bruno@clisp.org>
31418
31419         linkat: Work around AIX 7.1 bug.
31420         * m4/linkat.m4 (gl_FUNC_LINKAT): Require AC_CANONICAL_HOST. Test
31421         whether linkat handles trailing slash correctly. If not, replace linkat
31422         and define LINKAT_TRAILING_SLASH_BUG.
31423         * lib/linkat.c (rpl_linkat): If LINKAT_TRAILING_SLASH_BUG is defined,
31424         check whether (fd1,file1) points to a directory if file1 or file2 ends
31425         in a slash. Code taken from lib/link.c.
31426         * doc/posix-functions/linkat.texi: Mention trailing slash bug.
31427         Reported by Rainer Tammer.
31428
31429 2010-07-31  Bruno Haible  <bruno@clisp.org>
31430
31431         Correctly determine whether pow is available in libc on AIX 7 with xlc.
31432         * m4/mathfunc.m4 (gl_MATHFUNC): Actually use the 'funcptr' variable.
31433         This disables an xlc optimization that was causing wrong test results.
31434         Reported by Rainer Tammer.
31435
31436 2010-07-31  Bruno Haible  <bruno@clisp.org>
31437
31438         iconv: Work around AIX 6.1..7.1 bug.
31439         * doc/posix-functions/iconv.texi: Mention AIX 6.1, 7.1 bug.
31440         * m4/iconv.m4 (AM_ICONV_LINK): Test against AIX 6.1, 7.1 bug. When
31441         cross-compiling, guess no on all versions of AIX.
31442         Reported by Rainer Tammer.
31443
31444 2010-07-31  Bruno Haible  <bruno@clisp.org>
31445
31446         readlink: Relax test a bit.
31447         * tests/test-readlink.h (test_readlink): Allow different errno value
31448         when readlink is called with a file name that ends in / and refers to
31449         a file.
31450         Suggested by Eric Blake.
31451         Reported by Rainer Tammer.
31452
31453 2010-07-31  Bruno Haible  <bruno@clisp.org>
31454
31455         copysign: Does not require -lm on glibc systems.
31456         * modules/copysign (configure.ac): Use gl_MATHFUNC, not
31457         gl_COMMON_DOUBLE_MATHFUNC.
31458         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC): Update comments.
31459
31460 2010-07-31  Bruno Haible  <bruno@clisp.org>
31461
31462         duplocale: Work around AIX 7.1 bug.
31463         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Let the test fail also when
31464         duplocale(LC_GLOBAL_LOCALE) returns (locale_t)0.
31465         * lib/duplocale.c (rpl_duplocale): Update comment.
31466         * doc/posix-functions/duplocale.texi: Mention the AIX 7.1 bug.
31467         Reported by Rainer Tammer.
31468
31469 2010-07-30  Bruno Haible  <bruno@clisp.org>
31470
31471         dirfd: Avoid link error on AIX 7.1.
31472         * lib/dirent.in.h (dirfd): Use modern idiom with REPLACE_DIRFD.
31473         * m4/dirfd.m4 (gl_FUNC_DIRFD): If the function is declared but does not
31474         exist, set REPLACE_DIRFD.
31475         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize REPLACE_DIRFD.
31476         * modules/dirent (Makefile.am): Substitute REPLACE_DIRFD.
31477         * doc/posix-functions/dirfd.texi: Update.
31478         Reported by Rainer Tammer.
31479
31480 2010-07-30  Eric Blake  <eblake@redhat.com>
31481
31482         strtod: next round of AIX fixes
31483         * lib/strtod.c (strtod): Work around AIX bug of parsing p with no
31484         exponent.
31485         * tests/test-strtod.c (main): Enhance tests.
31486         * doc/posix-functions/strtod.texi (strtod): Document next bug.
31487         Reported by Rainer Tammer.
31488
31489         futimens: fix configure check
31490         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Use correct logic.
31491         Reported by Bruno Haible.
31492
31493 2010-07-30  Bruno Haible  <bruno@clisp.org>
31494
31495         getline: Update regarding AIX.
31496         * doc/posix-functions/getline.texi: Mention bug on AIX 7.1.
31497         Reported by Rainer Tammer.
31498
31499 2010-07-30  Bruno Haible  <bruno@clisp.org>
31500
31501         wcwidth: Drop replacement on AIX 7.
31502         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): When cross-compiling, guess yes on
31503         AIX 7.
31504         Reported by Rainer Tammer.
31505
31506 2010-07-30  Bruno Haible  <bruno@clisp.org>
31507
31508         strtok_r: Avoid triggering bug in AIX 7.1 xlc compiler.
31509         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Don't cast an invalid address to
31510         a 'char *'.
31511         Reported by Rainer Tammer.
31512
31513 2010-07-30  Bruno Haible  <bruno@clisp.org>
31514
31515         unlink: Update regarding AIX.
31516         * doc/posix-functions/unlink.texi: Mention bug on AIX 7.1.
31517         * m4/unlink.m4 (gl_FUNC_UNLINK): Update comment.
31518         Reported by Rainer Tammer.
31519
31520 2010-07-30  Bruno Haible  <bruno@clisp.org>
31521
31522         symlink: Update regarding AIX.
31523         * doc/posix-functions/symlink.texi: Mention bug on AIX 7.1.
31524         * m4/symlink.m4 (gl_FUNC_SYMLINK): Update comment.
31525         Reported by Rainer Tammer.
31526
31527 2010-07-30  Bruno Haible  <bruno@clisp.org>
31528
31529         strndup: Update regarding AIX.
31530         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, guess yes on
31531         AIX 7.
31532         Reported by Rainer Tammer.
31533
31534 2010-07-30  Bruno Haible  <bruno@clisp.org>
31535
31536         stat: Update regarding AIX.
31537         * doc/posix-functions/stat.texi: Mention bug on AIX 7.1.
31538         * m4/stat.m4 (gl_FUNC_STAT): Update comment.
31539         Reported by Rainer Tammer.
31540
31541 2010-07-30  Bruno Haible  <bruno@clisp.org>
31542
31543         truncl: Fix autoconf test.
31544         * m4/truncl.m4 (gl_FUNC_TRUNCL): Add TRUNCL_LIBM to LIBS while testing
31545         whether truncl works.
31546         Reported by Rainer Tammer.
31547
31548 2010-07-30  Bruno Haible  <bruno@clisp.org>
31549
31550         round: Update regarding AIX.
31551         * m4/round.m4 (gl_FUNC_ROUND): When cross-compiling, guess no on AIX 7.
31552         * doc/posix-functions/round.texi: Mention bug on AIX 7.1.
31553         Reported by Rainer Tammer.
31554
31555 2010-07-30  Bruno Haible  <bruno@clisp.org>
31556
31557         rename: Update regarding AIX.
31558         * doc/posix-functions/rename.texi: Mention bug on AIX 7.1.
31559         * m4/rename.m4 (gl_FUNC_RENAME): Update comment.
31560         Reported by Rainer Tammer.
31561
31562 2010-07-30  Bruno Haible  <bruno@clisp.org>
31563
31564         printf.m4: Update regarding AIX.
31565         * m4/printf.m4: Update comments regarding AIX.
31566         Reported by Rainer Tammer.
31567
31568 2010-07-30  Bruno Haible  <bruno@clisp.org>
31569
31570         iconv: Update regarding AIX.
31571         * m4/iconv.m4 (AM_ICONV_LINK): When cross-compiling, guess yes on
31572         AIX 7.
31573         Reported by Rainer Tammer.
31574
31575 2010-07-30  Bruno Haible  <bruno@clisp.org>
31576
31577         getopt: Update regarding AIX.
31578         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): When cross-compiling, guess
31579         no on AIX.
31580         * doc/posix-functions/getopt.texi: Mention that AIX has the optind bug.
31581         Reported by Rainer Tammer.
31582
31583 2010-07-30  Bruno Haible  <bruno@clisp.org>
31584
31585         ldexpl; Update regarding AIX.
31586         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): When cross-compiling, guess yes
31587         on AIX 7.
31588         Reported by Rainer Tammer.
31589
31590 2010-07-30  Bruno Haible  <bruno@clisp.org>
31591
31592         frexpl: Update regarding AIX.
31593         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): When cross-compiling, guess yes
31594         on AIX 7.
31595         Reported by Rainer Tammer.
31596
31597 2010-07-30  Bruno Haible  <bruno@clisp.org>
31598
31599         open, fopen: Update regarding AIX.
31600         * m4/open.m4 (gl_FUNC_OPEN): Adjust cross-compiling guess for AIX.
31601         * m4/fopen.m4 (gl_FUNC_FOPEN): Likewise.
31602         * doc/posix-functions/open.texi: Mention the trailing-slash bug on AIX.
31603         * doc/posix-functions/fopen.texi: Likewise.
31604         Reported by Rainer Tammer.
31605
31606 2010-07-30  Bruno Haible  <bruno@clisp.org>
31607
31608         chown: Update doc regarding AIX.
31609         * doc/posix-functions/chown.texi: Mention bug on AIX 7.1.
31610         * m4/chown.m4 (gl_FUNC_CHOWN): Update comment.
31611         Reported by Rainer Tammer.
31612
31613 2010-07-30  Eric Blake  <eblake@redhat.com>
31614
31615         strtod: fix bug in replacement function on AIX
31616         * lib/strtod.c (strtod): Special case broken "0x" parse in
31617         underlying strtod.
31618         * tests/test-strtod.c (main): Document AIX 7.1 bugs.
31619         * doc/posix-functions/strtod.texi (strtod): Likewise.
31620         Reported by Rainer Tammer.
31621
31622 2010-07-30  Bruno Haible  <bruno@clisp.org>
31623
31624         mbrlen: Fix cross-compilation guess for AIX.
31625         * m4/mbrlen.m4 (gl_MBRLEN_INCOMPLETE_STATE): Fix cross-compilation
31626         guess. Leftover from 2008-12-22.
31627
31628 2010-07-30  Bruno Haible  <bruno@clisp.org>
31629
31630         mbrtowc: Fix cross-compilation guess for AIX.
31631         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Fix cross-compilation
31632         guess. Leftover from 2008-12-21.
31633
31634 2010-07-29  Peter O'Gorman  <pogma@thewrittenword.com>  (tiny change)
31635
31636         init.sh: work around trap limitation of some shells
31637         * tests/init.sh (setup_): Move exit trap outside of shell function.
31638
31639 2010-07-29  Eric Blake  <eblake@redhat.com>
31640
31641         strtod: aid debugging
31642         * m4/strtod.m4(gl_FUNC_STRTOD): Use distinct exit status to aid
31643         understanding why strtod is rejected.
31644
31645 2010-07-28  Bruno Haible  <bruno@clisp.org>
31646
31647         unistr/u*-chr, unistr/u*-strchr: Fix link errors and warnings.
31648         * lib/unistr/u8-chr.c: Include <string.h>.
31649         * tests/unistr/test-u8-chr.c: Likewise.
31650         * tests/unistr/test-u16-chr.c: Likewise.
31651         * tests/unistr/test-u32-chr.c: Likewise.
31652         * tests/unistr/test-u8-strchr.c: Likewise.
31653         * tests/unistr/test-u16-strchr.c: Likewise.
31654         * tests/unistr/test-u32-strchr.c: Likewise.
31655         * modules/unistr/u8-chr-tests (Depends-on): Add unistr/u32-set.
31656         * modules/unistr/u16-chr-tests (Depends-on): Likewise.
31657         * modules/unistr/u8-strchr-tests (Depends-on): Likewise.
31658         * modules/unistr/u16-strchr-tests (Depends-on): Likewise.
31659
31660 2010-07-28  Bruno Haible  <bruno@clisp.org>
31661
31662         Use spaces for indentation, not tabs.
31663         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
31664
31665 2010-07-27  Bruno Haible  <bruno@clisp.org>
31666
31667         mbspcasecmp: Fix function specification.
31668         * lib/string.in.h (mbspcasecmp): Fix specification comment.
31669         * lib/mbspcasecmp.c (mbspcasecmp): Likewise.
31670         Reported by Eric Blake <eblake@redhat.com>.
31671
31672 2010-07-26  Paul R. Eggert  <eggert@cs.ucla.edu>
31673
31674         timespec: use cast and not conditional, as truncation isn't possible
31675         * lib/timespec.h (timespec_cmp): Use cast to pacify gcc -Wconversion
31676         instead of a conditional.  Comment about the situation in more detail.
31677         This undoes most of the 2009-10-29 patch.
31678
31679 2010-07-23  Paolo Bonzini  <pbonzini@redhat.com>
31680
31681         unistr/u8-chr, unistr/u8-strchr: use Boyer-Moore like algorithm.
31682         * lib/unistr/u8-chr.c: Add Boyer-Moore like operation.
31683         * lib/unistr/u8-strchr.c: Likewise.
31684         * modules/unistr/u8-chr: Depend on memchr.
31685
31686         unistr/u*-strchr: add tests
31687         * modules/unistr/u8-strchr-tests: New file.
31688         * modules/unistr/u16-strchr-tests: New file.
31689         * modules/unistr/u32-strchr-tests: New file.
31690         * tests/unistr/test-strchr.h: New file.
31691         * tests/unistr/test-u8-strchr.c: New file.
31692         * tests/unistr/test-u16-strchr.c: New file.
31693         * tests/unistr/test-u32-strchr.c: New file.
31694
31695         unistr/u*-chr: test multibyte sequences more
31696         * tests/unistr/test-chr.h: Do complete testing of the characters in the
31697         test vector.
31698         * tests/unistr/test-u8-chr.c (U_UCTOMB): Define.
31699         * tests/unistr/test-u16-chr.c (U_UCTOMB): Likewise.
31700         * tests/unistr/test-u32-chr.c (U_UCTOMB): Likewise.
31701
31702         unistr/u*-chr: test multibyte sequences
31703         * tests/unistr/test-chr.h: Put characters above 0-127 in the test input.
31704
31705         unistr/u*-chr: prepare for multibyte tests
31706         * modules/unistr/u8-chr-tests: Depend on u32-to-u8.
31707         * modules/unistr/u16-chr-tests: Depend on u32-to-u16.
31708         * tests/unistr/test-chr.h: Build initial version as UCS-4 then convert.
31709         * tests/unistr/test-u8-chr.c (U32_TO_U): Define.
31710         * tests/unistr/test-u16-chr.c (U32_TO_U): Likewise.
31711         * tests/unistr/test-u32-chr.c (U32_TO_U): Likewise.
31712
31713 2010-07-18  Bruno Haible  <bruno@clisp.org>
31714
31715         unistr/u8-strchr: Optimize non-ASCII argument case.
31716         * lib/unistr/u8-strchr.c (u8_strchr): Compare the last byte first,
31717         because the first byte often matches anyway.
31718         Reported by Pádraig Brady <P@draigbrady.com>.
31719
31720 2010-07-15  Karl Berry  <karl@gnu.org>
31721
31722         * config/srclist.txt (fdl.texi): only one copy, from gnustandards.
31723
31724 2010-07-14  Paul R. Eggert  <eggert@cs.ucla.edu>
31725
31726         getcwd: on Solaris, work better if ancestors are inaccessible
31727         * lib/getcwd.c (__getcwd): If getcwd returns EINVAL for zero
31728         buffer and size, try again with a large buffer.  This works better
31729         on Solaris, since its getcwd succeeds even if the path to the root
31730         is inaccessible, and this is helpful in common cases such as .zfs
31731         hidden directories.  Problem reported by J Chapman Flack in
31732         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00000.html
31733         Use system getcwd if it's declared, not merely if it's partly
31734         working; use the partly-working test only to avoid needless effort
31735         if the system getcwd fails.
31736         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Omit
31737         comment that was already obsolete and is now even more obsolete.
31738         * modules/getcwd (Depends-on): Depend on strdup, since __getcwd
31739         now might call strdup.
31740
31741 2010-07-13  Paul R. Eggert  <eggert@cs.ucla.edu>
31742
31743         pthread: Add enough so that coreutils/src/sort.c compiles.
31744         * lib/pthread.in.h: Add self to author comment.  Conditionalize on
31745         _GL_PTHREAD_H, not PTHREAD_H_, for consistency with the rest of
31746         gnulib. Include <sched.h> and <time.h>, as per POSIX.
31747         Include <sys/types.h>, in case it defines pthread_t.
31748         (pthread_t, pthread_attr_t, pthread_barrier_t, pthread_barrierattr_t):
31749         (pthread_cond_t, pthread_condattr_t, pthread_key_t, pthread_mutex_t):
31750         (pthread_mutexattr_t, pthread_once_t, pthread_rwlock_t):
31751         (pthread_rwlockattr_t, pthread_spinlock_t):
31752         New typedefs, if HAVE_PTHREAD_T is not defined.
31753         (PTHREAD_COND_INITIALIZER, PTHREAD_MUTEX_INITIALIZER):
31754         (PTHREAD_ONCE_INIT, PTHREAD_RWLOCK_INITIALIZER):
31755         (PTHREAD_BARRIER_SERIAL_THREAD, PTHREAD_CANCEL_DEFERRED):
31756         (PTHREAD_CANCEL_ASYNCHRONOUS, PTHREAD_CANCEL_ENABLE):
31757         (PTHREAD_CANCEL_DISABLE, PTHREAD_CANCELED, PTHREAD_CREATE_JOINABLE):
31758         (PTHREAD_CREATE_DETACHED, PTHREAD_INHERIT_SCHED):
31759         (PTHREAD_EXPLICIT_SCHED, PTHREAD_MUTEX_DEFAULT, PTHREAD_MUTEX_NORMAL):
31760         (PTHREAD_MUTEX_ERRORCHECK, PTHREAD_MUTEX_RECURSIVE):
31761         (PTHREAD_MUTEX_STALLED, PTHREAD_MUTEX_ROBUST, PTHREAD_PRIO_NONE):
31762         (PTHREAD_PRIO_INHERIT, PTHREAD_PRIO_PROTECT, PTHREAD_PROCESS_PRIVATE):
31763         (PTHREAD_PROCESS_SHARED, PTHREAD_SCOPE_SYSTEM, PTHREAD_SCOPE_PROCESS):
31764         New macros.
31765         (pthread_cond_destroy, pthread_cond_init, pthread_cond_signal):
31766         (pthread_cond_wait, pthread_exit, pthread_mutex_destroy):
31767         (pthread_mutex_init, pthread_mutex_lock, pthread_mutex_unlock):
31768         (pthread_spin_init, pthread_spin_lock, pthread_spin_trylock);
31769         (pthread_spin_unlock): New dummy functions.
31770         (pthread_create): Return EAGAIN; don't set errno.
31771         * m4/pthread.m4 (gl_PTHREAD_CHECK): Check for pthread_t, and
31772         require AC_C_INLINE.
31773         * modules/pthread (Depends-on): Add sched, time.
31774         (pthread.h): Use AM_V_GEN.
31775
31776 2010-07-13  Bruno Haible  <bruno@clisp.org>
31777
31778         striconveh: Don't malloc memory if the result buffer is sufficient.
31779         * lib/striconveh.c (mem_cd_iconveh_internal): Use the provided result
31780         buffer if its size is sufficient.
31781         Reported by Ludovic Courtès <ludo@gnu.org>.
31782
31783 2010-07-13  Bruno Haible  <bruno@clisp.org>
31784
31785         strtod: Add safety check.
31786         * lib/strtod.c (ldexp): Abort if this dummy replacement gets called.
31787
31788 2010-07-12  Bruno Haible  <bruno@clisp.org>
31789
31790         Unify tests that set gl_cv_func_ldexpl_no_libm.
31791         * m4/ldexpl.m4 (gl_CHECK_LDEXPL_NO_LIBM): New macro, extracted from
31792         gl_FUNC_LDEXPL.
31793         (gl_FUNC_LDEXPL): Invoke it.
31794         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31795
31796 2010-07-12  Bruno Haible  <bruno@clisp.org>
31797
31798         Unify tests that set gl_cv_func_ldexp_no_libm.
31799         * m4/ldexp.m4: New file, based on m4/mathfunc.m4.
31800         * m4/strtod.m4 (gl_PREREQ_STRTOD): Require gl_CHECK_LDEXP_NO_LIBM.
31801         * modules/ldexp (Files): Remove m4/mathfunc.m4. Add m4/ldexp.m4.
31802         (configure.ac): Simply invoke gl_FUNC_LDEXP.
31803         * modules/strtod (Files): Add m4/ldexp.m4.
31804
31805 2010-07-12  Bruno Haible  <bruno@clisp.org>
31806
31807         Unify tests that set gl_cv_func_frexpl_no_libm.
31808         * m4/frexpl.m4 (gl_CHECK_FREXPL_NO_LIBM): New macro, extracted from
31809         gl_FUNC_FREXPL_NO_LIBM.
31810         (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): Invoke it.
31811         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
31812
31813 2010-07-12  Bruno Haible  <bruno@clisp.org>
31814
31815         Unify tests that set gl_cv_func_frexp_no_libm.
31816         * m4/frexp.m4 (gl_CHECK_FREXP_NO_LIBM): New macro, extracted from
31817         gl_FUNC_FREXP_NO_LIBM.
31818         (gl_FUNC_FREXP, gl_FUNC_FREXP_NO_LIBM): Require it.
31819         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Likewise.
31820
31821 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31822
31823         memcoll: clarify sizes versus lengths, document better, and tweak perf
31824         * lib/memcoll.c (strcoll_loop, memcoll0):
31825         Improve quality of descriptive comments.  Name variables
31826         consistently as to whether they are lengths (which do not include
31827         terminating null) versus sizes (which do).
31828         * lib/xmemcoll.c (xmemcoll0): Likewise.
31829         * lib/memcoll.c (strcoll_loop): Tweak the way that the diff is
31830         returned when s1size == 0; this is easier to compile and saves
31831         about 17% of memcoll's code space on x86-64 with GCC 4.1.2.
31832
31833 2010-07-12  Bruno Haible  <bruno@clisp.org>
31834
31835         Tests for module '_Exit'.
31836         * modules/_Exit-tests: New file.
31837         * tests/test-_Exit.sh: New file.
31838         * tests/test-_Exit.c: New file.
31839
31840         New module '_Exit'.
31841         * lib/stdlib.in.h (__attribute__): New macro.
31842         (_Exit): New declaration.
31843         * lib/_Exit.c: New file.
31844         * m4/_Exit.m4: New file.
31845         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether _Exit is declared.
31846         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB__EXIT and HAVE__EXIT.
31847         * modules/stdlib (Makefile.am): Substitute GNULIB__EXIT and HAVE__EXIT.
31848         * modules/_Exit: New file.
31849         * tests/test-stdlib-c++.cc (_Exit): Check signature.
31850         * doc/posix-functions/_Exit_C99.texi: Mention the new module.
31851
31852 2010-07-12  Paul R. Eggert  <eggert@cs.ucla.edu>
31853
31854         strtod: make it more-accurate typically, and don't require libm
31855         * lib/strtod.c (_GL_ARG_NONNULL): Remove; no longer needed.
31856         Include limits.h.  Don't include string.h.
31857         (HAVE_LDEXP_IN_LIBC, HAVE_RAW_DECL_STRTOD): Define to 0 if not defined.
31858         (locale_isspace): New function, so that no casts are needed to
31859         check whether *s is a space.
31860         (ldexp): Provide an unused dummy if not available.
31861         (scale_radix_exp, parse_number, underlying_strtod): New functions.
31862         (strtod): Use them.  This implementation prefers to use the
31863         underlying strtod if available, falling back on our own code
31864         only to fix known bugs.  This is more likely to produce an
31865         accurate result.  Also, it avoids the use of libm functions.
31866         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't invoke _AC_LIBOBJ_STRTOD;
31867         no longer needed.  Invoke AC_LIBOBJ([strtod]); don't know why this
31868         was absent, but it caused a test failure with coreutils.
31869         (gl_PREREQ_STRTOD): Check wither ldexp can be used without linking
31870         with libm.
31871         * modules/strtod (Makefile.am, Link): libm is no longer needed.
31872         * modules/strtod-tests (Makefile.am): Likewise.
31873
31874 2010-07-11  Pádraig Brady  <P@draigBrady.com>
31875             Bruno Haible  <bruno@clisp.org>
31876
31877         unistr/u8-strchr: Optimize ASCII argument case.
31878         * lib/unistr/u8-strchr.c (u8_strchr): For ASCII arguments, use strchr.
31879
31880 2010-07-08  Paul Eggert  <eggert@cs.ucla.edu>
31881
31882         (x)memcoll: minor tweaks
31883         * lib/memcoll.c (strcoll_loop): Prefer the style where 'const'
31884         is after the type that it qualifies.
31885         (memcoll0): Likewise.
31886         * lib/memcoll.h (memcoll0): Likewise.
31887         * lib/xmemcoll.c (collate_error, xmemcoll0): Likewise.
31888         * lib/xmemcoll.h (xmemcoll0): Likewise.
31889         * lib/memcoll.c (memcoll0): Correct the comment.  This function
31890         differs from memcoll in that the NUL byte is part of the argument.
31891         Omit the abort-checks, as performance is a real issue here.  Plus,
31892         the checks were wrong anyway (an off-by-one error).  Omit local
31893         variable 'diff', as it's a bit clearer that way.
31894         * m4/memcoll.m4 (gl_MEMCOLL): Omit AC_FUNC_STRCOLL, as it's
31895         no longer needed.
31896
31897 2010-07-08  Chen Guo <chenguo4@yahoo.com>
31898
31899         (x)memcoll: speedup when input is known to be NUL delimited
31900         * lib/memcoll.c: Include stdlib.
31901         (memcoll0): New function.
31902         (strcoll_loop): New function, refactored for use in both memcoll
31903         and memcoll0.
31904         * lib/memcoll.h (memcoll0): Add prototype.
31905         * lib/xmemcoll.c (xmemcoll0): New function.
31906         (collate_error): New function, refactored for use in both xmemcoll
31907         and xmemcoll0.
31908         * lib/xmemcoll.h (xmemcoll0): Add prototype.
31909         * m4/memcoll.m4: add inline invocation.
31910
31911 2010-07-06  Pádraig Brady  <P@draigBrady.com>
31912
31913         * build-aux/bootstrap: Remove any local translations
31914         from the translation project synchronization directory,
31915         so that local only translations are not distributed.
31916
31917 2010-07-04  Bruno Haible  <bruno@clisp.org>
31918
31919         fsusage: Clarify which code applies to which platforms.
31920         * m4/fsusage.m4 (gl_FSUSAGE): Clarify which test succeeds on which
31921         platform.
31922         * lib/fsusage.c (get_fs_usage): Likewise.
31923
31924 2010-07-04  Bruno Haible  <bruno@clisp.org>
31925
31926         havelib: Fix bug when AC_LIB_FROMPACKAGE is used more than twice.
31927         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): Use m4_defn.
31928         Reported by Martin Lambers <marlam@marlam.de>.
31929
31930 2010-07-04  Jim Meyering  <meyering@redhat.com>
31931
31932         hash: once again explicitly disallow insertion of NULL
31933         * lib/hash.c (hash_insert0): Reinstate just-removed test:
31934         inserting a NULL pointer cannot work with these functions.
31935         Add a comment with details.
31936         This reverts part of the 2010-07-01 commit, 5bef1a35
31937         "hash: extend module to deal with non-pointer keys".
31938
31939 2010-07-01  Bruno Haible  <bruno@clisp.org>
31940
31941         stdbool: Update doc.
31942         * doc/posix-headers/stdbool.texi: Mention OpenBSD bug.
31943         Info from Christian Weisgerber <naddy@mips.inka.de>.
31944
31945 2010-07-01  Jim Meyering  <meyering@redhat.com>
31946
31947         hash: extend module to deal with non-pointer keys
31948         * lib/hash.c (hash_insert0): New interface, much like hash_insert
31949         but that allows insertion of non-pointer entries.
31950         Do not disallow an ENTRY value of NULL.
31951         (hash_insert): This is now just a thin wrapper.  Call hash_insert0.
31952         * lib/hash.h (hash_insert0): Declare.
31953
31954 2010-07-01  Christian Weisgerber  <naddy@mips.inka.de>  (tiny change)
31955
31956         gettext: Use AC_GNU_SOURCE as a fallback for AC_USE_SYSTEM_EXTENSIONS.
31957         * m4/fcntl-o.m4 (gl_FCNTL_O_FLAGS): When AC_USE_SYSTEM_EXTENSIONS is
31958         not present (i.e. with autoconf 2.59 and when using gettextize, not
31959         gnulib), require AC_GNU_SOURCE instead.
31960
31961 2010-07-01  Ian Beckwith  <ianb@erislabs.net>
31962
31963         idpriv-drop: Fix tests.
31964         * tests/test-idpriv-drop.su.sh: Refer to the test-idpriv-drop program,
31965         not to the test-idpriv-droptemp program.
31966
31967 2010-06-29  Bruno Haible  <bruno@clisp.org>
31968
31969         string: Fix syntax error with g++ 2.96.
31970         * lib/string.in.h (__pure__): Remove definition.
31971         (_GL_ATTRIBUTE_PURE): New macro.
31972         (memchr, memmem, memrchr, rawmemchr, strchrnul, strnlen, strpbrk,
31973         strstr, strcasestr): Use it instead of __attribute__ ((__pure__)).
31974         Reported by Christian Weisgerber <naddy@mips.inka.de>.
31975
31976 2010-06-28  Ian Beckwith  <ianb@erislabs.net>
31977
31978         unitypes: Fix bug introduced on 2010-05-18.
31979         * modules/unitypes (Files): Really add m4/libunistring-base.m4.
31980
31981 2010-06-22  Eric Blake  <eblake@redhat.com>
31982
31983         memmem: slight optimization
31984         * lib/str-two-way.h (critical_factorization): Update comments.
31985         Reduce work during factorization phase.
31986         Reported by Carlos Bueno <carlos@bueno.org>.
31987
31988 2010-06-21  Bruno Haible  <bruno@clisp.org>
31989
31990         Fix HAVE_CALLOC_POSIX misnomer.
31991         * lib/stdlib.in.h (calloc): Use REPLACE_CALLOC instead of
31992         !HAVE_CALLOC_POSIX.
31993         * m4/calloc.m4 (gl_REPLACE_CALLOC): Set REPLACE_CALLOC instead of
31994         HAVE_CALLOC_POSIX.
31995         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_CALLOC
31996         instead of HAVE_CALLOC_POSIX.
31997         * modules/stdlib (Makefile.am): Substitute REPLACE_CALLOC instead of
31998         HAVE_CALLOC_POSIX.
31999
32000         Use modern idiom for calloc() replacement.
32001         * modules/calloc (configure.ac): Invoke gl_FUNC_CALLOC_GNU instead of
32002         AC_FUNC_CALLOC.
32003         * m4/calloc.m4 (gl_FUNC_CALLOC_GNU): Renamed from AC_FUNC_CALLOC.
32004         Require gl_STDLIB_H_DEFAULTS. Invoke gl_REPLACE_CALLOC.
32005         (gl_FUNC_CALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
32006         HAVE_CALLOC_POSIX. Invoke gl_REPLACE_CALLOC.
32007         (gl_REPLACE_CALLOC): New macro.
32008
32009 2010-06-21  Bruno Haible  <bruno@clisp.org>
32010
32011         Fix HAVE_REALLOC_POSIX misnomer.
32012         * lib/stdlib.in.h (realloc): Use REPLACE_REALLOC instead of
32013         !HAVE_REALLOC_POSIX.
32014         * m4/realloc.m4 (gl_REPLACE_REALLOC): Set REPLACE_REALLOC instead of
32015         HAVE_REALLOC_POSIX.
32016         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_REALLOC
32017         instead of HAVE_REALLOC_POSIX.
32018         * modules/stdlib (Makefile.am): Substitute REPLACE_REALLOC instead of
32019         HAVE_REALLOC_POSIX.
32020
32021         Use modern idiom for realloc() replacement.
32022         * modules/realloc (configure.ac): Invoke gl_FUNC_REALLOC_GNU instead of
32023         AC_FUNC_REALLOC.
32024         * m4/realloc.m4 (gl_FUNC_REALLOC_GNU): New macro, mostly copied from
32025         Autoconf's AC_FUNC_REALLOC.
32026         (gl_FUNC_REALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
32027         HAVE_REALLOC_POSIX. Invoke gl_REPLACE_REALLOC.
32028         (gl_REPLACE_REALLOC): New macro.
32029         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
32030
32031 2010-06-21  Bruno Haible  <bruno@clisp.org>
32032
32033         Fix HAVE_MALLOC_POSIX misnomer.
32034         * lib/stdlib.in.h (malloc): Use REPLACE_MALLOC instead of
32035         !HAVE_MALLOC_POSIX.
32036         * m4/malloc.m4 (gl_REPLACE_MALLOC): Set REPLACE_MALLOC instead of
32037         HAVE_MALLOC_POSIX.
32038         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize REPLACE_MALLOC
32039         instead of HAVE_MALLOC_POSIX.
32040         * modules/stdlib (Makefile.am): Substitute REPLACE_MALLOC instead of
32041         HAVE_MALLOC_POSIX.
32042
32043         Use modern idiom for malloc() replacement.
32044         * modules/malloc (configure.ac): Invoke gl_FUNC_MALLOC_GNU instead of
32045         AC_FUNC_MALLOC.
32046         * m4/malloc.m4 (gl_FUNC_MALLOC_GNU): New macro, mostly copied from
32047         Autoconf's AC_FUNC_MALLOC.
32048         (gl_FUNC_MALLOC_POSIX): Rely on gl_STDLIB_H_DEFAULTS to initialize
32049         HAVE_MALLOC_POSIX. Invoke gl_REPLACE_MALLOC.
32050         (gl_REPLACE_MALLOC): New macro.
32051         Reported by Richard Lloyd <richard.lloyd@connectinternetsolutions.com>.
32052
32053 2010-06-20  Richard Lloyd  <richard.lloyd@connectinternetsolutions.com>
32054
32055         stdio.in.h: fix compilation failure when using HP-UX 11's C compiler
32056         * lib/stdio.in.h: Remove excess _GL_CXXALIAS_RPL macro argument.
32057         This macro takes 3 arguments, not 4.
32058
32059 2010-06-15  Giuseppe Scrivano  <gscrivano@gnu.org>
32060
32061         ipv6: fix detection under mingw
32062         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Include <ws2tcpip.h> for struct
32063         in6_addr.
32064
32065 2010-06-14  Ben Pfaff  <blp@cs.stanford.edu>
32066
32067         * m4/strtod.m4 (gl_FUNC_STRTOD): Factor out common code.  Assume
32068         that strtod() works when cross-compiling to a glibc version known
32069         to work.
32070
32071 2010-06-15  Bruno Haible  <bruno@clisp.org>
32072
32073         * m4/strtod.m4 (gl_FUNC_STRTOD): Stop using AC_FUNC_STRTOD.
32074
32075 2010-06-15  René Berber  <r.berber@computer.org>  (tiny change)
32076
32077         select: Correct timeout.
32078         * lib/select.c (rpl_select): Compute wait_timeout correctly.
32079
32080 2010-06-14  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
32081
32082         git-version-gen: init shell var to avoid env var influence
32083         * build-aux/git-version-gen (v): Init shell var to empty.
32084
32085 2010-06-14  Paul Eggert  <eggert@cs.ucla.edu>
32086
32087         priv-set: Don't assume that priv.h exists merely because getppriv does.
32088         See Jan Andersen's bug report about AIX 5L in
32089         http://lists.gnu.org/archive/html/bug-tar/2010-06/msg00019.html
32090         * m4/priv-set.m4 (gl_PRIV_SET): Check for priv.h.
32091         * lib/priv-set.c: Do nothing unless HAVE_PRIV_H.
32092         * lib/priv-set.h: Likewise.
32093         * tests/test-priv-set.c: Likewise.
32094
32095 2010-06-13  Bruno Haible  <bruno@clisp.org>
32096
32097         relocatable: Make it easier to test whether to install wrappers.
32098         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): New automake conditional
32099         RELOCATABLE_VIA_WRAPPER.
32100
32101 2010-06-13  Bruno Haible  <bruno@clisp.org>
32102
32103         gnulib-tool: Display specified modules and dependencies differently.
32104         * gnulib-tool (func_show_module_list): New function.
32105         (func_import, func_create_testdir): Invoke it.
32106         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
32107
32108 2010-06-13  Bruno Haible  <bruno@clisp.org>
32109
32110         gnulib-tool: Align code of func_import and func_create_testdir.
32111         * gnulib-tool (func_create_testdir): Rename variable saved_modules to
32112         specified_modules.
32113
32114 2010-06-12  Jim Meyering  <meyering@redhat.com>
32115
32116         test-inttostr: avoid spurious failure on Solaris 9
32117         * tests/test-inttostr.c (main): Skip the test when snprintf fails
32118         to accept "%ju".  Reported by Bruno Haible.
32119
32120 2010-06-11  Jim Meyering  <meyering@redhat.com>
32121
32122         test-sys_socket: mark variables as used more readably
32123         * tests/test-sys_socket.c (main): Mark otherwise unused variables
32124         as "used" explicitly via (void) statement casts.  This is more
32125         readable than using them in an artificial return expression.
32126         Suggestion from Bruno Haible.
32127
32128 2010-06-11  Bruno Haible  <bruno@clisp.org>
32129
32130         Avoid some more warnings from "gcc -Wwrite-strings".
32131         * tests/test-argp.c (test_optional): Change 5th and 6th argument type
32132         to 'const char *'.
32133         * tests/test-c-strstr.c (main): Add 'const' to variable declaration.
32134         * tests/test-c-strcasestr.c (main): Likewise.
32135         * tests/test-mbscasestr1.c (main): Likewise.
32136         * tests/test-mbscasestr2.c (main): Likewise.
32137         * tests/test-memmem.c (main): Likewise.
32138         * tests/test-strstr.c (main): Likewise.
32139         * tests/test-strcasestr.c (main): Likewise.
32140
32141 2010-06-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32142
32143         init.sh: change framework_failure_ to fail with status 99, not 1
32144         * tests/init.sh (framework_failure_): Exit 99, not 1.  This informs
32145         automake's parallel-tests rule that this is an unexpected failure,
32146         even if the test is listed in XFAIL_TESTS.
32147
32148 2010-06-11  Jim Meyering  <meyering@redhat.com>
32149
32150         test-inttostr: avoid warnings about 4-6KB literal strings
32151         * tests/test-inttostr.c: Don't use <assert.h>.  Instead, ...
32152         Include "macros.h", for its definition of ASSERT.
32153         (CK): s/assert/ASSERT/
32154         * modules/inttostr-tests (Files): Add macros.h.
32155
32156         init.sh: don't use $ME_ or skip_ before they are defined
32157         * tests/init.sh: Hoist definitions of $ME_ and skip_ to precede
32158         their first uses.  Also hoist their companions: warn_, fail_,
32159         framework_failure_, $stderr_fileno.  Prompted by a patch from
32160         Stefano Lattarini.
32161
32162         test-sys_socket: avoid set-but-not-used warnings from gcc
32163         * tests/test-sys_socket.c (main): Use "i" and "x", in order to
32164         avoid warning about set-but-not-used variables.
32165
32166         test-xvasprintf: avoid 'const' discard warnings
32167         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Use
32168         "const" when assigning from literal strings.
32169         (test_xasprintf): Add "void" in function argument list to placate
32170         -Wstrict-prototypes and to be consistent with test_xvasprintf above.
32171
32172         tests: avoid compilation warnings in argmatch and exclude tests...
32173         in packages that define ARGMATCH_DIE_DECL, like coreutils.
32174         * tests/test-exclude.c [ARGMATCH_DIE_DECL]: Also declare the function.
32175         Since it always exits, declare with the "noreturn" attribute.
32176         * tests/test-argmatch.c: Likewise.
32177
32178         tests: avoid 'const' discard warnings in mbsstr tests
32179         * tests/test-mbsstr1.c (main): Add "const" to avoid trivial warning.
32180         * tests/test-mbsstr2.c (main): Likewise.
32181
32182         test-verify: avoid warning from gcc's -Wmissing-declarations
32183         * tests/test-verify.c (function): Declare to be static.
32184
32185         test-inttostr.c: include <string.h> for use of strcmp
32186         * tests/test-inttostr.c: Include <string.h> for strcmp declaration.
32187
32188         test-linkat: avoid failed assertion on "other" architectures
32189         * tests/test-linkat.c: Include <sys/stat.h>, for declarations of stat,
32190         lstat, mkdir.  Patch by John Rigby, to fix FTBFS on armel, powerpc,
32191         sparc: https://bugs.launchpad.net/bugs/591968
32192
32193 2010-06-11  Jim Meyering  <meyering@redhat.com>
32194
32195         printf.m4: avoid autoconf's "Expanded Before Required" warning
32196         * m4/printf.m4 (gl_SNPRINTF_RETVAL_C99): Define using AC_DEFUN_ONCE,
32197         rather than AC_DEFUN, to avoid the classic "Expanded Before Required"
32198         autoconf warning.
32199
32200 2010-06-10  Ben Pfaff  <blp@cs.stanford.edu>
32201
32202         Replacement header templates are now named with ".in", not "_".
32203         * doc/gnulib-intro.texi: Correct.
32204
32205 2010-06-10  Jim Meyering  <meyering@redhat.com>
32206
32207         inttostr-tests: depend on snprintf, not snprintf-posix
32208         * modules/inttostr-tests (Depends-on): Depend on snprintf, not
32209         snprintf-posix, to avoid this aclocal failure:
32210           missing file gnulib-tests/vasnprintf.c
32211           configure.ac:45: error: expected source file, required through \
32212           AC_LIBSOURCES, not found
32213
32214 2010-06-10  Jim Meyering  <meyering@redhat.com>
32215
32216         inttostr: add a new function, inttostr, and tests
32217         The namesake function was not available.  The existence of the
32218         template file, inttostr.c makes its addition nontrivial.
32219         * lib/anytostr.c: Rename from inttostr.c.
32220         (anytostr): Rename from inttostr.
32221         * lib/inttostr.c: New file.
32222         * modules/inttostr (Files): Add anytostr.c.
32223         (Makefile.am): Set lib_SOURCES instead of ...
32224         * m4/inttostr.m4: Remove uses of AC_LIBOBJ.
32225         * lib/imaxtostr.c: Update use.  s/inttostr/anytostr/
32226         * lib/offtostr.c: Likewise.
32227         * lib/uinttostr.c: Likewise.
32228         * lib/umaxtostr.c: Likewise.
32229         * modules/inttostr-tests: New file.
32230         * tests/test-inttostr.c: New file.  Test these functions.
32231
32232 2010-06-09  Ben Pfaff  <blp@cs.stanford.edu>
32233             Bruno Haible  <bruno@clisp.org>
32234
32235         Add "Extending Gnulib" chapter to manual.
32236         * doc/gnulib.texi (Writing Modules): Add cross-reference to new
32237         chapter.
32238         (Extending Gnulib): New chapter.
32239         * doc/gnulib-intro.texi (Openness): Add cross-reference to new
32240         chapter.
32241
32242 2010-06-09  Bruno Haible  <bruno@clisp.org>
32243
32244         Avoid relocwrapper link errors due to gnulib replacement functions.
32245         * lib/areadlink.c: Use the system's malloc, realloc functions.
32246         (areadlink): Set errno to ENOMEM explicitly.
32247         * modules/areadlink (Depends-on): Remove malloc-posix.
32248         Reported by Ben Pfaff <blp@cs.stanford.edu>.
32249
32250 2010-06-09  Bruno Haible  <bruno@clisp.org>
32251
32252         Avoid relocwrapper link errors due to gnulib replacement functions.
32253         * lib/canonicalize-lgpl.c: Use the system's malloc function.
32254         * lib/malloca.c: Likewise.
32255         * lib/relocatable.c: Likewise.
32256         * lib/progreloc.c: Use the system's malloc, sprintf functions.
32257         * lib/relocwrapper.c: Use the system's fprintf, malloc functions.
32258         * lib/setenv.c: Use the system's malloc, realloc functions.
32259         * lib/strerror.c: Use the system's sprintf function.
32260         Reported by Ben Pfaff <blp@cs.stanford.edu>.
32261
32262 2010-06-04  Bruno Haible  <bruno@clisp.org>
32263
32264         Prefer documented low-level autoconf macro names.
32265         * m4/lib-link.m4: Use m4_translit instead of translit.
32266         * m4/environ.m4: Likewise.
32267         * m4/mathfunc.m4: Likewise.
32268         * m4/onceonly.m4: Likewise.
32269         * m4/stdint.m4: Likewise.
32270         Suggested by Eric Blake.
32271
32272 2010-06-04  Martin Lambers  <marlam@marlam.de>
32273             Bruno Haible  <bruno@clisp.org>
32274
32275         havelib: Allow library names with '+' characters.
32276         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
32277         AC_LIB_FROMPACKAGE, AC_LIB_LINKFLAGS_BODY): Convert '+' in name to '_'.
32278
32279 2010-06-09  Bruno Haible  <bruno@clisp.org>
32280
32281         Module setenv does not depend on 'malloc-posix', 'realloc-posix'.
32282         * lib/setenv.c (__add_to_environ): Set errno to ENOMEM when malloc or
32283         realloc failed.
32284
32285 2010-06-08  Peter Simons  <simons@cryp.to>
32286
32287         maint.mk: make the news-check rule more configurable
32288         * top/maint.mk (news-check-lines-spec): New variable.
32289         (news-check): Use "sed -n 1,10p" in place of "head".
32290
32291 2010-06-07  Jim Meyering  <meyering@redhat.com>
32292
32293         do-release-commit-and-tag: fix typo in --help
32294         * build-aux/do-release-commit-and-tag (Usage): Fix typo in --help.
32295
32296         regex: avoid new dead-code warning with gcc-4.6.0
32297         * lib/regex_internal.c (re_string_reconstruct): #if-0-out a dead
32298         if-block containing a while-loop.  It's been unused for at least
32299         5 years.
32300
32301 2010-06-05  Bruno Haible  <bruno@clisp.org>
32302
32303         * doc/posix-functions/strcoll.texi: Mention Solaris limitation.
32304         Reported by River Tarnell <river.tarnell@wikimedia.de> via Eric Blake.
32305
32306 2010-06-04  Bruno Haible  <bruno@clisp.org>
32307
32308         Update to GNU gettext 0.18.1.
32309         * modules/gettext (configure.ac): Require gettext infrastructure from
32310         version 0.18.1.
32311
32312 2010-06-03  Bruno Haible  <bruno@clisp.org>
32313
32314         Don't use AC_LIBOBJ with file names in subdirectories.
32315         * m4/libunistring-base.m4 (gl_LIBUNISTRING_MODULE): Renamed from
32316         gl_LIBUNISTRING_LIBSOURCE. Take a module name as argument, not a file
32317         name. Define an automake conditional. Don't invoke AC_LIBOBJ.
32318         * m4/libunistring.m4 (gl_LIBUNISTRING): Update AC_BEFORE invocation.
32319         * modules/uni*/* (configure.ac): Use gl_LIBUNISTRING_MODULE instead of
32320         gl_LIBUNISTRING_LIBSOURCE.
32321         (Makefile.am): Augment lib_SOURCES here, conditionally.
32322         * NEWS: Drop requirement for Automake option 'subdir-objects'.
32323
32324 2010-06-03  Bruno Haible  <bruno@clisp.org>
32325
32326         Simplify gl_LIBUNISTRING_VERSION_CMP expansion.
32327         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Ensure
32328         expansion does not end with a newline.
32329         (gl_LIBUNISTRING_LIBSOURCE, gl_LIBUNISTRING_LIBHEADER): Avoid
32330         unnecessary newline.
32331
32332 2010-06-03  Bruno Haible  <bruno@clisp.org>
32333
32334         Reduce dependencies.
32335         * tests/test-quotearg.h: New file, extracted from
32336         tests/test-quotearg.c.
32337         * tests/test-quotearg-simple.c: New file, extracted from
32338         tests/test-quotearg.c.
32339         * tests/test-quotearg.c: Don't include <ctype.h>.
32340         (struct result_strings, struct result_groups, LQ, RQ, LQ_ENC, RQ_ENC,
32341         RQ_ESC, inputs, compare, use_quotearg_buffer, use_quotearg,
32342         use_quote_double_quotes, use_quotearg_colon): Moved to
32343         tests/test-quotearg.h.
32344         (results_g, flag_results, custom_quotes, custom_results): Moved
32345         to tests/test-quotearg-simple.c.
32346         (main): Moved the part that does not depend on gettext to
32347         tests/test-quotearg-simple.c. Return 77 if the test cannot be
32348         performed.
32349         * modules/quotearg-simple: New file.
32350         * modules/quotearg-simple-tests: New file.
32351         * modules/quotearg (Depends-on): Add quotearg-simple.
32352         * modules/quotearg-tests (Status): Mark as gettext-dependent-test.
32353         (Files): Add tests/test-quotearg.h.
32354         Reported by Paolo Bonzini.
32355
32356 2010-06-03  Bruno Haible  <bruno@clisp.org>
32357
32358         Reduce dependencies.
32359         * modules/acl (Depends-on): Add gettext-h. Remove gettext.
32360
32361 2010-06-03  Bruno Haible  <bruno@clisp.org>
32362
32363         time: Undefine more broken macros.
32364         * lib/time.in.h: Undefine broken localtime_r and gmtime_r macros only
32365         for pthread-win32. Undefine also asctime_r, ctime_r, rand_r, strtok_r.
32366         Reported by Eric Blake.
32367
32368 2010-06-03  Bruno Haible  <bruno@clisp.org>
32369
32370         Choose among AC_DEFUN_ONCE, AC_DEFUN in a way that aclocal understands.
32371         * m4/iconv.m4 (gl_iconv_AC_DEFUN): New macro.
32372         (AM_ICONV): Define it through gl_iconv_AC_DEFUN.
32373         * m4/libunistring.m4 (gl_libunistring_AC_DEFUN): New macro.
32374         (gl_LIBUNISTRING): Define it through gl_libunistring_AC_DEFUN.
32375         Reported by Ludovic Courtès <ludo@gnu.org>.
32376
32377 2010-06-02  Eric Blake  <eblake@redhat.com>
32378
32379         time: work with mingw + pthreads-win32 library
32380         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Set new variable
32381         if timespec is defined only in pthread.h.
32382         * modules/time (Makefile.am): Substitute it.
32383         * lib/time.in.h (!TIME_H_DEFINES_STRUCT_TIMESPEC): Include
32384         <pthread.h>, when needed.
32385         (GNULIB_TIME_R): Undefine broken localtime_r and gmtime_r macros
32386         from the library.
32387
32388 2010-05-31  Bruno Haible  <bruno@clisp.org>
32389
32390         Avoid expanding two macros in the wrong order.
32391         * m4/libunistring-base.m4 (gl_LIBUNISTRING_LIB_PREPARE): Require
32392         gl_LIBUNISTRING if it is defined.
32393         * m4/libunistring.m4 (gl_LIBUNISTRING): Define using AC_DEFUN_ONCE for
32394         autoconf >= 2.64.
32395         Reported by Ludovic Courtès <ludo@gnu.org>.
32396
32397 2010-05-27  Jim Meyering  <meyering@redhat.com>
32398
32399         maint.mk: also prohibit "#undef" of always-defined symbols
32400         * top/maint.mk (def_sym_regex): Handle #undef as well as #define.
32401         Allow more than one space before the symbol name.
32402         (sc_prohibit_always-defined_macros): Use grep's -E, now that
32403         the regexp uses alternation.
32404
32405 2010-05-26  Eric Blake  <eblake@redhat.com>
32406
32407         maint.mk: avoid echo -e
32408         * top/maint.mk (gzip_rsyncable, _ignore_case, _sc_say_and_exit):
32409         Convert all uses of echo -* to printf.
32410         Reported by Matthias Bolte.
32411
32412 2010-05-25  Bruno Haible  <bruno@clisp.org>
32413
32414         Update to GNU gettext 0.18, part 2.
32415         * build-aux/po/Makefile.in.in: Update to GNU gettext 0.18.
32416         Reported by Martin von Gagern <Martin.vGagern@gmx.net>.
32417
32418 2010-05-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32419
32420         Add missing include in test-pwrite.c.
32421         * tests/test-pwrite.c: Include string.h, for strcmp.
32422
32423 2010-05-24  Bruno Haible  <bruno@clisp.org>
32424
32425         * NEWS: Mention requirement for Automake option 'subdir-objects'.
32426
32427 2010-05-24  Bruno Haible  <bruno@clisp.org>
32428
32429         Don't use conversion with transliteration in u{8,16,32}_strcoll.
32430         * lib/unistr/u-strcoll.h (FUNC): Use U_STRCONV_TO_ENCODING with
32431         iconveh_error argument.
32432         * lib/unistr/u8-strcoll.c: Define U_STRCONV_TO_ENCODING instead of
32433         U_STRCONV_TO_LOCALE.
32434         * lib/unistr/u16-strcoll.c: Likewise.
32435         * lib/unistr/u32-strcoll.c: Likewise.
32436         * modules/unistr/u8-strcoll (Depends-on): Add
32437         uniconv/u8-strconv-to-enc, localcharset. Remove
32438         uniconv/u8-strconv-to-locale.
32439         (configure.ac): Bump version number.
32440         * modules/unistr/u16-strcoll (Depends-on): Add
32441         uniconv/u16-strconv-to-enc, localcharset. Remove
32442         uniconv/u16-strconv-to-locale.
32443         (configure.ac): Bump version number.
32444         * modules/unistr/u32-strcoll (Depends-on): Add
32445         uniconv/u32-strconv-to-enc, localcharset. Remove
32446         uniconv/u32-strconv-to-locale.
32447         (configure.ac): Bump version number.
32448
32449 2010-05-24  Bruno Haible  <bruno@clisp.org>
32450
32451         Avoid a test failure on NetBSD 5.0.
32452         * tests/test-striconveh.c (main): On NetBSD, skip a test that triggers
32453         an iconv() bug.
32454
32455 2010-05-24  Bruno Haible  <bruno@clisp.org>
32456
32457         Adjust #include directive style.
32458         * modules/regex (Includes): Recommend to write <regex.h>.
32459
32460 2010-05-24  Bruno Haible  <bruno@clisp.org>
32461
32462         regex: Don't require alloca.
32463         * modules/regex (Depends-on): Remove alloca. Add alloca-opt.
32464         * lib/regex_internal.h (alloca): Ensure it's defined even if we call it
32465         only inside if (0).
32466
32467 2010-05-23  Jim Meyering  <meyering@redhat.com>
32468
32469         test-renameat.c: include <sys/stat.h>
32470         * tests/test-renameat.c: Include <sys/stat.h>; required for
32471         definition of S_IS* macros.
32472
32473 2010-05-23  Ben Pfaff  <blp@cs.stanford.edu>
32474
32475         Update maintainer documentation for 'relocatable-prog' module.
32476         * doc/relocatable-maint.texi: Update.
32477         Comments by Bruno Haible.
32478
32479 2010-05-23  Bruno Haible  <bruno@clisp.org>
32480
32481         git-merge-changelog: Enable --split-merged-entry by default.
32482         * lib/git-merge-changelog.c (main): Set split_merged_entry to true.
32483         (usage): Don't mention this option any more.
32484         Reported by Ralf Wildenhues.
32485
32486 2010-05-23  Jim Meyering  <meyering@redhat.com>
32487
32488         test-pwrite: do not leave behind a test file named "out"
32489         Revert commit d8fa18472a54c1cb2674c296b3d82443f234d5f7.
32490         The trivial-looking use of init.sh is really necessary.
32491         It ensures that the temporary file, "out", is created in
32492         a temporary directory, and removed upon termination.
32493         * tests/test-pwrite.sh: Re-add file.
32494         * modules/pwrite-tests: Reference it.
32495
32496 2010-05-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
32497
32498         Fix output redirection buglet in init.sh.
32499         * tests/init.sh: Fix redirection of stderr.
32500
32501 2010-05-20  Simon Josefsson  <simon@josefsson.org>
32502
32503         * modules/valgrind-tests (configure.ac): Invoke gl_VALGRIND_TESTS.
32504
32505 2010-05-17  Simon Josefsson  <simon@josefsson.org>
32506
32507         * modules/valgrind-tests: New file.
32508         * m4/valgrind-tests.m4: New file.
32509         * doc/valgrind-tests.texi: New file.
32510         * doc/gnulib.texi (Running self-tests under valgrind): New
32511         section.
32512
32513 2010-05-19  Bruno Haible  <bruno@clisp.org>
32514
32515         Clean up dead code in recent commit.
32516         * m4/libunistring-base.m4 (gl_LIBUNISTRING_VERSION_CMP): Include the
32517         body of gl_LIBUNISTRING_VERSION_CMP_ORIG as fallback.
32518         (gl_LIBUNISTRING_VERSION_CMP_ORIG): Remove macro.
32519         Suggested by Paolo Bonzini.
32520
32521 2010-05-19  Bruno Haible  <bruno@clisp.org>
32522
32523         Avoid valgrind error reports from libunistring.
32524         * lib/libunistring.valgrind: New file, based on lib/malloca.valgrind.
32525         * modules/libunistring (Files): Add it.
32526         * modules/libunistring-optional (Files): Likewise.
32527
32528 2010-05-18  Paolo Bonzini  <bonzini@gnu.org>
32529             Bruno Haible  <bruno@clisp.org>
32530
32531         New module 'libunistring-optional'.
32532         * modules/libunistring-optional: New file.
32533         * m4/libunistring-base.m4: New file.
32534         * m4/libunistring-optional.m4: New file.
32535         * lib/unicase.in.h: Renamed from lib/unicase.h.
32536         * lib/uniconv.in.h: Renamed from lib/uniconv.h.
32537         * lib/unictype.in.h: Renamed from lib/unictype.h.
32538         * lib/unilbrk.in.h: Renamed from lib/unilbrk.h.
32539         * lib/uniname.in.h: Renamed from lib/uniname.h.
32540         * lib/uninorm.in.h: Renamed from lib/uninorm.h.
32541         * lib/unistdio.in.h: Renamed from lib/unistdio.h.
32542         * lib/unistr.in.h: Renamed from lib/unistr.h.
32543         * lib/unitypes.in.h: Renamed from lib/unitypes.h.
32544         * lib/uniwbrk.in.h: Renamed from lib/uniwbrk.h.
32545         * lib/uniwidth.in.h: Renamed from lib/uniwidth.h.
32546         * m4/libunistring.m4 (gl_LIBUNISTRING_CORE): Renamed from
32547         gl_LIBUNISTRING. If the library was found, determine the installed
32548         version and set LIBUNISTRING_VERSION.
32549         (gl_LIBUNISTRING): New macro, as a wrapper arount it. Document that it
32550         sets LIBUNISTRING_VERSION. If the module libunistring-optional is used,
32551         handle a configuration option --with-included-libunistring.
32552         * modules/libunistring (Files): Add m4/absolute-header.m4.
32553         * modules/unicase/base (Files): Use unicase.in.h instead of unicase.h.
32554         Add m4/libunistring-base.m4.
32555         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32556         (Makefile.am): Build unicase.h from unicase.in.h.
32557         * modules/uniconv/base (Files): Use uniconv.in.h instead of uniconv.h.
32558         Add m4/libunistring-base.m4.
32559         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32560         (Makefile.am): Build uniconv.h from uniconv.in.h.
32561         * modules/unictype/base (Files): Use unictype.in.h instead of
32562         unictype.h. Add m4/libunistring-base.m4.
32563         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32564         (Makefile.am): Build unictype.h from unictype.in.h.
32565         * modules/unilbrk/base (Files): Use unilbrk.in.h instead of unilbrk.h.
32566         Add m4/libunistring-base.m4.
32567         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32568         (Makefile.am): Build unilbrk.h from unilbrk.in.h.
32569         * modules/uniname/base (Files): Use uniname.in.h instead of uniname.h.
32570         Add m4/libunistring-base.m4.
32571         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32572         (Makefile.am): Build uniname.h from uniname.in.h.
32573         * modules/uninorm/base (Files): Use uninorm.in.h instead of uninorm.h.
32574         Add m4/libunistring-base.m4.
32575         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32576         (Makefile.am): Build uninorm.h from uninorm.in.h.
32577         * modules/unistdio/base (Files): Use unistdio.in.h instead of
32578         unistdio.h. Add m4/libunistring-base.m4.
32579         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32580         (Makefile.am): Build unistdio.h from unistdio.in.h.
32581         * modules/unistr/base (Files): Use unistr.in.h instead of unistr.h.
32582         Add m4/libunistring-base.m4.
32583         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32584         (Makefile.am): Build unistr.h from unistr.in.h.
32585         * modules/unitypes (Files): Use unitypes.in.h instead of unitypes.h.
32586         Add m4/libunistring-base.m4.
32587         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32588         (Makefile.am): Build unitypes.h from unitypes.in.h.
32589         * modules/uniwbrk/base (Files): Use uniwbrk.in.h instead of uniwbrk.h.
32590         Add m4/libunistring-base.m4.
32591         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32592         (Makefile.am): Build uniwbrk.h from uniwbrk.in.h.
32593         * modules/uniwidth/base (Files): Use uniwidth.in.h instead of
32594         uniwidth.h. Add m4/libunistring-base.m4.
32595         (configure.ac): Invoke gl_LIBUNISTRING_LIBHEADER.
32596         (Makefile.am): Build uniwidth.h from uniwidth.in.h.
32597         * modules/unicase/empty-prefix-context: Use gl_LIBUNISTRING_LIBSOURCE
32598         instead of augmenting lib_SOURCES.
32599         * modules/unicase/empty-suffix-context: Likewise.
32600         * modules/unicase/locale-language: Likewise.
32601         * modules/unicase/tolower: Likewise.
32602         * modules/unicase/totitle: Likewise.
32603         * modules/unicase/toupper: Likewise.
32604         * modules/unicase/u8-casecmp: Likewise.
32605         * modules/unicase/u8-casecoll: Likewise.
32606         * modules/unicase/u8-casefold: Likewise.
32607         * modules/unicase/u8-casexfrm: Likewise.
32608         * modules/unicase/u8-ct-casefold: Likewise.
32609         * modules/unicase/u8-ct-tolower: Likewise.
32610         * modules/unicase/u8-ct-totitle: Likewise.
32611         * modules/unicase/u8-ct-toupper: Likewise.
32612         * modules/unicase/u8-is-cased: Likewise.
32613         * modules/unicase/u8-is-casefolded: Likewise.
32614         * modules/unicase/u8-is-lowercase: Likewise.
32615         * modules/unicase/u8-is-titlecase: Likewise.
32616         * modules/unicase/u8-is-uppercase: Likewise.
32617         * modules/unicase/u8-prefix-context: Likewise.
32618         * modules/unicase/u8-suffix-context: Likewise.
32619         * modules/unicase/u8-tolower: Likewise.
32620         * modules/unicase/u8-totitle: Likewise.
32621         * modules/unicase/u8-toupper: Likewise.
32622         * modules/unicase/u16-casecmp: Likewise.
32623         * modules/unicase/u16-casecoll: Likewise.
32624         * modules/unicase/u16-casefold: Likewise.
32625         * modules/unicase/u16-casexfrm: Likewise.
32626         * modules/unicase/u16-ct-casefold: Likewise.
32627         * modules/unicase/u16-ct-tolower: Likewise.
32628         * modules/unicase/u16-ct-totitle: Likewise.
32629         * modules/unicase/u16-ct-toupper: Likewise.
32630         * modules/unicase/u16-is-cased: Likewise.
32631         * modules/unicase/u16-is-casefolded: Likewise.
32632         * modules/unicase/u16-is-lowercase: Likewise.
32633         * modules/unicase/u16-is-titlecase: Likewise.
32634         * modules/unicase/u16-is-uppercase: Likewise.
32635         * modules/unicase/u16-prefix-context: Likewise.
32636         * modules/unicase/u16-suffix-context: Likewise.
32637         * modules/unicase/u16-tolower: Likewise.
32638         * modules/unicase/u16-totitle: Likewise.
32639         * modules/unicase/u16-toupper: Likewise.
32640         * modules/unicase/u32-casecmp: Likewise.
32641         * modules/unicase/u32-casecoll: Likewise.
32642         * modules/unicase/u32-casefold: Likewise.
32643         * modules/unicase/u32-casexfrm: Likewise.
32644         * modules/unicase/u32-ct-casefold: Likewise.
32645         * modules/unicase/u32-ct-tolower: Likewise.
32646         * modules/unicase/u32-ct-totitle: Likewise.
32647         * modules/unicase/u32-ct-toupper: Likewise.
32648         * modules/unicase/u32-is-cased: Likewise.
32649         * modules/unicase/u32-is-casefolded: Likewise.
32650         * modules/unicase/u32-is-lowercase: Likewise.
32651         * modules/unicase/u32-is-titlecase: Likewise.
32652         * modules/unicase/u32-is-uppercase: Likewise.
32653         * modules/unicase/u32-prefix-context: Likewise.
32654         * modules/unicase/u32-suffix-context: Likewise.
32655         * modules/unicase/u32-tolower: Likewise.
32656         * modules/unicase/u32-totitle: Likewise.
32657         * modules/unicase/u32-toupper: Likewise.
32658         * modules/unicase/ulc-casecmp: Likewise.
32659         * modules/unicase/ulc-casecoll: Likewise.
32660         * modules/unicase/ulc-casexfrm: Likewise.
32661         * modules/uniconv/u8-conv-from-enc: Likewise.
32662         * modules/uniconv/u8-conv-to-enc: Likewise.
32663         * modules/uniconv/u8-strconv-from-enc: Likewise.
32664         * modules/uniconv/u8-strconv-from-locale: Likewise.
32665         * modules/uniconv/u8-strconv-to-enc: Likewise.
32666         * modules/uniconv/u8-strconv-to-locale: Likewise.
32667         * modules/uniconv/u16-conv-from-enc: Likewise.
32668         * modules/uniconv/u16-conv-to-enc: Likewise.
32669         * modules/uniconv/u16-strconv-from-enc: Likewise.
32670         * modules/uniconv/u16-strconv-from-locale: Likewise.
32671         * modules/uniconv/u16-strconv-to-enc: Likewise.
32672         * modules/uniconv/u16-strconv-to-locale: Likewise.
32673         * modules/uniconv/u32-conv-from-enc: Likewise.
32674         * modules/uniconv/u32-conv-to-enc: Likewise.
32675         * modules/uniconv/u32-strconv-from-enc: Likewise.
32676         * modules/uniconv/u32-strconv-from-locale: Likewise.
32677         * modules/uniconv/u32-strconv-to-enc: Likewise.
32678         * modules/uniconv/u32-strconv-to-locale: Likewise.
32679         * modules/unictype/bidicategory-byname: Likewise.
32680         * modules/unictype/bidicategory-name: Likewise.
32681         * modules/unictype/bidicategory-of: Likewise.
32682         * modules/unictype/bidicategory-test: Likewise.
32683         * modules/unictype/block-list: Likewise.
32684         * modules/unictype/block-test: Likewise.
32685         * modules/unictype/category-C: Likewise.
32686         * modules/unictype/category-Cc: Likewise.
32687         * modules/unictype/category-Cf: Likewise.
32688         * modules/unictype/category-Cn: Likewise.
32689         * modules/unictype/category-Co: Likewise.
32690         * modules/unictype/category-Cs: Likewise.
32691         * modules/unictype/category-L: Likewise.
32692         * modules/unictype/category-Ll: Likewise.
32693         * modules/unictype/category-Lm: Likewise.
32694         * modules/unictype/category-Lo: Likewise.
32695         * modules/unictype/category-Lt: Likewise.
32696         * modules/unictype/category-Lu: Likewise.
32697         * modules/unictype/category-M: Likewise.
32698         * modules/unictype/category-Mc: Likewise.
32699         * modules/unictype/category-Me: Likewise.
32700         * modules/unictype/category-Mn: Likewise.
32701         * modules/unictype/category-N: Likewise.
32702         * modules/unictype/category-Nd: Likewise.
32703         * modules/unictype/category-Nl: Likewise.
32704         * modules/unictype/category-No: Likewise.
32705         * modules/unictype/category-P: Likewise.
32706         * modules/unictype/category-Pc: Likewise.
32707         * modules/unictype/category-Pd: Likewise.
32708         * modules/unictype/category-Pe: Likewise.
32709         * modules/unictype/category-Pf: Likewise.
32710         * modules/unictype/category-Pi: Likewise.
32711         * modules/unictype/category-Po: Likewise.
32712         * modules/unictype/category-Ps: Likewise.
32713         * modules/unictype/category-S: Likewise.
32714         * modules/unictype/category-Sc: Likewise.
32715         * modules/unictype/category-Sk: Likewise.
32716         * modules/unictype/category-Sm: Likewise.
32717         * modules/unictype/category-So: Likewise.
32718         * modules/unictype/category-Z: Likewise.
32719         * modules/unictype/category-Zl: Likewise.
32720         * modules/unictype/category-Zp: Likewise.
32721         * modules/unictype/category-Zs: Likewise.
32722         * modules/unictype/category-and: Likewise.
32723         * modules/unictype/category-and-not: Likewise.
32724         * modules/unictype/category-byname: Likewise.
32725         * modules/unictype/category-name: Likewise.
32726         * modules/unictype/category-none: Likewise.
32727         * modules/unictype/category-of: Likewise.
32728         * modules/unictype/category-or: Likewise.
32729         * modules/unictype/category-test: Likewise.
32730         * modules/unictype/combining-class: Likewise.
32731         * modules/unictype/ctype-alnum: Likewise.
32732         * modules/unictype/ctype-alpha: Likewise.
32733         * modules/unictype/ctype-blank: Likewise.
32734         * modules/unictype/ctype-cntrl: Likewise.
32735         * modules/unictype/ctype-digit: Likewise.
32736         * modules/unictype/ctype-graph: Likewise.
32737         * modules/unictype/ctype-lower: Likewise.
32738         * modules/unictype/ctype-print: Likewise.
32739         * modules/unictype/ctype-punct: Likewise.
32740         * modules/unictype/ctype-space: Likewise.
32741         * modules/unictype/ctype-upper: Likewise.
32742         * modules/unictype/ctype-xdigit: Likewise.
32743         * modules/unictype/decimal-digit: Likewise.
32744         * modules/unictype/digit: Likewise.
32745         * modules/unictype/mirror: Likewise.
32746         * modules/unictype/numeric: Likewise.
32747         * modules/unictype/property-alphabetic: Likewise.
32748         * modules/unictype/property-ascii-hex-digit: Likewise.
32749         * modules/unictype/property-bidi-arabic-digit: Likewise.
32750         * modules/unictype/property-bidi-arabic-right-to-left: Likewise.
32751         * modules/unictype/property-bidi-block-separator: Likewise.
32752         * modules/unictype/property-bidi-boundary-neutral: Likewise.
32753         * modules/unictype/property-bidi-common-separator: Likewise.
32754         * modules/unictype/property-bidi-control: Likewise.
32755         * modules/unictype/property-bidi-embedding-or-override: Likewise.
32756         * modules/unictype/property-bidi-eur-num-separator: Likewise.
32757         * modules/unictype/property-bidi-eur-num-terminator: Likewise.
32758         * modules/unictype/property-bidi-european-digit: Likewise.
32759         * modules/unictype/property-bidi-hebrew-right-to-left: Likewise.
32760         * modules/unictype/property-bidi-left-to-right: Likewise.
32761         * modules/unictype/property-bidi-non-spacing-mark: Likewise.
32762         * modules/unictype/property-bidi-other-neutral: Likewise.
32763         * modules/unictype/property-bidi-pdf: Likewise.
32764         * modules/unictype/property-bidi-segment-separator: Likewise.
32765         * modules/unictype/property-bidi-whitespace: Likewise.
32766         * modules/unictype/property-byname: Likewise.
32767         * modules/unictype/property-combining: Likewise.
32768         * modules/unictype/property-composite: Likewise.
32769         * modules/unictype/property-currency-symbol: Likewise.
32770         * modules/unictype/property-dash: Likewise.
32771         * modules/unictype/property-decimal-digit: Likewise.
32772         * modules/unictype/property-default-ignorable-code-point: Likewise.
32773         * modules/unictype/property-deprecated: Likewise.
32774         * modules/unictype/property-diacritic: Likewise.
32775         * modules/unictype/property-extender: Likewise.
32776         * modules/unictype/property-format-control: Likewise.
32777         * modules/unictype/property-grapheme-base: Likewise.
32778         * modules/unictype/property-grapheme-extend: Likewise.
32779         * modules/unictype/property-grapheme-link: Likewise.
32780         * modules/unictype/property-hex-digit: Likewise.
32781         * modules/unictype/property-hyphen: Likewise.
32782         * modules/unictype/property-id-continue: Likewise.
32783         * modules/unictype/property-id-start: Likewise.
32784         * modules/unictype/property-ideographic: Likewise.
32785         * modules/unictype/property-ids-binary-operator: Likewise.
32786         * modules/unictype/property-ids-trinary-operator: Likewise.
32787         * modules/unictype/property-ignorable-control: Likewise.
32788         * modules/unictype/property-iso-control: Likewise.
32789         * modules/unictype/property-join-control: Likewise.
32790         * modules/unictype/property-left-of-pair: Likewise.
32791         * modules/unictype/property-line-separator: Likewise.
32792         * modules/unictype/property-logical-order-exception: Likewise.
32793         * modules/unictype/property-lowercase: Likewise.
32794         * modules/unictype/property-math: Likewise.
32795         * modules/unictype/property-non-break: Likewise.
32796         * modules/unictype/property-not-a-character: Likewise.
32797         * modules/unictype/property-numeric: Likewise.
32798         * modules/unictype/property-other-alphabetic: Likewise.
32799         * modules/unictype/property-other-default-ignorable-code-point: Likewise.
32800         * modules/unictype/property-other-grapheme-extend: Likewise.
32801         * modules/unictype/property-other-id-continue: Likewise.
32802         * modules/unictype/property-other-id-start: Likewise.
32803         * modules/unictype/property-other-lowercase: Likewise.
32804         * modules/unictype/property-other-math: Likewise.
32805         * modules/unictype/property-other-uppercase: Likewise.
32806         * modules/unictype/property-paired-punctuation: Likewise.
32807         * modules/unictype/property-paragraph-separator: Likewise.
32808         * modules/unictype/property-pattern-syntax: Likewise.
32809         * modules/unictype/property-pattern-white-space: Likewise.
32810         * modules/unictype/property-private-use: Likewise.
32811         * modules/unictype/property-punctuation: Likewise.
32812         * modules/unictype/property-quotation-mark: Likewise.
32813         * modules/unictype/property-radical: Likewise.
32814         * modules/unictype/property-sentence-terminal: Likewise.
32815         * modules/unictype/property-soft-dotted: Likewise.
32816         * modules/unictype/property-space: Likewise.
32817         * modules/unictype/property-terminal-punctuation: Likewise.
32818         * modules/unictype/property-test: Likewise.
32819         * modules/unictype/property-titlecase: Likewise.
32820         * modules/unictype/property-unassigned-code-value: Likewise.
32821         * modules/unictype/property-unified-ideograph: Likewise.
32822         * modules/unictype/property-uppercase: Likewise.
32823         * modules/unictype/property-variation-selector: Likewise.
32824         * modules/unictype/property-white-space: Likewise.
32825         * modules/unictype/property-xid-continue: Likewise.
32826         * modules/unictype/property-xid-start: Likewise.
32827         * modules/unictype/property-zero-width: Likewise.
32828         * modules/unictype/scripts: Likewise.
32829         * modules/unictype/syntax-c-ident: Likewise.
32830         * modules/unictype/syntax-c-whitespace: Likewise.
32831         * modules/unictype/syntax-java-ident: Likewise.
32832         * modules/unictype/syntax-java-whitespace: Likewise.
32833         * modules/unilbrk/u8-possible-linebreaks: Likewise.
32834         * modules/unilbrk/u8-width-linebreaks: Likewise.
32835         * modules/unilbrk/u16-possible-linebreaks: Likewise.
32836         * modules/unilbrk/u16-width-linebreaks: Likewise.
32837         * modules/unilbrk/u32-possible-linebreaks: Likewise.
32838         * modules/unilbrk/u32-width-linebreaks: Likewise.
32839         * modules/unilbrk/ulc-possible-linebreaks: Likewise.
32840         * modules/unilbrk/ulc-width-linebreaks: Likewise.
32841         * modules/uniname/uniname: Likewise.
32842         * modules/uninorm/canonical-decomposition: Likewise.
32843         * modules/uninorm/composition: Likewise.
32844         * modules/uninorm/decomposing-form: Likewise.
32845         * modules/uninorm/decomposition: Likewise.
32846         * modules/uninorm/filter: Likewise.
32847         * modules/uninorm/nfc: Likewise.
32848         * modules/uninorm/nfd: Likewise.
32849         * modules/uninorm/nfkc: Likewise.
32850         * modules/uninorm/nfkd: Likewise.
32851         * modules/uninorm/u8-normalize: Likewise.
32852         * modules/uninorm/u8-normcmp: Likewise.
32853         * modules/uninorm/u8-normcoll: Likewise.
32854         * modules/uninorm/u8-normxfrm: Likewise.
32855         * modules/uninorm/u16-normalize: Likewise.
32856         * modules/uninorm/u16-normcmp: Likewise.
32857         * modules/uninorm/u16-normcoll: Likewise.
32858         * modules/uninorm/u16-normxfrm: Likewise.
32859         * modules/uninorm/u32-normalize: Likewise.
32860         * modules/uninorm/u32-normcmp: Likewise.
32861         * modules/uninorm/u32-normcoll: Likewise.
32862         * modules/uninorm/u32-normxfrm: Likewise.
32863         * modules/unistdio/u8-asnprintf: Likewise.
32864         * modules/unistdio/u8-asprintf: Likewise.
32865         * modules/unistdio/u8-snprintf: Likewise.
32866         * modules/unistdio/u8-sprintf: Likewise.
32867         * modules/unistdio/u8-u8-asnprintf: Likewise.
32868         * modules/unistdio/u8-u8-asprintf: Likewise.
32869         * modules/unistdio/u8-u8-snprintf: Likewise.
32870         * modules/unistdio/u8-u8-sprintf: Likewise.
32871         * modules/unistdio/u8-u8-vasnprintf: Likewise.
32872         * modules/unistdio/u8-u8-vasprintf: Likewise.
32873         * modules/unistdio/u8-u8-vsnprintf: Likewise.
32874         * modules/unistdio/u8-u8-vsprintf: Likewise.
32875         * modules/unistdio/u8-vasnprintf: Likewise.
32876         * modules/unistdio/u8-vasprintf: Likewise.
32877         * modules/unistdio/u8-vsnprintf: Likewise.
32878         * modules/unistdio/u8-vsprintf: Likewise.
32879         * modules/unistdio/u16-asnprintf: Likewise.
32880         * modules/unistdio/u16-asprintf: Likewise.
32881         * modules/unistdio/u16-snprintf: Likewise.
32882         * modules/unistdio/u16-sprintf: Likewise.
32883         * modules/unistdio/u16-u16-asnprintf: Likewise.
32884         * modules/unistdio/u16-u16-asprintf: Likewise.
32885         * modules/unistdio/u16-u16-snprintf: Likewise.
32886         * modules/unistdio/u16-u16-sprintf: Likewise.
32887         * modules/unistdio/u16-u16-vasnprintf: Likewise.
32888         * modules/unistdio/u16-u16-vasprintf: Likewise.
32889         * modules/unistdio/u16-u16-vsnprintf: Likewise.
32890         * modules/unistdio/u16-u16-vsprintf: Likewise.
32891         * modules/unistdio/u16-vasnprintf: Likewise.
32892         * modules/unistdio/u16-vasprintf: Likewise.
32893         * modules/unistdio/u16-vsnprintf: Likewise.
32894         * modules/unistdio/u16-vsprintf: Likewise.
32895         * modules/unistdio/u32-asnprintf: Likewise.
32896         * modules/unistdio/u32-asprintf: Likewise.
32897         * modules/unistdio/u32-snprintf: Likewise.
32898         * modules/unistdio/u32-sprintf: Likewise.
32899         * modules/unistdio/u32-u32-asnprintf: Likewise.
32900         * modules/unistdio/u32-u32-asprintf: Likewise.
32901         * modules/unistdio/u32-u32-snprintf: Likewise.
32902         * modules/unistdio/u32-u32-sprintf: Likewise.
32903         * modules/unistdio/u32-u32-vasnprintf: Likewise.
32904         * modules/unistdio/u32-u32-vasprintf: Likewise.
32905         * modules/unistdio/u32-u32-vsnprintf: Likewise.
32906         * modules/unistdio/u32-u32-vsprintf: Likewise.
32907         * modules/unistdio/u32-vasnprintf: Likewise.
32908         * modules/unistdio/u32-vasprintf: Likewise.
32909         * modules/unistdio/u32-vsnprintf: Likewise.
32910         * modules/unistdio/u32-vsprintf: Likewise.
32911         * modules/unistdio/ulc-asnprintf: Likewise.
32912         * modules/unistdio/ulc-asprintf: Likewise.
32913         * modules/unistdio/ulc-fprintf: Likewise.
32914         * modules/unistdio/ulc-snprintf: Likewise.
32915         * modules/unistdio/ulc-sprintf: Likewise.
32916         * modules/unistdio/ulc-vasnprintf: Likewise.
32917         * modules/unistdio/ulc-vasprintf: Likewise.
32918         * modules/unistdio/ulc-vfprintf: Likewise.
32919         * modules/unistdio/ulc-vsnprintf: Likewise.
32920         * modules/unistdio/ulc-vsprintf: Likewise.
32921         * modules/unistr/u8-check: Likewise.
32922         * modules/unistr/u8-chr: Likewise.
32923         * modules/unistr/u8-cmp: Likewise.
32924         * modules/unistr/u8-cmp2: Likewise.
32925         * modules/unistr/u8-cpy: Likewise.
32926         * modules/unistr/u8-cpy-alloc: Likewise.
32927         * modules/unistr/u8-endswith: Likewise.
32928         * modules/unistr/u8-mblen: Likewise.
32929         * modules/unistr/u8-mbsnlen: Likewise.
32930         * modules/unistr/u8-mbtouc: Likewise.
32931         * modules/unistr/u8-mbtouc-unsafe: Likewise.
32932         * modules/unistr/u8-mbtoucr: Likewise.
32933         * modules/unistr/u8-move: Likewise.
32934         * modules/unistr/u8-next: Likewise.
32935         * modules/unistr/u8-prev: Likewise.
32936         * modules/unistr/u8-set: Likewise.
32937         * modules/unistr/u8-startswith: Likewise.
32938         * modules/unistr/u8-stpcpy: Likewise.
32939         * modules/unistr/u8-stpncpy: Likewise.
32940         * modules/unistr/u8-strcat: Likewise.
32941         * modules/unistr/u8-strchr: Likewise.
32942         * modules/unistr/u8-strcmp: Likewise.
32943         * modules/unistr/u8-strcoll: Likewise.
32944         * modules/unistr/u8-strcpy: Likewise.
32945         * modules/unistr/u8-strcspn: Likewise.
32946         * modules/unistr/u8-strdup: Likewise.
32947         * modules/unistr/u8-strlen: Likewise.
32948         * modules/unistr/u8-strmblen: Likewise.
32949         * modules/unistr/u8-strmbtouc: Likewise.
32950         * modules/unistr/u8-strncat: Likewise.
32951         * modules/unistr/u8-strncmp: Likewise.
32952         * modules/unistr/u8-strncpy: Likewise.
32953         * modules/unistr/u8-strnlen: Likewise.
32954         * modules/unistr/u8-strpbrk: Likewise.
32955         * modules/unistr/u8-strrchr: Likewise.
32956         * modules/unistr/u8-strspn: Likewise.
32957         * modules/unistr/u8-strstr: Likewise.
32958         * modules/unistr/u8-strtok: Likewise.
32959         * modules/unistr/u8-to-u16: Likewise.
32960         * modules/unistr/u8-to-u32: Likewise.
32961         * modules/unistr/u8-uctomb: Likewise.
32962         * modules/unistr/u16-check: Likewise.
32963         * modules/unistr/u16-chr: Likewise.
32964         * modules/unistr/u16-cmp: Likewise.
32965         * modules/unistr/u16-cmp2: Likewise.
32966         * modules/unistr/u16-cpy: Likewise.
32967         * modules/unistr/u16-cpy-alloc: Likewise.
32968         * modules/unistr/u16-endswith: Likewise.
32969         * modules/unistr/u16-mblen: Likewise.
32970         * modules/unistr/u16-mbsnlen: Likewise.
32971         * modules/unistr/u16-mbtouc: Likewise.
32972         * modules/unistr/u16-mbtouc-unsafe: Likewise.
32973         * modules/unistr/u16-mbtoucr: Likewise.
32974         * modules/unistr/u16-move: Likewise.
32975         * modules/unistr/u16-next: Likewise.
32976         * modules/unistr/u16-prev: Likewise.
32977         * modules/unistr/u16-set: Likewise.
32978         * modules/unistr/u16-startswith: Likewise.
32979         * modules/unistr/u16-stpcpy: Likewise.
32980         * modules/unistr/u16-stpncpy: Likewise.
32981         * modules/unistr/u16-strcat: Likewise.
32982         * modules/unistr/u16-strchr: Likewise.
32983         * modules/unistr/u16-strcmp: Likewise.
32984         * modules/unistr/u16-strcoll: Likewise.
32985         * modules/unistr/u16-strcpy: Likewise.
32986         * modules/unistr/u16-strcspn: Likewise.
32987         * modules/unistr/u16-strdup: Likewise.
32988         * modules/unistr/u16-strlen: Likewise.
32989         * modules/unistr/u16-strmblen: Likewise.
32990         * modules/unistr/u16-strmbtouc: Likewise.
32991         * modules/unistr/u16-strncat: Likewise.
32992         * modules/unistr/u16-strncmp: Likewise.
32993         * modules/unistr/u16-strncpy: Likewise.
32994         * modules/unistr/u16-strnlen: Likewise.
32995         * modules/unistr/u16-strpbrk: Likewise.
32996         * modules/unistr/u16-strrchr: Likewise.
32997         * modules/unistr/u16-strspn: Likewise.
32998         * modules/unistr/u16-strstr: Likewise.
32999         * modules/unistr/u16-strtok: Likewise.
33000         * modules/unistr/u16-to-u32: Likewise.
33001         * modules/unistr/u16-to-u8: Likewise.
33002         * modules/unistr/u16-uctomb: Likewise.
33003         * modules/unistr/u32-check: Likewise.
33004         * modules/unistr/u32-chr: Likewise.
33005         * modules/unistr/u32-cmp: Likewise.
33006         * modules/unistr/u32-cmp2: Likewise.
33007         * modules/unistr/u32-cpy: Likewise.
33008         * modules/unistr/u32-cpy-alloc: Likewise.
33009         * modules/unistr/u32-endswith: Likewise.
33010         * modules/unistr/u32-mblen: Likewise.
33011         * modules/unistr/u32-mbsnlen: Likewise.
33012         * modules/unistr/u32-mbtouc: Likewise.
33013         * modules/unistr/u32-mbtouc-unsafe: Likewise.
33014         * modules/unistr/u32-mbtoucr: Likewise.
33015         * modules/unistr/u32-move: Likewise.
33016         * modules/unistr/u32-next: Likewise.
33017         * modules/unistr/u32-prev: Likewise.
33018         * modules/unistr/u32-set: Likewise.
33019         * modules/unistr/u32-startswith: Likewise.
33020         * modules/unistr/u32-stpcpy: Likewise.
33021         * modules/unistr/u32-stpncpy: Likewise.
33022         * modules/unistr/u32-strcat: Likewise.
33023         * modules/unistr/u32-strchr: Likewise.
33024         * modules/unistr/u32-strcmp: Likewise.
33025         * modules/unistr/u32-strcoll: Likewise.
33026         * modules/unistr/u32-strcpy: Likewise.
33027         * modules/unistr/u32-strcspn: Likewise.
33028         * modules/unistr/u32-strdup: Likewise.
33029         * modules/unistr/u32-strlen: Likewise.
33030         * modules/unistr/u32-strmblen: Likewise.
33031         * modules/unistr/u32-strmbtouc: Likewise.
33032         * modules/unistr/u32-strncat: Likewise.
33033         * modules/unistr/u32-strncmp: Likewise.
33034         * modules/unistr/u32-strncpy: Likewise.
33035         * modules/unistr/u32-strnlen: Likewise.
33036         * modules/unistr/u32-strpbrk: Likewise.
33037         * modules/unistr/u32-strrchr: Likewise.
33038         * modules/unistr/u32-strspn: Likewise.
33039         * modules/unistr/u32-strstr: Likewise.
33040         * modules/unistr/u32-strtok: Likewise.
33041         * modules/unistr/u32-to-u16: Likewise.
33042         * modules/unistr/u32-to-u8: Likewise.
33043         * modules/unistr/u32-uctomb: Likewise.
33044         * modules/uniwbrk/u8-wordbreaks: Likewise.
33045         * modules/uniwbrk/u16-wordbreaks: Likewise.
33046         * modules/uniwbrk/u32-wordbreaks: Likewise.
33047         * modules/uniwbrk/ulc-wordbreaks: Likewise.
33048         * modules/uniwbrk/wordbreak-property: Likewise.
33049         * modules/uniwidth/u8-strwidth: Likewise.
33050         * modules/uniwidth/u8-width: Likewise.
33051         * modules/uniwidth/u16-strwidth: Likewise.
33052         * modules/uniwidth/u16-width: Likewise.
33053         * modules/uniwidth/u32-strwidth: Likewise.
33054         * modules/uniwidth/u32-width: Likewise.
33055         * modules/uniwidth/width: Likewise.
33056         * modules/unicase/cased-tests (Makefile.am): Link all test programs
33057         with $(LIBUNISTRING).
33058         * modules/unicase/ignorable-tests: Likewise.
33059         * modules/unicase/locale-language-tests: Likewise.
33060         * modules/unicase/tolower-tests: Likewise.
33061         * modules/unicase/totitle-tests: Likewise.
33062         * modules/unicase/toupper-tests: Likewise.
33063         * modules/unicase/u8-casecmp-tests: Likewise.
33064         * modules/unicase/u8-casecoll-tests: Likewise.
33065         * modules/unicase/u8-casefold-tests: Likewise.
33066         * modules/unicase/u8-is-cased-tests: Likewise.
33067         * modules/unicase/u8-is-casefolded-tests: Likewise.
33068         * modules/unicase/u8-is-lowercase-tests: Likewise.
33069         * modules/unicase/u8-is-titlecase-tests: Likewise.
33070         * modules/unicase/u8-is-uppercase-tests: Likewise.
33071         * modules/unicase/u8-tolower-tests: Likewise.
33072         * modules/unicase/u8-totitle-tests: Likewise.
33073         * modules/unicase/u8-toupper-tests: Likewise.
33074         * modules/unicase/u16-casecmp-tests: Likewise.
33075         * modules/unicase/u16-casecoll-tests: Likewise.
33076         * modules/unicase/u16-casefold-tests: Likewise.
33077         * modules/unicase/u16-is-cased-tests: Likewise.
33078         * modules/unicase/u16-is-casefolded-tests: Likewise.
33079         * modules/unicase/u16-is-lowercase-tests: Likewise.
33080         * modules/unicase/u16-is-titlecase-tests: Likewise.
33081         * modules/unicase/u16-is-uppercase-tests: Likewise.
33082         * modules/unicase/u16-tolower-tests: Likewise.
33083         * modules/unicase/u16-totitle-tests: Likewise.
33084         * modules/unicase/u16-toupper-tests: Likewise.
33085         * modules/unicase/u32-casecmp-tests: Likewise.
33086         * modules/unicase/u32-casecoll-tests: Likewise.
33087         * modules/unicase/u32-casefold-tests: Likewise.
33088         * modules/unicase/u32-is-cased-tests: Likewise.
33089         * modules/unicase/u32-is-casefolded-tests: Likewise.
33090         * modules/unicase/u32-is-lowercase-tests: Likewise.
33091         * modules/unicase/u32-is-titlecase-tests: Likewise.
33092         * modules/unicase/u32-is-uppercase-tests: Likewise.
33093         * modules/unicase/u32-tolower-tests: Likewise.
33094         * modules/unicase/u32-totitle-tests: Likewise.
33095         * modules/unicase/u32-toupper-tests: Likewise.
33096         * modules/unicase/ulc-casecmp-tests: Likewise.
33097         * modules/unicase/ulc-casecoll-tests: Likewise.
33098         * modules/uniconv/u8-conv-from-enc-tests: Likewise.
33099         * modules/uniconv/u8-conv-to-enc-tests: Likewise.
33100         * modules/uniconv/u8-strconv-from-enc-tests: Likewise.
33101         * modules/uniconv/u8-strconv-to-enc-tests: Likewise.
33102         * modules/uniconv/u16-conv-from-enc-tests: Likewise.
33103         * modules/uniconv/u16-conv-to-enc-tests: Likewise.
33104         * modules/uniconv/u16-strconv-from-enc-tests: Likewise.
33105         * modules/uniconv/u16-strconv-to-enc-tests: Likewise.
33106         * modules/uniconv/u32-conv-from-enc-tests: Likewise.
33107         * modules/uniconv/u32-conv-to-enc-tests: Likewise.
33108         * modules/uniconv/u32-strconv-from-enc-tests: Likewise.
33109         * modules/uniconv/u32-strconv-to-enc-tests: Likewise.
33110         * modules/unictype/bidicategory-byname-tests: Likewise.
33111         * modules/unictype/bidicategory-name-tests: Likewise.
33112         * modules/unictype/bidicategory-of-tests: Likewise.
33113         * modules/unictype/bidicategory-test-tests: Likewise.
33114         * modules/unictype/block-list-tests: Likewise.
33115         * modules/unictype/block-of-tests: Likewise.
33116         * modules/unictype/block-test-tests: Likewise.
33117         * modules/unictype/category-C-tests: Likewise.
33118         * modules/unictype/category-Cc-tests: Likewise.
33119         * modules/unictype/category-Cf-tests: Likewise.
33120         * modules/unictype/category-Cn-tests: Likewise.
33121         * modules/unictype/category-Co-tests: Likewise.
33122         * modules/unictype/category-Cs-tests: Likewise.
33123         * modules/unictype/category-L-tests: Likewise.
33124         * modules/unictype/category-Ll-tests: Likewise.
33125         * modules/unictype/category-Lm-tests: Likewise.
33126         * modules/unictype/category-Lo-tests: Likewise.
33127         * modules/unictype/category-Lt-tests: Likewise.
33128         * modules/unictype/category-Lu-tests: Likewise.
33129         * modules/unictype/category-M-tests: Likewise.
33130         * modules/unictype/category-Mc-tests: Likewise.
33131         * modules/unictype/category-Me-tests: Likewise.
33132         * modules/unictype/category-Mn-tests: Likewise.
33133         * modules/unictype/category-N-tests: Likewise.
33134         * modules/unictype/category-Nd-tests: Likewise.
33135         * modules/unictype/category-Nl-tests: Likewise.
33136         * modules/unictype/category-No-tests: Likewise.
33137         * modules/unictype/category-P-tests: Likewise.
33138         * modules/unictype/category-Pc-tests: Likewise.
33139         * modules/unictype/category-Pd-tests: Likewise.
33140         * modules/unictype/category-Pe-tests: Likewise.
33141         * modules/unictype/category-Pf-tests: Likewise.
33142         * modules/unictype/category-Pi-tests: Likewise.
33143         * modules/unictype/category-Po-tests: Likewise.
33144         * modules/unictype/category-Ps-tests: Likewise.
33145         * modules/unictype/category-S-tests: Likewise.
33146         * modules/unictype/category-Sc-tests: Likewise.
33147         * modules/unictype/category-Sk-tests: Likewise.
33148         * modules/unictype/category-Sm-tests: Likewise.
33149         * modules/unictype/category-So-tests: Likewise.
33150         * modules/unictype/category-Z-tests: Likewise.
33151         * modules/unictype/category-Zl-tests: Likewise.
33152         * modules/unictype/category-Zp-tests: Likewise.
33153         * modules/unictype/category-Zs-tests: Likewise.
33154         * modules/unictype/category-and-not-tests: Likewise.
33155         * modules/unictype/category-and-tests: Likewise.
33156         * modules/unictype/category-byname-tests: Likewise.
33157         * modules/unictype/category-name-tests: Likewise.
33158         * modules/unictype/category-none-tests: Likewise.
33159         * modules/unictype/category-of-tests: Likewise.
33160         * modules/unictype/category-or-tests: Likewise.
33161         * modules/unictype/category-test-withtable-tests: Likewise.
33162         * modules/unictype/combining-class-tests: Likewise.
33163         * modules/unictype/ctype-alnum-tests: Likewise.
33164         * modules/unictype/ctype-alpha-tests: Likewise.
33165         * modules/unictype/ctype-blank-tests: Likewise.
33166         * modules/unictype/ctype-cntrl-tests: Likewise.
33167         * modules/unictype/ctype-digit-tests: Likewise.
33168         * modules/unictype/ctype-graph-tests: Likewise.
33169         * modules/unictype/ctype-lower-tests: Likewise.
33170         * modules/unictype/ctype-print-tests: Likewise.
33171         * modules/unictype/ctype-punct-tests: Likewise.
33172         * modules/unictype/ctype-space-tests: Likewise.
33173         * modules/unictype/ctype-upper-tests: Likewise.
33174         * modules/unictype/ctype-xdigit-tests: Likewise.
33175         * modules/unictype/decimal-digit-tests: Likewise.
33176         * modules/unictype/digit-tests: Likewise.
33177         * modules/unictype/mirror-tests: Likewise.
33178         * modules/unictype/numeric-tests: Likewise.
33179         * modules/unictype/property-alphabetic-tests: Likewise.
33180         * modules/unictype/property-ascii-hex-digit-tests: Likewise.
33181         * modules/unictype/property-bidi-arabic-digit-tests: Likewise.
33182         * modules/unictype/property-bidi-arabic-right-to-left-tests: Likewise.
33183         * modules/unictype/property-bidi-block-separator-tests: Likewise.
33184         * modules/unictype/property-bidi-boundary-neutral-tests: Likewise.
33185         * modules/unictype/property-bidi-common-separator-tests: Likewise.
33186         * modules/unictype/property-bidi-control-tests: Likewise.
33187         * modules/unictype/property-bidi-embedding-or-override-tests: Likewise.
33188         * modules/unictype/property-bidi-eur-num-separator-tests: Likewise.
33189         * modules/unictype/property-bidi-eur-num-terminator-tests: Likewise.
33190         * modules/unictype/property-bidi-european-digit-tests: Likewise.
33191         * modules/unictype/property-bidi-hebrew-right-to-left-tests: Likewise.
33192         * modules/unictype/property-bidi-left-to-right-tests: Likewise.
33193         * modules/unictype/property-bidi-non-spacing-mark-tests: Likewise.
33194         * modules/unictype/property-bidi-other-neutral-tests: Likewise.
33195         * modules/unictype/property-bidi-pdf-tests: Likewise.
33196         * modules/unictype/property-bidi-segment-separator-tests: Likewise.
33197         * modules/unictype/property-bidi-whitespace-tests: Likewise.
33198         * modules/unictype/property-byname-tests: Likewise.
33199         * modules/unictype/property-combining-tests: Likewise.
33200         * modules/unictype/property-composite-tests: Likewise.
33201         * modules/unictype/property-currency-symbol-tests: Likewise.
33202         * modules/unictype/property-dash-tests: Likewise.
33203         * modules/unictype/property-decimal-digit-tests: Likewise.
33204         * modules/unictype/property-default-ignorable-code-point-tests: Likewise.
33205         * modules/unictype/property-deprecated-tests: Likewise.
33206         * modules/unictype/property-diacritic-tests: Likewise.
33207         * modules/unictype/property-extender-tests: Likewise.
33208         * modules/unictype/property-format-control-tests: Likewise.
33209         * modules/unictype/property-grapheme-base-tests: Likewise.
33210         * modules/unictype/property-grapheme-extend-tests: Likewise.
33211         * modules/unictype/property-grapheme-link-tests: Likewise.
33212         * modules/unictype/property-hex-digit-tests: Likewise.
33213         * modules/unictype/property-hyphen-tests: Likewise.
33214         * modules/unictype/property-id-continue-tests: Likewise.
33215         * modules/unictype/property-id-start-tests: Likewise.
33216         * modules/unictype/property-ideographic-tests: Likewise.
33217         * modules/unictype/property-ids-binary-operator-tests: Likewise.
33218         * modules/unictype/property-ids-trinary-operator-tests: Likewise.
33219         * modules/unictype/property-ignorable-control-tests: Likewise.
33220         * modules/unictype/property-iso-control-tests: Likewise.
33221         * modules/unictype/property-join-control-tests: Likewise.
33222         * modules/unictype/property-left-of-pair-tests: Likewise.
33223         * modules/unictype/property-line-separator-tests: Likewise.
33224         * modules/unictype/property-logical-order-exception-tests: Likewise.
33225         * modules/unictype/property-lowercase-tests: Likewise.
33226         * modules/unictype/property-math-tests: Likewise.
33227         * modules/unictype/property-non-break-tests: Likewise.
33228         * modules/unictype/property-not-a-character-tests: Likewise.
33229         * modules/unictype/property-numeric-tests: Likewise.
33230         * modules/unictype/property-other-alphabetic-tests: Likewise.
33231         * modules/unictype/property-other-default-ignorable-code-point-tests:
33232         Likewise.
33233         * modules/unictype/property-other-grapheme-extend-tests: Likewise.
33234         * modules/unictype/property-other-id-continue-tests: Likewise.
33235         * modules/unictype/property-other-id-start-tests: Likewise.
33236         * modules/unictype/property-other-lowercase-tests: Likewise.
33237         * modules/unictype/property-other-math-tests: Likewise.
33238         * modules/unictype/property-other-uppercase-tests: Likewise.
33239         * modules/unictype/property-paired-punctuation-tests: Likewise.
33240         * modules/unictype/property-paragraph-separator-tests: Likewise.
33241         * modules/unictype/property-pattern-syntax-tests: Likewise.
33242         * modules/unictype/property-pattern-white-space-tests: Likewise.
33243         * modules/unictype/property-private-use-tests: Likewise.
33244         * modules/unictype/property-punctuation-tests: Likewise.
33245         * modules/unictype/property-quotation-mark-tests: Likewise.
33246         * modules/unictype/property-radical-tests: Likewise.
33247         * modules/unictype/property-sentence-terminal-tests: Likewise.
33248         * modules/unictype/property-soft-dotted-tests: Likewise.
33249         * modules/unictype/property-space-tests: Likewise.
33250         * modules/unictype/property-terminal-punctuation-tests: Likewise.
33251         * modules/unictype/property-test-tests: Likewise.
33252         * modules/unictype/property-titlecase-tests: Likewise.
33253         * modules/unictype/property-unassigned-code-value-tests: Likewise.
33254         * modules/unictype/property-unified-ideograph-tests: Likewise.
33255         * modules/unictype/property-uppercase-tests: Likewise.
33256         * modules/unictype/property-variation-selector-tests: Likewise.
33257         * modules/unictype/property-white-space-tests: Likewise.
33258         * modules/unictype/property-xid-continue-tests: Likewise.
33259         * modules/unictype/property-xid-start-tests: Likewise.
33260         * modules/unictype/property-zero-width-tests: Likewise.
33261         * modules/unictype/scripts-tests: Likewise.
33262         * modules/unictype/syntax-c-ident-tests: Likewise.
33263         * modules/unictype/syntax-c-whitespace-tests: Likewise.
33264         * modules/unictype/syntax-java-ident-tests: Likewise.
33265         * modules/unictype/syntax-java-whitespace-tests: Likewise.
33266         * modules/unilbrk/u8-possible-linebreaks-tests: Likewise.
33267         * modules/unilbrk/u8-width-linebreaks-tests: Likewise.
33268         * modules/unilbrk/u16-possible-linebreaks-tests: Likewise.
33269         * modules/unilbrk/u16-width-linebreaks-tests: Likewise.
33270         * modules/unilbrk/u32-possible-linebreaks-tests: Likewise.
33271         * modules/unilbrk/u32-width-linebreaks-tests: Likewise.
33272         * modules/unilbrk/ulc-possible-linebreaks-tests: Likewise.
33273         * modules/unilbrk/ulc-width-linebreaks-tests: Likewise.
33274         * modules/uniname/uniname-tests: Likewise.
33275         * modules/uninorm/canonical-decomposition-tests: Likewise.
33276         * modules/uninorm/compat-decomposition-tests: Likewise.
33277         * modules/uninorm/composition-tests: Likewise.
33278         * modules/uninorm/decomposing-form-tests: Likewise.
33279         * modules/uninorm/decomposition-tests: Likewise.
33280         * modules/uninorm/filter-tests: Likewise.
33281         * modules/uninorm/nfc-tests: Likewise.
33282         * modules/uninorm/nfd-tests: Likewise.
33283         * modules/uninorm/nfkc-tests: Likewise.
33284         * modules/uninorm/nfkd-tests: Likewise.
33285         * modules/uninorm/u8-normcmp-tests: Likewise.
33286         * modules/uninorm/u8-normcoll-tests: Likewise.
33287         * modules/uninorm/u16-normcmp-tests: Likewise.
33288         * modules/uninorm/u16-normcoll-tests: Likewise.
33289         * modules/uninorm/u32-normcmp-tests: Likewise.
33290         * modules/uninorm/u32-normcoll-tests: Likewise.
33291         * modules/unistdio/u8-asnprintf-tests: Likewise.
33292         * modules/unistdio/u8-vasnprintf-tests: Likewise.
33293         * modules/unistdio/u8-vasprintf-tests: Likewise.
33294         * modules/unistdio/u8-vsnprintf-tests: Likewise.
33295         * modules/unistdio/u8-vsprintf-tests: Likewise.
33296         * modules/unistdio/u16-asnprintf-tests: Likewise.
33297         * modules/unistdio/u16-vasnprintf-tests: Likewise.
33298         * modules/unistdio/u16-vasprintf-tests: Likewise.
33299         * modules/unistdio/u16-vsnprintf-tests: Likewise.
33300         * modules/unistdio/u16-vsprintf-tests: Likewise.
33301         * modules/unistdio/u32-asnprintf-tests: Likewise.
33302         * modules/unistdio/u32-vasnprintf-tests: Likewise.
33303         * modules/unistdio/u32-vasprintf-tests: Likewise.
33304         * modules/unistdio/u32-vsnprintf-tests: Likewise.
33305         * modules/unistdio/u32-vsprintf-tests: Likewise.
33306         * modules/unistdio/ulc-asnprintf-tests: Likewise.
33307         * modules/unistdio/ulc-vasnprintf-tests: Likewise.
33308         * modules/unistdio/ulc-vasprintf-tests: Likewise.
33309         * modules/unistdio/ulc-vsnprintf-tests: Likewise.
33310         * modules/unistdio/ulc-vsprintf-tests: Likewise.
33311         * modules/unistr/u8-check-tests: Likewise.
33312         * modules/unistr/u8-chr-tests: Likewise.
33313         * modules/unistr/u8-cmp-tests: Likewise.
33314         * modules/unistr/u8-cmp2-tests: Likewise.
33315         * modules/unistr/u8-cpy-alloc-tests: Likewise.
33316         * modules/unistr/u8-cpy-tests: Likewise.
33317         * modules/unistr/u8-mblen-tests: Likewise.
33318         * modules/unistr/u8-mbsnlen-tests: Likewise.
33319         * modules/unistr/u8-mbtouc-tests: Likewise.
33320         * modules/unistr/u8-mbtouc-unsafe-tests: Likewise.
33321         * modules/unistr/u8-mbtoucr-tests: Likewise.
33322         * modules/unistr/u8-move-tests: Likewise.
33323         * modules/unistr/u8-next-tests: Likewise.
33324         * modules/unistr/u8-prev-tests: Likewise.
33325         * modules/unistr/u8-set-tests: Likewise.
33326         * modules/unistr/u8-stpcpy-tests: Likewise.
33327         * modules/unistr/u8-stpncpy-tests: Likewise.
33328         * modules/unistr/u8-strcat-tests: Likewise.
33329         * modules/unistr/u8-strcmp-tests: Likewise.
33330         * modules/unistr/u8-strcoll-tests: Likewise.
33331         * modules/unistr/u8-strcpy-tests: Likewise.
33332         * modules/unistr/u8-strdup-tests: Likewise.
33333         * modules/unistr/u8-strlen-tests: Likewise.
33334         * modules/unistr/u8-strmblen-tests: Likewise.
33335         * modules/unistr/u8-strmbtouc-tests: Likewise.
33336         * modules/unistr/u8-strncat-tests: Likewise.
33337         * modules/unistr/u8-strncmp-tests: Likewise.
33338         * modules/unistr/u8-strncpy-tests: Likewise.
33339         * modules/unistr/u8-strnlen-tests: Likewise.
33340         * modules/unistr/u8-to-u16-tests: Likewise.
33341         * modules/unistr/u8-to-u32-tests: Likewise.
33342         * modules/unistr/u8-uctomb-tests: Likewise.
33343         * modules/unistr/u16-check-tests: Likewise.
33344         * modules/unistr/u16-chr-tests: Likewise.
33345         * modules/unistr/u16-cmp-tests: Likewise.
33346         * modules/unistr/u16-cmp2-tests: Likewise.
33347         * modules/unistr/u16-cpy-alloc-tests: Likewise.
33348         * modules/unistr/u16-cpy-tests: Likewise.
33349         * modules/unistr/u16-mblen-tests: Likewise.
33350         * modules/unistr/u16-mbsnlen-tests: Likewise.
33351         * modules/unistr/u16-mbtouc-tests: Likewise.
33352         * modules/unistr/u16-mbtouc-unsafe-tests: Likewise.
33353         * modules/unistr/u16-mbtoucr-tests: Likewise.
33354         * modules/unistr/u16-move-tests: Likewise.
33355         * modules/unistr/u16-next-tests: Likewise.
33356         * modules/unistr/u16-prev-tests: Likewise.
33357         * modules/unistr/u16-set-tests: Likewise.
33358         * modules/unistr/u16-stpcpy-tests: Likewise.
33359         * modules/unistr/u16-stpncpy-tests: Likewise.
33360         * modules/unistr/u16-strcat-tests: Likewise.
33361         * modules/unistr/u16-strcmp-tests: Likewise.
33362         * modules/unistr/u16-strcoll-tests: Likewise.
33363         * modules/unistr/u16-strcpy-tests: Likewise.
33364         * modules/unistr/u16-strdup-tests: Likewise.
33365         * modules/unistr/u16-strlen-tests: Likewise.
33366         * modules/unistr/u16-strmblen-tests: Likewise.
33367         * modules/unistr/u16-strmbtouc-tests: Likewise.
33368         * modules/unistr/u16-strncat-tests: Likewise.
33369         * modules/unistr/u16-strncmp-tests: Likewise.
33370         * modules/unistr/u16-strncpy-tests: Likewise.
33371         * modules/unistr/u16-strnlen-tests: Likewise.
33372         * modules/unistr/u16-to-u32-tests: Likewise.
33373         * modules/unistr/u16-to-u8-tests: Likewise.
33374         * modules/unistr/u16-uctomb-tests: Likewise.
33375         * modules/unistr/u32-check-tests: Likewise.
33376         * modules/unistr/u32-chr-tests: Likewise.
33377         * modules/unistr/u32-cmp-tests: Likewise.
33378         * modules/unistr/u32-cmp2-tests: Likewise.
33379         * modules/unistr/u32-cpy-alloc-tests: Likewise.
33380         * modules/unistr/u32-cpy-tests: Likewise.
33381         * modules/unistr/u32-mblen-tests: Likewise.
33382         * modules/unistr/u32-mbsnlen-tests: Likewise.
33383         * modules/unistr/u32-mbtouc-tests: Likewise.
33384         * modules/unistr/u32-mbtouc-unsafe-tests: Likewise.
33385         * modules/unistr/u32-mbtoucr-tests: Likewise.
33386         * modules/unistr/u32-move-tests: Likewise.
33387         * modules/unistr/u32-next-tests: Likewise.
33388         * modules/unistr/u32-prev-tests: Likewise.
33389         * modules/unistr/u32-set-tests: Likewise.
33390         * modules/unistr/u32-stpcpy-tests: Likewise.
33391         * modules/unistr/u32-stpncpy-tests: Likewise.
33392         * modules/unistr/u32-strcat-tests: Likewise.
33393         * modules/unistr/u32-strcmp-tests: Likewise.
33394         * modules/unistr/u32-strcoll-tests: Likewise.
33395         * modules/unistr/u32-strcpy-tests: Likewise.
33396         * modules/unistr/u32-strdup-tests: Likewise.
33397         * modules/unistr/u32-strlen-tests: Likewise.
33398         * modules/unistr/u32-strmblen-tests: Likewise.
33399         * modules/unistr/u32-strmbtouc-tests: Likewise.
33400         * modules/unistr/u32-strncat-tests: Likewise.
33401         * modules/unistr/u32-strncmp-tests: Likewise.
33402         * modules/unistr/u32-strncpy-tests: Likewise.
33403         * modules/unistr/u32-strnlen-tests: Likewise.
33404         * modules/unistr/u32-to-u16-tests: Likewise.
33405         * modules/unistr/u32-to-u8-tests: Likewise.
33406         * modules/unistr/u32-uctomb-tests: Likewise.
33407         * modules/uniwbrk/u8-wordbreaks-tests: Likewise.
33408         * modules/uniwbrk/u16-wordbreaks-tests: Likewise.
33409         * modules/uniwbrk/u32-wordbreaks-tests: Likewise.
33410         * modules/uniwbrk/ulc-wordbreaks-tests: Likewise.
33411         * modules/uniwidth/u8-strwidth-tests: Likewise.
33412         * modules/uniwidth/u8-width-tests: Likewise.
33413         * modules/uniwidth/u16-strwidth-tests: Likewise.
33414         * modules/uniwidth/u16-width-tests: Likewise.
33415         * modules/uniwidth/u32-strwidth-tests: Likewise.
33416         * modules/uniwidth/u32-width-tests: Likewise.
33417         * modules/uniwidth/width-tests: Likewise.
33418
33419 2010-05-18  Richard Jones  <rjones@redhat.com>
33420
33421         doc: users.txt: list hivex
33422         * users.txt: Add hivex.
33423
33424 2010-05-18  Richard Jones  <rjones@redhat.com>
33425
33426         doc: users.txt: list febootstrap
33427         * users.txt: Add febootstrap.
33428
33429 2010-05-17  Giuseppe Scrivano  <gscrivano@gnu.org>
33430
33431         bootstrap: fix an error when gnulib is not used as a git submodule
33432         * build-aux/bootstrap (gnulib_path): If its length is zero then
33433         assign "gnulib" to it.
33434         * build-aux/bootstrap: Redirect "git clone -h" stderr to stdout.
33435
33436 2010-05-16  Bruno Haible  <bruno@clisp.org>
33437
33438         Avoid autoconf warnings about AM_ICONV.
33439         * m4/iconv.m4 (AM_ICONV): Define using AC_DEFUN_ONCE for autoconf >=
33440         2.64.
33441
33442 2010-05-16  Bruno Haible  <bruno@clisp.org>
33443
33444         absolute-header: Make the macro usable in more situations.
33445         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER_ONE): New macro, extracted
33446         from gl_ABSOLUTE_HEADER.
33447         (gl_ABSOLUTE_HEADER): Use it. Fix comment.
33448
33449 2010-05-16  James Youngman  <jay@gnu.org>
33450
33451         doc: update users.txt
33452         * users.txt: Add CSSC.
33453
33454 2010-05-16  Jim Meyering  <meyering@redhat.com>
33455
33456         init.sh: fix an error in the previous change; add more comments
33457         * tests/init.sh: Compare exit code in loop against 9, not 2.
33458         Patch by Bruno Haible.
33459         Make the two tests more similar by adding an empty "then" clause.
33460         Add comments.
33461
33462         init.sh: avoid unnecessary shell re-exec
33463         * tests/init.sh: Improve the re-exec-required check to first test the
33464         current shell.  If it passes the test, do not search for a shell that
33465         does pass, and do not re-exec.  This test is particularly contorted to
33466         avoid triggering misbehavior in Solaris 10's /bin/sh whereby any use
33467         of $(...) evokes a syntax error and causes immediate shell exit with
33468         status 2.  Bruno Haible reported that the re-exec made it impossible
33469         to single-step through any init.sh-using script.
33470
33471 2010-05-16  Bruno Haible  <bruno@clisp.org>
33472
33473         Fix collision between gnulib's and libintl's printf replacements.
33474         * lib/stdio.in.h (_GL_STDIO_STRINGIZE,
33475         _GL_STDIO_MACROEXPAND_AND_STRINGIZE): New macros.
33476         (printf): When using GNU C, map the __printf__ function to rpl_printf
33477         via __asm__. When not using GNU C, define rpl_printf instead of
33478         __printf__.
33479         * lib/printf.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2010-03-25
33480         commit.
33481         * lib/stdio-write.c: Ignore DEPENDS_ON_LIBINTL. Undoes the 2009-08-10
33482         commit.
33483         * m4/asm-underscore.m4: New file.
33484         * m4/stdio_h.m4 (gl_STDIO_H): Require gl_ASM_SYMBOL_PREFIX.
33485         * modules/stdio (Files): Add m4/asm-underscore.m4.
33486         (Makefile.am): Substitute ASM_SYMBOL_PREFIX.
33487         Reported by Ben Pfaff.
33488
33489 2010-05-16  Bruno Haible  <bruno@clisp.org>
33490
33491         verify: Avoid skipping the test on openSUSE 11.0.
33492         * tests/test-verify.sh: Unset MALLOC_PERTURB_.
33493
33494 2010-05-13  Bruno Haible  <bruno@clisp.org>
33495
33496         Avoid useless warnings from G++.
33497         * build-aux/c++defs.h (_GL_CXXALIASWARN_2, _GL_CXXALIASWARN1_2): Don't
33498         use _GL_WARN_ON_USE or _GL_WARN_ON_USE_CXX when optimizing.
33499         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
33500
33501 2010-05-11  Jim Meyering  <meyering@redhat.com>
33502
33503         maint.mk: tweak preceding change
33504         * top/maint.mk (gl_extract_significant_defines_): Make exclusion
33505         regexps tighter by anchoring at EOL, and make the new group "shy"
33506         for slightly decreased overhead.
33507
33508 2010-05-11  Eric Blake  <eblake@redhat.com>
33509
33510         maint.mk: gnulib doesn't guarantee NSIG
33511         * top/maint.mk (gl_extract_significant_defines_): Exclude NSIG.
33512
33513 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33514
33515         test-pwrite.c: Remove unused variable declaration.
33516         * tests/test-pwrite.c (main): Remove read_buf declaration.
33517
33518         Remove useless test-pwrite.sh file.
33519         * tests/test-pwrite.sh: Delete file.
33520         * modules/pwrite-tests: Remove references.
33521         Reported by Bruno Haible.
33522
33523 2010-05-10  Peter O'Gorman  <pogma@thewrittenword.com>
33524
33525         init.sh: fix a typo
33526         * tests/init.sh: Correct typo in MALLOC_PERTURB_ initialization.
33527
33528 2010-05-10  Jim Meyering  <meyering@redhat.com>
33529
33530         maint.mk: avoid using a temporary file in the always-defined-macros check
33531         * top/maint.mk (.re-defmac): Remove rule.
33532         (gl_trap_): Remove definition.
33533         (sc_prohibit_always-defined_macros): Rewrite not to create and
33534         depend on a temporary file.  Instead, depend on GNU grep's ability
33535         to read a list of regular expressions from stdin when given "-f -".
33536
33537 2010-05-09  Bruno Haible  <bruno@clisp.org>
33538
33539         Update to GNU gettext 0.18, part 1.
33540         * m4/gettext.m4: Update to GNU gettext 0.18.
33541         * m4/intl.m4: Likewise.
33542         * m4/po.m4: Likewise.
33543         * modules/gettext (Files): Add m4/fcntl-o.m4.
33544         (configure.ac): Require gettext infrastructure from version 0.18.
33545
33546 2010-05-09  Jim Meyering  <meyering@redhat.com>
33547
33548         init.sh: enable MALLOC_PERTURB_
33549         * tests/init.sh: Enable glibc's malloc-perturbing option.
33550
33551         maint.mk: improve sc_cross_check_PATH_usage_in_tests
33552         With my recent change in init.sh from the two-line form:
33553             -#   : ${srcdir=.}
33554             -#   . "$srcdir/init.sh"; path_prepend_ .
33555             +#   . "${srcdir=.}/init.sh"; path_prepend_ .
33556         I noticed that using the one-line form would cause this test
33557         to fail with a false-positive, or to stop working altogether,
33558         depending on whether help-version changed or all the tests did.
33559         * top/maint.mk (_hv_regex): Remove this definition.
33560         (_hv_regex_weak): Use a weak regex to select all init.sh-sourcing files.
33561         (_hv_regex_strong): Use a stronger regex to check for conformance.
33562         (sc_cross_check_PATH_usage_in_tests): Rewrite to use the above.
33563         Give a separate diagnostic for lack of conforming use.
33564
33565         maint.mk: prohibit definition of symbols defined by gnulib
33566         * top/maint.mk (sc_prohibit_always-defined_macros): Reject the
33567         definition of symbols defined by gnulib.
33568
33569 2010-05-09  Bruno Haible  <bruno@clisp.org>
33570
33571         acl: Avoid test failure on Cygwin-hosted mingw.
33572         * tests/test-set-mode-acl.sh: Skip test if USE_ACL is 0.
33573
33574 2010-05-09  Bruno Haible  <bruno@clisp.org>
33575
33576         error: Use system's fcntl function.
33577         * lib/error.c (fcntl): Undefine.
33578
33579 2010-05-09  Jim Meyering  <meyering@redhat.com>
33580
33581         verify: adjust formatting to be more consistent
33582         * lib/verify.h (_GL_GENSYM): Add a space before each of a few
33583         argument-list '('s, and after one comma.
33584
33585 2010-05-09  Bruno Haible  <bruno@clisp.org>
33586
33587         error: More reliable output on mingw.
33588         * lib/error.c: Include <windows.h>.
33589         (is_open): New function.
33590         (flush_stdout): Call it instead of fcntl, also if F_GETFL is not
33591         defined.
33592
33593 2010-05-09  Bruno Haible  <bruno@clisp.org>
33594
33595         vasnprintf: Fix syntax errors in libintl build on mingw.
33596         * lib/vasnprintf.c (VASNPRINTF): Move a closing brace. Undefine
33597         pad_ourselves and prec_ourselves after use.
33598
33599 2010-05-08  Bruno Haible  <bruno@clisp.org>
33600
33601         * lib/config.charset: Update comments for Cygwin 1.7.
33602         * lib/localcharset.c: Likewise.
33603
33604 2010-05-07  Jim Meyering  <meyering@redhat.com>
33605
33606         init.sh: improve comments
33607         * tests/init.sh: Recommend the one-line init.sh-sourcing idiom:
33608         . "${srcdir=.}/init.sh"; path_prepend_ .
33609         Add a note about path_prepend_ and the alternative of using
33610         TESTS_ENVIRONMENT.
33611
33612 2010-05-06  Sergey Poznyakoff  <gray@gnu.org.ua>
33613
33614         exclude: Unescape hashed patterns in wildcard mode.
33615         * lib/exclude.c (add_exclude): Unescape the pattern before adding it
33616         to the hash list.
33617         * tests/test-exclude8.sh: New test case.
33618         * modules/exclude-tests: Add new test.
33619
33620 2010-05-05  Eric Blake  <eblake@redhat.com>
33621
33622         verify: automate tests
33623         * modules/verify-tests: New module.
33624         * tests/test-verify.sh: New file.
33625         * tests/test-verify.c: Guard each negative test with a unique id.
33626         Also avoid warning about unused left hand of comma expressions.
33627
33628 2010-05-05  Paul Eggert  <eggert@cs.ucla.edu>
33629
33630         Further improvements to verify.h, suggested by Eric Blake.
33631         * lib/verify.h (_GL_CONCAT, _GL_CONCAT0, _GL_GENSYM): Renamed from
33632         the GL_* versions, to avoid collision with OpenGL.
33633         (_GL_COUNTER): New macro, so that we can fall back on __LINE__ if
33634         __COUNTER__ doesn't work.  Test that __COUNTER__ increments rather
33635         than testing merely whether it's defined.
33636
33637         Modify verify.h to pacify gcc -Wredundant_decls.
33638         * lib/verify.h (GL_CONCAT, GL_CONCAT0, GL_GENSYM): New macros.
33639         These use the prefix "GL_" since they're likely to be useful elsewhere.
33640         We may need to break them out into a different .h file.
33641         (__COUNTER__): Define to 0 if the compiler doesn't support it.
33642         (verify) [!defined __cplusplus]: Use them to avoid duplicate decls
33643         of verify_function__.
33644
33645 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33646
33647         Tests for module pwrite.
33648         * modules/pwrite-tests: New file.
33649         * tests/test-pwrite.sh: New file.
33650         * tests/test-pwrite.c: New file.
33651
33652         New module pwrite.
33653         * lib/unistd.in.h (pwrite): New declaration.
33654         * lib/pwrite.c: New file, from glibc with modifications.
33655         * m4/pwrite.m4: New file.
33656         * m4/unistd_h.m4 (gl_UNISTD_H): Test whether pwrite is declared.
33657         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PWRITE, HAVE_PWRITE,
33658         REPLACE_PWRITE.
33659         * modules/pwrite: New file.
33660         * modules/unistd (Makefile.am): Substitute GNULIB_PWRITE, HAVE_PWRITE,
33661         REPLACE_PWRITE.
33662         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::pwrite.
33663         * doc/posix-functions/pwrite.texi: Mention the new module.
33664
33665 2010-05-05  Peter O'Gorman  <pogma@thewrittenword.com>
33666
33667         pread: Update documentation.
33668         * doc/posix-functions/pread.texi: Mention the 'pread' module.
33669
33670 2010-05-04  Eric Blake  <eblake@redhat.com>
33671
33672         docs: update cygwin progress
33673         * doc/posix-functions/wctob.texi (wctob): Cygwin 1.7.6 will fix
33674         this bug.
33675         * doc/glibc-functions/get_nprocs_conf.texi (get_nprocs_conf):
33676         Added in cygwin 1.7.2.
33677         * doc/glibc-functions/get_phys_pages.texi (get_phys_pages):
33678         Likewise.
33679         * doc/glibc-functions/get_avphys_pages.texi (get_avphys_pages):
33680         Likewise.
33681         * doc/glibc-functions/dup3.texi (dup3): Likewise.
33682         * doc/glibc-functions/pipe2.texi (pipe2): Likewise.
33683         * doc/glibc-functions/accept4.texi (accept4): Likewise.
33684         * doc/posix-functions/strfmon.texi (strfmon): Likewise.
33685         * doc/glibc-functions/get_nprocs.texi (get_nprocs): Likewise.
33686         Mention nproc module.
33687         * doc/glibc-functions/xdr_uint16_t.texi (xdr_uint16_t): Mention
33688         bug in cygwin 1.7.5 addition.
33689         * doc/glibc-functions/xdr_uint32_t.texi (xdr_uint32_t): Likewise.
33690         * doc/glibc-functions/xdr_uint64_t.texi (xdr_uint64_t): Likewise.
33691         * doc/glibc-functions/xdr_uint8_t.texi (xdr_uint8_t): Likewise.
33692         * doc/glibc-functions/xdr_array.texi (xdr_array): Added in cygwin
33693         1.7.5.
33694         * doc/glibc-functions/xdr_bool.texi (xdr_bool): Likewise.
33695         * doc/glibc-functions/xdr_bytes.texi (xdr_bytes): Likewise.
33696         * doc/glibc-functions/xdr_char.texi (xdr_char): Likewise.
33697         * doc/glibc-functions/xdr_double.texi (xdr_double): Likewise.
33698         * doc/glibc-functions/xdr_enum.texi (xdr_enum): Likewise.
33699         * doc/glibc-functions/xdr_float.texi (xdr_float): Likewise.
33700         * doc/glibc-functions/xdr_free.texi (xdr_free): Likewise.
33701         * doc/glibc-functions/xdr_hyper.texi (xdr_hyper): Likewise.
33702         * doc/glibc-functions/xdr_int.texi (xdr_int): Likewise.
33703         * doc/glibc-functions/xdr_int16_t.texi (xdr_int16_t): Likewise.
33704         * doc/glibc-functions/xdr_int32_t.texi (xdr_int32_t): Likewise.
33705         * doc/glibc-functions/xdr_int64_t.texi (xdr_int64_t): Likewise.
33706         * doc/glibc-functions/xdr_int8_t.texi (xdr_int8_t): Likewise.
33707         * doc/glibc-functions/xdr_long.texi (xdr_long): Likewise.
33708         * doc/glibc-functions/xdr_longlong_t.texi (xdr_longlong_t):
33709         Likewise.
33710         * doc/glibc-functions/xdr_netobj.texi (xdr_netobj): Likewise.
33711         * doc/glibc-functions/xdr_opaque.texi (xdr_opaque): Likewise.
33712         * doc/glibc-functions/xdr_pointer.texi (xdr_pointer): Likewise.
33713         * doc/glibc-functions/xdr_reference.texi (xdr_reference):
33714         Likewise.
33715         * doc/glibc-functions/xdr_short.texi (xdr_short): Likewise.
33716         * doc/glibc-functions/xdr_sizeof.texi (xdr_sizeof): Likewise.
33717         * doc/glibc-functions/xdr_string.texi (xdr_string): Likewise.
33718         * doc/glibc-functions/xdr_u_char.texi (xdr_u_char): Likewise.
33719         * doc/glibc-functions/xdr_u_hyper.texi (xdr_u_hyper): Likewise.
33720         * doc/glibc-functions/xdr_u_int.texi (xdr_u_int): Likewise.
33721         * doc/glibc-functions/xdr_u_long.texi (xdr_u_long): Likewise.
33722         * doc/glibc-functions/xdr_u_longlong_t.texi (xdr_u_longlong_t):
33723         Likewise.
33724         * doc/glibc-functions/xdr_u_short.texi (xdr_u_short): Likewise.
33725         * doc/glibc-functions/xdr_union.texi (xdr_union): Likewise.
33726         * doc/glibc-functions/xdr_vector.texi (xdr_vector): Likewise.
33727         * doc/glibc-functions/xdr_void.texi (xdr_void): Likewise.
33728         * doc/glibc-functions/xdr_wrapstring.texi (xdr_wrapstring):
33729         Likewise.
33730         * doc/glibc-functions/xdrmem_create.texi (xdrmem_create):
33731         Likewise.
33732         * doc/glibc-functions/xdrrec_create.texi (xdrrec_create):
33733         Likewise.
33734         * doc/glibc-functions/xdrrec_endofrecord.texi
33735         (xdrrec_endofrecord): Likewise.
33736         * doc/glibc-functions/xdrrec_eof.texi (xdrrec_eof): Likewise.
33737         * doc/glibc-functions/xdrrec_skiprecord.texi (xdrrec_skiprecord):
33738         Likewise.
33739         * doc/glibc-functions/xdrstdio_create.texi (xdrstdio_create):
33740         Likewise.
33741
33742 2010-05-04  Jim Meyering  <meyering@redhat.com>
33743
33744         gendocs.sh: make its "-s FILE" option more useful
33745         * build-aux/gendocs.sh: When honoring the -s FILE option, update
33746         $PACKAGE to reflect the probably-different basename of "FILE".
33747
33748 2010-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
33749
33750         bootstrap: don't ignore download_po_files failure
33751         * build-aux/bootstrap (update_po_files): Don't ignore download_po_files
33752         failure.
33753
33754 2010-05-03  Jim Meyering  <meyering@redhat.com>
33755
33756         maint.mk: allow to pass options to gendocs.sh
33757         * top/maint.mk (web-manual): Pass gendocs_options_ to gendocs.sh.
33758         (gendocs_options_): New overridable variable.
33759
33760         gnu-web-doc-update: don't ignore configure or build failure
33761         * build-aux/gnu-web-doc-update: Exit nonzero upon internal failure.
33762
33763         announce-gen: backslash-escape '@'s in --help output
33764         * build-aux/announce-gen: Fix syntax errors.
33765
33766         maint.mk, announce-gen: allow project-specific announcement mail headers
33767         * top/maint.mk (translation_project_): Define default.
33768         (announcement_Cc_, announcement_mail_headers_): Likewise.
33769         (announcement): Invoke announce-gen with new --mail-headers option.
33770         * build-aux/announce-gen: New option: --mail-headers=HEADERS.
33771
33772         test-xalloc-die: avoid unwarranted test failure on OpenSolaris 5.11
33773         * tests/test-xalloc-die.sh: Redirect stdout before stderr, (i.e.,
33774         "> out 2> err", rather than "2> err > out").  Otherwise, with /bin/sh
33775         on OpenSolaris 5.11 snv_134, we would end up with a stray "1> out"
33776         line in the "err2" output file when running "make check" in verbose
33777         mode (i.e., with set -x enabled).
33778
33779 2010-05-03  Bruno Haible  <bruno@clisp.org>
33780
33781         wctob: Fix for weird platforms.
33782         * lib/wctob.c (wctob): When wint_t is larger than wchar_t, check the
33783         argument value.
33784
33785 2010-05-03  Jim Meyering  <meyering@redhat.com>
33786
33787         maint.mk: prohibit unwarranted use of <strings.h>
33788         * top/maint.mk (sc_prohibit_strings_without_use): Reject inclusion of
33789         strings.h in a file that does not also use strcasecmp, strncasecmp,
33790         ffs or ffsll.
33791
33792         maint.mk: remove obsolete comments
33793         * top/maint.mk: Remove stale, commented-out rules.
33794
33795 2010-05-02  Bruno Haible  <bruno@clisp.org>
33796
33797         wcwidth: Declare also when it's aliased.
33798         * lib/wchar.in.h (wcwidth): Don't test whether wcwidth is defined as a
33799         macro.
33800
33801 2010-05-02  Bruno Haible  <bruno@clisp.org>
33802
33803         Fix regression from 2010-04-25.
33804         * gnulib-tool (func_modules_transitive_closure): Check the status of
33805         all modules, not only of the tests that are of the form foo-tests where
33806         foo is a module.
33807
33808 2010-05-02  Bruno Haible  <bruno@clisp.org>
33809
33810         wctob: Work around nasty Cygwin 1.7.2 bug.
33811         * m4/wctob.m4 (gl_FUNC_WCTOB): Detect the Cygwin bug.
33812         * doc/posix-functions/wctob.texi: Mention the Cygwin bug.
33813
33814 2010-05-01  Bruno Haible  <bruno@clisp.org>
33815
33816         fpurge: Sharper test.
33817         * tests/test-fpurge.c (main): Add one more ftell check.
33818         * modules/fpurge-tests (Depends-on): Add ftell.
33819         Suggested by Eric Blake.
33820
33821 2010-05-01  Bruno Haible  <bruno@clisp.org>
33822
33823         ftello: Another test.
33824         * tests/test-ftello3.c: New file.
33825         * modules/ftello-tests (Files): Add it.
33826         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33827         MOSTLYCLEANFILES.
33828
33829         ftell: Another test.
33830         * tests/test-ftell3.c: New file.
33831         * modules/ftell-tests (Files): Add it.
33832         (Makefile.am): Add it to TESTS and check_PROGRAMS. Augment
33833         MOSTLYCLEANFILES.
33834
33835 2010-05-01  Bruno Haible  <bruno@clisp.org>
33836
33837         ftell, ftello: Work around Solaris bug.
33838         * m4/ftello.m4 (gl_FUNC_FTELLO): Detect Solaris bug.
33839         * lib/ftello.c: Include stdio-impl.h.
33840         (ftello): On Solaris, when _IOWRT is set, compute the result without
33841         looking at _IOREAD.
33842         * modules/ftello (Files): Add lib/stdio-impl.h.
33843         * doc/posix-functions/ftell.texi: Mention Solaris bug.
33844         * doc/posix-functions/ftello.texi: Likewise.
33845         Reported by Eric Blake.
33846
33847 2010-05-01  Bruno Haible  <bruno@clisp.org>
33848
33849         freading: Adapt to special meaning of _IOREAD flag on Solaris.
33850         * lib/freading.c (freading): On Solaris, ignore the _IOREAD flag if
33851         the _IOWRT flag is also set.
33852
33853 2010-05-01  Bruno Haible  <bruno@clisp.org>
33854
33855         Fix doc about a HP-UX stdio bug.
33856         * doc/posix-functions/ftell.texi: Mark HP-UX bug as unfixed.
33857         * doc/posix-functions/ftello.texi: Likewise.
33858
33859 2010-05-01  Bruno Haible  <bruno@clisp.org>
33860
33861         lseek test: Fix failure on Solaris.
33862         * tests/test-lseek.sh: Partially revert 2010-04-20 commit. Consume all
33863         output.
33864
33865 2010-04-30  Jim Meyering  <meyering@redhat.com>
33866
33867         bootstrap: don't ignore failure to generate po*/Makevars
33868         * build-aux/bootstrap (with_gettext): Don't ignore failure
33869         to create po/Makevars or runtime-po/Makevars.
33870
33871 2010-04-29  Eric Blake  <eblake@redhat.com>
33872
33873         headers: relax license to LGPLv2+
33874         * modules/fcntl-h (License): Relax license.
33875         * modules/getopt-posix (License): Likewise.
33876         * modules/locale (License): Likewise.
33877         * modules/math (License): Likewise.
33878         * modules/pty (License): Likewise.
33879         * modules/sched (License): Likewise.
33880         * modules/search (License): Likewise.
33881         * modules/spawn (License): Likewise.
33882         * modules/stdarg (License): Likewise.
33883         * modules/sysexits (License): Likewise.
33884
33885 2010-04-29  Jim Meyering  <meyering@redhat.com>
33886
33887         inttypes: relax license to LGPLv2+
33888         * modules/inttypes (License): Relax license.
33889
33890 2010-04-29  Simon Josefsson  <simon@josefsson.org>
33891
33892         * top/maint.mk (indent): Run twice to produce idempotent results.
33893
33894 2010-04-28  Bruno Haible  <bruno@clisp.org>
33895
33896         getdate: Generate getdate.c in the source directory.
33897         * modules/getdate (Makefile.am): Add rule for getdate.c. Augment
33898         MOSTLYCLEANFILES.
33899         Suggested by Daniel Richard G. <skunk@iskunk.org> and Ralf Wildenhues.
33900
33901 2010-04-27  Andreas Gruenbacher  <agruen@suse.de>  (tiny change)
33902
33903         * lib/utimens.c: On Tru64, the timestamp parameter of utimens(2)
33904         is not declared as a const *; avoid warnings in that case.
33905
33906 2010-04-28  Eric Blake  <eblake@redhat.com>
33907
33908         canonicalize-lgpl: avoid compiler warning
33909         * lib/canonicalize-lgpl.c (versioned_symbol): Avoid an 'empty
33910         declaration' / 'extraneous semicolon' warning with some compilers.
33911         Reported by Andreas Gruenbacher.
33912
33913 2010-04-28  Jim Meyering  <meyering@redhat.com>
33914
33915         init.sh: ensure a more reliable exit status when exiting via trap
33916         * tests/init.sh (setup_): Don't rely on $? in signal handler.
33917         Inspired by patches from Dmitry V. Levin.
33918         Also trap on signal 3 (SIGQUIT).
33919
33920 2010-04-27  Bruno Haible  <bruno@clisp.org>
33921
33922         Update doc about utimes().
33923         * doc/posix-functions/utimes.texi: Mention the OSF/1 problem and the
33924         'utimens' module.
33925         Reported by Andreas Gruenbacher <agruen@suse.de>.
33926
33927 2010-04-27  Eric Blake  <eblake@redhat.com>
33928
33929         full-read, full-write: relax license
33930         * modules/full-read (License): Drop to LGPLv2+.
33931         * modules/full-write (License): Likewise.
33932         * modules/safe-read (License): Likewise.
33933         * modules/safe-write (License): Likewise.
33934
33935         pthread: mention library for linking
33936         * modules/pthread (Link): Mention $(LIB_PTHREAD).
33937
33938 2010-04-27  Jim Meyering  <meyering@redhat.com>
33939
33940         maint.mk: fix a bug introduced in last change
33941         * top/maint.mk (gl_assured_headers_): Now that all names are on
33942         one line, use sed's "g" modifier.  Note that while the \.in\.h LHS
33943         is not anchored to end of word, it should be adequate.
33944
33945         maint.mk: avoid side-effect in latest syntax-check
33946         * top/maint.mk (sc_prohibit_always_true_header_tests): Rework not
33947         to run commands via $(shell...), and hence to incur cost only when
33948         the new rule is actually run.
33949
33950         maint.mk: syntax-check: prohibit HAVE_<header>_H that are always true
33951         Derive the list of guaranteed header names from gnulib/lib/*.in.h,
33952         and use that to create a regexp used to detect all #if HAVE_..._H uses.
33953         * top/maint.mk (sc_prohibit_always_true_header_tests): New rule.
33954         (gl_assured_headers_, az_, AZ_): Define.
33955         (gl_header_upper_case_or_, gl_have_header_regex_): Define.
33956
33957 2010-04-26  Jim Meyering  <jim@meyering.net>
33958             Bruno Haible  <bruno@clisp.org>
33959
33960         gnulib-common.m4: make glibc write diagnostics to stderr, not /dev/tty
33961         * m4/gnulib-common.m4 (gl_COMMON_BODY): Set LIBC_FATAL_STDERR_.
33962         Prompted by an exchange with Gilles Espinasse.
33963
33964 2010-04-26  Jim Meyering  <meyering@redhat.com>
33965
33966         git-version-gen: aesthetic tweak
33967         * build-aux/git-version-gen: Use "$nl" rather than a literal,
33968         so that the command remains on a single line.
33969
33970 2010-04-26  Eric Blake  <eblake@redhat.com>
33971
33972         git-version-gen: allow use on EBCDIC hosts
33973         * build-aux/git-version-gen (dirty): Use literal rather than tying
33974         ourselves to ascii.
33975         Reported by Steve Goetze.
33976
33977 2010-04-25  Bruno Haible  <bruno@clisp.org>
33978
33979         netdb: Add support for GNULIB_POSIXCHECK.
33980         * lib/netdb.in.h: Include warn-on-use.h.
33981         (getaddrinfo, freeaddrinfo, gai_strerror, getnameinfo): Warn if these
33982         functions are used when GNULIB_POSIXCHECK is defined and the
33983         getaddrinfo module is not in use.
33984         * m4/netdb_h.m4 (gl_HEADER_NETDB): Test whether getaddrinfo,
33985         freeaddrinfo, gai_strerror, getnameinfo are declared.
33986         * modules/netdb (Depends-on): Add warn-on-use.
33987         (Makefile.am): Include warn-on-use.h in netdb.h.
33988
33989 2010-04-24  Ian Beckwith  <ianb@erislabs.net>
33990
33991         build: avoid "make check" failure without .git/ directory
33992         * Makefile (sc_prefer_ac_check_funcs_once): Skip this test when
33993         there is no .git/ directory.
33994
33995 2010-04-25  Bruno Haible  <bruno@clisp.org>
33996
33997         ptsname: Fix misuse of ttyname_r.
33998         * lib/ptsname.c (__ptsname_r): Use __ttyname_r's return value instead
33999         of errno.
34000
34001 2010-04-25  Bruno Haible  <bruno@clisp.org>
34002
34003         ttyname_r: Make it work on Solaris 10.
34004         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Define HAVE_POSIXDECL_TTYNAME_R
34005         if the system function has the POSIX declaration. Test whether the
34006         function fails if the buffer is less than 128 bytes large.
34007         * lib/ttyname_r.c (ttyname_r): Handle both possible declarations of the
34008         system's ttyname_r function. Provide a reasonably large buffer.
34009         * modules/ttyname_r (Depends-on): Add extensions.
34010         * doc/posix-functions/ttyname_r.texi: Mention the Solaris problem.
34011
34012 2010-04-25  Bruno Haible  <bruno@clisp.org>
34013
34014         Use the 'extensions' module for some more functions on Solaris.
34015         * doc/posix-functions/asctime_r.texi: Recommend to use the 'extensions'
34016         module.
34017         * doc/posix-functions/ctime_r.texi: Likewise.
34018         * doc/posix-functions/getgrgid_r.texi: Likewise.
34019         * doc/posix-functions/getgrnam_r.texi: Likewise.
34020         * doc/posix-functions/getpwnam_r.texi: Likewise.
34021         * doc/posix-functions/getpwuid_r.texi: Likewise.
34022         * doc/posix-functions/readdir_r.texi: Likewise.
34023         * doc/posix-functions/sigwait.texi: Likewise.
34024         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Add comment.
34025         * doc/posix-functions/getlogin_r.texi: Mark Solaris problem as fixed.
34026
34027 2010-04-25  Bruno Haible  <bruno@clisp.org>
34028
34029         ttyname_r: Make it work on MacOS X 10.4 and Solaris 10.
34030         * m4/ttyname_r.m4 (gl_FUNC_TTYNAME_R): Test whether the system function
34031         has the POSIX declaration. Set REPLACE_TTYNAME_R if not.
34032         * lib/ttyname_r.c: Include <limits.h>.
34033         (ttyname_r): Define using the system's ttyname_r function, if it exists
34034         and not on Solaris.
34035         * lib/unistd.in.h (ttyname_r): Replace function if REPLACE_TTYNAME_R is
34036         set.
34037         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize REPLACE_TTYNAME_R.
34038         * modules/unistd (Makefile.am): Substitute REPLACE_TTYNAME_R.
34039         * doc/posix-functions/ttyname_r.texi: Mark the problem as fixed.
34040         Reported by Simon Josefsson.
34041
34042 2010-04-25  Bruno Haible  <bruno@clisp.org>
34043
34044         Mention effects of _POSIX_PTHREAD_SEMANTICS on Solaris.
34045         * doc/posix-functions/asctime_r.texi: Mention the Solaris problem.
34046         * doc/posix-functions/ctime_r.texi: Likewise.
34047         * doc/posix-functions/getgrgid_r.texi: Likewise.
34048         * doc/posix-functions/getgrnam_r.texi: Likewise.
34049         * doc/posix-functions/getlogin_r.texi: Likewise.
34050         * doc/posix-functions/getpwnam_r.texi: Likewise.
34051         * doc/posix-functions/getpwuid_r.texi: Likewise.
34052         * doc/posix-functions/readdir_r.texi: Likewise.
34053         * doc/posix-functions/sigwait.texi: Likewise.
34054         * doc/posix-functions/ttyname_r.texi: Likewise.
34055         Reported by Simon Josefsson.
34056
34057 2010-04-25  Bruno Haible  <bruno@clisp.org>
34058
34059         gnulib-tool: Don't include hairy tests of dependencies in testdirs.
34060         * gnulib-tool (func_usage): Document that --with-*-tests options apply
34061         also to --create-testdir.
34062         (func_acceptable): Don't consider the status of *-tests modules here.
34063         (func_modules_transitive_closure): Consider it here, before including a
34064         test module.
34065         (func_import, func_create_testdir): Set inc_all_direct_tests,
34066         inc_all_indirect_tests.
34067         * doc/gnulib.texi (Extra tests modules): Document new behaviour of
34068         --create-testdir and --create-megatestdir.
34069
34070 2010-04-25  Bruno Haible  <bruno@clisp.org>
34071
34072         gnulib-tool: Add --without-*-tests options.
34073         * gnulib-tool (func_usage): Document the --without-*-tests options.
34074         (excl_cxx_tests, excl_longrunning_tests, excl_privileged_tests,
34075         excl_unportable_tests): New variables.
34076         Fail if they are specified with --import or --update.
34077         (func_acceptable): Respect the excl_*_tests variables.
34078         (func_import): Set the excl_*_tests variables to empty.
34079
34080 2010-04-25  Simon Josefsson  <simon@josefsson.org>
34081             Bruno Haible  <bruno@clisp.org>
34082
34083         Work around a MacOS X 10.4 bug with openpty.
34084         * doc/glibc-functions/openpty.texi: Mention the MacOS X 10.4 bug.
34085         * tests/test-openpty.c (main): Close the master side explicitly.
34086
34087 2010-04-25  Bruno Haible  <bruno@clisp.org>
34088
34089         strnlen: Fix a C++ test error on MacOS X and Solaris.
34090         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Don't set REPLACE_STRNLEN to 1 if
34091         the function is not declared.
34092         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com> and
34093         Simon Josefsson.
34094
34095 2010-04-24  Bruno Haible  <bruno@clisp.org>
34096
34097         Avoid a gcc warning.
34098         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Pass argument
34099         of correct type for %08lx directive.
34100         Reported by Eric Blake.
34101
34102 2010-04-24  Bruno Haible  <bruno@clisp.org>
34103
34104         vasnprintf: Correct errno value in case of out-of-memory.
34105         * lib/vasnprintf.c (VASNPRINTF): Set errno to 0 before calling SNPRINTF
34106         or sprintf. Use the errno value from SNPRINTF or sprintf.
34107         Reported by Ian Beckwith <ianb@erislabs.net>.
34108
34109 2010-04-24  Bruno Haible  <bruno@clisp.org>
34110
34111         ansi-c++-opt: Find correct compiler when cross-compiling.
34112         * m4/ansi-c++.m4 (gl_PROG_ANSI_CXX): Use AC_CHECK_TOOLS instead of
34113         AC_CHECK_PROGS.
34114         Reported by Simon Josefsson.
34115
34116 2010-04-24  Giuseppe Scrivano  <gscrivano@gnu.org>
34117
34118         vc-list-files: Add support for subversion
34119         * build-aux/vc-list-files: Use "svn list" to generate the list of
34120         files controlled by subversion.
34121
34122 2010-04-23  Jim Meyering  <meyering@redhat.com>
34123
34124         vc-list-files tests: convert to use init.sh
34125         * tests/test-vc-list-files-cvs.sh: Invoke "$srcdir/init.sh" and
34126         path_prepend_.
34127         Use Exit, not exit.
34128         Use skip_ rather than open coding it.
34129         Remove trap set-up and compare definitions.
34130         * tests/test-vc-list-files-git.sh: Likewise.
34131         * modules/vc-list-files-tests (Files): Add tests/init.sh.
34132
34133 2010-04-22  Simon Josefsson  <simon@josefsson.org>
34134
34135         * top/maint.mk (sc_prohibit_backup_files): Prohibit checked in
34136         backup files.
34137
34138 2010-04-21  Simon Josefsson  <simon@josefsson.org>
34139
34140         * tests/test-vasprintf.c (test_vasprintf, test_asprintf): Test %08lx.
34141
34142 2010-04-20  Eric Blake  <eblake@redhat.com>
34143
34144         tests: be robust to ignored SIGPIPE
34145         * tests/test-select-in.sh: Consume all output.
34146         * tests/test-lseek.sh: Check correct exit status, while avoiding
34147         EPIPE.
34148
34149 2010-04-20  Simon Josefsson  <simon@josefsson.org>
34150             Bruno Haible  <bruno@clisp.org>
34151
34152         visibility: Don't use -fvisibility if it leads to a warning.
34153         * m4/visibility.m4 (gl_VISIBILITY): Check whether -Werror is usable. If
34154         yes, don't pretend that visibility works if it leads to a warning.
34155         Reported by Mike Gran <spk121@yahoo.com>.
34156
34157 2010-04-20  Andreas Gruenbacher  <agruen@suse.de>
34158
34159         * build-aux/bootstrap: Use "git -h" for testing for supported options
34160         instead of "git --help".  The short-form option only shows a summary,
34161         and doesn't layout the full man page.  Grep for the full option name
34162         in the summary, too.
34163
34164 2010-04-19  Bruno Haible  <bruno@clisp.org>
34165
34166         relocatable: Drop the need to define RELOCATABLE_STRIP in Makefile.am.
34167         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Set RELOCATABLE_STRIP.
34168         * doc/relocatable-maint.texi (Supporting Relocation): Remove the
34169         mention of RELOCATABLE_STRIP.
34170         Reported by Sylvain Beucler <beuc@beuc.net>.
34171
34172 2010-04-19  Bruno Haible  <bruno@clisp.org>
34173
34174         * lib/diffseq.h: Fix typo in comment.
34175         Reported by Eric Blake.
34176
34177 2010-04-19  Bruno Haible  <bruno@clisp.org>
34178
34179         ioctl: Move autoconf macro to a .m4 file.
34180         * m4/ioctl.m4: New file, extracted from modules/ioctl.
34181         * modules/ioctl (Files): Add it.
34182         (configure.ac): Simply invoke gl_FUNC_IOCTL.
34183         Reported by Ian Beckwith <ianb@erislabs.net>.
34184
34185 2010-04-18  Andreas Gruenbacher  <agruen@suse.de>
34186             Bruno Haible  <bruno@clisp.org>
34187
34188         diffseq: Accommodate use-case with abstract arrays.
34189         * lib/diffseq.h (struct context): Remove xvec, yvec fields if ELEMENT
34190         is not defined.
34191         (diag, compareseq): Remove local variables xv, yv if ELEMENT is not
34192         defined. Use local macro XREF_YREF_EQUAL instead of EQUAL.
34193
34194 2010-04-18  Bruno Haible  <bruno@clisp.org>
34195
34196         * doc/posix-headers/stdbool.texi: More precise wording.
34197
34198 2010-04-17  Jim Meyering  <meyering@redhat.com>
34199
34200         maint.mk: use gnu-style indentation in an embedded perl script
34201         * top/maint.mk (detect_empty_lines_at_EOF_): Clean up formatting.
34202         Rename variable: s/two/last_two_bytes/
34203
34204 2010-04-16  Eric Blake  <eblake@redhat.com>
34205
34206         test-stdbool: skip test that fails with Solaris CC
34207         * tests/test-stdbool.c (f): Skip test that causes compilation
34208         error under buggy C++ compiler.
34209         * lib/stdbool.in.h: Document the limitation.
34210         * doc/posix-headers/stdbool.texi (stdbool.h): Likewise.
34211
34212         setenv: allow compilation with C++
34213         * lib/setenv.c (__add_to_environ): Add a cast.  Also, drop use of
34214         register keyword.
34215
34216         stdint: allow test to pass with C++
34217         * tests/test-stdint.c: Define __STDC_CONSTANT_MACROS, for glibc.
34218
34219         getopt: allow compilation with C++
34220         * lib/getopt_int.h (__ordering): Hoist enum declaration outside
34221         struct.
34222         * lib/getopt.c (_getopt_internal_r): Use correct type.
34223         Reported by Dagobert Michelson, via Joel E. Denny.
34224
34225 2010-04-16  Bruno Haible  <bruno@clisp.org>
34226
34227         Override netdb.h always.
34228         * modules/netdb (Makefile.am): Augment BUILT_SOURCES always.
34229         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't set NETDB_H.
34230         Reported by Ludovic Courtès <ludo@gnu.org>.
34231
34232 2010-04-15  Bruno Haible  <bruno@clisp.org>
34233
34234         openpty: Fix mistake from 2010-03-21.
34235         * m4/pty.m4 (gl_FUNC_OPENPTY): Define HAVE_OPENPTY when openpty exists.
34236         Reported by Simon Josefsson.
34237
34238 2010-04-15  Eric Blake  <eblake@redhat.com>
34239
34240         test-forkpty: fix expected signature
34241         * tests/test-forkpty.c (SIGNATURE_CHECK): Add appropriate const.
34242         Reported by Simon Josefsson.
34243
34244 2010-04-15  Jim Meyering  <meyering@redhat.com>
34245
34246         maint.mk: texinfo_suffix_re_: correct the default regexp
34247         * top/maint.mk (texinfo_suffix_re_): Fix default regexp.
34248
34249         * top/maint.mk (sc_texinfo_acronym): Improve filename regexp, and
34250         make it configurable via texinfo_suffix_re_.
34251
34252 2010-04-14  Eric Blake  <eblake@redhat.com>
34253
34254         strtok_r: relax license to LGPLv2+
34255         * modules/strtok_r (License): Relax license.
34256         Reported by Matthias Bolte.
34257
34258 2010-04-14  Simon Josefsson  <simon@josefsson.org>
34259
34260         * lib/gc-libgcrypt.c (gc_init): Use MIN_GCRYPT_VERSION set to
34261         version 1.4.4 by default instead of requiring the libgcrypt
34262         version used during build.  This makes it possible to use the
34263         application with older but still binary compatible libgcrypt
34264         versions.
34265
34266 2010-04-13  Eric Blake  <eblake@redhat.com>
34267
34268         getopt-gnu: match recent glibc fixes and posix ruling
34269         * tests/test-getopt.h (test_getopt): Strengthen tests of leading
34270         '+' handling, when requesting extensions.
34271         * tests/test-getopt_long.h (test_getopt_long): Strengthen test of
34272         'W;' handling.
34273         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Detect glibc 2.11 bug.
34274         * doc/posix-functions/getopt.texi (getopt): Document this.
34275         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
34276         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34277         Likewise.
34278
34279         getopt: merge bug fixes from glibc
34280         * lib/getopt.c (_getopt_internal_r): Use correct message for 'W;'
34281         diagnostics.  Honor '+:' correctly.  Reject ';'.
34282
34283         getopt-posix: detect MacOS bug
34284         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Reject MacOS botch of
34285         optind when missing a required argument.
34286         * doc/posix-functions/getopt.texi (getopt): Document the bug.
34287         * doc/glibc-functions/getopt_long.texi (getopt_long): Likewise.
34288         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
34289         Likewise.
34290
34291         getopt-posix: avoid spurious failure on Solaris
34292         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for getopt_clip as
34293         an indicator that setting optind=1 is sufficient for reset.
34294
34295         getopt-posix: avoid spurious failure on FreeBSD
34296         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Check for optreset even
34297         in POSIX mode, since the m4 test uses it.
34298
34299         gnulib-tool: silence warning on BSD sh
34300         * gnulib-tool: Avoid leaking warning about unknown 'declare'.
34301
34302 2010-04-13  Jim Meyering  <meyering@redhat.com>
34303
34304         doc: users.txt: GNU patch now uses gnulib
34305         * users.txt: Add patch.
34306
34307 2010-04-12  Jim Meyering  <meyering@redhat.com>
34308
34309         maint.mk: generate more concise timing data for syntax-check rules
34310         * top/maint.mk ($(sc_z_rules_)): Remove the ":", "sc_" prefix and
34311         " done" from each line that reports a syntax-check test duration.
34312
34313 2010-04-12  Andreas Gruenbacher  <agruen@suse.de>
34314
34315         git-version-gen: use "git update-index..." rather than "git status"
34316         * build-aux/git-version-gen: Use git update-index --refresh, not
34317         "git status".  With some versions of git, "git status" would fail
34318         to update the index and result in an unwarranted "-dirty" suffix.
34319
34320 2010-04-11  Jim Meyering  <meyering@redhat.com>
34321
34322         openat: correct formatting (no semantic change)
34323         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Correct formatting in AC_DEFINE.
34324         Suggested by Bruno Haible.
34325
34326 2010-04-11  Bruno Haible  <bruno@clisp.org>
34327
34328         Stricter declaration checking in testdirs.
34329         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
34330         If for_tests is true, augment AM_CPPFLAGS to define
34331         GNULIB_STRICT_CHECKING.
34332         * build-aux/warn-on-use.h (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): When
34333         GNULIB_STRICT_CHECKING is defined, verify that the function is
34334         declared.
34335
34336 2010-04-11  Paolo Bonzini  <bonzini@gnu.org>
34337             Bruno Haible  <bruno@clisp.org>
34338
34339         libunistring: Improve configure output.
34340         * m4/libunistring.m4 (gl_LIBUNISTRING): Check for libiconv first.
34341         Don't say "consider installing GNU libunistring" when checking again
34342         with libiconv.
34343
34344 2010-04-11  Bruno Haible  <bruno@clisp.org>
34345
34346         libunistring: Correct value of $LTLIBUNISTRING.
34347         * m4/libunistring.m4 (gl_LIBUNISTRING): When it depends on libiconv,
34348         correct the value of $LTLIBUNISTRING.
34349
34350 2010-04-11  Bruno Haible  <bruno@clisp.org>
34351
34352         havelib: Add static libraries to LIBS in the right order.
34353         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): When $LIB[]NAME contains no
34354         -l options, prepend it to $LIBS, instead of appending it to $LIBS.
34355
34356 2010-04-11  Bruno Haible  <bruno@clisp.org>
34357
34358         libunistring: Detect libunistring also when it depends on libiconv.
34359         * m4/libunistring.m4 (gl_LIBUNISTRING): Unset the cached result before
34360         the second AC_LIB_HAVE_LINKFLAGS invocation.
34361
34362 2010-04-11  James Youngman  <jay@gnu.org>
34363
34364         close-stream: declare local scalars to be "const"
34365         * lib/close-stream.c (close_stream): Make boolean variables const
34366         to document the fact that we set but do not change them.
34367
34368 2010-04-11  Bruno Haible  <bruno@clisp.org>
34369
34370         * m4/libunistring.m4 (gl_LIBUNISTRING): Fix typo in comment.
34371
34372 2010-04-11  Jim Meyering  <meyering@redhat.com>
34373
34374         maint.mk: don't include dist-check.mk
34375         * top/maint.mk: Remove bogus include directive.
34376
34377         maint.mk: improve empty-line-at-EOF check
34378         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): Use Perl-based
34379         solution, rather than tail+Perl-based one.  The latter would read
34380         a few kilobytes from the end of each file, and did not handle empty
34381         files properly.
34382
34383         maint.mk: print the elapsed time for each syntax-check rule
34384         * top/maint.mk (sc_m_rules_): Save start time in a file.
34385         (sc_z_rules_): New rules: remove temp file and print elapsed time.
34386         (local-check): Interpose the .z rules
34387
34388 2010-04-11  Jim Meyering  <meyering@redhat.com>
34389
34390         maint.mk: detect_empty_lines_at_EOF_: avoid FP for an empty file
34391         * top/maint.mk (detect_empty_lines_at_EOF_): Don't confuse an
34392         empty file with one that ends in an empty line.
34393
34394 2010-04-10  Bruno Haible  <bruno@clisp.org>
34395
34396         mkdir: Make it work on mingw64.
34397         * lib/sys_stat.in.h: Include <direct.h> together with <io.h>.
34398         * lib/mkdir.c: Update comment.
34399         Reported by Roman Donchenko (Роман Донченко) <dxdragon@yandex.ru>.
34400
34401 2010-04-10  Bruno Haible  <bruno@clisp.org>
34402
34403         Don't override improved macro from newer autoconf.
34404         * m4/gnulib-common.m4 (AC_C_RESTRICT): Don't define for
34405         autoconf >= 2.62.
34406         Reported by Joel E. Denny <jdenny@clemson.edu>.
34407
34408 2010-04-10  Jim Meyering  <meyering@redhat.com>
34409
34410         maint.mk: new syntax-check rule: prohibit empty lines at end of file
34411         * top/maint.mk (sc_prohibit_empty_lines_at_EOF): New rule.
34412
34413         maint.mk: correct a diagnostic
34414         * top/maint.mk (sc_prohibit_HAVE_MBRTOWC): Fix obsolete use of $re
34415         in diagnostic; now use $prohibit.
34416
34417 2010-04-10  Bruno Haible  <address@hidden>
34418
34419         fchownat: Fix a C++ test error on Solaris 8.
34420         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Don't set REPLACE_FCHOWNAT to 1 if
34421         the function does not exist.
34422
34423 2010-04-10  Bruno Haible  <bruno@clisp.org>
34424
34425         vasnprintf: Add more tests.
34426         * tests/test-vasnprintf-posix.c: Include <errno.h>.
34427         (test_function): Test converting an invalid wide string.
34428
34429         vasnprintf: Correct handling of unconvertible wide string arguments.
34430         * lib/vasnprintf.c (MAX_ROOM_NEEDED): New function, extracted from
34431         VASNPRINTF.
34432         (VASNPRINTF): Use it. After snprintf failed, allocate more memory only
34433         if HAVE_SNPRINTF_RETVAL_C99 is false and the allocated memory is
34434         smaller than the expected maximum need for the directive. Set errno to
34435         EILSEQ, not EINVAL, when the directive is 'c' or 's'.
34436         (local_strnlen, local_wcslen, local_wcsnlen): Update conditions.
34437         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Require AC_C_INLINE and
34438         gl_SNPRINTF_RETVAL_C99. Define HAVE_SNPRINTF_RETVAL_C99.
34439         * modules/vasnprintf (Files): Add m4/printf.m4.
34440         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34441
34442 2010-04-10  Bruno Haible  <bruno@clisp.org>
34443
34444         vasnprintf: Fix crash in %ls directive.
34445         * lib/vasnprintf.c (VASNPRINTF): Don't abort when a unconvertible wide
34446         string is passed as argument to %ls, with no precision and no width.
34447         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34448
34449 2010-04-10  Bruno Haible  <bruno@clisp.org>
34450
34451         vasnprintf: Fix multiple test failures on mingw.
34452         * lib/vasnprintf.c (SNPRINTF) [mingw]: Define to snprintf, not
34453         _snprintf, or snwprintf, not _snwprintf.
34454
34455 2010-04-10  Bruno Haible  <bruno@clisp.org>
34456
34457         write: Fix a C++ test error on mingw.
34458         * lib/unistd.in.h (write): Use _GL_CXXALIAS_SYS_CAST.
34459
34460 2010-04-10  Bruno Haible  <bruno@clisp.org>
34461
34462         vasnprintf test: Reduce code duplication.
34463         * tests/test-vasnprintf.c (test_function): New function, extracted from
34464         test_vasnprintf.
34465         (test_vasnprintf, test_asnprintf): Invoke it.
34466
34467 2010-04-10  Bruno Haible  <bruno@clisp.org>
34468
34469         strnlen: Fix warning in C++ mode on MacOS X.
34470         * lib/string.in.h (strnlen): Use the modern idiom.
34471         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set REPLACE_STRNLEN to 1, instead of
34472         defining strnlen as a macro already in <config.h>.
34473         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
34474         REPLACE_STRNLEN.
34475         * modules/string (Makefile.am): Substitute REPLACE_STRNLEN.
34476         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34477
34478 2010-04-08  James Youngman  <jay@gnu.org>
34479
34480         * doc/manywarnings.texi (manywarnings): Add missing parenthesis in
34481         the example.
34482
34483 2010-04-09  Jim Meyering  <meyering@redhat.com>
34484
34485         maint.mk: print better diagnostic when there is no $(_hv_file)
34486         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): Skip test and
34487         announce that when $(_hv_file) (aka help-version) does not exist.
34488
34489         init.sh: run tr in the "C" locale to avoid multibyte interpretation
34490         * tests/init.sh (rand_bytes_): Run tr in the "C" locale so it does
34491         not try to interpret its random input bytes.  Jarno Rajahalme reported
34492         that ./test-xalloc-die.sh would fail with "tr: Illegal byte sequence".
34493         on Darwin 10.3.0 with LC_CTYPE=UTF-8.
34494         (mktempd_): Likewise, just in case.
34495
34496         ftruncate: add two years to projected module removal date: 2012
34497         * m4/ftruncate.m4: Adjust comments.
34498
34499         ftruncate: mark module as obsolete; even MinGW provides it, now
34500         * modules/ftruncate (Status): Obsolete.
34501         (Notice): Say that.
34502         * doc/posix-functions/ftruncate.texi: Don't say MinGW lacks it.
34503         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/9203
34504
34505 2010-04-08  Bruno Haible  <bruno@clisp.org>
34506
34507         Fix side effects from tests-related modules.
34508         * modules/dprintf-posix (Comment): New section.
34509         * modules/fprintf-posix (Comment): Likewise.
34510         * modules/obstack-printf-posix (Comment): Likewise.
34511         * modules/printf-posix (Comment): Likewise.
34512         * modules/snprintf-posix (Comment): Likewise.
34513         * modules/sprintf-posix (Comment): Likewise.
34514         * modules/vasnprintf-posix (Comment): Likewise.
34515         * modules/vasprintf-posix (Comment): Likewise.
34516         * modules/vdprintf-posix (Comment): Likewise.
34517         * modules/vfprintf-posix (Comment): Likewise.
34518         * modules/vprintf-posix (Comment): Likewise.
34519         * modules/vsnprintf-posix (Comment): Likewise.
34520         * modules/vsprintf-posix (Comment): Likewise.
34521         * modules/xprintf-posix (Comment): Likewise.
34522         * modules/xvasprintf-posix (Comment): Likewise.
34523         * modules/ceilf-tests (Depends-on): Remove fprintf-posix.
34524         * modules/floorf-tests (Depends-on): Likewise.
34525         * modules/round-tests (Depends-on): Likewise.
34526         * modules/roundf-tests (Depends-on): Likewise.
34527         * modules/trunc-tests (Depends-on): Likewise.
34528         * modules/truncf-tests (Depends-on): Likewise.
34529         * tests/test-ceilf2.c (check): Don't invoke fprintf if the
34530         'fprintf-posix' module is not present.
34531         * tests/test-floorf2.c (check): Likewise.
34532         * tests/test-trunc2.c (check): Likewise.
34533         * tests/test-truncf2.c (check): Likewise.
34534         * tests/test-round2.c (equal): Likewise.
34535         Reported by Jarno Rajahalme <jarno.rajahalme@nsn.com>.
34536
34537 2010-04-07  Karl Berry  <karl@gnu.org>
34538
34539         * config/srclist.txt,
34540         * config/srclistvars.sh,
34541         * config/srclist-update: doc fixes.
34542
34543 2010-04-07  Jim Meyering  <meyering@redhat.com>
34544
34545         maint.mk: add a PATH crosschecking syntax-check rule
34546         * top/maint.mk (sc_cross_check_PATH_usage_in_tests): New rule.
34547         Useful if you use a test like the one in help-version (coreutils,
34548         diffutils, grep, gzip) that ensures $(VERSION) matches what is
34549         printed by prog --version.
34550
34551 2010-04-06  Bruno Haible  <bruno@clisp.org>
34552
34553         Fix link error on mingw.
34554         * modules/unistd-c++-tests (test_unistd_c___LDADD): Add LIBSOCKET.
34555         * modules/fcntl-h-c++-tests (test_fcntl_h_c___LDADD): Likewise.
34556
34557 2010-04-06  Bruno Haible  <bruno@clisp.org>
34558
34559         Assume rmdir exists.
34560         * lib/rmdir.c (rpl_rmdir): Remove code that invokes the rmdir program.
34561
34562 2010-04-06  Giuseppe Scrivano <gscrivano@gnu.org>
34563
34564         doc: update users.txt
34565         * users.txt: Add gcal.
34566
34567 2010-04-06  Jim Meyering  <meyering@redhat.com>
34568
34569         init.sh: simply unset TMPDIR rather than risking env -i
34570         * tests/init.sh (mktempd_): Using env -i is rather harsh, and
34571         although it probably works fine on all Unix-based systems, some
34572         systems (Cygwin?) cannot tolerate a totally cleared environment.
34573         Suggestion from Eric Blake.
34574
34575 2010-04-06  Jim Meyering  <meyering@redhat.com>
34576
34577         init.sh: portability fix: use env's POSIX-specified -i option not -u
34578         * tests/init.sh (mktempd_): Use env -i and set PATH explicitly rather
34579         than unportable env -u.  Solaris 5.11's env lacks support for -u.
34580
34581 2010-04-05  Bruno Haible  <bruno@clisp.org>
34582
34583         btowc: Work around Cygwin 1.7.2 bug.
34584         * m4/btowc.m4 (gl_FUNC_BTOWC): Set REPLACE_BTOWC to 1 if the function
34585         does not map NUL to 0.
34586         * doc/posix-functions/btowc.texi: Mention the Cygwin bug.
34587
34588 2010-04-05  Bruno Haible  <bruno@clisp.org>
34589
34590         Make the multithread modules work on Cygwin 1.7.2.
34591         * m4/threadlib.m4 (gl_THREADLIB_BODY): Improve the test whether
34592         imported symbols can be declared weak, so that it returns "no" on
34593         Cygwin 1.7.2.
34594
34595 2010-04-05  Bruno Haible  <bruno@clisp.org>
34596
34597         Use the module 'strncat'.
34598         * modules/unistr/u8-strncat (Depends-on): Add strncat.
34599
34600         Tests for module 'strncat'.
34601         * modules/strncat-tests: New file.
34602         * tests/test-strncat.c: New file.
34603
34604         New module 'strncat'.
34605         * lib/string.in.h (strncat): New declaration.
34606         * lib/strncat.c: New file, based on lib/unistr/u-strncat.h.
34607         * m4/strncat.m4: New file, based on m4/memchr.m4.
34608         * modules/strncat: New file.
34609         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Also check whether strncat
34610         is declared.
34611         (gl_HEADER_STRING_H_DEFAULTS): Initialize GNULIB_STRNCAT,
34612         REPLACE_STRNCAT.
34613         * modules/string (Makefile.am): Substitute GNULIB_STRNCAT,
34614         REPLACE_STRNCAT.
34615         * doc/posix-functions/strncat.texi: Mention the Solaris bug and the new
34616         module.
34617         * tests/test-string-c++.cc: Check signature of strncat.
34618
34619 2010-04-05  Jim Meyering  <meyering@redhat.com>
34620
34621         xstrtoumax-tests: convert to use init.sh
34622         * modules/xstrtoumax-tests (Files): Add tests/init.sh.
34623         * tests/test-xstrtoumax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34624         Use Exit, not exit.
34625         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34626
34627         xstrtoimax-tests: convert to use init.sh
34628         * modules/xstrtoimax-tests (Files): Add tests/init.sh.
34629         * tests/test-xstrtoimax.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34630         Use Exit, not exit.
34631         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34632
34633 2010-04-05  Bruno Haible  <bruno@clisp.org>
34634
34635         sys_socket: Avoid #define replacements in C++ mode.
34636         * lib/sys_socket.in.h (close, gethostname, select): In C++, attach a
34637         warning to the function if possible, rather than #defining the symbol
34638         to a dysfunctional alias.
34639
34640 2010-04-05  Bruno Haible  <bruno@clisp.org>
34641
34642         fseeko: Fix C++ test error on mingw.
34643         * m4/fseeko.m4 (gl_HAVE_FSEEKO): New macro, extracted from
34644         gl_FUNC_FSEEKO.
34645         (gl_REPLACE_FSEEKO): Also set REPLACE_FSEEKO if appropriate.
34646         (gl_FUNC_FSEEKO): Require gl_HAVE_FSEEKO. Update.
34647         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't fiddle with internals of the
34648         fseeko module. Instead, invoke gl_REPLACE_FSEEKO.
34649
34650 2010-04-05  Bruno Haible  <bruno@clisp.org>
34651
34652         duplocale: Improve test output.
34653         * tests/test-duplocale.c (main): Print reason for skipped test.
34654
34655 2010-04-05  Bruno Haible  <bruno@clisp.org>
34656
34657         Assume rmdir exists.
34658         * m4/rmdir.m4 (gl_FUNC_RMDIR): Remove test whether rmdir exists.
34659         * doc/posix-functions/rmdir.texi: Remove mention of "old platforms".
34660
34661 2010-04-05  Bruno Haible  <bruno@clisp.org>
34662
34663         Fix link error on Solaris 8 with cc.
34664         * modules/pty-c++-tests (test_pty_c___LDADD): Add LIBINTL.
34665
34666 2010-04-05  Bruno Haible  <bruno@clisp.org>
34667
34668         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34669         * lib/math.in.h (frexpl): Fix condition on _GL_CXXALIASWARN invocation.
34670
34671 2010-04-05  Bruno Haible  <bruno@clisp.org>
34672
34673         vasprintf: Update documentation.
34674         * doc/glibc-functions/asprintf.texi: Mention the 'vasprintf' module.
34675
34676 2010-04-05  Bruno Haible  <bruno@clisp.org>
34677
34678         ptsname: Improve test.
34679         * tests/test-ptsname.c (main): Also try the various master names of BSD
34680         systems.
34681
34682 2010-04-05  Bruno Haible  <bruno@clisp.org>
34683
34684         memchr: Avoid a possible C++ test error.
34685         * lib/string.in.h (memchr): Provide declaration if function is missing.
34686         * m4/memchr.m4 (gl_FUNC_MEMCHR): If the function is missing, set
34687         HAVE_MEMCHR to 0, not REPLACE_MEMCHR to 1.
34688         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MEMCHR.
34689         * modules/string (Makefile.am): Substitute HAVE_MEMCHR.
34690
34691 2010-04-05  Bruno Haible  <bruno@clisp.org>
34692
34693         strtok_r: Improve idiom.
34694         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Invoke gl_PREREQ_STRDUP only when
34695         AC_LIBOBJ is used.
34696
34697 2010-04-05  Bruno Haible  <bruno@clisp.org>
34698
34699         strdup: Improve idiom.
34700         * m4/strdup.m4 (gl_FUNC_STRDUP): Invoke gl_PREREQ_STRDUP only when
34701         AC_LIBOBJ is used.
34702         (gl_FUNC_STRDUP_POSIX): When strdup is missing and malloc is not POSIX
34703         compliant, don't set REPLACE_STRDUP to 1. Invoke gl_PREREQ_STRDUP only
34704         when AC_LIBOBJ is used.
34705
34706 2010-04-05  Bruno Haible  <bruno@clisp.org>
34707
34708         mbsinit, mbrtowc, wcrtomb: Improve idioms.
34709         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): When the function does not exist,
34710         don't set REPLACE_MBSINIT to 1.
34711         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): When the function does not exist,
34712         don't set REPLACE_MBRTOWC to 1.
34713         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): When the function does not
34714         exist, don't set REPLACE_MBSRTOWCS to 1.
34715         * m4/mbsnrtowcs.m4 (gl_FUNC_MBSNRTOWCS): When the function does not
34716         exist, don't set REPLACE_MBSNRTOWCS to 1.
34717         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): When the function does not exist,
34718         don't set REPLACE_WCRTOMB to 1.
34719         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): When the function does not
34720         exist, don't set REPLACE_WCSRTOMBS to 1.
34721         * m4/wcsnrtombs.m4 (gl_FUNC_WCSNRTOMBS): When the function does not
34722         exist, don't set REPLACE_WCSNRTOMBS to 1.
34723
34724 2010-04-05  Bruno Haible  <bruno@clisp.org>
34725
34726         ldexpl: Improve idiom.
34727         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): When the function is not declared,
34728         make sure to set HAVE_DECL_LDEXPL to 0.
34729
34730 2010-04-05  Jim Meyering  <meyering@redhat.com>
34731
34732         xstrtol-tests: convert to use init.sh
34733         * modules/xstrtol-tests (Files): Add tests/init.sh.
34734         * tests/test-xstrtol.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34735         Use Exit, not exit.
34736         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34737
34738         atexit-tests: convert to use init.sh
34739         * modules/atexit-tests (Files): Add tests/init.sh.
34740         * tests/test-atexit.sh: Invoke "$srcdir/init.sh" and path_prepend_.
34741         Use Exit, not exit.
34742         Remove uses of $EXEEXT and "./" to run a program in the current dir.
34743
34744         init.sh: fix typo
34745         * tests/init.sh: Restore omitted ":" before stderr_fileno_ initialization.
34746
34747         init.sh: make it easier for a test script to write to the tty, ...
34748         when using automake's parallel-tests mode.
34749         * tests/init.sh (stderr_fileno_): Define overridable variable.
34750         (warn_): New function, to use it.
34751         (fail_, skip_, framework_failure_): Use warn_.
34752
34753 2010-04-04  Bruno Haible  <bruno@clisp.org>
34754
34755         btowc: Avoid warning.
34756         * lib/btowc.c: Include <stdlib.h>.
34757         Reported by Hauke Fath <hauke@espresso.rhein-neckar.de>.
34758
34759 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34760             Bruno Haible  <bruno@clisp.org>
34761
34762         wchar: Port to NetBSD 1.5.
34763         * lib/wchar.in.h (WEOF): Provide fallback also when wint_t exists.
34764         * lib/wctype.in.h (WEOF): Likewise.
34765
34766 2010-04-04  Hauke Fath  <hauke@espresso.rhein-neckar.de>  (tiny change)
34767             Bruno Haible  <bruno@clisp.org>
34768
34769         Port extended stdio to NetBSD 1.5.
34770         * lib/stdio-impl.h [NetBSD]: Include <sys/param.h>.
34771         (struct __sfileext, fp_ub): Define the "old way" for NetBSD 1.5Z and
34772         older.
34773
34774 2010-04-04  Bruno Haible  <bruno@clisp.org>
34775
34776         string: Remove unused substitution.
34777         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
34778         HAVE_DECL_STRERROR.
34779         * modules/string (Makefile.am): Don't substitute HAVE_DECL_STRERROR.
34780
34781 2010-04-04  Bruno Haible  <bruno@clisp.org>
34782
34783         strtod: Avoid a possible C++ test error.
34784         * m4/strtod.m4 (gl_FUNC_STRTOD): When setting HAVE_STRTOD to 0, don't
34785         set REPLACE_STRTOD.
34786
34787 2010-04-04  Bruno Haible  <bruno@clisp.org>
34788
34789         strerror: Update documentation.
34790         * doc/posix-functions/strerror.texi: Remove mention of old platforms.
34791
34792 2010-04-04  Bruno Haible  <bruno@clisp.org>
34793
34794         stdio: Fix some C++ test errors on Solaris 8 with GCC.
34795         * lib/stdio.in.h (vdprintf, vfprintf, vprintf, vsprintf): Use
34796         _GL_CXXALIAS_SYS_CAST.
34797
34798 2010-04-04  Bruno Haible  <bruno@clisp.org>
34799
34800         frexpl: Fix a C++ test error on Solaris 8 and Cygwin.
34801         * m4/frexpl.m4 (gl_FUNC_FREXPL, gl_FUNC_FREXPL_NO_LIBM): When the
34802         function is not declared, set HAVE_DECL_FREXPL to 0, instead of setting
34803         REPLACE_FREXPL to 1.
34804         * doc/posix-functions/frexpl.texi: Update documentation.
34805
34806 2010-04-04  Bruno Haible  <bruno@clisp.org>
34807
34808         math: Fix some C++ test errors on Solaris 8 and Cygwin.
34809         * lib/math.in.h (cosl, logl, sinl): Use simpler idiom.
34810
34811 2010-04-04  Bruno Haible  <bruno@clisp.org>
34812
34813         Implement nanosleep for native Windows.
34814         * lib/nanosleep.c (nanosleep): New implementation for native Windows.
34815
34816 2010-04-04  Bruno Haible  <bruno@clisp.org>
34817
34818         math: Fix some C++ test errors on Solaris 8.
34819         * lib/math.in.h (truncf, trunc): Use simpler idiom.
34820
34821 2010-04-04  Bruno Haible  <bruno@clisp.org>
34822
34823         math: Fix some C++ test errors on Cygwin.
34824         * lib/math.in.h (ceilf, ceill, floorf, floorl, roundf, round, roundl,
34825         truncl): Provide declaration if the system does not have it.
34826         * m4/ceilf.m4 (gl_FUNC_CEILF): If the function is not declared, set
34827         HAVE_DECL_CEILF to 0, not REPLACE_CEILF to 1.
34828         * m4/ceill.m4 (gl_FUNC_CEILL): If the function is not declared, set
34829         HAVE_DECL_CEILL to 0, not REPLACE_CEILL to 1.
34830         * m4/floorf.m4 (gl_FUNC_FLOORF): If the function is not declared, set
34831         HAVE_DECL_FLOORF to 0, not REPLACE_FLOORF to 1.
34832         * m4/floorl.m4 (gl_FUNC_FLOORL): If the function is not declared, set
34833         HAVE_DECL_FLOORL to 0, not REPLACE_FLOORL to 1.
34834         * m4/round.m4 (gl_FUNC_ROUND): If the function is not declared, set
34835         HAVE_DECL_ROUND to 0, not REPLACE_ROUND to 1.
34836         * m4/roundf.m4 (gl_FUNC_ROUNDF): If the function is not declared, set
34837         HAVE_DECL_ROUNDF to 0, not REPLACE_ROUNDF to 1.
34838         * m4/roundl.m4 (gl_FUNC_ROUNDL): If the function is not declared, set
34839         HAVE_DECL_ROUNDL to 0, not REPLACE_ROUNDL to 1.
34840         * m4/truncl.m4 (gl_FUNC_TRUNCL): If the function is not declared, set
34841         HAVE_DECL_TRUNCL to 0, not REPLACE_TRUNCL to 1.
34842         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize HAVE_DECL_CEILF,
34843         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34844         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34845         * modules/math (Makefile.am): Substitute HAVE_DECL_CEILF,
34846         HAVE_DECL_CEILL, HAVE_DECL_FLOORF, HAVE_DECL_FLOORL, HAVE_DECL_ROUND,
34847         HAVE_DECL_ROUNDF, HAVE_DECL_ROUNDL, HAVE_DECL_TRUNCL.
34848
34849 2010-04-04  Bruno Haible  <bruno@clisp.org>
34850
34851         * m4/ceilf.m4 (gl_FUNC_CEILF): Remove redundant AC_SUBST invocation.
34852         * m4/ceill.m4 (gl_FUNC_CEILL): Likewise.
34853         * m4/floorf.m4 (gl_FUNC_FLOORF): Likewise.
34854         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
34855         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
34856         * m4/isinf.m4 (gl_ISINF): Likewise.
34857         * m4/truncl.m4 (gl_FUNC_TRUNCL): Likewise.
34858
34859 2010-04-04  Bruno Haible  <bruno@clisp.org>
34860
34861         * m4/trunc.m4 (gl_FUNC_TRUNC): Remove redundant AC_SUBST invocation.
34862         * m4/truncf.m4 (gl_FUNC_TRUNCF): Likewise.
34863
34864 2010-04-04  Bruno Haible  <bruno@clisp.org>
34865
34866         * m4/tmpfile.m4 (gl_FUNC_TMPFILE): Renamed from gl_TMPFILE.
34867         * modules/tmpfile (configure.ac): Update.
34868
34869         tmpfile: Fix C++ test error on mingw.
34870         * lib/stdio.in.h (tmpfile): New declaration.
34871         * m4/tmpfile.m4 (gl_TMPFILE): Require gl_STDIO_H_DEFAULTS. Set
34872         REPLACE_TMPFILE instead of defining tmpfile as a macro in config.h.
34873         * modules/tmpfile (Depends-on): Add stdio.
34874         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
34875         * m4/stdio_h.m4 (gl_STDIO_H): Also check whether tmpfile is declared.
34876         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_TMPFILE and REPLACE_TMPFILE.
34877         * modules/stdio (Makefile.am): Substitute GNULIB_TMPFILE and
34878         REPLACE_TMPFILE.
34879         * tests/test-stdio-c++.cc (tmpfile): Verify signature.
34880
34881 2010-04-04  Bruno Haible  <bruno@clisp.org>
34882
34883         ioctl: Fix C++ test error on mingw.
34884         * lib/ioctl.c (ioctl): Renamed from rpl_ioctl.
34885         * lib/sys_ioctl.in.h (ioctl): When SYS_IOCTL_H_HAVE_WINSOCK2_H is 1,
34886         use _GL_FUNCDECL_SYS, not _GL_FUNCDECL_RPL.
34887
34888 2010-04-03  Bruno Haible  <bruno@clisp.org>
34889
34890         wcwidth: Fix C++ test error on mingw.
34891         * lib/wcwidth.c (wcwidth): Renamed from rpl_wcwidth.
34892         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): If the wcwidth function does not
34893         exist, don't set REPLACE_WCWIDTH. Instead, rely on HAVE_DECL_WCWIDTH.
34894
34895 2010-04-03  Bruno Haible  <bruno@clisp.org>
34896
34897         nanosleep: Fix C++ test error on mingw.
34898         * lib/nanosleep.c (nanosleep): Renamed from rpl_nanosleep.
34899         * lib/time.in.h (nanosleep): Use modern idiom.
34900         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): When the system does not have a
34901         nanosleep function, set HAVE_NANOSLEEP to 0, instead of setting
34902         REPLACE_NANOSLEEP to 1.
34903         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_NANOSLEEP.
34904         * modules/time (Makefile.am): Substitute HAVE_NANOSLEEP.
34905
34906 2010-04-03  Bruno Haible  <bruno@clisp.org>
34907
34908         strptime: Fix C++ test error on mingw.
34909         * lib/time.in.h (strptime): Use HAVE_STRPTIME, not REPLACE_STRPTIME.
34910         * m4/strptime.m4 (gl_FUNC_STRPTIME): Set HAVE_STRPTIME, not
34911         REPLACE_STRPTIME. Invoke gl_PREREQ_STRPTIME.
34912         (gl_PREREQ_STRPTIME): New macro, extracted from gl_FUNC_STRPTIME.
34913         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_STRPTIME,
34914         not REPLACE_STRPTIME.
34915         * modules/time (Makefile.am): Substitute HAVE_STRPTIME, not
34916         REPLACE_STRPTIME.
34917
34918 2010-04-03  Bruno Haible  <bruno@clisp.org>
34919
34920         timegm: Fix C++ test error on mingw.
34921         * lib/time.in.h (timegm): Use modern idiom.
34922         * m4/timegm.m4 (gl_FUNC_TIMEGM): When timegm does not exist, set
34923         HAVE_TIMEGM to 0, not REPLACE_TIMEGM to 1.
34924         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_TIMEGM.
34925         * modules/time (Makefile.am): Substitute HAVE_TIMEGM.
34926
34927 2010-04-03  Bruno Haible  <bruno@clisp.org>
34928
34929         timegm: Assume declaration if function exists.
34930         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume timegm is declared if and only
34931         if it exists. Don't clobber ac_cv_func_timegm.
34932
34933 2010-04-03  Bruno Haible  <bruno@clisp.org>
34934
34935         time_r: Fix C++ test error on mingw.
34936         * lib/time.in.h (localtime_r, gmtime_r): Use modern idiom.
34937         * m4/time_r.m4 (gl_TIME_R): When localtime_r does not exist, set
34938         HAVE_LOCALTIME_R to 0, not REPLACE_LOCALTIME_R to 1.
34939         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize HAVE_LOCALTIME_R.
34940         * modules/time (Makefile.am): Substitute HAVE_LOCALTIME_R.
34941
34942 2010-04-03  Bruno Haible  <bruno@clisp.org>
34943
34944         time_r: Minor updates.
34945         * modules/time_r (Description): Mention the provided functions.
34946         * lib/time_r.c: Don't include <string.h>.
34947         * doc/posix-functions/gmtime_r.texi: Mention the 'time_r' module.
34948         * doc/posix-functions/localtime_r.texi: Likewise.
34949
34950 2010-04-03  Bruno Haible  <bruno@clisp.org>
34951
34952         time: Fix regression introduced on 2010-03-08.
34953         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Require
34954         gl_HEADER_TIME_H_DEFAULTS, not gl_HEADER_STRING_H_DEFAULTS.
34955
34956 2010-04-03  Jim Meyering  <meyering@redhat.com>
34957
34958         maint.mk: don't silently disable project-specific syntax-check rules
34959         * top/maint.mk (_prohibit_regexp): Define, to help people realize
34960         that they need to convert their project-specific syntax-check rules
34961         to use the new _sc_search_regexp.
34962
34963 2010-04-03  Bruno Haible  <bruno@clisp.org>
34964
34965         fchdir: Fix regression introduced on 2010-03-08.
34966         * lib/unistd.in.h (fchdir): Fix declaration.
34967         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set HAVE_FCHDIR, not REPLACE_FCHDIR.
34968         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize HAVE_FCHDIR, not
34969         REPLACE_FCHDIR.
34970         * modules/unistd (Makefile.am): Substitute HAVE_FCHDIR, not
34971         REPLACE_FCHDIR.
34972
34973 2010-04-03  Bruno Haible  <bruno@clisp.org>
34974
34975         getpagesize: Fix C++ test error on mingw.
34976         * lib/unistd.in.h (getpagesize): Don't use _GL_CXXALIASWARN if the
34977         system does not declare the function.
34978         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Also check whether it's
34979         declared.
34980         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
34981         HAVE_DECL_GETPAGESIZE.
34982         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETPAGESIZE.
34983
34984 2010-04-03  Bruno Haible  <bruno@clisp.org>
34985
34986         stdio: Make C++ tests work on mingw.
34987         * lib/stdio.in.h (getline): Don't use _GL_CXXALIASWARN if the system
34988         does not declare the function.
34989
34990 2010-04-03  Bruno Haible  <bruno@clisp.org>
34991
34992         ftello: Fix C++ test error on mingw.
34993         * lib/stdio.in.h (ftello): Use modern idiom.
34994         * lib/ftello.c (ftello): Renamed from rpl_ftello.
34995         * m4/ftello.m4 (gl_FUNC_FTELLO): Distinguish the case that the function
34996         is missing and that it needs to be replaced.
34997         (gl_REPLACE_FTELLO): Don't set REPLACE_FTELLO here.
34998         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FTELLO.
34999         * modules/stdio (Makefile.am): Substitute HAVE_FTELLO.
35000
35001 2010-04-03  Bruno Haible  <bruno@clisp.org>
35002
35003         fseeko: Fix C++ test error on mingw.
35004         * lib/stdio.in.h (fseeko): Use modern idiom.
35005         * lib/fseeko.c (fseeko): Renamed from rpl_fseeko.
35006         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Distinguish the case that the function
35007         is missing and that it needs to be replaced.
35008         (gl_REPLACE_FSEEKO): Don't set REPLACE_FSEEKO here.
35009         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize HAVE_FSEEKO.
35010         * modules/stdio (Makefile.am): Substitute HAVE_FSEEKO.
35011
35012 2010-04-03  Bruno Haible  <bruno@clisp.org>
35013
35014         mkstemp: Fix C++ test error on mingw.
35015         * lib/stdlib.in.h (mkstemp): Use modern idiom.
35016         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Distinguish the case that the
35017         function is missing and that it needs to be replaced.
35018         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize HAVE_MKSTEMP.
35019         * modules/stdlib (Makefile.am): Substitute HAVE_MKSTEMP.
35020
35021 2010-04-03  Bruno Haible  <bruno@clisp.org>
35022
35023         stpncpy: Fix C++ test error on mingw.
35024         * lib/string.in.h (stpncpy): Use modern idiom.
35025         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Distinguish the case that the
35026         function is missing and that it needs to be replaced.
35027         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
35028         REPLACE_STPNCPY.
35029         * modules/string (Makefile.am): Substitute REPLACE_STPNCPY.
35030
35031 2010-04-03  Bruno Haible  <bruno@clisp.org>
35032
35033         sys_stat: Fix C++ test error on mingw.
35034         * build-aux/c++defs.h (_GL_CXXALIAS_RPL_CAST_1): New macro.
35035         * lib/sys_stat.in.h (lchmod): Use it instead of _GL_CXXALIAS_RPL_1.
35036
35037 2010-04-03  Bruno Haible  <bruno@clisp.org>
35038
35039         pty: Update doc.
35040         * doc/glibc-headers/pty.texi: Mention changes done since 2010-03-18.
35041
35042 2010-04-03  Bruno Haible  <bruno@clisp.org>
35043
35044         unistd: Fix C++ test error on mingw.
35045         * lib/unistd.in.h (getcwd): Use _GL_CXXALIAS_SYS_CAST.
35046
35047 2010-04-03  Bruno Haible  <bruno@clisp.org>
35048
35049         Update doc regarding mingw.
35050         * doc/glibc-functions/openpty.texi: Update regarding mingw.
35051         * doc/glibc-functions/login_tty.texi: Likewise.
35052         * doc/glibc-functions/forkpty.texi: Likewise.
35053
35054 2010-04-03  Bruno Haible  <bruno@clisp.org>
35055
35056         stdlib: Avoid compilation failure of c-strtold on mingw.
35057         * lib/stdlib.in.h: Don't include <unistd.h> on native Windows systems.
35058
35059 2010-04-03  Bruno Haible  <bruno@clisp.org>
35060
35061         locale: Make C++ tests work on Cygwin and mingw.
35062         * lib/locale.in.h (duplocale): Don't use _GL_CXXALIASWARN if gnulib
35063         cannot provide the function.
35064         Reported by Simon Josefsson.
35065
35066 2010-04-03  Bruno Haible  <bruno@clisp.org>
35067
35068         localename: Port to MacOS X 10.6.
35069         * lib/localename.c (gl_locale_name_thread_unsafe): On MacOS X, try the
35070         memory layout of the locales in MacOS X 10.6 as well.
35071         Reported by Panu Kekäläinen <panu@kekalainen.eu>.
35072
35073 2010-04-02  Bruno Haible  <bruno@clisp.org>
35074
35075         gnulib-tool: Ensure that long-running tests are executed last.
35076         * gnulib-tool (func_emit_tests_Makefile_am): Emit the code for long-
35077         running tests after the one for the other tests.
35078
35079 2010-04-02  Bruno Haible  <bruno@clisp.org>
35080
35081         gnulib-tool: Ensure the tests in the main directory are executed first.
35082         * gnulib-tool (func_emit_tests_Makefile_am): Initialize SUBDIRS to
35083         start with the current directory.
35084
35085 2010-04-02  Bruno Haible  <bruno@clisp.org>
35086
35087         Tests for module 'havelib', moved here from GNU gettext.
35088         * modules/havelib-tests: New file, from gettext/autoconf-lib-link with
35089         modifications.
35090         * tests/havelib/README: New file, from gettext/autoconf-lib-link.
35091         * tests/havelib/Makefile.am: New file, from gettext/autoconf-lib-link
35092         with modifications.
35093         * tests/havelib/rpath-1: New file, from gettext/autoconf-lib-link with
35094         modifications.
35095         * tests/havelib/rpath-1a: New file, from gettext/autoconf-lib-link.
35096         * tests/havelib/rpath-1b: New file, from gettext/autoconf-lib-link.
35097         * tests/havelib/rpath-2_a: New file, from gettext/autoconf-lib-link
35098         with modifications.
35099         * tests/havelib/rpath-2_b: New file, from gettext/autoconf-lib-link
35100         with modifications.
35101         * tests/havelib/rpath-2aaa: New file, from gettext/autoconf-lib-link.
35102         * tests/havelib/rpath-2aab: New file, from gettext/autoconf-lib-link.
35103         * tests/havelib/rpath-2aac: New file, from gettext/autoconf-lib-link.
35104         * tests/havelib/rpath-2aad: New file, from gettext/autoconf-lib-link.
35105         * tests/havelib/rpath-2aba: New file, from gettext/autoconf-lib-link.
35106         * tests/havelib/rpath-2abb: New file, from gettext/autoconf-lib-link.
35107         * tests/havelib/rpath-2abc: New file, from gettext/autoconf-lib-link.
35108         * tests/havelib/rpath-2abd: New file, from gettext/autoconf-lib-link.
35109         * tests/havelib/rpath-2baa: New file, from gettext/autoconf-lib-link.
35110         * tests/havelib/rpath-2bab: New file, from gettext/autoconf-lib-link.
35111         * tests/havelib/rpath-2bac: New file, from gettext/autoconf-lib-link.
35112         * tests/havelib/rpath-2bad: New file, from gettext/autoconf-lib-link.
35113         * tests/havelib/rpath-2bba: New file, from gettext/autoconf-lib-link.
35114         * tests/havelib/rpath-2bbb: New file, from gettext/autoconf-lib-link.
35115         * tests/havelib/rpath-2bbc: New file, from gettext/autoconf-lib-link.
35116         * tests/havelib/rpath-2bbd: New file, from gettext/autoconf-lib-link.
35117         * tests/havelib/rpath-3_a: New file, from gettext/autoconf-lib-link
35118         with modifications.
35119         * tests/havelib/rpath-3_b: New file, from gettext/autoconf-lib-link
35120         with modifications.
35121         * tests/havelib/rpath-3aaa: New file, from gettext/autoconf-lib-link.
35122         * tests/havelib/rpath-3aab: New file, from gettext/autoconf-lib-link.
35123         * tests/havelib/rpath-3aac: New file, from gettext/autoconf-lib-link.
35124         * tests/havelib/rpath-3aad: New file, from gettext/autoconf-lib-link.
35125         * tests/havelib/rpath-3aae: New file, from gettext/autoconf-lib-link.
35126         * tests/havelib/rpath-3aaf: New file, from gettext/autoconf-lib-link.
35127         * tests/havelib/rpath-3aag: New file, from gettext/autoconf-lib-link.
35128         * tests/havelib/rpath-3aah: New file, from gettext/autoconf-lib-link.
35129         * tests/havelib/rpath-3aba: New file, from gettext/autoconf-lib-link.
35130         * tests/havelib/rpath-3abb: New file, from gettext/autoconf-lib-link.
35131         * tests/havelib/rpath-3abc: New file, from gettext/autoconf-lib-link.
35132         * tests/havelib/rpath-3abd: New file, from gettext/autoconf-lib-link.
35133         * tests/havelib/rpath-3abe: New file, from gettext/autoconf-lib-link.
35134         * tests/havelib/rpath-3abf: New file, from gettext/autoconf-lib-link.
35135         * tests/havelib/rpath-3abg: New file, from gettext/autoconf-lib-link.
35136         * tests/havelib/rpath-3abh: New file, from gettext/autoconf-lib-link.
35137         * tests/havelib/rpath-3baa: New file, from gettext/autoconf-lib-link.
35138         * tests/havelib/rpath-3bab: New file, from gettext/autoconf-lib-link.
35139         * tests/havelib/rpath-3bac: New file, from gettext/autoconf-lib-link.
35140         * tests/havelib/rpath-3bad: New file, from gettext/autoconf-lib-link.
35141         * tests/havelib/rpath-3bae: New file, from gettext/autoconf-lib-link.
35142         * tests/havelib/rpath-3baf: New file, from gettext/autoconf-lib-link.
35143         * tests/havelib/rpath-3bag: New file, from gettext/autoconf-lib-link.
35144         * tests/havelib/rpath-3bah: New file, from gettext/autoconf-lib-link.
35145         * tests/havelib/rpath-3bba: New file, from gettext/autoconf-lib-link.
35146         * tests/havelib/rpath-3bbb: New file, from gettext/autoconf-lib-link.
35147         * tests/havelib/rpath-3bbc: New file, from gettext/autoconf-lib-link.
35148         * tests/havelib/rpath-3bbd: New file, from gettext/autoconf-lib-link.
35149         * tests/havelib/rpath-3bbe: New file, from gettext/autoconf-lib-link.
35150         * tests/havelib/rpath-3bbf: New file, from gettext/autoconf-lib-link.
35151         * tests/havelib/rpath-3bbg: New file, from gettext/autoconf-lib-link.
35152         * tests/havelib/rpath-3bbh: New file, from gettext/autoconf-lib-link.
35153         * tests/havelib/rpathx/rpathx.c: New file, from
35154         gettext/autoconf-lib-link.
35155         * tests/havelib/rpathx/Makefile.am: New file, from
35156         gettext/autoconf-lib-link.
35157         * tests/havelib/rpathx/configure.ac: New file, from
35158         gettext/autoconf-lib-link with modifications.
35159         * tests/havelib/rpathy/rpathy.c: New file, from
35160         gettext/autoconf-lib-link.
35161         * tests/havelib/rpathy/Makefile.am: New file, from
35162         gettext/autoconf-lib-link.
35163         * tests/havelib/rpathy/configure.ac: New file, from
35164         gettext/autoconf-lib-link with modifications.
35165         * tests/havelib/rpathz/rpathz.c: New file, from
35166         gettext/autoconf-lib-link.
35167         * tests/havelib/rpathz/Makefile.am: New file, from
35168         gettext/autoconf-lib-link.
35169         * tests/havelib/rpathz/configure.ac: New file, from
35170         gettext/autoconf-lib-link with modifications.
35171         * tests/havelib/rpathlx/usex.c: New file, from
35172         gettext/autoconf-lib-link.
35173         * tests/havelib/rpathlx/Makefile.am: New file, from
35174         gettext/autoconf-lib-link.
35175         * tests/havelib/rpathlx/configure.ac: New file, from
35176         gettext/autoconf-lib-link with modifications.
35177         * tests/havelib/rpathly/usey.c: New file, from
35178         gettext/autoconf-lib-link.
35179         * tests/havelib/rpathly/Makefile.am: New file, from
35180         gettext/autoconf-lib-link.
35181         * tests/havelib/rpathly/configure.ac: New file, from
35182         gettext/autoconf-lib-link with modifications.
35183         * tests/havelib/rpathlz/usez.c: New file, from
35184         gettext/autoconf-lib-link.
35185         * tests/havelib/rpathlz/Makefile.am: New file, from
35186         gettext/autoconf-lib-link.
35187         * tests/havelib/rpathlz/configure.ac: New file, from
35188         gettext/autoconf-lib-link with modifications.
35189         * tests/havelib/rpathlyx/usey.c: New file, from
35190         gettext/autoconf-lib-link.
35191         * tests/havelib/rpathlyx/Makefile.am: New file, from
35192         gettext/autoconf-lib-link.
35193         * tests/havelib/rpathlyx/configure.ac: New file, from
35194         gettext/autoconf-lib-link with modifications.
35195         * tests/havelib/rpathlzyx/usez.c: New file, from
35196         gettext/autoconf-lib-link.
35197         * tests/havelib/rpathlzyx/Makefile.am: New file, from
35198         gettext/autoconf-lib-link.
35199         * tests/havelib/rpathlzyx/configure.ac: New file, from
35200         gettext/autoconf-lib-link with modifications.
35201         * tests/havelib/rpathcfg.sh: New file, from gettext/autoconf-lib-link
35202         with modifications.
35203
35204 2010-04-02  Bruno Haible  <bruno@clisp.org>
35205
35206         gnulib-tool: Create distributed built sources also for the tests.
35207         * gnulib-tool (func_create_testdir): Also generate distributed built
35208         sources in the tests directory.
35209
35210 2010-04-02  Bruno Haible  <bruno@clisp.org>
35211
35212         gnulib-tool: Obey user's environment variables.
35213         * gnulib-tool (func_create_testdir): When creating built sources,
35214         respect the environment variables for autoconf, automake, etc. given by
35215         the user.
35216
35217 2010-04-02  Bruno Haible  <bruno@clisp.org>
35218
35219         gnulib-tool: Provide the value of --m4-base to modules.
35220         * gnulib-tool (func_import, func_create_testdir): Emit a definition
35221         of gl_m4_base.
35222
35223 2010-04-02  Eric Blake  <eblake@redhat.com>
35224
35225         maint.mk: fix some fallout
35226         * NEWS: Document the incompatible change, and its effect on cfg.mk.
35227         * top/maint.mk (sc_prohibit_test_minus_ao): Update.
35228
35229 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
35230
35231         maint.mk: _sc_search_regexp: generalize and rename from _prohibit_regexp
35232         * top/maint.mk (_sc_search_regexp): Rename from _prohibit_regexp.
35233         (sc_cast_of_argument_to_free): Adapt to use _sc_search_regexp.
35234         (sc_cast_of_x_alloc_return_value): Likewise.
35235         (sc_cast_of_alloca_return_value): Likewise.
35236         (sc_space_tab): Likewise.
35237         (sc_prohibit_atoi_atof): Likewise.
35238         (sc_prohibit_magic_number_exit): Likewise.
35239         (sc_error_exit_success): Likewise.
35240         (sc_file_system): Likewise.
35241         (sc_prohibit_have_config_h): Likewise.
35242         (sc_require_config_h): Likewise.
35243         (sc_prohibit_HAVE_MBRTOWC): Likewise.
35244         (sc_obsolete_symbols): Likewise.
35245         (sc_changelog): Likewise.
35246         (sc_program_name): Likewise.
35247         (sc_the_the): Likewise.
35248         (sc_trailing_blank): Likewise.
35249         (sc_two_space_separator_in_usage): Likewise.
35250         (sc_useless_cpp_parens): Likewise.
35251         (sc_GPL_version): Likewise.
35252         (sc_GFDL_version): Likewise.
35253         (sc_texinfo_acronym): Likewise.
35254         (sc_prohibit_cvs_keyword): Likewise.
35255         (sc_prohibit_stat_st_blocks): Likewise.
35256         (sc_prohibit_S_IS_definition): Likewise.
35257         (sc_redundant_const): Likewise.
35258         (sc_makefile_TAB_only_indentation): Likewise.
35259         (sc_m4_quote_check): Likewise.
35260         (sc_makefile_path_separator_check): Likewise.
35261         (sc_copyright_check): Likewise.
35262         (sc_Wundef_boolean): Likewise.
35263         (sc_vulnerable_makefile_CVE-2009-4029): Likewise.
35264
35265         maint.mk: match 0 or more whitespace-before-function-call '('
35266         * top/maint.mk (sc_error_exit_success): Relax regexp to match uses
35267         that have zero or two-and-more spaces between the function name
35268         and the open parenthesis.
35269         (sc_error_message_warn_fatal): Likewise.
35270         (sc_error_message_uppercase): Likewise.
35271         (sc_error_message_period): Likewise.
35272
35273 2010-03-31  Eric Blake  <eblake@redhat.com>
35274
35275         maint.mk: check for [ as well as test
35276         * top/maint.mk (sc_prohibit_test_minus_ao): Extend test.
35277         Based on a libvirt report by Matthias Bolte.
35278
35279         gnumakefile: don't squelch _version output
35280         * top/GNUmakefile (_version): Create one-shot dependency rather
35281         than using $(shell) when version must be regenerated.
35282         (_autoreconf): Run verbosely, by default.
35283
35284         sys_time: avoid compiler warnings
35285         * lib/sys_time.in.h (includes): Ensure gcc pragma is
35286         unconditional, fixing regression from 2010-03-29.
35287         Reported by Simon Josefsson.
35288
35289 2010-03-28  Jose E. Marchesi  <jemarch@gnu.org>
35290
35291         maint.mk: s/_header_without_use/_sc_header_without_use/
35292         * top/maint.mk (_sc_header_without_use): Rename from _header_without_use.
35293         (sc_prohibit_assert_without_use): Use the new name.
35294         (sc_prohibit_close_stream_without_use): Likewise.
35295         (sc_prohibit_getopt_without_use): Likewise.
35296         (sc_prohibit_quotearg_without_use): Likewise.
35297         (sc_prohibit_quote_without_use): Likewise.
35298         (sc_prohibit_long_options_without_use): Likewise.
35299         (sc_prohibit_inttostr_without_use): Likewise.
35300         (sc_prohibit_ignore_value_without_use): Likewise.
35301         (sc_prohibit_error_without_use): Likewise.
35302         (sc_prohibit_xalloc_without_use): Likewise.
35303         (sc_prohibit_hash_without_use): Likewise.
35304         (sc_prohibit_hash_pjw_without_use): Likewise.
35305         (sc_prohibit_safe_read_without_use): Likewise.
35306         (sc_prohibit_argmatch_without_use): Likewise.
35307         (sc_prohibit_canonicalize_without_use): Likewise.
35308         (sc_prohibit_root_dev_ino_without_use): Likewise.
35309         (sc_prohibit_openat_without_use): Likewise.
35310         (sc_prohibit_c_ctype_without_use): Likewise.
35311         (sc_prohibit_signal_without_use): Likewise.
35312         (sc_prohibit_intprops_without_use): Likewise.
35313
35314 2010-03-30  Eric Blake  <eblake@redhat.com>
35315
35316         maint: improve module indicators
35317         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE)
35318         (gl_MODULE_INDICATOR, gl_MODULE_INDICATOR_FOR_TESTS): Fit in 80
35319         columns, and avoid extra macro expansion.
35320
35321         fdopendir: work around FreeBSD bug
35322         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
35323         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Set it.
35324         * modules/dirent (Makefile.am): Substitute it.
35325         * lib/dirent.in.h (fdopendir): Supply missing FreeBSD
35326         declaration.
35327         * doc/posix-functions/fdopendir.texi (fdopendir): Document the
35328         fix.
35329         Reported by Christian Weisgerber <naddy@mips.inka.de>.
35330
35331 2010-03-29  Bruno Haible  <bruno@clisp.org>
35332
35333         Emit #pragma system_header after the inclusion guard, not before.
35334         * lib/arpa_inet.in.h: Emit #pragma system_header after the inclusion
35335         guard that spans the entire file, not before. This enables an
35336         optimization in GCC's preprocessor.
35337         * lib/ctype.in.h: Likewise.
35338         * lib/dirent.in.h: Likewise.
35339         * lib/errno.in.h: Likewise.
35340         * lib/float.in.h: Likewise.
35341         * lib/getopt.in.h: Likewise.
35342         * lib/iconv.in.h: Likewise.
35343         * lib/langinfo.in.h: Likewise.
35344         * lib/locale.in.h: Likewise.
35345         * lib/math.in.h: Likewise.
35346         * lib/netdb.in.h: Likewise.
35347         * lib/netinet_in.in.h: Likewise.
35348         * lib/pty.in.h: Likewise.
35349         * lib/sched.in.h: Likewise.
35350         * lib/se-selinux.in.h: Likewise.
35351         * lib/search.in.h: Likewise.
35352         * lib/spawn.in.h: Likewise.
35353         * lib/stdarg.in.h: Likewise.
35354         * lib/stdint.in.h: Likewise.
35355         * lib/string.in.h: Likewise.
35356         * lib/strings.in.h: Likewise.
35357         * lib/sys_file.in.h: Likewise.
35358         * lib/sys_ioctl.in.h: Likewise.
35359         * lib/sys_time.in.h: Likewise.
35360         * lib/sys_times.in.h: Likewise.
35361         * lib/sys_utsname.in.h: Likewise.
35362         * lib/sys_wait.in.h: Likewise.
35363         * lib/sysexits.in.h: Likewise.
35364         * lib/wctype.in.h: Likewise.
35365
35366 2010-03-28  James Youngman  <jay@gnu.org>
35367
35368         save-cwd: don't leak a file descriptor when the caller execs.
35369         * lib/save-cwd.c (save_cwd): set the close-on-exec flag for the
35370         saved file descriptor.
35371         * modules/save-cwd (Depends-on): Depend on cloexec.
35372
35373 2010-03-29  Bruno Haible  <bruno@clisp.org>
35374
35375         Remove vestiges of fts-lgpl module.
35376         * lib/fts_.h: Assume GNULIB_FTS is 1.
35377         * lib/fts.c: Likewise.
35378         * modules/fts (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35379
35380 2010-03-28  Bruno Haible  <bruno@clisp.org>
35381
35382         Fix definition of tests witness macro.
35383         * gnulib-tool (func_import): Fix definition of witness macro.
35384
35385 2010-03-28  Bruno Haible  <bruno@clisp.org>
35386
35387         Fix ioctl's protoype on glibc systems.
35388         * lib/sys_ioctl.in.h (ioctl): If REPLACE_IOCTL is 1, use a wrapper. Use
35389         _GL_CXXALIAS_SYS, not _GL_CXXALIAS_SYS_CAST.
35390         * lib/ioctl.c (rpl_ioctl) [HAVE_IOCTL]: New wrapper.
35391         * modules/ioctl (configure.ac): Test whether ioctl has the POSIX
35392         signature. If not, arrange to replace the ioctl function.
35393         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
35394         REPLACE_IOCTL.
35395         * modules/sys_ioctl (Makefile.am): Substitute REPLACE_IOCTL.
35396         * doc/posix-functions/ioctl.texi: Mention the glibc problem.
35397         Reported by Ludovic Courtès <ludo@gnu.org>.
35398
35399 2010-03-28  Javier Villavicencio  <the_paya@gentoo.org>
35400
35401         exclude: fix the case of globs vs. EXCLUDE_INCLUDE
35402         * lib/exclude.c (excluded_file_pattern_p): Fix logic error that
35403         made it so grep -r --include=GLOB* ... did not work.
35404
35405 2010-03-26  Jim Meyering  <meyering@redhat.com>
35406             Eric Blake  <eblake@redhat.com>
35407
35408         maint.mk: prohibit use of test's -o and -a operators
35409         * top/maint.mk (sc_prohibit_test_minus_ao): New rule.
35410
35411 2010-03-28  Bruno Haible  <bruno@clisp.org>
35412
35413         Remove unused GNULIB_XYZ macro definitions.
35414         * modules/crypto/gc-camellia (configure.ac): Remove gl_MODULE_INDICATOR
35415         invocation.
35416
35417 2010-03-28  Bruno Haible  <bruno@clisp.org>
35418
35419         Mark privileged tests modules.
35420         * modules/idpriv-drop-tests (Status): New section.
35421         * modules/idpriv-droptemp-tests (Status): New section.
35422
35423 2010-03-28  Bruno Haible  <bruno@clisp.org>
35424
35425         Split C++ tests into separate tests modules.
35426         * modules/dirent-c++-tests: New file, extracted from
35427         modules/dirent-tests.
35428         * modules/dirent-tests: Depend on it.
35429         * modules/fcntl-h-c++-tests: New file, extracted from
35430         modules/fcntl-h-tests.
35431         * modules/fcntl-h-tests: Depend on it.
35432         * modules/glob-c++-tests: New file, extracted from modules/glob-tests.
35433         * modules/glob-tests: Depend on it.
35434         * modules/iconv-h-c++-tests: New file, extracted from
35435         modules/iconv-h-tests.
35436         * modules/iconv-h-tests: Depend on it.
35437         * modules/langinfo-c++-tests: New file, extracted from
35438         modules/langinfo-tests.
35439         * modules/langinfo-tests: Depend on it.
35440         * modules/locale-c++-tests: New file, extracted from
35441         modules/locale-tests.
35442         * modules/locale-tests: Depend on it.
35443         * modules/math-c++-tests: New file, extracted from modules/math-tests.
35444         * modules/math-tests: Depend on it.
35445         * modules/pty-c++-tests: New file, extracted from modules/pty-tests.
35446         * modules/pty-tests: Depend on it.
35447         * modules/search-c++-tests: New file, extracted from
35448         modules/search-tests.
35449         * modules/search-tests: Depend on it.
35450         * modules/signal-c++-tests: New file, extracted from
35451         modules/signal-tests.
35452         * modules/signal-tests: Depend on it.
35453         * modules/spawn-c++-tests: New file, extracted from
35454         modules/spawn-tests.
35455         * modules/spawn-tests: Depend on it.
35456         * modules/stdio-c++-tests: New file, extracted from
35457         modules/stdio-tests.
35458         * modules/stdio-tests: Depend on it.
35459         * modules/stdlib-c++-tests: New file, extracted from
35460         modules/stdlib-tests.
35461         * modules/stdlib-tests: Depend on it.
35462         * modules/string-c++-tests: New file, extracted from
35463         modules/string-tests.
35464         * modules/string-tests: Depend on it.
35465         * modules/sys_ioctl-c++-tests: New file, extracted from
35466         modules/sys_ioctl-tests.
35467         * modules/sys_ioctl-tests: Depend on it.
35468         * modules/sys_select-c++-tests: New file, extracted from
35469         modules/sys_select-tests.
35470         * modules/sys_select-tests: Depend on it.
35471         * modules/sys_socket-c++-tests: New file, extracted from
35472         modules/sys_socket-tests.
35473         * modules/sys_socket-tests: Depend on it.
35474         * modules/sys_stat-c++-tests: New file, extracted from
35475         modules/sys_stat-tests.
35476         * modules/sys_stat-tests: Depend on it.
35477         * modules/sys_time-c++-tests: New file, extracted from
35478         modules/sys_time-tests.
35479         * modules/sys_time-tests: Depend on it.
35480         * modules/time-c++-tests: New file, extracted from modules/time-tests.
35481         * modules/time-tests: Depend on it.
35482         * modules/unistd-c++-tests: New file, extracted from
35483         modules/unistd-tests.
35484         * modules/unistd-tests: Depend on it.
35485         * modules/wchar-c++-tests: New file, extracted from
35486         modules/wchar-tests.
35487         * modules/wchar-tests: Depend on it.
35488         * modules/wctype-c++-tests: New file, extracted from
35489         modules/wctype-tests.
35490         * modules/wctype-tests: Depend on it.
35491         Reported by Simon Josefsson.
35492
35493 2010-03-28  Bruno Haible  <bruno@clisp.org>
35494
35495         gnulib-tool: Allow 'foo-tests' module even if there is no module 'foo'.
35496         * gnulib-tool (func_exists_module): New function, extracted from
35497         func_verify_module.
35498         (func_verify_module): Use it.
35499         (func_get_dependencies): Synthetize a dependency from 'foo-tests' to
35500         'foo' only if 'foo' exists.
35501         * doc/gnulib.texi (Extra tests modules): Explain how to split a tests
35502         module.
35503
35504 2010-03-28  Bruno Haible  <bruno@clisp.org>
35505
35506         gnulib-tool: Add support for special categories of tests.
35507         * gnulib-tool: New options --with-c++-tests, --with-longrunning-tests,
35508         --with-privileged-tests, --with-unportable-tests, --with-all-tests.
35509         (func_usage): Document them.
35510         (inc_cxx_tests, inc_longrunning_tests, inc_privileged_tests,
35511         inc_unportable_tests, inc_all_tests): New variables.
35512         (func_acceptable): Consider these variables.
35513         (func_modules_transitive_closure): Make it work when the 'Status' field
35514         consists of multiple words.
35515         (func_import): Store and restore the values of inc_cxx_tests,
35516         inc_longrunning_tests, inc_privileged_tests, inc_unportable_tests,
35517         inc_all_tests in gnulib-comp.m4.
35518         (func_create_testdir): Set inc_all_tests to true.
35519         * doc/gnulib.texi (Extra tests modules): New section.
35520         Suggested by Jim Meyering.
35521
35522 2010-03-28  Bruno Haible  <bruno@clisp.org>
35523
35524         ansi-c++-opt: Allow turning off the C++ build by default.
35525         * m4/ansi-c++.m4 (gl_CXX_CHOICE): Let CXX_CHOICE default to 'no' if
35526         gl_CXX_CHOICE_DEFAULT_NO is defined.
35527         Requested by Eric Blake.
35528
35529 2010-03-28  Bruno Haible  <bruno@clisp.org>
35530
35531         unistd: Avoid #define replacements in C++ mode.
35532         * lib/unistd.in.h (socket, connect, accept, bind, getpeername,
35533         getsockname, getsockopt, listen, recv, send, recvfrom, sendto,
35534         setsockopt, shutdown, select): In C++, attach a warning to the function
35535         if possible, rather than #defining the symbol to a dysfunctional alias.
35536         Reported by John W. Eaton <jwe@gnu.org>.
35537
35538 2010-03-28  Bruno Haible  <bruno@clisp.org>
35539
35540         Fix link errors on mingw.
35541         * lib/sys_ioctl.in.h (ioctl): Fix declaration idiom.
35542         * modules/sys_ioctl-tests (Makefile.am): Link test-sys_ioctl-c++ with
35543         $(LIBSOCKET).
35544         * modules/sys_select-tests (Makefile.am): Link test-sys_select-c++ with
35545         $(LIBSOCKET).
35546
35547 2010-03-28  Bruno Haible  <bruno@clisp.org>
35548             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
35549
35550         lib-ignore: Determine different options for different compilers.
35551         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Set a variable which
35552         depends on the current language (C/C++/Fortran). Don't set LDFLAGS.
35553         Add comments.
35554         (_gl_IGNORE_UNUSED_LIBRARIES_OPTIONS): New macro.
35555         * NEWS: Mention the change.
35556
35557 2010-03-27  Bruno Haible  <bruno@clisp.org>
35558
35559         Remove unused GNULIB_XYZ macro definitions.
35560         * modules/dup3 (configure.ac): Remove gl_MODULE_INDICATOR invocation.
35561         * modules/fseek (configure.ac): Likewise.
35562         * modules/ioctl (configure.ac): Likewise.
35563         * modules/open (configure.ac): Likewise.
35564         * modules/stdlib-safer (configure.ac): Likewise.
35565
35566 2010-03-27  Bruno Haible  <bruno@clisp.org>
35567
35568         Add a remark about certain modules.
35569         * modules/malloc (Comment): New section.
35570         * modules/realloc (Comment): Likewise.
35571         * modules/sigpipe (Comment): Likewise.
35572
35573 2010-03-27  Bruno Haible  <bruno@clisp.org>
35574
35575         Resolve conflict between the two kinds of module indicators.
35576         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Define
35577         GNULIB_TEST_XYZ instead of GNULIB_XYZ.
35578         * modules/canonicalize (configure.ac): Invoke
35579         gl_MODULE_INDICATOR_FOR_TESTS.
35580         * tests/test-canonicalize-lgpl.c: Test GNULIB_TEST_XYZ instead of
35581         GNULIB_XYZ.
35582         * tests/test-dirent-c++.cc: Likewise.
35583         * tests/test-dirent-safer.c: Likewise.
35584         * tests/test-dup2.c: Likewise.
35585         * tests/test-fchdir.c: Likewise.
35586         * tests/test-fcntl-h-c++.cc: Likewise.
35587         * tests/test-getopt.c: Likewise.
35588         * tests/test-getopt.h: Likewise.
35589         * tests/test-langinfo-c++.cc: Likewise.
35590         * tests/test-locale-c++.cc: Likewise.
35591         * tests/test-math-c++.cc: Likewise.
35592         * tests/test-pty-c++.cc: Likewise.
35593         * tests/test-search-c++.cc: Likewise.
35594         * tests/test-signal-c++.cc: Likewise.
35595         * tests/test-spawn-c++.cc: Likewise.
35596         * tests/test-stdio-c++.cc: Likewise.
35597         * tests/test-stdlib-c++.cc: Likewise.
35598         * tests/test-string-c++.cc: Likewise.
35599         * tests/test-sys_ioctl-c++.cc: Likewise.
35600         * tests/test-sys_select-c++.cc: Likewise.
35601         * tests/test-sys_socket-c++.cc: Likewise.
35602         * tests/test-sys_stat-c++.cc: Likewise.
35603         * tests/test-sys_time-c++.cc: Likewise.
35604         * tests/test-time-c++.cc: Likewise.
35605         * tests/test-unistd-c++.cc: Likewise.
35606         * tests/test-wchar-c++.cc: Likewise.
35607         * tests/uninorm/test-u8-nfc.c: Likewise.
35608         * tests/uninorm/test-u8-nfd.c: Likewise.
35609         * tests/uninorm/test-u8-nfkc.c: Likewise.
35610         * tests/uninorm/test-u8-nfkd.c: Likewise.
35611         * tests/uninorm/test-u16-nfc.c: Likewise.
35612         * tests/uninorm/test-u16-nfd.c: Likewise.
35613         * tests/uninorm/test-u16-nfkc.c: Likewise.
35614         * tests/uninorm/test-u16-nfkd.c: Likewise.
35615         * tests/uninorm/test-u32-nfc.c: Likewise.
35616         * tests/uninorm/test-u32-nfc-big.c: Likewise.
35617         * tests/uninorm/test-u32-nfd.c: Likewise.
35618         * tests/uninorm/test-u32-nfd-big.c: Likewise.
35619         * tests/uninorm/test-u32-nfkc.c: Likewise.
35620         * tests/uninorm/test-u32-nfkc-big.c: Likewise.
35621         * tests/uninorm/test-u32-nfkd.c: Likewise.
35622         * tests/uninorm/test-u32-nfkd-big.c: Likewise.
35623         * tests/uninorm/test-u32-normalize-big.c: Likewise.
35624
35625 2010-03-27  Bruno Haible  <bruno@clisp.org>
35626
35627         Distinguish two kinds of module indicators.
35628         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_FOR_TESTS): Renamed from
35629         gl_MODULE_INDICATOR.
35630         (gl_MODULE_INDICATOR): New macro.
35631         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
35632         gl_MODULE_INDICATOR_FOR_TESTS instead of gl_MODULE_INDICATOR.
35633         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35634         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35635         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35636         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35637         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35638         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35639         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35640         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35641         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35642         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35643         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35644         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35645         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35646         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35647         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35648         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35649         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35650         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35651         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35652         * modules/cloexec (configure.ac): Likewise.
35653         * modules/getopt-gnu (configure.ac): Likewise.
35654         * modules/uninorm/u8-normalize (configure.ac): Likewise.
35655         * modules/uninorm/u16-normalize (configure.ac): Likewise.
35656         * modules/uninorm/u32-normalize (configure.ac): Likewise.
35657         * modules/fdopendir (configure.ac): Invoke gl_MODULE_INDICATOR.
35658
35659 2010-03-27  Bruno Haible  <bruno@clisp.org>
35660
35661         New module description field 'Comment'.
35662         * gnulib-tool: New option --extract-comment.
35663         (func_usage): Document it.
35664         (sed_extract_prog, sed_extract_field_header): Support 'Comment' field.
35665         (func_get_comment): New function.
35666         * modules/TEMPLATE-EXTENDED: Add a blank Comment field.
35667
35668 2010-03-27  Bruno Haible  <bruno@clisp.org>
35669
35670         Addendum to 2010-02-07 commit.
35671         * gnulib-tool (func_usage): Document --extract-applicability option.
35672
35673 2010-03-27  Bruno Haible  <bruno@clisp.org>
35674
35675         Use GNULIB_POSIXCHECK instead of GNULIB_PORTCHECK.
35676         * lib/time.in.h (asctime, asctime_r, ctime, ctime_r): Test
35677         GNULIB_POSIXCHECK, not GNULIB_PORTCHECK. Provide compile-time warnings
35678         rather than link errors.
35679
35680 2010-03-27  Bruno Haible  <bruno@clisp.org>
35681
35682         Avoid side effects from tests-related modules on the compilation of lib.
35683         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_CONDITION): New macro.
35684         (gl_MODULE_INDICATOR_SET_VARIABLE): Use its expansion as a value.
35685         * gnulib-tool (func_emit_tests_Makefile_am): Accept a witness_macro
35686         parameter. Emit into AM_CPPFLAGS a definition of the designated C
35687         macro.
35688         (func_import): Define a witness macro. Assign it a value that depends
35689         on the current package. Override gl_MODULE_INDICATOR_CONDITION for the
35690         tests-related modules.
35691         (func_create_testdir): Update func_emit_tests_Makefile_am invocation.
35692         Reported by Jim Meyering.
35693
35694 2010-03-27  Bruno Haible  <bruno@clisp.org>
35695
35696         Factorize common .m4 code.
35697         * m4/gnulib-common.m4 (gl_MODULE_INDICATOR_SET_VARIABLE): New macro.
35698         * m4/arpa_inet_h.m4 (gl_ARPA_INET_MODULE_INDICATOR): Use it.
35699         * m4/ctype.m4 (gl_CTYPE_MODULE_INDICATOR): Likewise.
35700         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Likewise.
35701         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Likewise.
35702         * m4/iconv_h.m4 (gl_ICONV_MODULE_INDICATOR): Likewise.
35703         * m4/inttypes.m4 (gl_INTTYPES_MODULE_INDICATOR): Likewise.
35704         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Likewise.
35705         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Likewise.
35706         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Likewise.
35707         * m4/netdb_h.m4 (gl_NETDB_MODULE_INDICATOR): Likewise.
35708         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Likewise.
35709         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Likewise.
35710         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Likewise.
35711         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Likewise.
35712         * m4/stddef_h.m4 (gl_STDDEF_MODULE_INDICATOR): Likewise.
35713         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Likewise.
35714         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Likewise.
35715         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Likewise.
35716         * m4/strings_h.m4 (gl_STRINGS_MODULE_INDICATOR): Likewise.
35717         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_MODULE_INDICATOR): Likewise.
35718         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Likewise.
35719         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Likewise.
35720         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Likewise.
35721         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Likewise.
35722         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Likewise.
35723         * m4/sys_times_h.m4 (gl_SYS_TIMES_MODULE_INDICATOR): Likewise.
35724         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_MODULE_INDICATOR): Likewise.
35725         * m4/sys_wait_h.m4 (gl_SYS_WAIT_MODULE_INDICATOR): Likewise.
35726         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Likewise.
35727         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Likewise.
35728         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Likewise.
35729
35730 2010-03-27  Bruno Haible  <bruno@clisp.org>
35731
35732         Fix a compilation error on Cygwin with g++ >= 4.3.
35733         * lib/sys_stat.in.h (lchmod): Don't warn about the use of this function
35734         if it is undefined or if we alias it to chmod.
35735         (lstat): Don't warn about the use of this function if it is undefined
35736         or if we alias it to stat.
35737         Reported by Simon Josefsson.
35738
35739 2010-03-27  Bruno Haible  <bruno@clisp.org>
35740
35741         * m4/getlogin.m4 (gl_FUNC_GETLOGIN): Renamed from gl_GETLOGIN.
35742         * modules/getlogin (configure.ac): Update.
35743
35744         * m4/getlogin_r.m4 (gl_FUNC_GETLOGIN_R): Renamed from gl_GETLOGIN_R.
35745         * modules/getlogin_r (configure.ac): Update.
35746
35747         * m4/inet_ntop.m4 (gl_FUNC_INET_NTOP): Renamed from gl_INET_NTOP.
35748         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Update.
35749         * modules/inet_ntop (configure.ac): Update.
35750
35751         * m4/inet_pton.m4 (gl_FUNC_INET_PTON): Renamed from gl_INET_PTON.
35752         * modules/inet_pton (configure.ac): Update.
35753
35754         * m4/mbslen.m4 (gl_FUNC_MBSLEN): Renamed from gl_MBSLEN.
35755         * modules/mbslen (configure.ac): Update.
35756
35757         * m4/pty.m4 (gl_FUNC_FORKPTY): Renamed from gl_FORKPTY.
35758         (gl_FUNC_OPENPTY): Renamed from gl_OPENPTY.
35759         * modules/forkpty (configure.ac): Update.
35760         * modules/openpty (configure.ac): Update.
35761
35762 2010-03-26  Simon Josefsson  <simon@josefsson.org>
35763
35764         * top/maint.mk (sc_texinfo_acronym): Don't infloop if there is
35765         no *.texi files.  Reported by Eric Blake <eblake@redhat.com>.
35766
35767 2010-03-25  Eric Blake  <eblake@redhat.com>
35768
35769         maint: use pragma consistently across replacement headers
35770         * lib/ctype.in.h (system_header): Hoist for consistent placement.
35771         * lib/dirent.in.h (system_header): Likewise.
35772         * lib/errno.in.h (system_header): Likewise.
35773         * lib/float.in.h (system_header): Likewise.
35774         * lib/getopt.in.h (system_header): Likewise.
35775         * lib/iconv.in.h (system_header): Likewise.
35776         * lib/inttypes.in.h (system_header): Likewise.
35777         * lib/langinfo.in.h (system_header): Likewise.
35778         * lib/locale.in.h (system_header): Likewise.
35779         * lib/math.in.h (system_header): Likewise.
35780         * lib/netdb.in.h (system_header): Likewise.
35781         * lib/netinet_in.in.h (system_header): Likewise.
35782         * lib/pty.in.h (system_header): Likewise.
35783         * lib/sched.in.h (system_header): Likewise.
35784         * lib/se-selinux.in.h (system_header): Likewise.
35785         * lib/search.in.h (system_header): Likewise.
35786         * lib/spawn.in.h (system_header): Likewise.
35787         * lib/stdarg.in.h (system_header): Likewise.
35788         * lib/stdint.in.h (system_header): Likewise.
35789         * lib/string.in.h (system_header): Likewise.
35790         * lib/strings.in.h (system_header): Likewise.
35791         * lib/sys_file.in.h (system_header): Likewise.
35792         * lib/sys_ioctl.in.h (system_header): Likewise.
35793         * lib/sys_socket.in.h (system_header): Likewise.
35794         * lib/sys_times.in.h (system_header): Likewise.
35795         * lib/sys_utsname.in.h (system_header): Likewise.
35796         * lib/sys_wait.in.h (system_header): Likewise.
35797         * lib/sysexits.in.h (system_header): Likewise.
35798         * lib/unistd.in.h (system_header): Likewise.
35799         * lib/wctype.in.h (system_header): Likewise.
35800
35801         arpa/inet: fix mingw compilation warning
35802         * lib/arpa_inet.in.h (system_header): Hoist to be unconditional.
35803         Reported by Matthew Bolte.
35804
35805 2010-03-25  Bruno Haible  <bruno@clisp.org>
35806
35807         Avoid collision between gnulib wrapper and libintl wrapper.
35808         * lib/printf.c (printf): Don't define if a printf wrapper is already
35809         defined in intl/printf.c.
35810         Reported by Michel Boaventura <michel@michelboaventura.com>.
35811
35812 2010-03-25  Bruno Haible  <bruno@clisp.org>
35813
35814         Use ANSI C.
35815         * lib/readutmp.h (getutent): Provide ANSI C prototype.
35816
35817 2010-03-25  Bruno Haible  <bruno@clisp.org>
35818
35819         Minor formatting changes.
35820         * lib/acosl.c: Insert space before function argument list.
35821         * lib/argz.c: Likewise.
35822         * lib/asinl.c: Likewise.
35823         * lib/expl.c: Likewise.
35824         * lib/gen-uni-tables.c: Likewise.
35825         * lib/gettext.h: Likewise.
35826         * lib/glthread/lock.h: Likewise.
35827         * lib/tanl.c: Likewise.
35828         * lib/uniname/uniname.c: Likewise.
35829         * tests/test-idpriv-drop.c: Likewise.
35830         * tests/test-idpriv-droptemp.c: Likewise.
35831         * tests/test-lock.c: Likewise.
35832         * tests/test-tls.c: Likewise.
35833         * lib/argp-help.c: Insert space before function-like macro argument
35834         list.
35835         * lib/memcmp.c: Likewise.
35836         * tests/test-base64.c: Likewise.
35837         * lib/localename.c: Insert space before sizeof's argument list.
35838         * lib/safe-alloc.h: Likewise.
35839         * lib/file-set.h: Insert space before macro argument list.
35840         * tests/test-argp.c: Likewise.
35841         * lib/argp-namefrob.h: Insert space before function parameter list.
35842         * lib/getaddrinfo.c: Likewise.
35843         * lib/netdb.in.h: Likewise.
35844         * lib/parse-duration.h: Likewise.
35845         * lib/parse-duration.c: Likewise.
35846         * lib/poll.c: Likewise.
35847         * lib/select.c: Likewise.
35848         * lib/trim.h: Likewise.
35849         * tests/test-usleep.c: Likewise.
35850         * lib/ldexpl.c: Insert space before function parameter list and before
35851         function argument list.
35852         * lib/logl.c: Likewise.
35853         * lib/sqrtl.c: Likewise.
35854         * lib/trim.c: Likewise.
35855         * lib/cosl.c: Use GNU style indentation. Insert space before function
35856         argument list.
35857         * lib/sinl.c: Likewise.
35858         * lib/tsearch.c: Insert space after 'for'.
35859         Reported by Jim Meyering.
35860
35861 2010-03-23  Pádraig Brady  <P@draigBrady.com>  (tiny change)
35862
35863         * maint.mk (sc_Wundef_boolean): Check for the presence of the
35864         config header before grepping, as it's not present before
35865         autoreconf/configure are run.  Reported by Simon Josefsson.
35866
35867 2010-03-23  Bruno Haible  <bruno@clisp.org>
35868
35869         pt_chown: Make it work with automake < 1.11.
35870         * modules/pt_chown (Makefile.am): Define pkglibexecdir.
35871         Reported by Simon Josefsson.
35872
35873 2010-03-23  Bruno Haible  <bruno@clisp.org>
35874
35875         pt_chown: Don't depend on GPLed modules.
35876         * lib/pt_chown.c: Don't include idpriv.h.
35877         (main): Don't drop privileges.
35878         * modules/pt_chown (Depends-on): Remove idpriv-drop.
35879         Reported by Simon Josefsson.
35880
35881 2010-03-24  Simon Josefsson  <simon@josefsson.org>
35882
35883         * top/maint.mk (sc_texinfo_acronym): Add rule, based on
35884         suggestions from karl@freefriends.org (Karl Berry).
35885
35886 2010-03-22  Eric Blake  <eblake@redhat.com>
35887
35888         gethostname: further tweaks
35889         * lib/unistd.in.h (includes): Only worry about <winsock2.h> if we
35890         are overriding gethostname.
35891         Suggested by Bruno Haible.
35892
35893 2010-03-21  Bruno Haible  <bruno@clisp.org>
35894
35895         Fix comments.
35896         * lib/forkpty.c (rpl_forkpty): Fix comment.
35897         * lib/openpty.c (rpl_openpty): Likewise.
35898         Reported by Eric Blake.
35899
35900 2010-03-22  Eric Blake  <eblake@redhat.com>
35901
35902         gethostname: fix build on mingw
35903         * lib/unistd.in.h (includes): Work around fact that mingw
35904         <winsock2.h> re-includes <unistd.h>, by avoiding any
35905         redeclarations if we are being included by <winsock2.h>.
35906         Reported by Matthias Bolte.
35907
35908 2010-03-21  Bruno Haible  <bruno@clisp.org>
35909
35910         forkpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35911         * lib/forkpty.c (forkpty): New replacement function, from glibc with
35912         modifications.
35913         * lib/pty.in.h (forkpty): Update declaration. Add comments.
35914         * m4/pty.m4 (gl_FORKPTY): If forkpty is not declared, arrange to
35915         provide the replacement.
35916         * modules/forkpty (Depends-on): Add openpty, login_tty.
35917         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_FORKPTY.
35918         * modules/pty (Makefile.am): Substitute HAVE_FORKPTY.
35919         * doc/glibc-functions/forkpty.texi: More supported platforms.
35920         * config/srclist.txt: Add forkpty.c (commented).
35921
35922 2010-03-21  Bruno Haible  <bruno@clisp.org>
35923
35924         * modules/forkpty-tests: Use the common TEMPLATE-TESTS.
35925         (Makefile.am): Verify that PTY_LIB is defined.
35926
35927         * modules/openpty-tests: Use the common TEMPLATE-TESTS.
35928
35929 2010-03-21  Bruno Haible  <bruno@clisp.org>
35930
35931         Tests for module 'login_tty'.
35932         * modules/login_tty-tests: New file.
35933         * tests/test-login_tty.c: New file.
35934
35935         New module 'login_tty'.
35936         * lib/login_tty.c: New file.
35937         * m4/pty.m4 (gl_FUNC_LOGIN_TTY): New macro.
35938         * modules/login_tty: New file.
35939         * doc/glibc-functions/login_tty.texi: Mention the new module.
35940
35941 2010-03-21  Bruno Haible  <bruno@clisp.org>
35942
35943         login_tty: Documentation.
35944         * doc/glibc-functions/login_tty.texi: New file.
35945         * doc/gnulib.texi (Glibc <utmp.h>): Include it.
35946
35947 2010-03-21  Bruno Haible  <bruno@clisp.org>
35948
35949         pty: Consistent macro naming.
35950         * m4/pty_h.m4 (gl_PTY_H): Renamed from gl_PTY.
35951         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): Update.
35952         * modules/pty (configure.ac): Update.
35953
35954 2010-03-21  Bruno Haible  <bruno@clisp.org>
35955
35956         Tests for openpty: Make stricter.
35957         * tests/test-openpty.c (main): Add test of canonical processing and
35958         erase.
35959         * modules/openpty-tests (Makefile.am): Verify that PTY_LIB is defined.
35960
35961         openpty: Provide replacement on AIX, HP-UX, IRIX, Solaris.
35962         * lib/openpty.c (openpty): New replacement function.
35963         * lib/pty.in.h: Include <termios.h>.
35964         (openpty): Update declaration. Add comments.
35965         * m4/pty.m4 (gl_OPENPTY): Require AC_USE_SYSTEM_EXTENSIONS. If openpty
35966         is not declared, arrange to provide the replacement. Check for _getpty
35967         and posix_openpt.
35968         * modules/openpty (Depends-on): Add extensions, fcntl-h, ioctl.
35969         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Initialize HAVE_OPENPTY.
35970         * modules/pty (Makefile.am): Substitute HAVE_OPENPTY.
35971         * modules/pty-tests (test_pty_c___LDADD): New variable.
35972         * doc/glibc-functions/openpty.texi: More supported platforms.
35973
35974 2010-03-21  Bruno Haible  <bruno@clisp.org>
35975
35976         setenv: Tweaks.
35977         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Include necessary headers in
35978         the test program.
35979         * doc/posix-functions/setenv.texi: Update platforms list.
35980
35981 2010-03-21  Bruno Haible  <bruno@clisp.org>
35982
35983         New module 'unlockpt'.
35984         * lib/unlockpt.c: New file, from glibc with modifications.
35985         * m4/unlockpt.m4: New file.
35986         * modules/unlockpt: New file.
35987         * lib/stdlib.in.h (unlockpt): New declaration.
35988         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether unlockpt is declared.
35989         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_UNLOCKPT, HAVE_UNLOCKPT.
35990         * modules/stdlib (Makefile.am): Substitute GNULIB_UNLOCKPT,
35991         HAVE_UNLOCKPT.
35992         * doc/posix-functions/unlockpt.texi: Mention the new module.
35993         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::unlockpt.
35994         * config/srclist.txt: Add unlockpt.c (commented).
35995
35996 2010-03-21  Jim Meyering  <meyering@redhat.com>
35997
35998         maint.mk: prohibit inclusion of "intprops.h" without use
35999         * top/maint.mk (sc_prohibit_intprops_without_use): New rule.
36000
36001 2010-03-21  Bruno Haible  <bruno@clisp.org>
36002
36003         New module 'grantpt'.
36004         * lib/grantpt.c: New file, from glibc with modifications.
36005         * m4/grantpt.m4: New file.
36006         * modules/grantpt: New file.
36007         * lib/stdlib.in.h (grantpt): New declaration.
36008         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether grantpt is declared.
36009         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GRANTPT, HAVE_GRANTPT.
36010         * modules/stdlib (Makefile.am): Substitute GNULIB_GRANTPT,
36011         HAVE_GRANTPT.
36012         * doc/posix-functions/grantpt.texi: Mention the new module.
36013         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::grantpt.
36014         * config/srclist.txt: Add grantpt.c (commented).
36015
36016 2010-03-21  Bruno Haible  <bruno@clisp.org>
36017
36018         New module 'pt_chown'.
36019         * lib/pt_chown.c: New file, from glibc with modifications.
36020         * lib/pty-private.h: New file, from glibc with modifications.
36021         * modules/pt_chown: New file.
36022         * config/srclist.txt: Add pt_chown.c, pty-private.h (commented).
36023
36024 2010-03-21  Bruno Haible  <bruno@clisp.org>
36025
36026         Tests for module 'ptsname'.
36027         * modules/ptsname-tests: New file.
36028         * tests/test-ptsname.c: New file.
36029
36030         New module 'ptsname'.
36031         * lib/ptsname.c: New file, from glibc with modifications.
36032         * m4/ptsname.m4: New file.
36033         * modules/ptsname: New file.
36034         * lib/stdlib.in.h (ptsname): New declaration.
36035         * m4/stdlib_h.m4 (gl_STDLIB_H): Check whether ptsname is declared.
36036         (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PTSNAME, HAVE_PTSNAME.
36037         * modules/stdlib (Makefile.am): Substitute GNULIB_PTSNAME,
36038         HAVE_PTSNAME.
36039         * doc/posix-functions/ptsname.texi: Mention the new module.
36040         * tests/test-stdlib-c++.cc: Check GNULIB_NAMESPACE::ptsname.
36041         * config/srclist.txt: Add ptsname.c (commented).
36042
36043 2010-03-21  Bruno Haible  <bruno@clisp.org>
36044
36045         Tests for module 'ttyname_r'.
36046         * modules/ttyname_r-tests: New file.
36047         * tests/test-ttyname_r.c: New file.
36048
36049         New module 'ttyname_r'.
36050         * lib/ttyname_r.c: New file.
36051         * m4/ttyname_r.m4: New file.
36052         * modules/ttyname_r: New file.
36053         * lib/unistd.in.h (ttyname_r): New declaration.
36054         * m4/unistd_h.m4 (gl_UNISTD_H): Check whether ttyname_r is declared.
36055         (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_TTYNAME_R, HAVE_TTYNAME_R.
36056         * modules/unistd (Makefile.am): Substitute GNULIB_TTYNAME_R,
36057         HAVE_TTYNAME_R.
36058         * tests/test-unistd-c++.cc: Check GNULIB_NAMESPACE::ttyname_r.
36059         * doc/posix-functions/ttyname_r.texi: Mention the new module.
36060
36061 2010-03-20  Bruno Haible  <bruno@clisp.org>
36062
36063         signal: Undefine macro definitions in C++ mode.
36064         * lib/signal.in.h (sigismember, sigemptyset, sigaddset, sigdelset,
36065         sigfillset): Undefine macro definitions from the system header in C++
36066         mode.
36067         Reported by John W. Eaton <jwe@gnu.org>.
36068
36069 2010-03-20  Bruno Haible  <bruno@clisp.org>
36070
36071         Ensure no #include statements inside extern "C" { ... }.
36072         * lib/obstack.h: Shrink extern "C" { ... } region so that it does not
36073         contain #include statements.
36074         * lib/time.in.h: Likewise.
36075
36076 2010-03-20  Bruno Haible  <bruno@clisp.org>
36077
36078         Make _GL_WARN_ON_USE usable in C++ and C mode in the same compilation.
36079         * build-aux/warn-on-use.h (_GL_WARN_EXTERN_C): New macro.
36080         (_GL_WARN_ON_USE, _GL_WARN_ON_USE_CXX): Likewise.
36081         Reported by John W. Eaton <jwe@gnu.org>.
36082
36083 2010-03-20  Bruno Haible  <bruno@clisp.org>
36084
36085         * m4/unlink.m4 (gl_FUNC_UNLINK): Fix last commit.
36086         Reported by Jim Meyering.
36087
36088 2010-03-20  Bruno Haible  <bruno@clisp.org>
36089
36090         pipe: Set errno upon failure.
36091         * lib/pipe.h: Specify that when -1 is returned, errno is set.
36092         * lib/pipe.c (create_pipe): Set errno when returning -1. Use the right
36093         errno value in error message.
36094
36095 2010-03-20  Bruno Haible  <bruno@clisp.org>
36096             Jim Meyering  <meyering@redhat.com>
36097
36098         lchown: Avoid "unused variable" warning.
36099         * lib/lchown.c (rpl_lchown): Move variable 'st' into #if block.
36100
36101 2010-03-20  Bruno Haible  <bruno@clisp.org>
36102
36103         Work around unlink() bug on MacOS X 10.5.6.
36104         * lib/unlink.c (rpl_unlink): If UNLINK_PARENT_BUG is defined, fail when
36105         attempting to unlink a parent directory.
36106         * m4/unlink.m4 (gl_FUNC_UNLINK): Require AC_CANONICAL_HOST. Test for
36107         MacOS X 10.5 bug. If the bug is present, define UNLINK_PARENT_BUG and
36108         activate for the replacement function.
36109         * doc/posix-functions/unlink.texi: Mention the MacOS X 10.5 bug.
36110
36111 2010-03-20  Bruno Haible  <bruno@clisp.org>
36112
36113         Fix link errors on Solaris 8.
36114         * modules/dirent-tests (test_dirent_c___LDADD): Add LIB_NANOSLEEP.
36115         * modules/wctype-tests (test_wctype_c___LDADD): Likewise.
36116
36117 2010-03-19  Jim Meyering  <meyering@redhat.com>
36118
36119         regcomp.c: make non-_LIBC implementation of build_range_exp consistent
36120         The _LIBC implementation of build_range_exp correctly honors the
36121         RE_NO_EMPTY_RANGES flag when checking for reversed range endpoints.
36122         However, the non-_LIBC implementation would ignore that syntax-bit
36123         flag and return REG_ERANGE unconditionally.
36124         This change makes it honor that flag.
36125         * lib/regcomp.c (build_range_exp) [!_LIBC]: Add a parameter: "syntax".
36126         Make two pointer parameters "const".
36127         Use "syntax" bits in order to honor RE_NO_EMPTY_RANGES.
36128         (parse_bracket_exp): Update caller.
36129
36130         regex.m4: correct the reversed range endpoint ([b-a]) test
36131         * m4/regex.m4: When requiring that [b-a] evoke failure,
36132         use RE_NO_EMPTY_RANGES.  This makes this entire configure-time
36133         test pass once again for x86-based systems.
36134
36135 2010-03-19  Bruno Haible  <bruno@clisp.org>
36136
36137         scandir: Fix link error on Solaris 8.
36138         * lib/scandir.c (_D_EXACT_NAMLEN, _D_ALLOC_NAMLEN): New fallback
36139         macros.
36140
36141 2010-03-19  Bruno Haible  <bruno@clisp.org>
36142
36143         getusershell: Fix documentation.
36144         * doc/glibc-functions/endusershell.texi: Refer to the getusershell
36145         module.
36146         * doc/glibc-functions/setusershell.texi: Likewise.
36147
36148         getusershell: Provide declaration, missing on Solaris 9.
36149         * lib/unistd.in.h (getusershell, setusershell, endusershell): Declare
36150         also if HAVE_GETUSERSHELL && !HAVE_DECL_GETUSERSHELL.
36151         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): When the function exists,
36152         check whether it is declared. Set HAVE_DECL_GETUSERSHELL.
36153         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
36154         HAVE_DECL_GETUSERSHELL, not HAVE_GETUSERSHELL.
36155         * modules/unistd (Makefile.am): Substitute HAVE_DECL_GETUSERSHELL, not
36156         HAVE_GETUSERSHELL.
36157         * doc/glibc-functions/getusershell.texi: Mention the Solaris problem.
36158
36159 2010-03-19  Bruno Haible  <bruno@clisp.org>
36160
36161         wctype: Provide iswblank function.
36162         * lib/wctype.in.h (iswblank): Provide a replacement also when iswcntrl
36163         exists and is fine.
36164         * m4/wctype_h.m4 (gl_WCTYPE_H): Also check whether iswcntrl exists.
36165         * modules/wctype (Makefile.am): Substitute HAVE_ISWBLANK.
36166         * tests/test-wctype.c (main): Re-enable the iswblank tests.
36167         * doc/posix-functions/iswblank.texi: Update.
36168
36169 2010-03-19  Bruno Haible  <bruno@clisp.org>
36170
36171         Tests of module 'pty' in C++ mode.
36172         * modules/pty-tests: New file.
36173         * tests/test-pty-c++.cc: New file.
36174         * m4/pty_h.m4 (gl_PTY_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36175
36176 2010-03-19  Eric Blake  <eblake@redhat.com>
36177
36178         logb: fix documentation
36179         * doc/posix-functions/logb.texi (logb): Gnulib fixes the cygwin
36180         1.5 declaration bug.
36181
36182         forkpty, openpty: prefer glibc's const-safe prototype
36183         * lib/forkpty.c (rpl_forkpty): New file.
36184         * lib/openpty.c (rpl_openpty): Likewise.
36185         * modules/forkpty (Files): Distribute it.
36186         * modules/openpty (Files): Likewise.
36187         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.  Move decl
36188         check...
36189         * m4/pty.m4 (gl_FORKPTY, gl_OPENPTY): ...here.  Request
36190         replacement for for non-const BSD signature.
36191         * modules/pty (Makefile.am): Substitute witnesses.
36192         * lib/pty.in.h (forkpty, openpty): Declare replacements.
36193         * tests/test-forkpty.c: Update signature check.
36194         * tests/test-openpty.c: Likewise.
36195         * doc/glibc-functions/forkpty.texi (forkpty): Document the fix.
36196         * doc/glibc-functions/openpty.texi (openpty): Likewise.
36197
36198         forkpty, openpty: split functions into new modules
36199         * modules/pty (Makefile.am): Substitute new witnesses.
36200         (Libraries): Move library detection...
36201         * modules/forkpty: ...into new module.
36202         * modules/openpty: Another new module.
36203         * modules/pty-tests: Rename and split...
36204         * modules/forkpty-tests: ...to this...
36205         * modules/openpty-tests: ...and this.
36206         * tests/test-pty.c: Rename and split...
36207         * tests/test-forkpty.c: ...to this...
36208         * tests/test-openpty.c: ...and this.
36209         * m4/pty_h.m4 (gl_PTY_H_DEFAULTS): Add new witnesses.
36210         (gl_PTY): Split library searching...
36211         * m4/pty.m4 (gl_PTY_LIB): ...into new file.
36212         (gl_FORKPTY, gl_OPENPTY): New macros.
36213         * lib/pty.in.h (forkpty, openpty): Honor new witnesses.
36214         * NEWS: Mention the split.
36215         * MODULES.html.sh (Misc): Document the modules.
36216         * doc/glibc-functions/forkpty.texi (forkpty): Likewise.
36217         * doc/glibc-functions/openpty.texi (openpty): Likewise.
36218
36219         pty: improve replacement header
36220         * lib/pty.in.h: New file.
36221         * modules/pty (Files): Ship it.
36222         (Makefile.am): Always build replacement.
36223         * m4/pty.m4: Rename...
36224         * m4/pty_h.m4: ...to this.
36225         (gl_PTY): Modernize setting of witness macros; update check of
36226         forkpty to take proper advantage of cache.
36227         (gl_PTY_MODULE_INDICATOR, gl_PTY_H_DEFAULTS): New macros.
36228
36229         getopt: avoid compiler warning
36230         * lib/getopt.c (attribute_hidden): Remove unused macro.
36231
36232 2010-03-18  Bruno Haible  <bruno@clisp.org>
36233
36234         Fix link errors on Solaris 8.
36235         * modules/iconv-h-tests (test_iconv_h_c___LDADD): Add LIB_NANOSLEEP.
36236         * modules/search-tests (test_search_c___LDADD): Likewise.
36237         * modules/signal-tests (test_signal_c___LDADD): Likewise.
36238         * modules/spawn-tests (test_spawn_c___LDADD): Likewise.
36239         * modules/stdio-tests (test_stdio_c___LDADD): Likewise.
36240         * modules/sys_select-tests (test_sys_select_c___LDADD): Likewise.
36241         * modules/sys_socket-tests (test_sys_socket_c___LDADD): Likewise.
36242         * modules/sys_time-tests (test_sys_time_c___LDADD): Likewise.
36243         * modules/wchar-tests (test_wchar_c___LDADD): Likewise.
36244
36245 2010-03-18  Bruno Haible  <bruno@clisp.org>
36246
36247         Fix bug introduced on 2010-03-14.
36248         * m4/spawn_h.m4 (gl_HAVE_POSIX_SPAWN): New macro.
36249         (gl_SPAWN_H): Require it.
36250         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Likewise.
36251         Reported by Simon Josefsson.
36252
36253 2010-03-18  Bruno Haible  <bruno@clisp.org>
36254
36255         Fix typo introduced on 2009-12-31.
36256         * m4/spawn_h.m4 (gl_SPAWN_H): Check for the declaration of
36257         posix_spawn_file_actions_adddup2.
36258
36259 2010-03-17  Bert Wesarg  <bert.wesarg@googlemail.com>  (tiny change)
36260         and Eric Blake  <eblake@redhat.com>
36261
36262         test-vc-list-files-git: make more robust
36263         * tests/test-vc-list-files-git.sh: Unset problematic environment
36264         variables.  Chain commands together.
36265
36266 2010-03-17  Ludovic Courtès <ludo@gnu.org>  (tiny change)
36267
36268         * m4/pty.m4: Unset $ac_cv_have_decl_forkpty before the second
36269         `AC_CHECK_DECL' invocation.
36270
36271 2010-03-15  Sergey Poznyakoff  <gray@gnu.org.ua>
36272
36273         * lib/inttostr.c (inttostr): Make sure the invocation of verify
36274         appears before executable statements. Suggested by Petr Sumbera
36275         <Petr.Sumbera@Sun.COM>.
36276
36277 2010-03-14  Bruno Haible  <bruno@clisp.org>
36278
36279         * tests/test-flock.c (test_exclusive): Comment out a test that causes
36280         portability problems. Instead use a simpler test.
36281         (main): Check that invalid arguments are rejected only on Linux.
36282
36283 2010-03-14  Bruno Haible  <bruno@clisp.org>
36284
36285         Fix bug introduced on 2009-12-31.
36286         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
36287         gl_PREREQ_SYS_H_WINSOCK2 always.
36288         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise. Remove
36289         SYS_SOCKET_H variable.
36290         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Remove test for flock.
36291         Update comments.
36292         * m4/ctype.m4 (gl_CTYPE_H): Update comments.
36293         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
36294         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
36295         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
36296         * m4/sys_wait_h.m4 (gl_SYS_WAIT_H): Likewise.
36297
36298 2010-03-14  Bruno Haible  <bruno@clisp.org>
36299
36300         Fix values returned by sinl, cosl.
36301         * lib/trigl.h: Add specification comments.
36302         * lib/sincosl.c (kernel_sinl, kernel_cosl): Fix comments and formula
36303         that combines the values from the precomputed table with the values of
36304         the Chebyshev polynomials.
36305
36306 2010-03-14  Bruno Haible  <bruno@clisp.org>
36307
36308         Fix compilation error when modules 'posix_spawn[p]' are not used.
36309         * m4/spawn_h.m4 (gl_SPAWN_H): Set HAVE_POSIX_SPAWN here.
36310         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): ... not here.
36311
36312 2010-03-14  Bruno Haible  <bruno@clisp.org>
36313
36314         Fix compilation error on mingw when module 'time_r' is not used.
36315         * lib/time.in.h (localtime_r, gmtime_r): Declare only if GNULIB_TIME_R
36316         is 1.
36317         * tests/test-time-c++.cc (localtime_r, gmtime_r): Likewise.
36318         * modules/time_r (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36319         * modules/time (Makefile.am): Substitute GNULIB_TIME_R.
36320         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize GNULIB_TIME_R.
36321
36322 2010-03-14  Bruno Haible  <bruno@clisp.org>
36323
36324         Fix compilation error with Sun C.
36325         * lib/strtol.c: Use LLONG_MIN instead of GCC specific LONG_LONG_MIN.
36326         Use LLONG_MAX instead of GCC specific LONG_LONG_MAX. Use ULLONG_MAX
36327         instead of GCC specific ULONG_LONG_MAX.
36328         * lib/xstrtoll.c: Likewise.
36329         * lib/xstrtoull.c: Likewise.
36330
36331 2010-03-13  Bruno Haible  <bruno@clisp.org>
36332
36333         Allow the user to disable C++ code and tests.
36334         * m4/ansi-c++.m4 (gl_CXX_CHOICE): New macro.
36335         (gl_PROG_ANSI_CXX): Require it.
36336
36337 2010-03-13  Bruno Haible  <bruno@clisp.org>
36338
36339         * DEPENDENCIES (libtool): Mention libtool 2.2.x requirement in special
36340         cases.
36341
36342 2010-03-13  Bruno Haible  <bruno@clisp.org>
36343
36344         Test that gnulib does not break the standard C++ headers.
36345         * tests/test-locale-c++2.cc: New file.
36346         * modules/locale-tests (Files): Add it.
36347         (Makefile.am): Compile it for test-locale-c++.
36348         * tests/test-math-c++2.cc: New file.
36349         * modules/math-tests (Files): Add it.
36350         (Makefile.am): Compile it for test-math-c++.
36351         * tests/test-signal-c++2.cc: New file.
36352         * modules/signal-tests (Files): Add it.
36353         (Makefile.am): Compile it for test-signal-c++.
36354         * tests/test-stdio-c++2.cc: New file.
36355         * modules/stdio-tests (Files): Add it.
36356         (Makefile.am): Compile it for test-stdio-c++.
36357         * tests/test-stdlib-c++2.cc: New file.
36358         * modules/stdlib-tests (Files): Add it.
36359         (Makefile.am): Compile it for test-stdlib-c++.
36360         * tests/test-string-c++2.cc: New file.
36361         * modules/string-tests (Files): Add it.
36362         (Makefile.am): Compile it for test-string-c++.
36363         * tests/test-time-c++2.cc: New file.
36364         * modules/time-tests (Files): Add it.
36365         (Makefile.am): Compile it for test-time-c++.
36366         Reported by John W. Eaton <jwe@gnu.org>.
36367
36368 2010-03-13  Bruno Haible  <bruno@clisp.org>
36369
36370         * gnulib-tool (func_usage): Clarify which options are available for
36371         --create-testdir and --create-megatestdir.
36372
36373 2010-03-13  Bruno Haible  <bruno@clisp.org>
36374
36375         Fix compilation error with glibc >= 2.10 and g++ >= 4.4.
36376         * build-aux/warn-on-use.h (_GL_WARN_ON_USE_CXX): New macro.
36377         * build-aux/c++defs.h (_GL_CXXALIASWARN1): New macro.
36378         * lib/string.in.h (memchr, memrchr, rawmemchr, strchrnul, strpbrk,
36379         strstr, strcasestr): Use _GL_CXXALIASWARN1 instead of _GL_CXXALIASWARN
36380         when appropriate.
36381         Reported by Jim Meyering.
36382
36383 2010-03-12  Simon Josefsson  <simon@josefsson.org>
36384
36385         * gnulib-tool (func_import): Explain origin of code.
36386
36387 2010-03-12  Bruno Haible  <bruno@clisp.org>
36388
36389         Fix problem with automake's definition of CXXLINK.
36390         * gnulib-tool (func_create_testdir): After LT_INIT, also use LT_LANG.
36391         Reported by Simon Josefsson and Ludovic Courtès.
36392
36393 2010-03-12  Bruno Haible  <bruno@clisp.org>
36394
36395         * doc/gnulib-intro.texi (Steady Development): Mention Ian Beckwith's
36396         stable releases.
36397
36398 2010-03-11  Bruno Haible  <bruno@clisp.org>
36399
36400         Fix problems with overloaded C++ definitions of memchr, strpbrk, etc.
36401         * build-aux/c++defs.h (_GL_CXXALIAS_SYS_CAST2): Make it work regardless
36402         whether the system provides one variant or multiple variants of the
36403         function.
36404         * lib/string.in.h (memchr, strpbrk): Use _GL_CXXALIAS_SYS_CAST2 for all
36405         C++ compilers.
36406         (memrchr, rawmemchr, strchrnul, strstr, strcasestr): Use
36407         _GL_CXXALIAS_SYS_CAST2 instead of _GL_CXXALIAS_SYS.
36408         Reported by Jim Meyering.
36409
36410 2010-03-09  Simon Josefsson  <simon@josefsson.org>
36411
36412         * gnulib-tool (LIBTOOLPATH): Fix cut'n'paste bug.
36413
36414 2010-03-08  Bruno Haible  <bruno@clisp.org>
36415
36416         gnulib-tool: Add support for --libtool in --create-testdir.
36417         * gnulib-tool (LIBTOOLPATH, LIBTOOLIZE): New variables.
36418         (func_create_testdir): Emit LT_INIT invocations. Invoke LIBTOOLIZE.
36419
36420 2010-03-08  Eric Blake  <eblake@redhat.com>
36421
36422         gnulib-tool.texi: mention possibility of git submodule
36423         * doc/gnulib-tool.texi (VCS Issues): Add details about using git
36424         submodules.
36425         * doc/.gitignore: Ignore another generated file.
36426
36427 2010-03-08  Karl Berry  <karl@gnu.org>
36428
36429         * doc/gnulib-tool.texi (VCS Issues): Mention third option
36430         of committing gnulib files while skipping others.
36431
36432 2010-03-07  Bruno Haible  <bruno@clisp.org>
36433
36434         Tests of module 'wctype' in C++ mode.
36435         * tests/test-wctype-c++.cc: New file.
36436         * modules/wctype-tests (Files): Add it and tests/signature.h.
36437         (Depends-on): Add ansi-c++-opt.
36438         (Makefile.am): Arrange to compile and run test-wctype-c++.
36439
36440         Tests of module 'wchar' in C++ mode.
36441         * tests/test-wchar-c++.cc: New file.
36442         * modules/wchar-tests (Files): Add it and tests/signature.h.
36443         (Depends-on): Add ansi-c++-opt.
36444         (Makefile.am): Arrange to compile and run test-wchar-c++.
36445         * m4/wchar_h.m4 (gl_WCHAR_MODULE_INDICATOR): Invoke
36446         gl_MODULE_INDICATOR.
36447
36448         Tests of module 'unistd' in C++ mode.
36449         * tests/test-unistd-c++.cc: New file.
36450         * modules/unistd-tests (Files): Add it and tests/signature.h.
36451         (Depends-on): Add ansi-c++-opt.
36452         (Makefile.am): Arrange to compile and run test-unistd-c++.
36453         * m4/unistd_h.m4 (gl_UNISTD_MODULE_INDICATOR): Invoke
36454         gl_MODULE_INDICATOR.
36455
36456         Tests of module 'time' in C++ mode.
36457         * tests/test-time-c++.cc: New file.
36458         * modules/time-tests (Files): Add it and tests/signature.h.
36459         (Depends-on): Add ansi-c++-opt.
36460         (Makefile.am): Arrange to compile and run test-time-c++.
36461         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36462
36463         Tests of module 'sys_time' in C++ mode.
36464         * tests/test-sys_time-c++.cc: New file.
36465         * modules/sys_time-tests (Files): Add it and tests/signature.h.
36466         (Depends-on): Add ansi-c++-opt.
36467         (Makefile.am): Arrange to compile and run test-sys_time-c++.
36468         * m4/sys_time_h.m4 (gl_SYS_TIME_MODULE_INDICATOR): Invoke
36469         gl_MODULE_INDICATOR.
36470
36471         Tests of module 'sys_stat' in C++ mode.
36472         * tests/test-sys_stat-c++.cc: New file.
36473         * modules/sys_stat-tests (Files): Add it and tests/signature.h.
36474         (Depends-on): Add ansi-c++-opt.
36475         (Makefile.am): Arrange to compile and run test-sys_stat-c++.
36476         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): Invoke
36477         gl_MODULE_INDICATOR.
36478
36479         Tests of module 'sys_socket' in C++ mode.
36480         * tests/test-sys_socket-c++.cc: New file.
36481         * modules/sys_socket-tests (Files): Add it and tests/signature.h.
36482         (Depends-on): Add ansi-c++-opt.
36483         (Makefile.am): Arrange to compile and run test-sys_socket-c++.
36484         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Invoke
36485         gl_MODULE_INDICATOR.
36486
36487         Tests of module 'sys_select' in C++ mode.
36488         * tests/test-sys_select-c++.cc: New file.
36489         * modules/sys_select-tests (Files): Add it and tests/signature.h.
36490         (Depends-on): Add ansi-c++-opt.
36491         (Makefile.am): Arrange to compile and run test-sys_select-c++.
36492         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): Invoke
36493         gl_MODULE_INDICATOR.
36494
36495         Tests of module 'sys_ioctl' in C++ mode.
36496         * tests/test-sys_ioctl-c++.cc: New file.
36497         * modules/sys_ioctl-tests (Files): Add it and tests/signature.h.
36498         (Depends-on): Add ansi-c++-opt.
36499         (Makefile.am): Arrange to compile and run test-sys_ioctl-c++.
36500         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_MODULE_INDICATOR): Invoke
36501         gl_MODULE_INDICATOR.
36502
36503         Tests of module 'string' in C++ mode.
36504         * tests/test-string-c++.cc: New file.
36505         * modules/string-tests (Files): Add it and tests/signature.h.
36506         (Depends-on): Add ansi-c++-opt.
36507         (Makefile.am): Arrange to compile and run test-string-c++.
36508         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Invoke
36509         gl_MODULE_INDICATOR.
36510
36511         Tests of module 'stdlib' in C++ mode.
36512         * tests/test-stdlib-c++.cc: New file.
36513         * modules/stdlib-tests (Files): Add it and tests/signature.h.
36514         (Depends-on): Add ansi-c++-opt.
36515         (Makefile.am): Arrange to compile and run test-stdlib-c++.
36516         * m4/stdlib_h.m4 (gl_STDLIB_MODULE_INDICATOR): Invoke
36517         gl_MODULE_INDICATOR.
36518
36519         Tests of module 'stdio' in C++ mode.
36520         * tests/test-stdio-c++.cc: New file.
36521         * modules/stdio-tests (Files): Add it and tests/signature.h.
36522         (Depends-on): Add ansi-c++-opt.
36523         (Makefile.am): Arrange to compile and run test-stdio-c++.
36524         * m4/stdio_h.m4 (gl_STDIO_MODULE_INDICATOR): Invoke
36525         gl_MODULE_INDICATOR.
36526
36527         Tests of module 'spawn' in C++ mode.
36528         * tests/test-spawn-c++.cc: New file.
36529         * modules/spawn-tests (Files): Add it and tests/signature.h.
36530         (Depends-on): Add ansi-c++-opt.
36531         (Makefile.am): Arrange to compile and run test-spawn-c++.
36532         * m4/spawn_h.m4 (gl_SPAWN_MODULE_INDICATOR): Invoke
36533         gl_MODULE_INDICATOR.
36534
36535         Tests of module 'signal' in C++ mode.
36536         * tests/test-signal-c++.cc: New file.
36537         * modules/signal-tests (Files): Add it and tests/signature.h.
36538         (Depends-on): Add ansi-c++-opt.
36539         (Makefile.am): Arrange to compile and run test-signal-c++.
36540         * m4/signal_h.m4 (gl_SIGNAL_MODULE_INDICATOR): Invoke
36541         gl_MODULE_INDICATOR.
36542
36543         Tests of module 'search' in C++ mode.
36544         * tests/test-search-c++.cc: New file.
36545         * modules/search-tests (Files): Add it and tests/signature.h.
36546         (Depends-on): Add ansi-c++-opt.
36547         (Makefile.am): Arrange to compile and run test-search-c++.
36548         * m4/search_h.m4 (gl_SEARCH_MODULE_INDICATOR): Invoke
36549         gl_MODULE_INDICATOR.
36550
36551         Tests of module 'math' in C++ mode.
36552         * tests/test-math-c++.cc: New file.
36553         * modules/math-tests (Files): Add it and tests/signature.h.
36554         (Depends-on): Add ansi-c++-opt.
36555         (Makefile.am): Arrange to compile and run test-math-c++.
36556         * m4/math_h.m4 (gl_MATH_MODULE_INDICATOR): Invoke gl_MODULE_INDICATOR.
36557
36558         Tests of module 'locale' in C++ mode.
36559         * tests/test-locale-c++.cc: New file.
36560         * modules/locale-tests (Files): Add it and tests/signature.h.
36561         (Depends-on): Add ansi-c++-opt.
36562         (Makefile.am): Arrange to compile and run test-locale-c++.
36563         * m4/locale_h.m4 (gl_LOCALE_MODULE_INDICATOR): Invoke
36564         gl_MODULE_INDICATOR.
36565
36566         Tests of module 'langinfo' in C++ mode.
36567         * tests/test-langinfo-c++.cc: New file.
36568         * modules/langinfo-tests (Files): Add it and tests/signature.h.
36569         (Depends-on): Add ansi-c++-opt.
36570         (Makefile.am): Arrange to compile and run test-langinfo-c++.
36571         * m4/langinfo_h.m4 (gl_LANGINFO_MODULE_INDICATOR): Invoke
36572         gl_MODULE_INDICATOR.
36573
36574         Tests of module 'iconv-h' in C++ mode.
36575         * tests/test-iconv-h-c++.cc: New file.
36576         * modules/iconv-h-tests (Files): Add it and tests/signature.h.
36577         (Depends-on): Add ansi-c++-opt.
36578         (Makefile.am): Arrange to compile and run test-iconv-h-c++.
36579
36580         Tests of module 'glob' in C++ mode.
36581         * tests/test-glob-c++.cc: New file.
36582         * modules/glob-tests (Files): Add it.
36583         (Depends-on): Add ansi-c++-opt.
36584         (Makefile.am): Arrange to compile and run test-glob-c++.
36585
36586         Tests of module 'fcntl-h' in C++ mode.
36587         * tests/test-fcntl-h-c++.cc: New file.
36588         * modules/fcntl-h-tests (Files): Add it and tests/signature.h.
36589         (Depends-on): Add ansi-c++-opt.
36590         (Makefile.am): Arrange to compile and run test-fcntl-h-c++.
36591         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR): Invoke
36592         gl_MODULE_INDICATOR.
36593
36594         Tests of module 'dirent' in C++ mode.
36595         * tests/test-dirent-c++.cc: New file.
36596         * modules/dirent-tests (Files): Add it and tests/signature.h.
36597         (Depends-on): Add ansi-c++-opt.
36598         (Makefile.am): Arrange to compile and run test-dirent-c++.
36599         * m4/dirent_h.m4 (gl_DIRENT_MODULE_INDICATOR): Invoke
36600         gl_MODULE_INDICATOR.
36601
36602         New module 'ansi-c++-opt'.
36603         * modules/ansi-c++-opt: New file.
36604         * m4/ansi-c++.m4: New file, from GNU gettext with modifications.
36605
36606         Document C++ namespace mode.
36607         * doc/gnulib.texi (A C++ namespace for gnulib): New section.
36608
36609         wctype: Avoid #define replacements in C++ mode.
36610         * lib/wctype.in.h: Include c++defs.h, warn-on-use.h.
36611         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower,
36612         iswprint, iswpunct, iswspace, iswupper, iswxdigit, towlower, towupper):
36613         In C++, define a namespaced alias symbol.
36614         * m4/wctype_h.m4 (gl_WCTYPE_H): Don't set WCTYPE_H.
36615         * modules/wctype (Depends-on): Add c++defs, warn-on-use.
36616         (Makefile.am): Provide a wctype.h replacement always. Update wctype.h
36617         rule.
36618
36619         wchar: Avoid #define replacements in C++ mode.
36620         * lib/wchar.in.h: Include c++defs.h.
36621         (btowc, wctob, mbsinit, mbrtowc, mbrlen, mbsrtowcs, mbsnrtowcs,
36622         wcrtomb, wcsrtombs, wcsnrtombs): In C++, define a namespaced alias
36623         symbol.
36624         (wcwidth): Likewise. Fix prototype to be POSIX compliant.
36625         * modules/wchar (Depends-on): Add c++defs.
36626         (Makefile.am): Update wchar.h rule.
36627
36628         unistd: Avoid #define replacements in C++ mode.
36629         * lib/unistd.in.h: Include c++defs.h.
36630         (chown, close, dup, dup2, dup3, euidaccess, faccessat, fchdir,
36631         fchownat, fsync, ftruncate, getcwd, getdomainname, getdtablesize,
36632         getgroups, gethostname, getlogin, getlogin_r, getpagesize,
36633         getusershell, setusershell, endusershell, lchown, link, linkat, lseek,
36634         pipe2, pread, readlink, readlinkat, rmdir, sleep, symlink, symlinkat,
36635         unlink, unlinkat, usleep, write): In C++, define a namespaced alias
36636         symbol.
36637         (environ): Update.
36638         * modules/unistd (Depends-on): Add c++defs.
36639         (Makefile.am): Update unistd.h rule.
36640
36641         time: Avoid #define replacements in C++ mode.
36642         * lib/time.in.h: Include c++defs.h, warn-on-use.h.
36643         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): In C++,
36644         define a namespaced alias symbol.
36645         * m4/time_h.m4 (gl_TIME_MODULE_INDICATOR): New macro.
36646         (gl_HEADER_TIME_H_DEFAULTS): Initialize also GNULIB_MKTIME,
36647         GNULIB_NANOSLEEP, GNULIB_STRPTIME, GNULIB_TIMEGM.
36648         * modules/time (Depends-on): Add c++defs, warn-on-use.
36649         (Makefile.am): Update time.h rule.
36650         * modules/mktime (configure.ac): Invoke gl_TIME_MODULE_INDICATOR.
36651         * modules/nanosleep (configure.ac): Likewise.
36652         * modules/strptime (configure.ac): Likewise.
36653         * modules/timegm (configure.ac): Likewise.
36654
36655         sys_time: Avoid #define replacements in C++ mode.
36656         * lib/sys_time.in.h: Include c++defs.h.
36657         (gettimeofday): In C++, define a namespaced alias symbol.
36658         * modules/sys_time (Depends-on): Add c++defs.
36659         (Makefile.am): Update sys/time.h rule.
36660
36661         sys_stat: Avoid #define replacements in C++ mode.
36662         * lib/sys_stat.in.h: Include c++defs.h.
36663         (fchmodat, fstat, fstatat, futimens, lchmod, lstat, mkdir, mkdirat,
36664         mkfifo, mkfifoat, mknod, mknodat, utimensat): In C++, define a
36665         namespaced alias symbol.
36666         In C++, define a namespaced alias symbol.
36667         * modules/sys_stat (Depends-on): Add c++defs.
36668         (Makefile.am): Update sys/stat.h rule.
36669
36670         sys_socket: Avoid #define replacements in C++ mode.
36671         * lib/sys_socket.in.h: Handle the case of recursive include on Cygwin.
36672         Include c++defs.h. Include warn-on-use.h earlier. Enable the function
36673         definitions also when the system has a <sys/socket.h>.
36674         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
36675         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, accept4):
36676         In C++, define a namespaced alias symbol.
36677         * modules/sys_socket (Depends-on): Add c++defs.
36678         (Makefile.am): Update sys/socket.h rule.
36679
36680         sys_select: Avoid #define replacements in C++ mode.
36681         * lib/sys_select.in.h: Include c++defs.h. Enable the function
36682         definitions also when the system has a <sys/select.h>.
36683         (select): In C++, define a namespaced alias symbol.
36684         * modules/sys_select (Depends-on): Add c++defs.
36685         (Makefile.am): Update sys/select.h rule.
36686
36687         sys_ioctl: Avoid #define replacements in C++ mode.
36688         * lib/sys_ioctl.in.h: Include c++defs.h.
36689         (ioctl): In C++, define a namespaced alias symbol.
36690         * modules/sys_ioctl (Depends-on): Add c++defs.
36691         (Makefile.am): Update sys/ioctl.h rule.
36692
36693         string: Avoid #define replacements in C++ mode.
36694         * lib/string.in.h: Include c++defs.h.
36695         (stpncpy): Define to rpl_stpncpy, not gnu_stpncpy.
36696         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
36697         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
36698         strcasestr, strtok_r, mbslen, mbschr, mbsrchr, mbspbrk, strerror,
36699         strsignal, strverscmp): In C++, define a namespaced alias symbol.
36700         * modules/string (Depends-on): Add c++defs.
36701         (Makefile.am): Update string.h rule.
36702
36703         stdlib: Avoid #define replacements in C++ mode.
36704         * lib/stdlib.in.h: Include c++defs.h.
36705         (atoll, calloc, canonicalize_file_name, getloadavg, getsubopt, malloc,
36706         mkdtemp, mkostemp, mkostemps, mkstemp, mkstemps, putenv, random_r,
36707         srandom_r, initstate_r, setstate_r, realloc, realpath, rpmatch, setenv,
36708         strtod, strtoll, strtoull, unsetenv): In C++, define a namespaced alias
36709         symbol.
36710         * modules/stdlib (Depends-on): Add c++defs.
36711         (Makefile.am): Update stdlib.h rule.
36712
36713         stdio: Avoid #define replacements in C++ mode.
36714         * lib/stdio.in.h: Include c++defs.h.
36715         (dprintf, fclose, fflush, fopen, fprintf, fpurge, fputc, fputs,
36716         freopen, fseek, fseeko, ftell, ftello, fwrite, getdelim, getline,
36717         obstack_printf, obstack_vprintf, perror, popen, printf, fputc, putchar,
36718         puts, remove, rename, renameat, snprintf, sprintf, asprintf, vasprintf,
36719         vdprintf, vfprintf, vprintf, vsnprintf, vsprintf): In C++, define a
36720         namespaced alias symbol.
36721         * modules/stdio (Depends-on): Add c++defs.
36722         (Makefile.am): Update stdio.h rule.
36723
36724         spawn: Avoid #define replacements in C++ mode.
36725         * lib/spawn.in.h: Include c++defs.h.
36726         (posix_spawn, posix_spawnp, posix_spawnattr_init,
36727         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
36728         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
36729         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
36730         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
36731         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
36732         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
36733         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
36734         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
36735         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
36736         In C++, define a namespaced alias symbol.
36737         * modules/spawn (Depends-on): Add c++defs.
36738         (Makefile.am): Update spawn.h rule.
36739
36740         signal: Avoid #define replacements in C++ mode.
36741         * lib/signal.in.h: Include c++defs.h.
36742         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
36743         sigpending, sigprocmask, signal, raise, sigaction): In C++, define a
36744         namespaced alias symbol.
36745         * modules/signal (Depends-on): Add c++defs.
36746         (Makefile.am): Update signal.h rule.
36747
36748         search: Avoid #define replacements in C++ mode.
36749         * lib/search.in.h: Include c++defs.h.
36750         (_gl_search_compar_fn, _gl_search_action_fn): New types.
36751         (tsearch, tfind, tdelete, twalk): In C++, define a namespaced alias
36752         symbol.
36753         * modules/search (Depends-on): Add c++defs.
36754         (Makefile.am): Update search.h rule.
36755
36756         math: Avoid #define replacements in C++ mode.
36757         * lib/math.in.h: Include c++defs.h.
36758         (frexp, acosl, asinl, atanl, ceilf, ceill, cosl, expl, floorf, floorl,
36759         frexpl, ldexpl, logl, roundf, round, roundl, sinl, sqrtl, tanl, truncf,
36760         trunc, truncl): In C++, define a namespaced alias symbol.
36761         * modules/math (Depends-on): Add c++defs.
36762         (Makefile.am): Update math.h rule.
36763
36764         locale: Avoid #define replacements in C++ mode.
36765         * lib/locale.in.h: Include c++defs.h.
36766         (duplocale): In C++, define a namespaced alias symbol.
36767         * m4/locale_h.m4 (gl_LOCALE_H_DEFAULTS): Initialize HAVE_DUPLOCALE.
36768         * m4/duplocale.m4 (gl_FUNC_DUPLOCALE): Set HAVE_DUPLOCALE.
36769         * modules/locale (Depends-on): Add c++defs.
36770         (Makefile.am): Update locale.h rule. Substitute HAVE_DUPLOCALE.
36771
36772         langinfo: Avoid #define replacements in C++ mode.
36773         * lib/langinfo.in.h: Include c++defs.h.
36774         (nl_langinfo): In C++, define a namespaced alias symbol.
36775         * modules/langinfo (Depends-on): Add c++defs.
36776         (Makefile.am): Update langinfo.h rule.
36777
36778         iconv-h: Avoid #define replacements in C++ mode.
36779         * lib/iconv.in.h: Include c++defs.h, warn-on-use.h.
36780         (iconv_open, iconv, iconv_close): In C++, define a namespaced alias
36781         symbol.
36782         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
36783         whenever iconv is present.
36784         * modules/iconv-h (Depends-on): Add c++defs, warn-on-use.
36785         (Makefile.am): Update iconv.h rule.
36786
36787         glob: Avoid #define replacements in C++ mode.
36788         * lib/glob.in.h: Include c++defs.h, warn-on-use.h.
36789         (_gl_glob_errfunc_fn): New type.
36790         (glob, globfree, glob_pattern_p): In C++, define a namespaced alias
36791         symbol.
36792         * modules/glob (Depends-on): Add c++defs, warn-on-use.
36793         (Makefile.am): Update glob.h rule.
36794
36795         fcntl-h: Avoid #define replacements in C++ mode.
36796         * lib/fcntl.in.h: Include c++defs.h.
36797         (fcntl, open, openat): In C++, define a namespaced alias symbol.
36798         * modules/fcntl-h (Depends-on): Add c++defs.
36799         (Makefile.am): Update fcntl.h rule.
36800
36801         dirent: Avoid #define replacements in C++ mode.
36802         * lib/dirent.in.h: Include c++defs.h.
36803         (closedir, fdopendir, opendir, scandir, alphasort): In C++, define a
36804         namespaced alias symbol.
36805         (dirfd): Update declaration.
36806         * modules/dirent (Depends-on): Add c++defs.
36807         (Makefile.am): Update dirent.h rule.
36808
36809         ctype: Make it usable in C++ code.
36810         * lib/ctype.in.h: Include c++defs.h.
36811         (isblank): Declare as extern "C".
36812         * modules/ctype (Depends-on): Add c++defs.
36813         (Makefile.am): Update ctype.h rule.
36814
36815         New module 'c++defs'.
36816         * modules/c++defs: New file.
36817         * build-aux/c++defs.h: New file.
36818         Reported by John W. Eaton <jwe@gnu.org>.
36819
36820 2010-03-07  Bruno Haible  <bruno@clisp.org>
36821
36822         logb: Provide missing declaration for Cygwin.
36823         * lib/math.in.h (logb): New declaration.
36824         * m4/logb.m4: New file.
36825         * modules/logb (Files): Add m4/logb.m4.
36826         (Depends-on): Add math.
36827         (configure.ac): Invoke gl_FUNC_LOGB, gl_MATH_MODULE_INDICATOR.
36828         * m4/math_h.m4 (gl_MATH_H): Check also for logb declaration.
36829         (gl_MATH_H_DEFAULTS): Initialize GNULIB_LOGB, HAVE_DECL_LOGB.
36830         * modules/math (Makefile.am): Substitute GNULIB_LOGB, HAVE_DECL_LOGB.
36831         * doc/posix-functions/logb.texi: Mention the Cygwin bug.
36832
36833 2010-03-07  Bruno Haible  <bruno@clisp.org>
36834
36835         Fix test-cond link error.
36836         * tests/test-cond.c: Include <stdio.h>.
36837
36838 2010-03-07  Bruno Haible  <bruno@clisp.org>
36839
36840         Fix test-dirent-safer link error.
36841         * modules/dirent-safer-tests (Makefile.am): Define
36842         test_dirent_safer_LDADD.
36843
36844 2010-03-07  Bruno Haible  <bruno@clisp.org>
36845
36846         * gnulib-tool (func_create_testdir): Don't use 'lib-ignore' module
36847         among default module list.
36848
36849 2010-03-07  Bruno Haible  <bruno@clisp.org>
36850
36851         Fix link error on platforms with GNU libiconv.
36852         * modules/unistr/u8-strcoll-tests (Makefile): Define
36853         test_u8_strcoll_LDADD.
36854         * modules/unistr/u16-strcoll-tests (Makefile): Define
36855         test_u16_strcoll_LDADD.
36856         * modules/unistr/u32-strcoll-tests (Makefile): Define
36857         test_u32_strcoll_LDADD.
36858
36859 2010-03-07  Bruno Haible  <bruno@clisp.org>
36860
36861         Use POSIX declarations for socket functions.
36862         * lib/sys_socket.in.h (rpl_connect, rpl_accept, rpl_bind,
36863         rpl_getpeername, rpl_getsockname, rpl_recv, rpl_send, rpl_recvfrom,
36864         rpl_sendto): Change declaration to match POSIX.
36865         * lib/connect.c (rpl_connect): Likewise.
36866         * lib/accept.c (rpl_accept): Likewise.
36867         * lib/bind.c (rpl_bind): Likewise.
36868         * lib/getpeername.c (rpl_getpeername): Likewise.
36869         * lib/getsockname.c (rpl_getsockname): Likewise.
36870         * lib/recv.c (rpl_recv): Likewise.
36871         * lib/send.c (rpl_send): Likewise.
36872         * lib/recvfrom.c (rpl_recvfrom): Likewise.
36873         * lib/sendto.c (rpl_sendto): Likewise.
36874
36875 2010-03-06  Bruno Haible  <bruno@clisp.org>
36876
36877         Clarify access, euidaccess, faccessat.
36878         * doc/posix-functions/faccessat.texi: Mention security problem under
36879         "Other problems", not "Portability problems".
36880         * doc/posix-functions/access.texi: Likewise. Mention a related security
36881         problem.
36882         * doc/glibc-functions/euidaccess.texi: Mention security problems.
36883         * lib/euidaccess.c: Add comments about platforms.
36884         * lib/unistd.in.h (access, euidaccess): Add warnings.
36885
36886 2010-03-07  Bruno Haible  <bruno@clisp.org>
36887
36888         Ensure posix_spawnattr_{get,set}sched{policy,param} are defined.
36889         * lib/spawn.in.h (POSIX_SPAWN_SETSCHEDPARAM): Define fallback.
36890         (POSIX_SPAWN_SETSCHEDULER): Likewise.
36891         (POSIX_SPAWN_USEVFORK): Define in a way that works when
36892         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36893         (posix_spawnattr_getschedpolicy, posix_spawnattr_setschedpolicy): Also
36894         declare when POSIX_SPAWN_SETSCHEDULER is zero.
36895         (posix_spawnattr_getschedparam, posix_spawnattr_setschedparam): Also
36896         declare when POSIX_SPAWN_SETSCHEDPARAM is zero.
36897         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_BODY): Test whether
36898         POSIX_SPAWN_SETSCHEDULER or POSIX_SPAWN_SETSCHEDPARAM are zero.
36899         * modules/posix_spawnattr_getschedparam (configure.ac): Enable the
36900         replacement also when POSIX_SPAWN_SETSCHEDPARAM is zero.
36901         * modules/posix_spawnattr_setschedparam (configure.ac): Likewise.
36902         * modules/posix_spawnattr_getschedpolicy (configure.ac): Enable the
36903         replacement also when POSIX_SPAWN_SETSCHEDULER is zero.
36904         * modules/posix_spawnattr_setschedpolicy (configure.ac): Likewise.
36905         * lib/spawnattr_getschedparam.c (posix_spawnattr_getschedparam): Do
36906         nothing if POSIX_SPAWN_SETSCHEDPARAM is zero.
36907         * lib/spawnattr_setschedparam.c (posix_spawnattr_setschedparam):
36908         Likewise.
36909         * lib/spawnattr_getschedpolicy.c (posix_spawnattr_getschedpolicy): Do
36910         nothing if POSIX_SPAWN_SETSCHEDULER is zero.
36911         * lib/spawnattr_setschedpolicy.c (posix_spawnattr_setschedpolicy):
36912         Likewise.
36913         * tests/test-spawn.c (main): Make it work when
36914         POSIX_SPAWN_SETSCHEDPARAM and POSIX_SPAWN_SETSCHEDULER are zero.
36915
36916 2010-03-07  Bruno Haible  <bruno@clisp.org>
36917
36918         Fix incorrect Makefile.am generation in German locale.
36919         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
36920         Execute sed command with character range in C locale.
36921
36922 2010-03-06  Bruno Haible  <bruno@clisp.org>
36923
36924         Tests for module 'iconv-h'.
36925         * modules/iconv-h-tests: New file.
36926         * tests/test-iconv-h.c: New file.
36927
36928         New module 'iconv-h'.
36929         * modules/iconv-h: New file.
36930         * modules/iconv_open (Files): Remove lib/iconv.in.h, m4/iconv_h.m4.
36931         (Depends-on): Add iconv-h. Remove include_next, arg-nonnull.
36932         (configure.ac): Remove gl_ICONV_H.
36933         (Makefile.am): Remove rule for iconv.h.
36934
36935 2010-03-06  Bruno Haible  <bruno@clisp.org>
36936
36937         More consistent naming of *.m4 files.
36938         * m4/wctype_h.m4: Renamed from m4/wctype.m4.
36939         * modules/wctype (Files): Update.
36940
36941         More consistent naming of *.m4 files.
36942         * m4/wchar_h.m4: Renamed from m4/wchar.m4.
36943         * modules/wchar (Files): Update.
36944
36945 2010-03-06  Jim Meyering  <meyering@redhat.com>
36946
36947         euidaccess: relax license to LGPLv2+
36948         * modules/euidaccess (License): Relax to LGPLv2+.
36949
36950 2010-03-06  Bruno Haible  <bruno@clisp.org>
36951
36952         Prefer lib_SOURCES over unconditional AC_LIBOBJ.
36953         * modules/exitfail (configure.ac): Remove AC_LIBOBJ invocation.
36954         (Makefile.am): Augment lib_SOURCES instead.
36955
36956 2010-03-04  Jim Meyering  <meyering@redhat.com>
36957
36958         utime: remove obsolete module
36959         This module, like autoconf's AC_FUNC_UTIME_NULL macro, has been
36960         unnecessary for years, and has been marked as obsolete for 10 months.
36961         * modules/utime: Remove file.
36962         * lib/utime.c: Remove file.
36963         * m4/utime.m4: Remove file.
36964         * m4/utimes-null.m4: Remove file.
36965         * doc/posix-functions/utime.texi (utime): Remove reference to
36966         the module.  Move the sole "fixed by gnulib" item into the
36967         "problems not fixed by Gnulib" list.
36968         * MODULES.html.sh (func_all_modules): Remove reference to "utime".
36969
36970 2010-03-05  Simon Josefsson  <simon@josefsson.org>
36971
36972         * modules/exit (License): Relax license to LGPLv2+.
36973         (Status): Mark as obsolete.
36974         * NEWS: Mention deprecated 'exit' module.
36975         * doc/posix-functions/exit.texi: Recommend 'stdlib' module instead
36976         of now obsolete 'exit'.
36977
36978 2010-03-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
36979
36980         fts-lgpl: remove unused module
36981         * modules/fts-lgpl: Remove.
36982         * MODULES.html.sh (func_all_modules): Adjust.
36983         * check-module (find_included_lib_files): Adjust.
36984         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove.
36985
36986 2010-03-02  Ben Walton  <bwalton@artsci.utoronto.ca>  (tiny change)
36987
36988         copy-acl: enhance Solaris ACL error handling
36989         * lib/copy-acl.c (qcopy_acl): Also ignore EOPNOTSUPP.
36990         * lib/set-mode-acl.c (qset_acl): Likewise.
36991
36992 2010-03-02  Bruno Haible  <bruno@clisp.org>
36993
36994         spawn: Don't override the system defined values on FreeBSD 8.
36995         * lib/spawn.in.h (POSIX_SPAWN_RESETIDS, POSIX_SPAWN_SETPGROUP,
36996         POSIX_SPAWN_SETSIGDEF, POSIX_SPAWN_SETSIGMASK,
36997         POSIX_SPAWN_SETSCHEDPARAM, POSIX_SPAWN_SETSCHEDULER): Don't redefine
36998         if HAVE_POSIX_SPAWN is 1.
36999         Reported by Johan van Selst <johans@stack.nl> via Eric Blake.
37000
37001 2010-03-01  Bruno Haible  <bruno@clisp.org>
37002
37003         * doc/gnulib-tool.texi (Initial import): Clarify the requirements
37004         regarding Automake.
37005
37006 2010-02-25  Bruno Haible  <bruno@clisp.org>
37007
37008         Fix breakage of gnulib-tool with ksh, introduced on 2010-02-21.
37009         * gnulib-tool: Define 'echo' as a function only before the ksh alias
37010         setting, not afterwards.
37011         Reported by Ben Walton <bwalton@artsci.utoronto.ca>.
37012
37013 2010-02-24  Eric Blake  <eblake@redhat.com>
37014
37015         bootstrap, git-version-gen: use timestamp
37016         * build-aux/git-version-gen (scriptversion): Force UTC.
37017         * build-aux/bootstrap (scriptversion): New variable.
37018
37019         bootstrap: allow older git
37020         * build-aux/bootstrap (GNULIB_SRCDIR): Add fallback if git is
37021         older than 1.6.4.  Requested by the libvirt project.
37022
37023 2010-02-23  Eric Blake  <eblake@redhat.com>
37024
37025         warn-on-use: work with old autoconf
37026         * m4/warn-on-use.m4 (gl_WARN_ON_USE_PREPARE): Accomodate older
37027         AS_VAR semantics of autoconf 2.60.
37028         Reported by Bruno Haible.
37029
37030         bootstrap: improve some comments
37031         * build-aux/bootstrap: Drop unneeded emacs hint.  Add some
37032         clarification comments.
37033
37034         gettimeofday: provide correct function
37035         * lib/gettimeofday.c (gettimeofday): Provide rpl_gettimeofday only
37036         when replacement is declared, otherwise provide gettimeofday.
37037         Reported by Michael Goffioul.
37038
37039 2010-02-23  Jim Meyering  <meyering@redhat.com>
37040
37041         lib-ignore: relax license to "unlimited", not LGPLv2+
37042         * modules/lib-ignore (License): Relax to "unlimited".
37043
37044 2010-02-23  Jim Meyering  <meyering@redhat.com>
37045
37046         lib-ignore: relax license to LGPLv2+
37047         * modules/lib-ignore (License): Relax to LGPLv2+.
37048
37049 2010-02-22  Eric Blake  <eblake@redhat.com>
37050
37051         lseek: avoid bash 3.2 broken pipe bug
37052         * m4/lseek.m4 (gl_FUNC_LSEEK): Drain pipe, to avoid spurious
37053         warning from bash 3.2.
37054         Reported by Ben Pfaff, with analysis from Bruno Haible.
37055
37056         bootstrap: support non-FSF copyright holder
37057         * build-aux/bootstrap (COPYRIGHT_HOLDER, with_gettext): Allow
37058         bootstrap.conf override of COPYRIGHT_HOLDER.
37059         (MSGID_BUGS_ADDRESS): Allow URL rather than email.
37060
37061         bootstrap: interoperate with gettext 0.14.1
37062         * build-aux/bootstrap (slurp): Fix typo when using older gettext.
37063
37064         bootstrap: allow for alternate submodule location
37065         * build-aux/bootstrap (gnulib_path): New variable; use instead of
37066         hardcoding submodule location.
37067         (gnulib_mk): Allow direct use of Makefile.am.
37068
37069         bootstrap: use GNULIB_SRCDIR to reduce disk usage
37070         * build-aux/bootstrap (GNULIB_SRCDIR): If set, use as a reference,
37071         rather than reconfiguring where the submodule points.
37072
37073         gettimeofday: restore support for platforms that lack function
37074         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Also compile
37075         replacement if function is missing.
37076         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_DEFAULTS): New witness.
37077         * modules/sys_time (Makefile.am): Substitute it.
37078         * lib/sys_time.in.h (gettimeofday): Check it.
37079         Reported by Michael Goffioul.
37080
37081 2010-02-21  Bruno Haible  <bruno@clisp.org>
37082
37083         * lib/stdio.in.h (obstack_printf): Fix typo.
37084
37085 2010-02-21  Jose E. Marchesi  <jemarch@gnu.org>
37086
37087         vc-list-files: use bzr ls's -R option
37088         * build-aux/vc-list-files: Invoke bazaar to generate a recursive
37089         list of versioned files based on 'dir' (usage of -R in 'bzr ls').
37090
37091 2010-02-21  Jim Meyering  <meyering@redhat.com>
37092
37093         init.sh: fix EXEEXT shims to work also for names like test-prog
37094         * tests/init.sh: Re-exec a better shell, when needed.
37095         If the current shell lacks support for posix $(...), an init.sh-using
37096         test will now try to find a shell that supports that.  If EXEEXT is
37097         nonempty, we also require support for hyphen-in-alias-name and shell
37098         substitutions like ${var#glob}.  Failure to find such a shell results
37099         in a skipped test.
37100
37101 2010-02-21  Bruno Haible  <bruno@clisp.org>
37102
37103         Really work around around "broken pipe" error message from bash 3.2.
37104         * gnulib-tool (func_reset_sigpipe): Remove function.
37105         (echo): In bash 3.2, define to a function that uses printf.
37106         Analyzed by Ralf Wildenhues, Chet Ramey, Ben Pfaff.
37107
37108 2010-02-20  Bruno Haible  <bruno@clisp.org>
37109
37110         Restore support for automake 1.9.6 with autoconf 2.61.
37111         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Ensure MKDIR_P is AC_SUBSTed.
37112         Reported by James Youngman <jay@gnu.org>.
37113
37114 2010-02-20  Bruno Haible  <bruno@clisp.org>
37115
37116         Improve *printf warning condition.
37117         * lib/stdio.in.h (fprintf, printf, vfprintf, vprintf): Emit warning
37118         also if GNULIB_POSIXCHECK is defined, the *-posix module is not used,
37119         and the function is overridden due to SIGPIPE emulation.
37120
37121 2010-02-20  Bruno Haible  <bruno@clisp.org>
37122
37123         * lib/stdio.in.h: Tweak comments.
37124
37125 2010-02-19  Bruno Haible  <bruno@clisp.org>
37126
37127         Make it easier to find modules. New gnulib-tool option '--find'.
37128         * gnulib-tool: New option --find.
37129         (func_usage): Document it.
37130         (func_sanitize_modulelist): New function, extracted from
37131         func_all_modules.
37132         (func_all_modules): Invoke it.
37133         * doc/gnulib-tool.texi (Which modules?): New node.
37134
37135 2010-02-18  Markus Duft <mduft@gentoo.org>  (tiny change)
37136
37137         * lib/sys_select.in.h: Provide select replacement even if
37138         sys/select.h exists on a system, for Interix.
37139
37140 2010-02-18  Jim Meyering  <meyering@redhat.com>
37141
37142         init.sh: don't use $(...) just yet
37143         * tests/init.sh (create_exe_shim_functions_): Use `...`, not $(...),
37144         to accommodate e.g., Solaris' /bin/sh.
37145
37146 2010-02-17  Bruno Haible  <bruno@clisp.org>
37147
37148         * doc/posix-headers/netdb.texi: Mention NetBSD 5.0 problem.
37149         Reported by Ludovic Courtès <ludo@gnu.org>.
37150
37151 2010-02-16  Simon Josefsson  <simon@josefsson.org>
37152
37153         * modules/userspec-tests (test_userspec_LDADD): Add variable, for
37154         linking with -lintl.
37155
37156 2010-02-17  Simon Josefsson  <simon@josefsson.org>
37157
37158         * lib/netdb.in.h (AI_V4MAPPED, AI_ALL, AI_ADDRCONFIG): Define to 0
37159         if not provided by the system's netdb.h.  Reported by
37160         ludo@gnu.org (Ludovic Courtès).
37161
37162 2010-02-15  Jim Meyering  <meyering@redhat.com>
37163
37164         init.sh: improve portability and efficiency
37165         * tests/init.sh (find_exe_basenames_): Remove unnecessary use of
37166         "dummy" in a for loop.
37167         Use '!', not '^' to select the complement of a character set used
37168         in a "case" statement.
37169         Use shell variable manipulation, a la ${...%.exe}, rather than sed.
37170         Suggestions from Eric Blake.
37171
37172         init.sh: automatically accommodate programs with the .exe suffix
37173         Automatically arrange for an invocation of "prog" to execute the
37174         program named "prog$EXEEXT" (usually prog.exe).  Thus, all invocations
37175         may use the simpler "prog", yet still work when built on a system
37176         that requires specifying the added suffix.
37177         Do this by constructing a function named "prog" that invokes
37178         "prog.exe" for each .exe file in selected directories.
37179         * tests/init.sh (find_exe_basenames_): New function.
37180         (create_exe_shim_functions_): New function.
37181         (path_prepend_): Use it.
37182
37183         maint.mk: mark syntax-check sc_*.m rules as .PHONY
37184         * top/maint.mk ($(syntax-check-rules)): Add .PHONY, so that
37185         "make -t syntax-check" doesn't create a ton of sc_*.m files.
37186
37187 2010-02-14  Jim Meyering  <meyering@redhat.com>
37188
37189         maint.mk: prohibit inclusion of "hash-pjw.h" without_use
37190         * top/maint.mk (sc_prohibit_hash_without_use): Re-add "@".
37191         (sc_prohibit_hash_pjw_without_use): New rule.
37192
37193         maint.mk: allow the default upload destination dir to be overridden
37194         * top/maint.mk (upload_dest_dir_): Define with a default that
37195         preserves the status quo.
37196         (emit_upload_commands): Use it, rather than hard-coding $(PACKAGE).
37197         Reported by Peter Simons.
37198
37199         maint.mk: prohibit inclusion of "hash.h" without_use
37200         * top/maint.mk (sc_prohibit_hash_without_use): New rule.
37201
37202 2010-02-10  Jim Meyering  <meyering@redhat.com>
37203
37204         maint.mk: prohibit inclusion of "ignore-value.h" without_use
37205         * top/maint.mk (sc_prohibit_ignore_value_without_use): New rule.
37206
37207 2010-02-09  Eric Blake  <ebb9@byu.net>
37208         and Bruno Haible  <bruno@clisp.org>
37209
37210         obstack-printf-posix: ensure declaration
37211         * m4/obstack-printf.m4 (gl_DECL_OBSTACK_PRINTF): New macro,
37212         extracted from gl_FUNC_OBSTACK_PRINTF.
37213         (gl_FUNC_OBSTACK_PRINTF): Invoke it.
37214         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
37215         Likewise.
37216         * lib/stdio.in.h (obstack_printf, obstack_vprintf): Declare also
37217         if GNULIB_OBSTACK_PRINTF_POSIX is 1 and GNULIB_OBSTACK_PRINTF is
37218         0.
37219
37220 2010-02-08  Bruno Haible  <bruno@clisp.org>
37221
37222         gnulib-tool: Fix typo in 2010-02-07 commit.
37223         * gnulib-tool (func_get_dependencies): Fix typo in last commit.
37224         Reported by Eric Blake.
37225
37226 2010-02-07  Bruno Haible  <bruno@clisp.org>
37227
37228         gnulib-tool: Fix up caching patches.
37229         * gnulib-tool: New options --cache-modules, --no-cache-modules. Remove
37230         option --no-cache. Use associative arrays when supported by the shell.
37231         (sed_comments): New variable.
37232         (modcache): Renamed from do_cache.
37233         (sed_extract_field_header): Renamed from sed_extract_cache_prog. Don't
37234         abbreviate unnecessarily.
37235         (have_associative): New variable.
37236         (func_cache_var): Define correctly for bash 1.x. Define in an optimized
37237         way also for ksh and zsh.
37238         (func_init_sed_convert_to_cache_statements): New function, extracted
37239         from func_cache_lookup_module. Add support for associative arrays.
37240         Don't set the c_MODULE_cached variable here. Ignore all lines before
37241         the first field header. Remove only the final newline, not all trailing
37242         newlines. Support empty fields correctly. Limit the use of 'eval' to
37243         assignments.
37244         (func_get_description, func_get_status, func_get_notice,
37245         func_get_applicability, func_get_filelist, func_get_dependencies,
37246         func_get_autoconf_early_snippet, func_get_autoconf_snippet,
37247         func_get_automake_snippet, func_get_include_directive,
37248         func_get_link_directive, func_get_license, func_get_maintainer):
37249         Update documentation. List the unoptimized code first. Add support for
37250         associative arrays. Limit the use of 'eval' to assignments.
37251         (func_get_applicability): Undo stylistic pessimisations.
37252         (func_get_automake_snippet, func_get_include_directive): Reduce code
37253         duplication.
37254         (func_modules_transitive_closure, func_modules_add_dummy,
37255         func_modules_notice, func_modules_to_filelist, func_add_file,
37256         func_update_file, func_emit_lib_Makefile_am, func_emit_po_Makevars,
37257         func_emit_po_POTFILES_in, func_emit_tests_Makefile_am, func_import,
37258         func_create_testdir, func_create_megatestdir): Update documentation.
37259
37260 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37261
37262         * gnulib-tool (func_cache_lookup_module): Store the module name
37263         belonging to the cache variable; error out if two different
37264         module names map to the same cache variable name.
37265
37266 2010-01-18  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37267
37268         gnulib-tool: Make caching optional.
37269         * gnulib-tool: Accept option --no-cache, turning off $do_cache.
37270         Update matching short versions of --no-changelog.
37271         (func_usage): Update.
37272         (sed_extract_cache_prog): Renamed from ...
37273         (sed_extract_prog): ... this; revert to old extraction script.
37274         (func_get_description, func_get_status)
37275         (func_get_notice, func_get_applicability, func_get_filelist)
37276         (func_get_dependencies, func_get_autoconf_early_snippet)
37277         (func_get_autoconf_snippet, func_get_automake_snippet)
37278         (func_get_include_directive, func_get_link_directive)
37279         (func_get_license, func_get_maintainer): If $do_cache is false,
37280         use old, non-caching extraction scripts.
37281         Suggestion by Bruno Haible.
37282
37283 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
37284
37285         gnulib-tool: cache module metainformation.
37286         * gnulib-tool (sed_extract_prog): Match newline before each
37287         header, and rewrite header to a shell variable suffix.
37288         (func_cache_var, func_cache_lookup_module): New functions,
37289         to turn a module name into a cache variable prefix, and to
37290         look up and cache module metainformation.
37291         (func_get_description, func_get_status)
37292         (func_get_notice, func_get_applicability, func_get_filelist)
37293         (func_get_dependencies, func_get_autoconf_early_snippet)
37294         (func_get_autoconf_snippet, func_get_automake_snippet)
37295         (func_get_include_directive, func_get_link_directive)
37296         (func_get_license, func_get_maintainer): Use
37297         func_cache_lookup_module.
37298
37299 2010-02-07  Bruno Haible  <bruno@clisp.org>
37300
37301         fnctl: Fix missing dependency.
37302         * modules/fcntl (Depends-on): Add getdtablesize.
37303         Reported by John W. Eaton <jwe@gnu.org>.
37304
37305 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37306
37307         Argp: fix recognition of short alias options.
37308
37309         * lib/argp-parse.c (convert_options): Fix improper use of
37310         `|' between character values.
37311         * tests/test-argp.c (group1_option): New alias option
37312         --read (-r).
37313         (group1_parser): Special handling for 'r'.
37314         (test15): New test case.
37315         (test_fun): Add test15.
37316         * tests/test-argp-2.sh: Update expected --help and --usage
37317         outputs.
37318
37319 2010-02-05  Sergey Poznyakoff  <gray@gnu.org.ua>
37320
37321         * tests/test-argp.c: Fix indentation.
37322
37323 2010-02-04  Eric Blake  <ebb9@byu.net>
37324
37325         gettimeofday: expose type of second argument
37326         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Do better detection
37327         of glibc extension signature, and define GETTIMEOFDAY_TIMEZONE.
37328         * tests/test-gettimeofday.c: Use it to silence warning.
37329         * doc/posix-functions/gettimeofday.texi (gettimeofday): Document
37330         the issue.
37331
37332 2010-02-03  Jim Meyering  <meyering@redhat.com>
37333
37334         regcomp.c: avoid the sole warning from gcc's -Wtype-limits
37335         * lib/regcomp.c (TYPE_SIGNED): Define.
37336         (parse_dup_op): Use it to avoid the sole warning from -Wtype-limits.
37337
37338         regcomp.c: avoid a new -Wshadow warning
37339         * lib/regcomp.c (create_initial_state): Do not shadow local "err".
37340
37341 2010-02-01  Jim Meyering  <meyering@redhat.com>
37342
37343         removing useless parentheses in cpp #define directives
37344         For motivation, see commit c0221df4, "define STREQ(a,b)
37345         consistently, removing useless parentheses"
37346         * lib/memcmp.c (CMP_LT_OR_GT): Remove useless parentheses.
37347         * lib/mountlist.c (MNT_IGNORE): Likewise.
37348         * lib/trim.h (trim, trim_trailing, trim_leading): Likewise.
37349
37350 2010-02-01  Eric Blake  <ebb9@byu.net>
37351
37352         sys_time: use link-warning
37353         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Split defaults...
37354         (gl_HEADER_SYS_TIME_H_DEFAULTS): ...into new macro.
37355         (gl_SYS_TIME_MODULE_INDICATOR): New macro.
37356         * modules/sys_time (Depends-on): Add warn-on-use.
37357         (Makefile.am): Always build replacement.
37358         (configure.ac): Update substitutions.
37359         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY)
37360         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Include defaults, and no longer
37361         bother with SYS_TIME_H.
37362         * modules/gettimeofday (configure.ac): Declare indicator.
37363         * lib/sys_time.in.h (gettimeofday): Warn if gnulib module is not
37364         in use.
37365
37366         closein-tests: silence compiler warning
37367         * tests/test-closein.c (main): Ignore fread result.
37368         * modules/closein-tests (Depends-on): Add ignore-value.
37369
37370         tests: silence warning about system return
37371         * tests/test-areadlink-with-size.c (main): Ignore system result.
37372         * tests/test-areadlink.c (main): Likewise.
37373         * tests/test-areadlinkat-with-size.c (main): Likewise.
37374         * tests/test-areadlinkat.c (main): Likewise.
37375         * tests/test-canonicalize-lgpl.c (main): Likewise.
37376         * tests/test-canonicalize.c (main): Likewise.
37377         * tests/test-chown.c (main): Likewise.
37378         * tests/test-fchownat.c (main): Likewise.
37379         * tests/test-fdutimensat.c (main): Likewise.
37380         * tests/test-fstatat.c (main): Likewise.
37381         * tests/test-futimens.c (main): Likewise.
37382         * tests/test-lchown.c (main): Likewise.
37383         * tests/test-link.c (main): Likewise.
37384         * tests/test-linkat.c (main): Likewise.
37385         * tests/test-lstat.c (main): Likewise.
37386         * tests/test-mkdir.c (main): Likewise.
37387         * tests/test-mkdirat.c (main): Likewise.
37388         * tests/test-mkfifo.c (main): Likewise.
37389         * tests/test-mkfifoat.c (main): Likewise.
37390         * tests/test-mknod.c (main): Likewise.
37391         * tests/test-readlink.c (main): Likewise.
37392         * tests/test-remove.c (main): Likewise.
37393         * tests/test-rename.c (main): Likewise.
37394         * tests/test-renameat.c (main): Likewise.
37395         * tests/test-rmdir.c (main): Likewise.
37396         * tests/test-symlink.c (main): Likewise.
37397         * tests/test-symlinkat.c (main): Likewise.
37398         * tests/test-unlink.c (main): Likewise.
37399         * tests/test-unlinkat.c (main): Likewise.
37400         * tests/test-utimens.c (main): Likewise.
37401         * tests/test-utimensat.c (main): Likewise.
37402         * modules/areadlink-tests (Depends-on): Add ignore-value.
37403         * modules/areadlink-with-size-tests (Depends-on): Likewise.
37404         * modules/areadlinkat-tests (Depends-on): Likewise.
37405         * modules/areadlinkat-with-size-tests (Depends-on): Likewise.
37406         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
37407         * modules/canonicalize-tests (Depends-on): Likewise.
37408         * modules/chown-tests (Depends-on): Likewise.
37409         * modules/fdutimensat-tests (Depends-on): Likewise.
37410         * modules/futimens-tests (Depends-on): Likewise.
37411         * modules/lchown-tests (Depends-on): Likewise.
37412         * modules/link-tests (Depends-on): Likewise.
37413         * modules/linkat-tests (Depends-on): Likewise.
37414         * modules/lstat-tests (Depends-on): Likewise.
37415         * modules/mkdir-tests (Depends-on): Likewise.
37416         * modules/mkfifo-tests (Depends-on): Likewise.
37417         * modules/mkfifoat-tests (Depends-on): Likewise.
37418         * modules/mknod-tests (Depends-on): Likewise.
37419         * modules/openat-tests (Depends-on): Likewise.
37420         * modules/readlink-tests (Depends-on): Likewise.
37421         * modules/remove-tests (Depends-on): Likewise.
37422         * modules/rename-tests (Depends-on): Likewise.
37423         * modules/renameat-tests (Depends-on): Likewise.
37424         * modules/rmdir-tests (Depends-on): Likewise.
37425         * modules/symlink-tests (Depends-on): Likewise.
37426         * modules/symlinkat-tests (Depends-on): Likewise.
37427         * modules/unlink-tests (Depends-on): Likewise.
37428         * modules/utimens-tests (Depends-on): Likewise.
37429         * modules/utimensat-tests (Depends-on): Likewise.
37430
37431 2010-01-31  Bruno Haible  <bruno@clisp.org>
37432
37433         Perform the same test for many <math.h> functions.
37434         * m4/mathfunc.m4 (gl_COMMON_DOUBLE_MATHFUNC,
37435         gl_COMMON_DOUBLE_MATHFUNC_TEST): New macros.
37436         * m4/sqrt.m4 (gl_FUNC_SQRT): Invoke gl_COMMON_DOUBLE_MATHFUNC instead
37437         of gl_MATHFUNC.
37438         * modules/acos (configure.ac): Likewise.
37439         * modules/asin (configure.ac): Likewise.
37440         * modules/atan (configure.ac): Likewise.
37441         * modules/atan2 (configure.ac): Likewise.
37442         * modules/cbrt (configure.ac): Likewise.
37443         * modules/copysign (configure.ac): Likewise.
37444         * modules/cos (configure.ac): Likewise.
37445         * modules/cosh (configure.ac): Likewise.
37446         * modules/erf (configure.ac): Likewise.
37447         * modules/erfc (configure.ac): Likewise.
37448         * modules/exp (configure.ac): Likewise.
37449         * modules/fmod (configure.ac): Likewise.
37450         * modules/hypot (configure.ac): Likewise.
37451         * modules/j0 (configure.ac): Likewise.
37452         * modules/j1 (configure.ac): Likewise.
37453         * modules/jn (configure.ac): Likewise.
37454         * modules/lgamma (configure.ac): Likewise.
37455         * modules/log (configure.ac): Likewise.
37456         * modules/log10 (configure.ac): Likewise.
37457         * modules/log1p (configure.ac): Likewise.
37458         * modules/pow (configure.ac): Likewise.
37459         * modules/remainder (configure.ac): Likewise.
37460         * modules/sin (configure.ac): Likewise.
37461         * modules/sinh (configure.ac): Likewise.
37462         * modules/tan (configure.ac): Likewise.
37463         * modules/tanh (configure.ac): Likewise.
37464         * modules/y0 (configure.ac): Likewise.
37465         * modules/y1 (configure.ac): Likewise.
37466         * modules/yn (configure.ac): Likewise.
37467         Suggested by Paolo Bonzini.
37468
37469 2010-01-31  Bruno Haible  <bruno@clisp.org>
37470
37471         * m4/getline.m4 (gl_FUNC_GETLINE): Add comment about REPLACE_GETLINE.
37472
37473 2010-01-31  Bruno Haible  <bruno@clisp.org>
37474
37475         Work around getdelim() bug on FreeBSD 8.0.
37476         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Test whether getdelim supports an
37477         initially NULL line. Set REPLACE_GETDELIM if getdelim exists but does
37478         not work.
37479         * lib/stdio.in.h (getdelim): Define as an alias if REPLACE_GETDELIM
37480         is 1.
37481         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize REPLACE_GETDELIM.
37482         * modules/stdio (Makefile.am): Also substitute REPLACE_GETDELIM.
37483         * tests/test-getdelim.c (main): Also test result for a NULL buffer and
37484         a non-zero size.
37485         * doc/posix-functions/getdelim.texi: Mention the FreeBSD bug.
37486
37487 2010-01-31  Bruno Haible  <bruno@clisp.org>
37488
37489         Work around getline() bug on FreeBSD 8.0.
37490         * m4/getline.m4 (gl_FUNC_GETLINE): Also test result for a NULL buffer
37491         and a non-zero size.
37492         * tests/test-getline.c (main): Likewise.
37493         * doc/posix-functions/getline.texi: Mention the FreeBSD bug.
37494         Reported by Dennis <noordsij@cs.helsinki.fi> via Eric Blake.
37495
37496 2010-01-28  Eric Blake  <ebb9@byu.net>
37497
37498         regex: fix build failure
37499         * lib/regex_internal.h (__GNUC_PREREQ): Define for non-glibc
37500         platforms.
37501
37502 2010-01-28  Jim Meyering  <meyering@redhat.com>
37503
37504         regex: do not ignore memory allocation failure
37505         * lib/regex_internal.c (create_cd_newstate): Detect
37506         re_node_set_init_copy failure.   Extracted from glibc commit
37507         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37508
37509         regex: sync more white-space changes from libc
37510         * lib/regex_internal.c: White-space only changes.
37511         * lib/regexec.c: Likewise.
37512
37513         regex: add many uses of __attribute_warn_unused_result__
37514         * lib/regex_internal.c: Use __attribute_warn_unused_result__.
37515         * lib/regexec.c: Likewise.
37516         Extracted from a messy glibc commit.
37517
37518         regcomp.c: spelling and merge-artifact from glibc
37519         * lib/regcomp.c: Merge remainder of glibc's
37520         2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37521
37522         regcomp.c: sync white-space changes from glibc
37523         * lib/regcomp.c: Merge to accommodate white space
37524         changes from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c.
37525
37526         regcomp.c: do not ignore internal return values
37527         * lib/regcomp.c: Do not ignore internal return values.
37528         This is from glibc's 2da42bc06566bc89785e580fa1ac89b4c9f2a63c,
37529         but without its white-space changes and spelling fixes.
37530
37531         regex_internal.h: define __attribute_warn_unused_result__
37532         * lib/regex_internal.h (__attribute_warn_unused_result__): Define.
37533
37534         maint: add a syntax-check rule to check for vulnerable Makefile.in
37535         * top/maint.mk (sc_vulnerable_makefile_CVE-2009-4029): New rule.
37536
37537 2010-01-27  Jim Meyering  <meyering@redhat.com>
37538
37539         ncftpput-ftp: clean up spaces
37540         * build-aux/ncftpput-ftp: Make Copyright line consistent.
37541         Remove trailing blanks.
37542
37543 2010-01-27  Simon Josefsson  <simon@josefsson.org>
37544
37545         * build-aux/git-version-gen: Fix copyright statement.
37546         * build-aux/gnupload: Likewise.
37547         * tests/test-arcfour.c: Likewise.
37548         * tests/test-arctwo.c: Likewise.
37549         * tests/test-count-one-bits.c: Likewise.
37550         * tests/test-crc.c: Likewise.
37551         * tests/test-des.c: Likewise.
37552         * tests/test-gc-arcfour.c: Likewise.
37553         * tests/test-gc-arctwo.c: Likewise.
37554         * tests/test-gc-des.c: Likewise.
37555         * tests/test-gc-hmac-md5.c: Likewise.
37556         * tests/test-gc-hmac-sha1.c: Likewise.
37557         * tests/test-gc-md2.c: Likewise.
37558         * tests/test-gc-md4.c: Likewise.
37559         * tests/test-gc-md5.c: Likewise.
37560         * tests/test-gc-pbkdf2-sha1.c: Likewise.
37561         * tests/test-gc-rijndael.c: Likewise.
37562         * tests/test-gc-sha1.c: Likewise.
37563         * tests/test-gc.c: Likewise.
37564         * tests/test-gethostname.c: Likewise.
37565         * tests/test-gettimeofday.c: Likewise.
37566         * tests/test-hash.c: Likewise.
37567         * tests/test-hmac-md5.c: Likewise.
37568         * tests/test-hmac-sha1.c: Likewise.
37569         * tests/test-md2.c: Likewise.
37570         * tests/test-md4.c: Likewise.
37571         * tests/test-md5.c: Likewise.
37572         * tests/test-memchr.c: Likewise.
37573         * tests/test-memchr2.c: Likewise.
37574         * tests/test-memcmp.c: Likewise.
37575         * tests/test-memmem.c: Likewise.
37576         * tests/test-memrchr.c: Likewise.
37577         * tests/test-rawmemchr.c: Likewise.
37578         * tests/test-read-file.c: Likewise.
37579         * tests/test-rijndael.c: Likewise.
37580         * tests/test-sockets.c: Likewise.
37581         * tests/test-strchrnul.c: Likewise.
37582         * tests/test-strstr.c: Likewise.
37583         * tests/test-strtod.c: Likewise.
37584         * build-aux/ncftpput-ftp: Likewise.
37585
37586 2010-01-26  Eric Blake  <ebb9@byu.net>
37587
37588         ignore-value: update recommended header name
37589         * modules/ignore-value (Include): Only use <> for headers that
37590         exist in glibc.
37591
37592 2010-01-26  Jim Meyering  <meyering@redhat.com>
37593
37594         test-userspec.c: avoid compiler warnings
37595         * tests/test-userspec.c (main): Avoid shadowing ("uid"),
37596         and "initialization discards qualifiers..." warnings.
37597         Put the first "uid" in its own scope, and make char* members "const".
37598
37599 2010-01-25  Bruno Haible  <bruno@clisp.org>
37600
37601         gnulib-tool: Make warning diagnostics consistent.
37602         * gnulib-tool (func_warning): New function.
37603         Use it everywhere where gnulib-tool produces output to stderr and it is
37604         not a fatal error.
37605
37606 2010-01-25  Bruno Haible  <bruno@clisp.org>
37607
37608         Fix test dependencies.
37609         * modules/xstrtol-tests (Depends-on): Add inttypes.
37610         * modules/xstrtoll-tests (Depends-on): Likewise. Remove xstrtoll.
37611
37612 2010-01-25 Pádraig Brady <P@draigBrady.com>
37613
37614         syntax-check: detect incorrect boolean macro values in config.h
37615         * modules/maintainer-makefile (configure.ac): Parameterize the location
37616         of config.h which will be available to makefiles as $(CONFIG_INCLUDE).
37617         The logic is from Eric Blake and the location indicated by Jim Meyering.
37618         Note the more natural CONFIG_HEADER name is prohibited by automake
37619         for backwards compatibility reasons.
37620         * top/maint.mk (sc_Wundef_boolean): New rule.
37621
37622 2010-01-25  Jim Meyering  <meyering@redhat.com>
37623
37624         bootstrap: detect MacOS 10.6's shasum, too
37625         * build-aux/bootstrap: Also recognize MacOS 10.6's shasum.
37626         Suggested by Thomas Treichl <Thomas.Treichl@gmx.net>.
37627
37628 2010-01-23  Jim Meyering  <meyering@redhat.com>
37629
37630         xstrtoll: new module
37631         * modules/xstrtoll: New file.
37632         * MODULES.html.sh (Numeric conversion functions): Add xstrtoll.
37633         * lib/xstrtol.h [HAVE_LONG_LONG_INT]: Declare xstrtoll and xstrtoull.
37634         * lib/xstrtoll.c, lib/xstrtoull.c: New files.
37635         ./configure fails if you use this module and lack "long long".
37636         * modules/xstrtoll-tests: New module.
37637         * tests/test-xstrtoll.c, tests/test-xstrtoull.c: New files.
37638         * tests/test-xstrtoll.sh: Like test-xstrtol.c, but use the
37639         new init.sh-based test framework.
37640
37641 2010-01-24  Bruno Haible  <bruno@clisp.org>
37642
37643         Tests for module 'yn'.
37644         * modules/yn-tests: New file.
37645         * tests/test-yn.c: New file.
37646
37647         Tests for module 'y1'.
37648         * modules/y1-tests: New file.
37649         * tests/test-y1.c: New file.
37650
37651         Tests for module 'y0'.
37652         * modules/y0-tests: New file.
37653         * tests/test-y0.c: New file.
37654
37655         Tests for module 'tanh'.
37656         * modules/tanh-tests: New file.
37657         * tests/test-tanh.c: New file.
37658
37659         Tests for module 'tan'.
37660         * modules/tan-tests: New file.
37661         * tests/test-tan.c: New file.
37662
37663         Tests for module 'sqrt'.
37664         * modules/sqrt-tests: New file.
37665         * tests/test-sqrt.c: New file.
37666
37667         Tests for module 'sinh'.
37668         * modules/sinh-tests: New file.
37669         * tests/test-sinh.c: New file.
37670
37671         Tests for module 'sin'.
37672         * modules/sin-tests: New file.
37673         * tests/test-sin.c: New file.
37674
37675         Tests for module 'rint'.
37676         * modules/rint-tests: New file.
37677         * tests/test-rint.c: New file.
37678
37679         Tests for module 'remainder'.
37680         * modules/remainder-tests: New file.
37681         * tests/test-remainder.c: New file.
37682
37683         Tests for module 'pow'.
37684         * modules/pow-tests: New file.
37685         * tests/test-pow.c: New file.
37686
37687         Tests for module 'nextafter'.
37688         * modules/nextafter-tests: New file.
37689         * tests/test-nextafter.c: New file.
37690
37691         Tests for module 'modf'.
37692         * modules/modf-tests: New file.
37693         * tests/test-modf.c: New file.
37694
37695         Tests for module 'logb'.
37696         * modules/logb-tests: New file.
37697         * tests/test-logb.c: New file.
37698
37699         Tests for module 'log1p'.
37700         * modules/log1p-tests: New file.
37701         * tests/test-log1p.c: New file.
37702
37703         Tests for module 'log10'.
37704         * modules/log10-tests: New file.
37705         * tests/test-log10.c: New file.
37706
37707         Tests for module 'log'.
37708         * modules/log-tests: New file.
37709         * tests/test-log.c: New file.
37710
37711         Tests for module 'lgamma'.
37712         * modules/lgamma-tests: New file.
37713         * tests/test-lgamma.c: New file.
37714
37715         Tests for module 'ldexp'.
37716         * modules/ldexp-tests: New file.
37717         * tests/test-ldexp.c: New file.
37718
37719         Tests for module 'jn'.
37720         * modules/jn-tests: New file.
37721         * tests/test-jn.c: New file.
37722
37723         Tests for module 'j1'.
37724         * modules/j1-tests: New file.
37725         * tests/test-j1.c: New file.
37726
37727         Tests for module 'j0'.
37728         * modules/j0-tests: New file.
37729         * tests/test-j0.c: New file.
37730
37731         Tests for module 'hypot'.
37732         * modules/hypot-tests: New file.
37733         * tests/test-hypot.c: New file.
37734
37735         Tests for module 'fmod'.
37736         * modules/fmod-tests: New file.
37737         * tests/test-fmod.c: New file.
37738
37739         Tests for module 'fabs'.
37740         * modules/fabs-tests: New file.
37741         * tests/test-fabs.c: New file.
37742
37743         Tests for module 'exp'.
37744         * modules/exp-tests: New file.
37745         * tests/test-exp.c: New file.
37746
37747         Tests for module 'erfc'.
37748         * modules/erfc-tests: New file.
37749         * tests/test-erfc.c: New file.
37750
37751         Tests for module 'erf'.
37752         * modules/erf-tests: New file.
37753         * tests/test-erf.c: New file.
37754
37755         Tests for module 'cosh'.
37756         * modules/cosh-tests: New file.
37757         * tests/test-cosh.c: New file.
37758
37759         Tests for module 'cos'.
37760         * modules/cos-tests: New file.
37761         * tests/test-cos.c: New file.
37762
37763         Tests for module 'copysign'.
37764         * modules/copysign-tests: New file.
37765         * tests/test-copysign.c: New file.
37766
37767         Tests for module 'cbrt'.
37768         * modules/cbrt-tests: New file.
37769         * tests/test-cbrt.c: New file.
37770
37771         Tests for module 'atan2'.
37772         * modules/atan2-tests: New file.
37773         * tests/test-atan2.c: New file.
37774
37775         Tests for module 'atan'.
37776         * modules/atan-tests: New file.
37777         * tests/test-atan.c: New file.
37778
37779         Tests for module 'asin'.
37780         * modules/asin-tests: New file.
37781         * tests/test-asin.c: New file.
37782
37783         Tests for module 'acos'.
37784         * modules/acos-tests: New file.
37785         * tests/test-acos.c: New file.
37786
37787 2010-01-24  Bruno Haible  <bruno@clisp.org>
37788
37789         Fix tests for common <math.h> functions.
37790         * m4/mathfunc.m4 (gl_MATHFUNC): Take two additional parameters. Use a
37791         code snippet that references the function pointer, rather than merely
37792         calling the function. Substitute the FUNC_LIBM variable.
37793         * m4/sqrt.m4 (gl_FUNC_SQRT): Update gl_MATHFUNC invocation.
37794         * modules/acos (configure.ac): Likewise.
37795         * modules/asin (configure.ac): Likewise.
37796         * modules/atan (configure.ac): Likewise.
37797         * modules/atan2 (configure.ac): Likewise.
37798         * modules/cbrt (configure.ac): Likewise.
37799         * modules/copysign (configure.ac): Likewise.
37800         * modules/cos (configure.ac): Likewise.
37801         * modules/cosh (configure.ac): Likewise.
37802         * modules/erf (configure.ac): Likewise.
37803         * modules/erfc (configure.ac): Likewise.
37804         * modules/exp (configure.ac): Likewise.
37805         * modules/fabs (configure.ac): Likewise.
37806         * modules/fmod (configure.ac): Likewise.
37807         * modules/hypot (configure.ac): Likewise.
37808         * modules/j0 (configure.ac): Likewise.
37809         * modules/j1 (configure.ac): Likewise.
37810         * modules/jn (configure.ac): Likewise.
37811         * modules/ldexp (configure.ac): Likewise.
37812         * modules/lgamma (configure.ac): Likewise.
37813         * modules/log (configure.ac): Likewise.
37814         * modules/log10 (configure.ac): Likewise.
37815         * modules/log1p (configure.ac): Likewise.
37816         * modules/logb (configure.ac): Likewise.
37817         * modules/modf (configure.ac): Likewise.
37818         * modules/nextafter (configure.ac): Likewise.
37819         * modules/pow (configure.ac): Likewise.
37820         * modules/remainder (configure.ac): Likewise.
37821         * modules/rint (configure.ac): Likewise.
37822         * modules/sin (configure.ac): Likewise.
37823         * modules/sinh (configure.ac): Likewise.
37824         * modules/tan (configure.ac): Likewise.
37825         * modules/tanh (configure.ac): Likewise.
37826         * modules/y0 (configure.ac): Likewise.
37827         * modules/y1 (configure.ac): Likewise.
37828         * modules/yn (configure.ac): Likewise.
37829
37830 2010-01-24  Bruno Haible  <bruno@clisp.org>
37831
37832         Tests: Defeat inlining of math functions by GCC >= 4.3.0.
37833         * tests/test-acosl.c (x): New variable.
37834         (main): Store argument in x and fetch it from x.
37835         * tests/test-asinl.c (x): New variable.
37836         (main): Store argument in x and fetch it from x.
37837         * tests/test-atanl.c (x): New variable.
37838         (main): Store argument in x and fetch it from x.
37839         * tests/test-cosl.c (x): New variable.
37840         (main): Store argument in x and fetch it from x.
37841         * tests/test-expl.c (x): New variable.
37842         (main): Store argument in x and fetch it from x.
37843         * tests/test-logl.c (x): New variable.
37844         (main): Store argument in x and fetch it from x.
37845         * tests/test-sinl.c (x): New variable.
37846         (main): Store argument in x and fetch it from x.
37847         * tests/test-sqrtl.c (x): New variable.
37848         (main): Store argument in x and fetch it from x.
37849         * tests/test-tanl.c (x): New variable.
37850         (main): Store argument in x and fetch it from x.
37851
37852 2010-01-24  Bruno Haible  <bruno@clisp.org>
37853
37854         Provide EXEEXT and srcdir in TESTS_ENVIRONMENT by default.
37855         * gnulib-tool (func_emit_tests_Makefile_am): Add EXEEXT and srcdir
37856         assignments to the initial TESTS_ENVIRONMENT.
37857         * doc/gnulib.texi (Unit test modules): Document it.
37858         * modules/acl-tests (Makefile.am): Drop EXEEXT assignment from
37859         TESTS_ENVIRONMENT.
37860         * modules/btowc-tests (Makefile.am): Likewise.
37861         * modules/c-stack-tests (Makefile.am): Likewise.
37862         * modules/c-strcase-tests (Makefile.am): Likewise.
37863         * modules/copy-file-tests (Makefile.am): Likewise.
37864         * modules/mbmemcasecmp-tests (Makefile.am): Likewise.
37865         * modules/mbmemcasecoll-tests (Makefile.am): Likewise.
37866         * modules/mbrtowc-tests (Makefile.am): Likewise.
37867         * modules/mbscasecmp-tests (Makefile.am): Likewise.
37868         * modules/mbscasestr-tests (Makefile.am): Likewise.
37869         * modules/mbschr-tests (Makefile.am): Likewise.
37870         * modules/mbscspn-tests (Makefile.am): Likewise.
37871         * modules/mbsinit-tests (Makefile.am): Likewise.
37872         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
37873         * modules/mbsnrtowcs-tests (Makefile.am): Likewise.
37874         * modules/mbspbrk-tests (Makefile.am): Likewise.
37875         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
37876         * modules/mbsrchr-tests (Makefile.am): Likewise.
37877         * modules/mbsrtowcs-tests (Makefile.am): Likewise.
37878         * modules/mbsspn-tests (Makefile.am): Likewise.
37879         * modules/mbsstr-tests (Makefile.am): Likewise.
37880         * modules/nl_langinfo-tests (Makefile.am): Likewise.
37881         * modules/unicase/locale-language-tests (Makefile.am): Likewise.
37882         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
37883         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
37884         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
37885         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
37886         * modules/uniwbrk/ulc-wordbreaks-tests (Makefile.am): Likewise.
37887         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
37888         * modules/wcrtomb-tests (Makefile.am): Likewise.
37889         * modules/wcsnrtombs-tests (Makefile.am): Likewise.
37890         * modules/wcsrtombs-tests (Makefile.am): Likewise.
37891         * modules/quotearg-tests (Makefile.am): Drop EXEEXT and srcdir
37892         assignments from TESTS_ENVIRONMENT.
37893         * modules/argp-tests (Makefile.am): Drop TESTS_ENVIRONMENT
37894         augmentation.
37895         * modules/argp-version-etc-tests (Makefile.am): Likewise.
37896         * modules/atexit-tests (Makefile.am): Likewise.
37897         * modules/binary-io-tests (Makefile.am): Likewise.
37898         * modules/closein-tests (Makefile.am): Likewise.
37899         * modules/dprintf-posix-tests (Makefile.am): Likewise.
37900         * modules/exclude-tests (Makefile.am): Likewise.
37901         * modules/fflush-tests (Makefile.am): Likewise.
37902         * modules/fpending-tests (Makefile.am): Likewise.
37903         * modules/fprintf-posix-tests (Makefile.am): Likewise.
37904         * modules/freadahead-tests (Makefile.am): Likewise.
37905         * modules/freadptr-tests (Makefile.am): Likewise.
37906         * modules/freadseek-tests (Makefile.am): Likewise.
37907         * modules/fseek-tests (Makefile.am): Likewise.
37908         * modules/fseeko-tests (Makefile.am): Likewise.
37909         * modules/ftell-tests (Makefile.am): Likewise.
37910         * modules/ftello-tests (Makefile.am): Likewise.
37911         * modules/idpriv-drop-tests (Makefile.am): Likewise.
37912         * modules/idpriv-droptemp-tests (Makefile.am): Likewise.
37913         * modules/lseek-tests (Makefile.am): Likewise.
37914         * modules/parse-duration-tests (Makefile.am): Likewise.
37915         * modules/perror-tests (Makefile.am): Likewise.
37916         * modules/pipe-filter-gi-tests (Makefile.am): Likewise.
37917         * modules/pipe-filter-ii-tests (Makefile.am): Likewise.
37918         * modules/pipe-tests (Makefile.am): Likewise.
37919         * modules/pread-tests (Makefile.am): Likewise.
37920         * modules/printf-posix-tests (Makefile.am): Likewise.
37921         * modules/select-tests (Makefile.am): Likewise.
37922         * modules/sigpipe-tests (Makefile.am): Likewise.
37923         * modules/tsearch-tests (Makefile.am): Likewise.
37924         * modules/unicase/ulc-casecmp-tests (Makefile.am): Likewise.
37925         * modules/unicase/ulc-casecoll-tests (Makefile.am): Likewise.
37926         * modules/uniname/uniname-tests (Makefile.am): Likewise.
37927         * modules/uniwidth/width-tests (Makefile.am): Likewise.
37928         * modules/vdprintf-posix-tests (Makefile.am): Likewise.
37929         * modules/version-etc-tests (Makefile.am): Likewise.
37930         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
37931         * modules/vprintf-posix-tests (Makefile.am): Likewise.
37932         * modules/xalloc-die-tests (Makefile.am): Likewise.
37933         * modules/xprintf-posix-tests (Makefile.am): Likewise.
37934         * modules/xstrtoimax-tests (Makefile.am): Likewise.
37935         * modules/xstrtol-tests (Makefile.am): Likewise.
37936         * modules/xstrtoumax-tests (Makefile.am): Likewise.
37937         * modules/yesno-tests (Makefile.am): Likewise.
37938         Suggested by Jim Meyering.
37939
37940 2010-01-24  Bruno Haible  <bruno@clisp.org>
37941
37942         More documentation.
37943         * doc/gnulib.texi (Writing modules): New chapter.
37944         (Miscellaneous Notes): Move sections "Comments" and "Header files" to
37945         the new chapter.
37946
37947 2010-01-24  Jim Meyering  <meyering@redhat.com>
37948
37949         maint.mk: do not prepend "./" after filtering
37950         * top/maint.mk (_prepend_srcdir_prefix): New variable
37951         (VC_LIST_EXCEPT): Use it to avoid prepending (post-filter)
37952         "./" when $(srcdir) is ".".
37953
37954         define STREQ(a,b) consistently, removing useless parentheses
37955         #define STREQ(a, b) (strcmp ((a), (b)) == 0) is over-parenthesized,
37956         since the only risk is that "a" or "b" contains an unparenthesized
37957         comma, but if either did that, STREQ would have 3 or more arguments.
37958         Hence, #define STREQ(a, b) (strcmp (a, b) == 0) is better.
37959         * lib/fts.c (STREQ): Remove unnecessary parentheses.
37960         * lib/hash-triple.c (STREQ): Likewise.
37961         * tests/test-argv-iter.c (STREQ): Use a and b, not s1 and s2.
37962         * lib/getugroups.c (STREQ): Likewise.
37963
37964 2010-01-23  Jim Meyering  <meyering@redhat.com>
37965
37966         maint.mk: fix syntax-check in a non-srcdir build directory
37967         * top/maint.mk (_dot_escaped_srcdir): Remove erroneous backslash,
37968         introduced in my 2010-01-21 commit, a6da6c45.  Reported by Eric Blake.
37969
37970 2010-01-22  Jim Meyering  <meyering@redhat.com>
37971
37972         userspec: add unit tests
37973         * tests/test-userspec.c: New file.
37974         * modules/userspec-tests: Likewise.
37975
37976 2010-01-21  Jim Meyering  <meyering@redhat.com>
37977
37978         maint.mk: handle source file names containing "." robustly
37979         * top/maint.mk (_dot_escaped_srcdir): Define.
37980         (VC_LIST): Use it in LHS of sed substitution.
37981
37982 2010-01-21  Jiri Denemark  <jdenemar@redhat.com>
37983
37984         maint.mk: fix VC_LIST_EXCEPT for srcdir != builddir
37985         * top/maint.mk (VC_LIST_EXCEPT): Preprocess the output of
37986         $(VC_LIST) to remove a prefix of '$(srcdir)/', so that it works
37987         from a non-srcdir build.
37988
37989 2010-01-20  Eric Blake  <ebb9@byu.net>
37990
37991         warn-on-use: use instead of link-warning
37992         * modules/stdio (Depends-on, Makefile.am): Drop link-warning.
37993         * modules/unistd (Depends-on, Makefile.am): Likewise.
37994         * modules/arpa_inet (Depends-on): Replace link-warning with
37995         warn-on-use.
37996         (Makefile.am): Update rules accordingly.
37997         * modules/ctype (Depends-on, Makefile.am): Likewise.
37998         * modules/dirent (Depends-on, Makefile.am): Likewise.
37999         * modules/fcntl-h (Depends-on, Makefile.am): Likewise.
38000         * modules/inttypes (Depends-on, Makefile.am): Likewise.
38001         * modules/langinfo (Depends-on, Makefile.am): Likewise.
38002         * modules/locale (Depends-on, Makefile.am): Likewise.
38003         * modules/math (Depends-on, Makefile.am): Likewise.
38004         * modules/search (Depends-on, Makefile.am): Likewise.
38005         * modules/signal (Depends-on, Makefile.am): Likewise.
38006         * modules/spawn (Depends-on, Makefile.am): Likewise.
38007         * modules/stdlib (Depends-on, Makefile.am): Likewise.
38008         * modules/string (Depends-on, Makefile.am): Likewise.
38009         * modules/strings (Depends-on, Makefile.am): Likewise.
38010         * modules/sys_file (Depends-on, Makefile.am): Likewise.
38011         * modules/sys_ioctl (Depends-on, Makefile.am): Likewise.
38012         * modules/sys_select (Depends-on, Makefile.am): Likewise.
38013         * modules/sys_socket (Depends-on, Makefile.am): Likewise.
38014         * modules/sys_stat (Depends-on, Makefile.am): Likewise.
38015         * modules/sys_times (Depends-on, Makefile.am): Likewise.
38016         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
38017         * modules/wchar (Depends-on, Makefile.am): Likewise.
38018         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Check which functions
38019         should be poisoned.
38020         * m4/ctype.m4 (gl_CTYPE_H): Likewise.
38021         * m4/dirent_h.m4 (gl_DIRENT_H): Likewise.
38022         * m4/fcntl_h.m4 (gl_FCNTL_H): Likewise.
38023         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
38024         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
38025         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
38026         * m4/math_h.m4 (gl_MATH_H): Likewise.
38027         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
38028         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
38029         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
38030         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
38031         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
38032         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
38033         * m4/strings_h.m4 (gl_HEADER_STRINGS_H_BODY): Likewise.
38034         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H_DEFAULTS): Likewise.
38035         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Likewise.
38036         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
38037         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
38038         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
38039         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
38040         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H): Likewise.
38041         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
38042         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
38043         * lib/arpa_inet.in.h: Use _GL_WARN_ON_USE instead of
38044         GL_LINK_WARNING.
38045         * lib/ctype.in.h: Likewise.
38046         * lib/dirent.in.h: Likewise.
38047         * lib/fcntl.in.h: Likewise.
38048         * lib/inttypes.in.h: Likewise.
38049         * lib/langinfo.in.h: Likewise.
38050         * lib/locale.in.h: Likewise.
38051         * lib/math.in.h: Likewise.
38052         * lib/search.in.h: Likewise.
38053         * lib/signal.in.h: Likewise.
38054         * lib/spawn.in.h: Likewise.
38055         * lib/stdio.in.h: Likewise.
38056         * lib/stdlib.in.h: Likewise.
38057         * lib/string.in.h: Likewise.
38058         * lib/strings.in.h: Likewise.
38059         * lib/sys_file.in.h: Likewise.
38060         * lib/sys_ioctl.in.h: Likewise.
38061         * lib/sys_select.in.h: Likewise.
38062         * lib/sys_socket.in.h: Likewise.
38063         * lib/sys_stat.in.h: Likewise.
38064         * lib/sys_times.in.h: Likewise.
38065         * lib/sys_utsname.in.h: Likewise.
38066         * lib/unistd.in.h: Likewise.
38067         * lib/wchar.in.h: Likewise.
38068
38069 2010-01-20  Bruno Haible  <bruno@clisp.org>
38070
38071         Avoid duplicate -lm.
38072         * m4/isnan.m4 (gl_ISNAN): Avoid duplicate -lm in $ISNAN_LIBM.
38073         * m4/round.m4 (gl_FUNC_ROUND): Avoid duplicate -lm in $ROUND_LIBM.
38074         * m4/roundf.m4 (gl_FUNC_ROUNDF): Avoid duplicate -lm in $ROUNDF_LIBM.
38075         * m4/roundl.m4 (gl_FUNC_ROUNDL): Avoid duplicate -lm in $ROUNDL_LIBM.
38076         * m4/acosl.m4 (gl_FUNC_ACOSL): Avoid duplicate -lm in $ACOSL_LIBM.
38077         * m4/cosl.m4 (gl_FUNC_COSL): Avoid duplicate -lm in $COSL_LIBM.
38078         * m4/logl.m4 (gl_FUNC_LOGL): Avoid duplicate -lm in $LOGL_LIBM.
38079         * m4/sinl.m4 (gl_FUNC_SINL): Avoid duplicate -lm in $SINL_LIBM.
38080         * m4/sqrtl.m4 (gl_FUNC_SQRTL): Avoid duplicate -lm in $SQRTL_LIBM.
38081         * m4/tanl.m4 (gl_FUNC_TANL): Avoid duplicate -lm in $TANL_LIBM.
38082         * m4/asinl.m4 (gl_FUNC_ASINL): Same change, for consistency.
38083         * m4/atanl.m4 (gl_FUNC_ATANL): Likewise.
38084         Reported by Paolo Bonzini.
38085
38086 2010-01-19  Bruno Haible  <bruno@clisp.org>
38087
38088         langinfo, nl_langinfo: Relicense under LGPLv2+.
38089         * modules/langinfo (License): Change to LGPLv2+.
38090         * modules/nl_langinfo (License): Likewise.
38091         Patch by David Lutterkort <lutter@redhat.com>.
38092
38093 2010-01-19  Bruno Haible  <bruno@clisp.org>
38094
38095         Avoid compilation error with cc on OSF/1 5.1.
38096         * lib/fcntl.in.h: Include <unistd.h> after the #include_next <fcntl.h>
38097         statement, not before.
38098         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38099
38100 2010-01-18  Bruno Haible  <bruno@clisp.org>
38101
38102         Avoid a link error due to the __printf__ symbol.
38103         * lib/stdio.in.h (__attribute__): Define to empty also for gcc 2.5.x
38104         and 2.6.x.
38105         (__format__, __printf__): Remove definitions.
38106         * lib/argp-fmtstream.h: Likewise.
38107         * lib/argp.h: Likewise.
38108         * lib/error.h: Likewise.
38109         * lib/vasnprintf.h: Likewise.
38110         * lib/xprintf.h: Likewise.
38111         * lib/xvasprintf.h: Likewise.
38112         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38113
38114 2010-01-18  Bruno Haible  <bruno@clisp.org>
38115
38116         Tests for module 'tanl'.
38117         * modules/tanl-tests: New file.
38118         * tests/test-tanl.c: New file.
38119
38120         Tests for module 'sqrtl'.
38121         * modules/sqrtl-tests: New file.
38122         * tests/test-sqrtl.c: New file.
38123
38124         Tests for module 'sinl'.
38125         * modules/sinl-tests: New file.
38126         * tests/test-sinl.c: New file.
38127
38128         Tests for module 'logl'.
38129         * modules/logl-tests: New file.
38130         * tests/test-logl.c: New file.
38131
38132         Tests for module 'expl'.
38133         * modules/expl-tests: New file.
38134         * tests/test-expl.c: New file.
38135
38136         Tests for module 'cosl'.
38137         * modules/cosl-tests: New file.
38138         * tests/test-cosl.c: New file.
38139
38140         Tests for module 'atanl'.
38141         * modules/atanl-tests: New file.
38142         * tests/test-atanl.c: New file.
38143
38144         Tests for module 'asinl'.
38145         * modules/asinl-tests: New file.
38146         * tests/test-asinl.c: New file.
38147
38148         Tests for module 'acosl'.
38149         * modules/acosl-tests: New file.
38150         * tests/test-acosl.c: New file.
38151
38152         New modules acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
38153         * lib/math.in.h (acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl,
38154         tanl): Use the standard gnulib idiom.
38155         * lib/cosl.c: Don't include trigl.c and sincosl.c.
38156         * lib/sinl.c: Likewise.
38157         * lib/tanl.c: Don't include trigl.c.
38158         (kernel_tanl): Make static.
38159         * lib/sincosl.c: Include trigl.h first.
38160         * lib/trigl.c: Likewise.
38161         * m4/acosl.m4: New file.
38162         * m4/asinl.m4: New file.
38163         * m4/atanl.m4: New file.
38164         * m4/cosl.m4: New file.
38165         * m4/expl.m4: New file.
38166         * m4/logl.m4: New file.
38167         * m4/sinl.m4: New file.
38168         * m4/sqrtl.m4: New file.
38169         * m4/tanl.m4: New file.
38170         * m4/mathl.m4: Remove file.
38171         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_* and HAVE_*
38172         variables for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl.
38173         Don't initialize GNULIB_MATHL.
38174         * modules/acosl: New file.
38175         * modules/asinl: New file.
38176         * modules/atanl: New file.
38177         * modules/cosl: New file.
38178         * modules/expl: New file.
38179         * modules/logl: New file.
38180         * modules/sinl: New file.
38181         * modules/sqrtl: New file.
38182         * modules/tanl: New file.
38183         * modules/math (Makefile.am): Substitute GNULIB_* and HAVE_* variables
38184         for acosl, asinl, atanl, cosl, expl, logl, sinl, sqrtl, tanl. Don't
38185         substitute GNULIB_MATHL.
38186         * modules/mathl: Rewritten.
38187         * doc/posix-functions/acosl.texi: Mention the 'acosl' module.
38188         * doc/posix-functions/asinl.texi: Mention the 'asinl' module.
38189         * doc/posix-functions/atanl.texi: Mention the 'atanl' module.
38190         * doc/posix-functions/cosl.texi: Mention the 'cosl' module.
38191         * doc/posix-functions/expl.texi: Mention the 'expl' module.
38192         * doc/posix-functions/logl.texi: Mention the 'logl' module.
38193         * doc/posix-functions/sinl.texi: Mention the 'sinl' module.
38194         * doc/posix-functions/sqrtl.texi: Mention the 'sqrtl' module.
38195         * doc/posix-functions/tanl.texi: Mention the 'tanl' module.
38196
38197 2010-01-18  Bruno Haible  <bruno@clisp.org>
38198
38199         sqrt: Make gl_FUNC_SQRT requirable.
38200         * m4/sqrt.m4: New file.
38201         * modules/sqrt (Files): Add it.
38202         (configure.ac): Invoke gl_FUNC_SQRT.
38203
38204 2010-01-18  Bruno Haible  <bruno@clisp.org>
38205
38206         New modules for common <math.h> functions.
38207         * m4/mathfunc.m4: New file.
38208         * modules/acos: New file.
38209         * modules/asin: New file.
38210         * modules/atan: New file.
38211         * modules/atan2: New file.
38212         * modules/cbrt: New file.
38213         * modules/copysign: New file.
38214         * modules/cos: New file.
38215         * modules/cosh: New file.
38216         * modules/erf: New file.
38217         * modules/erfc: New file.
38218         * modules/exp: New file.
38219         * modules/fabs: New file.
38220         * modules/fmod: New file.
38221         * modules/hypot: New file.
38222         * modules/j0: New file.
38223         * modules/j1: New file.
38224         * modules/jn: New file.
38225         * modules/ldexp: New file.
38226         * modules/lgamma: New file.
38227         * modules/log: New file.
38228         * modules/log10: New file.
38229         * modules/log1p: New file.
38230         * modules/logb: New file.
38231         * modules/modf: New file.
38232         * modules/nextafter: New file.
38233         * modules/pow: New file.
38234         * modules/remainder: New file.
38235         * modules/rint: New file.
38236         * modules/sin: New file.
38237         * modules/sinh: New file.
38238         * modules/sqrt: New file.
38239         * modules/tan: New file.
38240         * modules/tanh: New file.
38241         * modules/y0: New file.
38242         * modules/y1: New file.
38243         * modules/yn: New file.
38244         * doc/posix-functions/acos.texi: Mention the 'acos' module.
38245         * doc/posix-functions/asin.texi: Mention the 'asin' module.
38246         * doc/posix-functions/atan.texi: Mention the 'atan' module.
38247         * doc/posix-functions/atan2.texi: Mention the 'atan2' module.
38248         * doc/posix-functions/cbrt.texi: Mention the 'cbrt' module.
38249         * doc/posix-functions/copysign.texi: Mention the 'copysign' module.
38250         * doc/posix-functions/cos.texi: Mention the 'cos' module.
38251         * doc/posix-functions/cosh.texi: Mention the 'cosh' module.
38252         * doc/posix-functions/erf.texi: Mention the 'erf' module.
38253         * doc/posix-functions/erfc.texi: Mention the 'erfc' module.
38254         * doc/posix-functions/exp.texi: Mention the 'exp' module.
38255         * doc/posix-functions/fabs.texi: Mention the 'fabs' module.
38256         * doc/posix-functions/fmod.texi: Mention the 'fmod' module.
38257         * doc/posix-functions/hypot.texi: Mention the 'hypot' module.
38258         * doc/posix-functions/j0.texi: Mention the 'j0' module.
38259         * doc/posix-functions/j1.texi: Mention the 'j1' module.
38260         * doc/posix-functions/jn.texi: Mention the 'jn' module.
38261         * doc/posix-functions/ldexp.texi: Mention the 'ldexp' module.
38262         * doc/posix-functions/lgamma.texi: Mention the 'lgamma' module.
38263         * doc/posix-functions/log.texi: Mention the 'log' module.
38264         * doc/posix-functions/log10.texi: Mention the 'log10' module.
38265         * doc/posix-functions/log1p.texi: Mention the 'log1p' module.
38266         * doc/posix-functions/logb.texi: Mention the 'logb' module.
38267         * doc/posix-functions/modf.texi: Mention the 'modf' module.
38268         * doc/posix-functions/nextafter.texi: Mention the 'nextafter' module.
38269         * doc/posix-functions/pow.texi: Mention the 'pow' module.
38270         * doc/posix-functions/remainder.texi: Mention the 'remainder' module.
38271         * doc/posix-functions/rint.texi: Mention the 'rint' module.
38272         * doc/posix-functions/sin.texi: Mention the 'sin' module.
38273         * doc/posix-functions/sinh.texi: Mention the 'sinh' module.
38274         * doc/posix-functions/sqrt.texi: Mention the 'sqrt' module.
38275         * doc/posix-functions/tan.texi: Mention the 'tan' module.
38276         * doc/posix-functions/tanh.texi: Mention the 'tanh' module.
38277         * doc/posix-functions/y0.texi: Mention the 'y0' module.
38278         * doc/posix-functions/y1.texi: Mention the 'y1' module.
38279         * doc/posix-functions/yn.texi: Mention the 'yn' module.
38280
38281 2010-01-18  Jim Meyering  <meyering@redhat.com>
38282
38283         ignore-value: relax license to LGPLv2+
38284         * modules/ignore-value (License): Relax to LGPLv2+.
38285
38286         getdate: don't leak when TZ contains two or more '"'s
38287         * lib/getdate.y (get_date): Don't leak a copy of TZ for each
38288         double quote in TZ after the first one.
38289
38290         readtokens: do not leak internal token_lengths buffer
38291         * lib/readtokens.c (readtokens): Free the local, lengths,
38292         when the supplied "token_lengths" parameter is NULL.
38293
38294 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38295
38296         Fix a couple of missing LIBTHREAD link failures on AIX.
38297         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add
38298         $(LIBTHREAD).
38299         * modules/strsignal-tests (test_strsignal_LDADD): Likewise.
38300
38301         Link test-poll against INET_PTON_LIB.
38302         * modules/poll-tests (test_poll_LDADD): Add $(INET_PTON_LIB),
38303         for inet_pton on Solaris 10.
38304
38305 2010-01-17  Bruno Haible  <bruno@clisp.org>
38306
38307         unistdio/*-sprintf: Fix typo in module description.
38308         * modules/unistdio/u8-sprintf (Depends-on): Fix typo.
38309         * modules/unistdio/u8-u8-sprintf (Depends-on): Likewise.
38310         * modules/unistdio/u16-sprintf (Depends-on): Likewise.
38311         * modules/unistdio/u16-u16-sprintf (Depends-on): Likewise.
38312         * modules/unistdio/u32-sprintf (Depends-on): Likewise.
38313         * modules/unistdio/u32-u32-sprintf (Depends-on): Likewise.
38314         * modules/unistdio/ulc-sprintf (Depends-on): Likewise.
38315         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
38316
38317 2010-01-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
38318
38319         gnulib-tool: fix filelist for AIX, HP-UX ksh.
38320         * gnulib-tool (func_filter_filelist): Do not quote possibly-empty
38321         variables in shell case patterns, for AIX and HP-UX ksh.
38322
38323         Split large sed scripts, for HP-UX sed.
38324         * modules/stdio: Split sed scripts around 50 sed commands,
38325         to avoid HP-UX limit of 99 commands, in the near future.
38326         * modules/string: Likewise.
38327         * modules/unistd: Likewise.
38328
38329         gnulib-tool: avoid writing in the current directory.
38330         * gnulib-tool (func_emit_lib_Makefile_am)
38331         (func_emit_tests_Makefile_am): Put temporary files in $tmp,
38332         not in the current directory, so concurrent gnulib-tool
38333         instances do not interfere.
38334
38335 2010-01-16  Jim Meyering  <meyering@redhat.com>
38336
38337         doc: update users.txt
38338         * users.txt: Add grep.
38339         (diffutils, gzip): Update URLs.
38340
38341 2010-01-12  Bruno Haible  <bruno@clisp.org>
38342
38343         posix_spawn: Avoid test failure on Cygwin.
38344         * tests/test-posix_spawn3.c (DATA_FILENAME) [CYGWIN]: Use less risky
38345         characters.
38346         Reported by Simon Josefsson.
38347
38348 2010-01-12  Bruno Haible  <bruno@clisp.org>
38349
38350         * tests/test-cond.c (main): When skipping the test, show the reason.
38351
38352 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38353
38354         * lib/striconv.c (str_cd_iconv): Avoid if before free.
38355
38356 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38357
38358         * top/maint.mk (VC_LIST_EXCEPT): Filter list through
38359         VC_LIST_ALWAYS_EXCLUDE_REGEX.
38360
38361 2010-01-12  Eric Blake  <ebb9@byu.net>
38362
38363         build: guarantee AS_VAR_IF
38364         * m4/warnings.m4 (gl_WARN_ADD): Use autoconf name.
38365         (gl_AS_VAR_IF): Move...
38366         * m4/gnulib-common.m4 (AS_VAR_IF): ...here.
38367         Reported by Simon Josefsson.
38368
38369 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38370
38371         * lib/stdio.in.h: Fix typo.
38372
38373 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38374
38375         * m4/gc.m4: Check if linking to libgcrypt also needs linking to
38376         libgpg-error.
38377
38378 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38379
38380         * tests/test-xalloc-die.sh: Use $EXEEXT.
38381
38382 2010-01-12  Simon Josefsson  <simon@josefsson.org>
38383             Bruno Haible  <bruno@clisp.org>
38384
38385         getlogin, getlogin_r: Avoid test failure.
38386         * tests/test-getlogin.c: Include <stdio.h>.
38387         (main): Skip the test when the function fails because stdin is not a
38388         tty.
38389         * tests/test-getlogin_r.c: Include <stdio.h>.
38390         (main): Skip the test when the function fails because stdin is not a
38391         tty.
38392
38393 2010-01-11  Eric Blake  <ebb9@byu.net>
38394
38395         tests: avoid more large file warnings
38396         * tests/test-fflush.c: Avoid warning about ftell use.
38397         * tests/test-fseek.c: Avoid warning about fseek use.
38398
38399 2010-01-10  Bruno Haible  <bruno@clisp.org>
38400
38401         nproc: Work better on Linux when /proc and /sys are not mounted.
38402         * lib/nproc.c (num_processors): Use num_processors_via_affinity_mask ()
38403         as lower bound when, on glibc/Linux systems,
38404         sysconf (_SC_NPROCESSORS_CONF) returns 1.
38405         Suggested by Pádraig Brady <P@draigbrady.com>.
38406         Reported by Dmitry V. Levin <ldv@altlinux.org>.
38407
38408         nproc: Refactor.
38409         * lib/nproc.c (num_processors_via_affinity_mask): New function,
38410         extracted from num_processors.
38411         (num_processors): Call it.
38412
38413 2010-01-11  Jim Meyering  <meyering@redhat.com>
38414
38415         utimecmp: avoid new warning from upcoming gcc-4.5.0
38416         * lib/utimecmp.c (BILLION): Define using #define rather than an
38417         anonymous enum, to placate upcoming gcc-4.5.0's -Wenum-compare.
38418
38419 2010-01-11  Eric Blake  <ebb9@byu.net>
38420
38421         math: add portability warnings for classification macros
38422         * modules/math (Depends-on): Add warn-on-use.
38423         (Makefile.am): Provide new substitutions.
38424         * m4/math_h.m4 (gl_MATH_H): Require inline.
38425         * lib/math.in.h (_GL_WARN_REAL_FLOATING_DECL)
38426         (_GL_WARN_REAL_FLOATING_IMPL): New helper macros.
38427         (isfinite, isinf, isnan, signbit) [GNULIB_POSIXCHECK]: Use them to
38428         implement warnings.
38429
38430         unistd: warn on use of environ without module
38431         * modules/unistd (Depends-on): Add warn-on-use.
38432         (Makefile.am): Provide new substitutions.
38433         * m4/unistd_h.m4 (gl_UNISTD_H): Check for inline and environ.
38434         * lib/unistd.in.h (environ): Wrap with a warning helper function.
38435
38436         stdio: warn on suspicious uses
38437         * modules/stdio (Depends-on): Add warn-on-use.
38438         (Makefile.am): Provide new substitutions.
38439         * m4/stdio_h.m4 (gl_STDIO_H): Check for inline, ftello, and
38440         fseeko.
38441         * lib/stdio.in.h (gets): Always warn on use.
38442         (fseek, ftell): Adjust when warnings are issued, and honor
38443         _GL_NO_LARGE_FILES as a way to silence the warning.
38444         * tests/test-fpurge.c [!GNULIB_FSEEK]: Use new means to squelch
38445         any warning about large file offsets.
38446         * tests/test-freadable.c [!GNULIB_FSEEK]: Likewise.
38447         * tests/test-freading.c [!GNULIB_FSEEK]: Likewise.
38448         * tests/test-fseeko.c [!GNULIB_FSEEK]: Likewise.
38449         * tests/test-ftell.c [!GNULIB_FSEEK]: Likewise.
38450         * tests/test-ftello.c [!GNULIB_FSEEK]: Likewise.
38451         * tests/test-fwritable.c [!GNULIB_FSEEK]: Likewise.
38452         * tests/test-fwriting.c [!GNULIB_FSEEK]: Likewise.
38453         * tests/test-getopt.c [!GNULIB_FTELL]: Likewise.
38454
38455         warn-on-use: new module
38456         * modules/warn-on-use: New file.
38457         * build-aux/warn-on-use.h: Likewise.
38458         * m4/warn-on-use.m4: Likewise.
38459         * MODULES.html.sh (Support for building): Mention it.
38460
38461 2010-01-10  Bruno Haible  <bruno@clisp.org>
38462
38463         Tests for module 'unistr/u32-strdup'.
38464         * modules/unistr/u32-strdup-tests: New file.
38465         * tests/unistr/test-u32-strdup.c: New file.
38466
38467         Tests for module 'unistr/u16-strdup'.
38468         * modules/unistr/u16-strdup-tests: New file.
38469         * tests/unistr/test-u16-strdup.c: New file.
38470
38471         Tests for module 'unistr/u8-strdup'.
38472         * modules/unistr/u8-strdup-tests: New file.
38473         * tests/unistr/test-u8-strdup.c: New file.
38474         * tests/unistr/test-strdup.h: New file.
38475
38476         Tests for module 'unistr/u32-strncmp'.
38477         * modules/unistr/u32-strncmp-tests: New file.
38478         * tests/unistr/test-u32-strncmp.c: New file.
38479
38480         Tests for module 'unistr/u16-strncmp'.
38481         * modules/unistr/u16-strncmp-tests: New file.
38482         * tests/unistr/test-u16-strncmp.c: New file.
38483
38484         Tests for module 'unistr/u8-strncmp'.
38485         * modules/unistr/u8-strncmp-tests: New file.
38486         * tests/unistr/test-u8-strncmp.c: New file.
38487         * tests/unistr/test-strncmp.h: New file.
38488
38489         Tests for module 'unistr/u32-strcoll'.
38490         * modules/unistr/u32-strcoll-tests: New file.
38491         * tests/unistr/test-u32-strcoll.c: New file.
38492
38493         Tests for module 'unistr/u16-strcoll'.
38494         * modules/unistr/u16-strcoll-tests: New file.
38495         * tests/unistr/test-u16-strcoll.c: New file.
38496
38497         Tests for module 'unistr/u8-strcoll'.
38498         * modules/unistr/u8-strcoll-tests: New file.
38499         * tests/unistr/test-u8-strcoll.c: New file.
38500
38501         Tests for module 'unistr/u32-strcmp'.
38502         * modules/unistr/u32-strcmp-tests: New file.
38503         * tests/unistr/test-u32-strcmp.c: New file.
38504         * tests/unistr/test-u32-strcmp.h: New file.
38505
38506         Tests for module 'unistr/u16-strcmp'.
38507         * modules/unistr/u16-strcmp-tests: New file.
38508         * tests/unistr/test-u16-strcmp.c: New file.
38509         * tests/unistr/test-u16-strcmp.h: New file.
38510
38511         Tests for module 'unistr/u8-strcmp'.
38512         * modules/unistr/u8-strcmp-tests: New file.
38513         * tests/unistr/test-u8-strcmp.c: New file.
38514         * tests/unistr/test-u8-strcmp.h: New file.
38515         * tests/unistr/test-strcmp.h: New file.
38516
38517         Tests for module 'unistr/u32-strncat'.
38518         * modules/unistr/u32-strncat-tests: New file.
38519         * tests/unistr/test-u32-strncat.c: New file.
38520
38521         Tests for module 'unistr/u16-strncat'.
38522         * modules/unistr/u16-strncat-tests: New file.
38523         * tests/unistr/test-u16-strncat.c: New file.
38524
38525         Tests for module 'unistr/u8-strncat'.
38526         * modules/unistr/u8-strncat-tests: New file.
38527         * tests/unistr/test-u8-strncat.c: New file.
38528         * tests/unistr/test-strncat.h: New file.
38529
38530         Tests for module 'unistr/u32-strcat'.
38531         * modules/unistr/u32-strcat-tests: New file.
38532         * tests/unistr/test-u32-strcat.c: New file.
38533
38534         Tests for module 'unistr/u16-strcat'.
38535         * modules/unistr/u16-strcat-tests: New file.
38536         * tests/unistr/test-u16-strcat.c: New file.
38537
38538         Tests for module 'unistr/u8-strcat'.
38539         * modules/unistr/u8-strcat-tests: New file.
38540         * tests/unistr/test-u8-strcat.c: New file.
38541         * tests/unistr/test-strcat.h: New file.
38542
38543         Tests for module 'unistr/u32-stpncpy'.
38544         * modules/unistr/u32-stpncpy-tests: New file.
38545         * tests/unistr/test-u32-stpncpy.c: New file.
38546
38547         Tests for module 'unistr/u16-stpncpy'.
38548         * modules/unistr/u16-stpncpy-tests: New file.
38549         * tests/unistr/test-u16-stpncpy.c: New file.
38550
38551         Tests for module 'unistr/u8-stpncpy'.
38552         * modules/unistr/u8-stpncpy-tests: New file.
38553         * tests/unistr/test-u8-stpncpy.c: New file.
38554         * tests/unistr/test-stpncpy.h: New file.
38555
38556         Tests for module 'unistr/u32-strncpy'.
38557         * modules/unistr/u32-strncpy-tests: New file.
38558         * tests/unistr/test-u32-strncpy.c: New file.
38559
38560         Tests for module 'unistr/u16-strncpy'.
38561         * modules/unistr/u16-strncpy-tests: New file.
38562         * tests/unistr/test-u16-strncpy.c: New file.
38563
38564         Tests for module 'unistr/u8-strncpy'.
38565         * modules/unistr/u8-strncpy-tests: New file.
38566         * tests/unistr/test-u8-strncpy.c: New file.
38567         * tests/unistr/test-strncpy.h: New file.
38568
38569         Tests for module 'unistr/u32-stpcpy'.
38570         * modules/unistr/u32-stpcpy-tests: New file.
38571         * tests/unistr/test-u32-stpcpy.c: New file.
38572
38573         Tests for module 'unistr/u16-stpcpy'.
38574         * modules/unistr/u16-stpcpy-tests: New file.
38575         * tests/unistr/test-u16-stpcpy.c: New file.
38576
38577         Tests for module 'unistr/u8-stpcpy'.
38578         * modules/unistr/u8-stpcpy-tests: New file.
38579         * tests/unistr/test-u8-stpcpy.c: New file.
38580         * tests/unistr/test-stpcpy.h: New file.
38581
38582         Tests for module 'unistr/u32-strcpy'.
38583         * modules/unistr/u32-strcpy-tests: New file.
38584         * tests/unistr/test-u32-strcpy.c: New file.
38585
38586         Tests for module 'unistr/u16-strcpy'.
38587         * modules/unistr/u16-strcpy-tests: New file.
38588         * tests/unistr/test-u16-strcpy.c: New file.
38589
38590         Tests for module 'unistr/u8-strcpy'.
38591         * modules/unistr/u8-strcpy-tests: New file.
38592         * tests/unistr/test-u8-strcpy.c: New file.
38593         * tests/unistr/test-strcpy.h: New file.
38594
38595         Tests for module 'unistr/u32-strnlen'.
38596         * modules/unistr/u32-strnlen-tests: New file.
38597         * tests/unistr/test-u32-strnlen.c: New file.
38598
38599         Tests for module 'unistr/u16-strnlen'.
38600         * modules/unistr/u16-strnlen-tests: New file.
38601         * tests/unistr/test-u16-strnlen.c: New file.
38602
38603         Tests for module 'unistr/u8-strnlen'.
38604         * modules/unistr/u8-strnlen-tests: New file.
38605         * tests/unistr/test-u8-strnlen.c: New file.
38606         * tests/unistr/test-strnlen.h: New file.
38607
38608         Tests for module 'unistr/u32-strlen'.
38609         * modules/unistr/u32-strlen-tests: New file.
38610         * tests/unistr/test-u32-strlen.c: New file.
38611
38612         Tests for module 'unistr/u16-strlen'.
38613         * modules/unistr/u16-strlen-tests: New file.
38614         * tests/unistr/test-u16-strlen.c: New file.
38615
38616         Tests for module 'unistr/u8-strlen'.
38617         * modules/unistr/u8-strlen-tests: New file.
38618         * tests/unistr/test-u8-strlen.c: New file.
38619
38620         Tests for module 'unistr/u32-prev'.
38621         * modules/unistr/u32-prev-tests: New file.
38622         * tests/unistr/test-u32-prev.c: New file.
38623
38624         Tests for module 'unistr/u16-prev'.
38625         * modules/unistr/u16-prev-tests: New file.
38626         * tests/unistr/test-u16-prev.c: New file.
38627
38628         Tests for module 'unistr/u8-prev'.
38629         * modules/unistr/u8-prev-tests: New file.
38630         * tests/unistr/test-u8-prev.c: New file.
38631
38632         Tests for module 'unistr/u32-next'.
38633         * modules/unistr/u32-next-tests: New file.
38634         * tests/unistr/test-u32-next.c: New file.
38635
38636         Tests for module 'unistr/u16-next'.
38637         * modules/unistr/u16-next-tests: New file.
38638         * tests/unistr/test-u16-next.c: New file.
38639
38640         Tests for module 'unistr/u8-next'.
38641         * modules/unistr/u8-next-tests: New file.
38642         * tests/unistr/test-u8-next.c: New file.
38643
38644         Tests for module 'unistr/u32-strmbtouc'.
38645         * modules/unistr/u32-strmbtouc-tests: New file.
38646         * tests/unistr/test-u32-strmbtouc.c: New file.
38647
38648         Tests for module 'unistr/u16-strmbtouc'.
38649         * modules/unistr/u16-strmbtouc-tests: New file.
38650         * tests/unistr/test-u16-strmbtouc.c: New file.
38651
38652         Tests for module 'unistr/u8-strmbtouc'.
38653         * modules/unistr/u8-strmbtouc-tests: New file.
38654         * tests/unistr/test-u8-strmbtouc.c: New file.
38655
38656         Tests for module 'unistr/u32-strmblen'.
38657         * modules/unistr/u32-strmblen-tests: New file.
38658         * tests/unistr/test-u32-strmblen.c: New file.
38659
38660         Tests for module 'unistr/u16-strmblen'.
38661         * modules/unistr/u16-strmblen-tests: New file.
38662         * tests/unistr/test-u16-strmblen.c: New file.
38663
38664         Tests for module 'unistr/u8-strmblen'.
38665         * modules/unistr/u8-strmblen-tests: New file.
38666         * tests/unistr/test-u8-strmblen.c: New file.
38667
38668         Tests for module 'unistr/u32-cpy-alloc'.
38669         * modules/unistr/u32-cpy-alloc-tests: New file.
38670         * tests/unistr/test-u32-cpy-alloc.c: New file.
38671
38672         Tests for module 'unistr/u16-cpy-alloc'.
38673         * modules/unistr/u16-cpy-alloc-tests: New file.
38674         * tests/unistr/test-u16-cpy-alloc.c: New file.
38675
38676         Tests for module 'unistr/u8-cpy-alloc'.
38677         * modules/unistr/u8-cpy-alloc-tests: New file.
38678         * tests/unistr/test-u8-cpy-alloc.c: New file.
38679         * tests/unistr/test-cpy-alloc.h: New file.
38680
38681         Tests for module 'unistr/u32-mbsnlen'.
38682         * modules/unistr/u32-mbsnlen-tests: New file.
38683         * tests/unistr/test-u32-mbsnlen.c: New file.
38684
38685         Tests for module 'unistr/u16-mbsnlen'.
38686         * modules/unistr/u16-mbsnlen-tests: New file.
38687         * tests/unistr/test-u16-mbsnlen.c: New file.
38688
38689         Tests for module 'unistr/u8-mbsnlen'.
38690         * modules/unistr/u8-mbsnlen-tests: New file.
38691         * tests/unistr/test-u8-mbsnlen.c: New file.
38692
38693         Tests for module 'unistr/u32-chr'.
38694         * modules/unistr/u32-chr-tests: New file.
38695         * tests/unistr/test-u32-chr.c: New file.
38696
38697         Tests for module 'unistr/u16-chr'.
38698         * modules/unistr/u16-chr-tests: New file.
38699         * tests/unistr/test-u16-chr.c: New file.
38700
38701         Tests for module 'unistr/u8-chr'.
38702         * modules/unistr/u8-chr-tests: New file.
38703         * tests/unistr/test-u8-chr.c: New file.
38704         * tests/unistr/test-chr.h: New file, based on tests/test-memchr.c.
38705
38706         Tests for module 'unistr/u32-cmp2'.
38707         * modules/unistr/u32-cmp2-tests: New file.
38708         * tests/unistr/test-u32-cmp2.c: New file.
38709
38710         Tests for module 'unistr/u16-cmp2'.
38711         * modules/unistr/u16-cmp2-tests: New file.
38712         * tests/unistr/test-u16-cmp2.c: New file.
38713
38714         Tests for module 'unistr/u8-cmp2'.
38715         * modules/unistr/u8-cmp2-tests: New file.
38716         * tests/unistr/test-u8-cmp2.c: New file.
38717         * tests/unistr/test-cmp2.h: New file, based on tests/unistr/test-cmp.h.
38718
38719         Tests for module 'unistr/u32-cmp'.
38720         * modules/unistr/u32-cmp-tests: New file.
38721         * tests/unistr/test-u32-cmp.c: New file.
38722
38723         Tests for module 'unistr/u16-cmp'.
38724         * modules/unistr/u16-cmp-tests: New file.
38725         * tests/unistr/test-u16-cmp.c: New file.
38726
38727         Tests for module 'unistr/u8-cmp'.
38728         * modules/unistr/u8-cmp-tests: New file.
38729         * tests/unistr/test-u8-cmp.c: New file.
38730         * tests/unistr/test-cmp.h: New file, based on tests/test-memcmp.c.
38731
38732         Tests for module 'unistr/u32-set'.
38733         * modules/unistr/u32-set-tests: New file.
38734         * tests/unistr/test-u32-set.c: New file.
38735
38736         Tests for module 'unistr/u16-set'.
38737         * modules/unistr/u16-set-tests: New file.
38738         * tests/unistr/test-u16-set.c: New file.
38739
38740         Tests for module 'unistr/u8-set'.
38741         * modules/unistr/u8-set-tests: New file.
38742         * tests/unistr/test-u8-set.c: New file.
38743         * tests/unistr/test-set.h: New file.
38744
38745         Tests for module 'unistr/u32-move'.
38746         * modules/unistr/u32-move-tests: New file.
38747         * tests/unistr/test-u32-move.c: New file.
38748
38749         Tests for module 'unistr/u16-move'.
38750         * modules/unistr/u16-move-tests: New file.
38751         * tests/unistr/test-u16-move.c: New file.
38752
38753         Tests for module 'unistr/u8-move'.
38754         * modules/unistr/u8-move-tests: New file.
38755         * tests/unistr/test-u8-move.c: New file.
38756         * tests/unistr/test-move.h: New file.
38757
38758         Tests for module 'unistr/u32-cpy'.
38759         * modules/unistr/u32-cpy-tests: New file.
38760         * tests/unistr/test-u32-cpy.c: New file.
38761
38762         Tests for module 'unistr/u16-cpy'.
38763         * modules/unistr/u16-cpy-tests: New file.
38764         * tests/unistr/test-u16-cpy.c: New file.
38765
38766         Tests for module 'unistr/u8-cpy'.
38767         * modules/unistr/u8-cpy-tests: New file.
38768         * tests/unistr/test-u8-cpy.c: New file.
38769         * tests/unistr/test-cpy.h: New file.
38770
38771 2010-01-09  Bruno Haible  <bruno@clisp.org>
38772
38773         Tests for module 'unistr/u32-uctomb'.
38774         * modules/unistr/u32-uctomb-tests: New file.
38775         * tests/unistr/test-u32-uctomb.c: New file.
38776
38777         Tests for module 'unistr/u16-uctomb'.
38778         * modules/unistr/u16-uctomb-tests: New file.
38779         * tests/unistr/test-u16-uctomb.c: New file.
38780
38781         Tests for module 'unistr/u8-uctomb'.
38782         * modules/unistr/u8-uctomb-tests: New file.
38783         * tests/unistr/test-u8-uctomb.c: New file.
38784
38785         Tests for module 'unistr/u32-mbtoucr'.
38786         * modules/unistr/u32-mbtoucr-tests: New file.
38787         * tests/unistr/test-u32-mbtoucr.c: New file.
38788
38789         Tests for module 'unistr/u16-mbtoucr'.
38790         * modules/unistr/u16-mbtoucr-tests: New file.
38791         * tests/unistr/test-u16-mbtoucr.c: New file.
38792
38793         Tests for module 'unistr/u8-mbtoucr'.
38794         * modules/unistr/u8-mbtoucr-tests: New file.
38795         * tests/unistr/test-u8-mbtoucr.c: New file.
38796
38797         Tests for module 'unistr/u32-mbtouc'.
38798         * modules/unistr/u32-mbtouc-tests: New file.
38799         * tests/unistr/test-u32-mbtouc.c: New file.
38800
38801         Tests for module 'unistr/u16-mbtouc'.
38802         * modules/unistr/u16-mbtouc-tests: New file.
38803         * tests/unistr/test-u16-mbtouc.c: New file.
38804
38805         Tests for module 'unistr/u8-mbtouc'.
38806         * modules/unistr/u8-mbtouc-tests: New file.
38807         * tests/unistr/test-u8-mbtouc.c: New file.
38808
38809         Tests for module 'unistr/u32-mbtouc-unsafe'.
38810         * modules/unistr/u32-mbtouc-unsafe-tests: New file.
38811         * tests/unistr/test-u32-mbtouc-unsafe.c: New file.
38812         * tests/unistr/test-u32-mbtouc.h: New file.
38813
38814         Tests for module 'unistr/u16-mbtouc-unsafe'.
38815         * modules/unistr/u16-mbtouc-unsafe-tests: New file.
38816         * tests/unistr/test-u16-mbtouc-unsafe.c: New file.
38817         * tests/unistr/test-u16-mbtouc.h: New file.
38818
38819         Tests for module 'unistr/u8-mbtouc-unsafe'.
38820         * modules/unistr/u8-mbtouc-unsafe-tests: New file.
38821         * tests/unistr/test-u8-mbtouc-unsafe.c: New file.
38822         * tests/unistr/test-u8-mbtouc.h: New file.
38823
38824         Tests for module 'unistr/u32-mblen'.
38825         * modules/unistr/u32-mblen-tests: New file.
38826         * tests/unistr/test-u32-mblen.c: New file.
38827
38828         Tests for module 'unistr/u16-mblen'.
38829         * modules/unistr/u16-mblen-tests: New file.
38830         * tests/unistr/test-u16-mblen.c: New file.
38831
38832         Tests for module 'unistr/u8-mblen'.
38833         * modules/unistr/u8-mblen-tests: New file.
38834         * tests/unistr/test-u8-mblen.c: New file.
38835
38836         Tests for module 'unistr/u32-to-u16'.
38837         * modules/unistr/u32-to-u16-tests: New file.
38838         * tests/unistr/test-u32-to-u16.c: New file.
38839
38840         Tests for module 'unistr/u32-to-u8'.
38841         * modules/unistr/u32-to-u8-tests: New file.
38842         * tests/unistr/test-u32-to-u8.c: New file.
38843
38844         Tests for module 'unistr/u16-to-u32'.
38845         * modules/unistr/u16-to-u32-tests: New file.
38846         * tests/unistr/test-u16-to-u32.c: New file.
38847
38848         Tests for module 'unistr/u16-to-u8'.
38849         * modules/unistr/u16-to-u8-tests: New file.
38850         * tests/unistr/test-u16-to-u8.c: New file.
38851
38852         Tests for module 'unistr/u8-to-u32'.
38853         * modules/unistr/u8-to-u32-tests: New file.
38854         * tests/unistr/test-u8-to-u32.c: New file.
38855
38856         Tests for module 'unistr/u8-to-u16'.
38857         * modules/unistr/u8-to-u16-tests: New file.
38858         * tests/unistr/test-u8-to-u16.c: New file.
38859
38860         Tests for module 'unistr/u32-check'.
38861         * modules/unistr/u32-check-tests: New file.
38862         * tests/unistr/test-u32-check.c: New file.
38863
38864         Tests for module 'unistr/u16-check'.
38865         * modules/unistr/u16-check-tests: New file.
38866         * tests/unistr/test-u16-check.c: New file.
38867
38868         Tests for module 'unistr/u8-check'.
38869         * modules/unistr/u8-check-tests: New file.
38870         * tests/unistr/test-u8-check.c: New file.
38871
38872         * tests/unictype/test-categ_byname.c: Include <stdbool.h>.
38873         (category_equals): New function.
38874         (main): Add more tests.
38875         * modules/unictype/category-byname-tests (Depends-on): Add stdbool.
38876
38877         * tests/unictype/test-bidi_byname.c (main): Add more tests.
38878
38879 2010-01-10  Bruno Haible  <bruno@clisp.org>
38880
38881         unistr/u*-strcoll: Try harder to distinguish different strings.
38882         * lib/unistr/u-strcoll.h (FUNC): When sl1 and sl2 are the same,
38883         compare s1 and s2 to see if they are different.
38884
38885 2010-01-10  Bruno Haible  <bruno@clisp.org>
38886
38887         unistr/u*-stpncpy: Fix the return value.
38888         * lib/unistr.h (u8_stpncpy, u16_stpncpy, u32_stpncpy): Make the
38889         description of the return value consistent with stpncpy in glibc.
38890         * lib/unistr/u-stpncpy.h (FUNC): Return the pointer past the last
38891         written non-NUL unit.
38892
38893 2010-01-10  Bruno Haible  <bruno@clisp.org>
38894
38895         unistr/u*-next: Add missing dependencies.
38896         * modules/unistr/u8-next (Depends-on): Add unistr/u8-strmbtouc.
38897         * modules/unistr/u16-next (Depends-on): Add unistr/u16-strmbtouc.
38898         * modules/unistr/u32-next (Depends-on): Add unistr/u32-strmbtouc.
38899
38900 2010-01-10  Bruno Haible  <bruno@clisp.org>
38901
38902         unistr/u8-mbsnlen: Fix return value for incomplete character.
38903         * lib/unistr/u8-mbsnlen.c (u8_mbsnlen): Use u8_mbtoucr instead of
38904         u8_mblen.
38905         * modules/unistr/u8-mbsnlen (Depends-on): Add unistr/u8-mbtoucr.
38906         Remove unistr/u8-mblen.
38907         * lib/unistr/u16-mbsnlen.c (u16_mbsnlen): Use u16_mbtoucr instead of
38908         u16_mblen.
38909         * modules/unistr/u16-mbsnlen (Depends-on): Add unistr/u16-mbtoucr.
38910         Remove unistr/u16-mblen.
38911
38912 2010-01-10  Bruno Haible  <bruno@clisp.org>
38913
38914         wchar: Fix compilation error when <wchar.h> is used from coreutils.
38915         * lib/wchar.in.h: Treat __need_wint_t like __need_mbstate_t.
38916         Reported by Brian Gough <bjg@gnu.org> and
38917         Chris Clayton <chris2553@googlemail.com> via
38918         Mike Frysinger <vapier@gentoo.org> and Jim Meyering <jim@meyering.net>.
38919
38920 2010-01-09  Bruno Haible  <bruno@clisp.org>
38921
38922         unistr/u16-to-u32: Reject invalid input.
38923         * lib/unistr/u16-to-u32.c (u16_to_u32): Call u16_mbtoucr instead of
38924         u16_mbtouc.
38925         * modules/unistr/u16-to-u32 (Depends-on): Add unistr/u16-mbtoucr.
38926         Remove unistr/u16-mbtouc.
38927
38928         unistr/u16-to-u8: Reject invalid input.
38929         * lib/unistr/u16-to-u8.c (u16_to_u8): Call u16_mbtoucr instead of
38930         u16_mbtouc.
38931         * modules/unistr/u16-to-u8 (Depends-on): Add unistr/u16-mbtoucr.
38932         Remove unistr/u16-mbtouc.
38933
38934         unistr/u8-to-u32: Reject invalid input.
38935         * lib/unistr/u8-to-u32.c (u8_to_u32): Call u8_mbtoucr instead of
38936         u8_mbtouc.
38937         * modules/unistr/u8-to-u32 (Depends-on): Add unistr/u8-mbtoucr.
38938         Remove unistr/u8-mbtouc.
38939
38940         unistr/u8-to-u16: Reject invalid input.
38941         * lib/unistr/u8-to-u16.c (u8_to_u16): Call u8_mbtoucr instead of
38942         u8_mbtouc.
38943         * modules/unistr/u8-to-u16 (Depends-on): Add unistr/u8-mbtoucr.
38944         Remove unistr/u8-mbtouc.
38945
38946 2010-01-09  Bruno Haible  <bruno@clisp.org>
38947
38948         Tests for module 'getlogin'.
38949         * modules/getlogin-tests: New file.
38950         * tests/test-getlogin.c: New file.
38951
38952         New module 'getlogin'.
38953         * lib/unistd.in.h (getlogin): New declaration.
38954         * lib/getlogin.c: New file.
38955         * m4/getlogin.m4: New file.
38956         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETLOGIN,
38957         HAVE_GETLOGIN.
38958         * modules/unistd (Makefile.am): Substitute GNULIB_GETLOGIN,
38959         HAVE_GETLOGIN.
38960         * modules/getlogin: New file.
38961         * doc/posix-functions/getlogin.texi: Mention the new module.
38962         Reported by John W. Eaton <jwe@gnu.org>.
38963
38964 2010-01-09  Bruno Haible  <bruno@clisp.org>
38965
38966         getlogin_r: Support for native Windows.
38967         * lib/getlogin_r.c: Include <windows.h>
38968         (getlogin_r): Implement for native Windows.
38969         * tests/test-getlogin_r.c (main): Also test with a huge buffer.
38970         Reported by Tatsuro MATSUOKA <tmacchant5@yahoo.co.jp>
38971         via John W. Eaton <jwe@gnu.org>.
38972
38973 2010-01-09  Bruno Haible  <bruno@clisp.org>
38974
38975         getlogin_r: Small fixes.
38976         * lib/getlogin_r.c (getlogin_r): Don't set errno if the function
38977         succeeds.
38978         * m4/getlogin_r.m4 (gl_GETLOGIN_R): Require gl_USE_SYSTEM_EXTENSIONS
38979         before testing whether getlogin_r is declared. No need to set
38980         HAVE_DECL_GETLOGIN_R to 1.
38981         (gl_PREREQ_GETLOGIN_R): Don't check for the getlogin_r declaration.
38982
38983 2010-01-09  Bruno Haible  <bruno@clisp.org>
38984
38985         * lib/unistd.in.h (getlogin_r): Add comment.
38986
38987 2010-01-09  Bruno Haible  <bruno@clisp.org>
38988
38989         Tests for module 'getlogin_r'.
38990         * modules/getlogin_r-tests: New file.
38991         * tests/test-getlogin_r.c: New file.
38992
38993 2010-01-09  Jim Meyering  <meyering@redhat.com>
38994
38995         maint.mk: extend proper_name_utf8-vs-LIBICONV-checking rule
38996         * top/maint.mk (sc_proper_name_utf8_requires_ICONV): Adapt to work
38997         also when $(LIBICONV) is part of LDADD, rather than ${prog}_LDADD.
38998
38999 2010-01-08  Simon Josefsson  <simon@josefsson.org>
39000
39001         * lib/dup2.c (rpl_dup2): Improve comment.
39002
39003 2010-01-08  Eric Blake  <ebb9@byu.net>
39004
39005         maint.mk: allow packages to add makefile @@ exceptions
39006         * top/maint.mk (_makefile_at_at_check_exceptions): New hook.
39007         (sc_makefile_check): Rename...
39008         (sc_makefile_at_at_check): ...to this, and use hook.
39009
39010         dup2: work around mingw bug
39011         * lib/dup2.c (rpl_dup2): Sanitize return value on mingw.
39012         Reported by Simon Josefsson.
39013
39014 2010-01-07  John W. Eaton  <jwe@octave.org>  (tiny change)
39015
39016         glob: Fix C++ compilation.
39017         * lib/glob.in.h [__cplusplus]: Define __BEGIN_DECLS and __END_DECLS for
39018         C++.
39019
39020 2010-01-07  Bruno Haible  <bruno@clisp.org>
39021
39022         Fix indentation of wctype.in.h, broken since 2007-01-06.
39023         * lib/wctype.in.h: Fix indentation of preprocessor directives.
39024
39025 2010-01-07  Bruno Haible  <bruno@clisp.org>
39026
39027         mbslen: Avoid collision with system function.
39028         * lib/string.in.h [MirBSD]: Include <wchar.h>.
39029         (mbslen): Undefine first. Alias mbslen to rpl_mbslen.
39030         * m4/mbslen.m4: New file.
39031         * modules/mbslen (Files): Add it.
39032         (configure.ac): Invoke gl_MBSLEN.
39033         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize HAVE_MBSLEN.
39034         * modules/string (Makefile.am): Substitute HAVE_MBSLEN.
39035         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>
39036         via Ian Beckwith <ianb@erislabs.net>.
39037
39038 2010-01-07  Bruno Haible  <bruno@clisp.org>
39039
39040         dirent: Document the last fix.
39041         * doc/posix-headers/dirent.texi: Document the bug of missing 'ino_t'.
39042
39043 2010-01-07  Bruno Haible  <bruno@clisp.org>
39044
39045         stdio: Ensure <stdio.h> defines off_t, ssize_t, va_list.
39046         * lib/stdio.in.h: Include <sys/types.h> unconditionally.
39047         * tests/test-stdio.c: Verify that fpos_t, off_t, size_t, ssize_t,
39048         va_list are defined.
39049         * doc/posix-headers/stdio.texi: Document the bug of missing types.
39050         Reported by Eric Blake.
39051
39052 2010-01-07  Bruno Haible  <bruno@clisp.org>
39053
39054         xlist, xoset: Fix missing dependency bug, introduced on 2009-12-13.
39055         * modules/xlist (Depends-on): Add 'list',
39056         * modules/xoset (Depends-on): Add 'oset'.
39057         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
39058
39059 2010-01-07  Bruno Haible  <bruno@clisp.org>
39060
39061         * doc/posix-functions/strcasecmp.texi: Clarify the platforms.
39062         * doc/posix-functions/strncasecmp.texi: Likewise.
39063
39064 2010-01-07  Bruno Haible  <bruno@clisp.org>
39065
39066         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Simplify logic.
39067
39068 2010-01-07  John W. Eaton  <jwe@octave.org>
39069
39070         wctype: allow C++ use
39071         * lib/wctype.in.h: Add extern "C" block for C++.
39072
39073 2010-01-06  Eric Blake  <ebb9@byu.net>
39074
39075         maint.mk: detect incorrect GFDL usage
39076         * top/maint.mk (_GFDL_regexp, sc_GFDL_version): New rule.
39077
39078 2010-01-06  Jim Meyering  <meyering@redhat.com>
39079         and Eric Blake  <ebb9@byu.net>
39080
39081         maint.mk: ignore multi-line copyright in NEWS
39082         * top/maint.mk (NEWS_hash): Add immunity to multi-line copyright.
39083
39084 2010-01-06  Eric Blake  <ebb9@byu.net>
39085
39086         select: add missing dependency
39087         * modules/select-tests (Depends-on): Move sockets dependency...
39088         * modules/select (Depends-on): ...here.
39089         Reported by Ian Beckwith.
39090
39091         doc: regenerate INSTALL
39092         * doc/INSTALL: Reflect recent autoconf update.
39093         * doc/INSTALL.ISO: Likewise.
39094         * doc/INSTALL.UTF-8: Likewise.
39095
39096         pread: fix compilation on glibc
39097         * m4/pread.m4 (gl_FUNC_PREAD): Request all interfaces.
39098         Reported by Ralf Wildenhues.
39099
39100         dirent: fix test failure
39101         * lib/dirent.in.h (includes): Guarantee ino_t.
39102         Reported by Ralf Wildenhues.
39103
39104 2010-01-06  Petr Salinger  <Petr.Salinger@seznam.cz>  (tiny change)
39105
39106         linkat, renameat: avoid bad free
39107         * lib/at-func2.c (at_func2): Fix typo.
39108         Reported via Ian Beckwith, from http://bugs.debian.org/561117.
39109
39110 2010-01-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
39111
39112         cleanup after gl_FUNC_READLINK, for gl_FUNC_SYMLINK test
39113         * m4/readlink.m4 (gl_FUNC_READLINK): Remove conftest.lnk2,
39114         to avoid failure of symlink test later.
39115
39116 2010-01-06  Eric Blake  <ebb9@byu.net>
39117
39118         stdio, unistd: guarantee ssize_t
39119         * lib/unistd.in.h (includes): Ensure that types required by POSIX
39120         2008 are exposed when needed.
39121         * lib/stdio.in.h (includes): Likewise.
39122         Reported by Ralf Wildenhues.
39123
39124 2010-01-06  Paolo Bonzini  <bonzini@gnu.org>
39125
39126         nl_langinfo: do not call AC_CHECK_FUNC_ONCE inside if.
39127         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): Do not call
39128         AC_CHECK_FUNC_ONCE inside if, do not adjust ac_cv_func_nl_langinfo.
39129
39130 2010-01-06  Jim Meyering  <meyering@redhat.com>
39131
39132         readtokens: this module *does* require xalloc.h
39133         It uses only functions that were omitted by the old syntax-check rule.
39134         * lib/readtokens.c: Include "xalloc.h" once again.
39135         * modules/readtokens (Depends-on): Add xalloc.
39136         This reverts part of 0e0f8f12ec241c0f1c1f21f960bb5cf908a0fa3c.
39137
39138 2010-01-05  Eric Blake  <ebb9@byu.net>
39139
39140         maint: support 'make announcement' from a VPATH build
39141         * top/maint.mk (announcement): Look for correct NEWS file.
39142
39143 2010-01-05  Aurelien Jarno  <aurelien@aurel32.net>  (tiny change)
39144
39145         utimens (fdutimens): ignore a negative FD, per contract
39146         * lib/utimens.c (fdutimens) [HAVE_FUTIMENS]: Call futimens only
39147         when we have a valid file descriptor.  Otherwise, using a brand
39148         new glibc (with just-patched futimens that now fails with EBADF)
39149         would cause this function to fail with ENOSYS.
39150         Reported by Guillaume Ayoub in http://bugs.debian.org/563726.
39151         See also http://bugzilla.redhat.com/552320.
39152
39153 2010-01-05  Eric Blake  <ebb9@byu.net>
39154
39155         strcase: document what it provides
39156         * doc/posix-functions/strcasecmp.texi (strcasecmp): Mention the
39157         gnulib module.
39158         * doc/posix-functions/strncasecmp.texi (strncasecmp): Likewise.
39159         Reported by Dilyan Palauzov <Dilyan.Palauzov@aegee.org>.
39160
39161 2010-01-05  Jim Meyering  <meyering@redhat.com>
39162
39163         maint: remove useless inclusions of "xalloc.h"
39164         * lib/getloadavg.c: Remove useless inclusion of "xalloc.h".
39165         * lib/readtokens.c: Likewise.
39166         * lib/same.c: Likewise.
39167         * modules/getloadavg (Depends-on): Remove xalloc.
39168         * modules/readtokens: Likewise.
39169         * modules/same: Likewise.
39170
39171         maint.mk: include 4 more function names in alloca.h-checking regexp
39172         * top/maint.mk (sc_prohibit_xalloc_without_use): Use more complete
39173         regexp.  Before, we would give a false-positive (saying alloca.h
39174         is included unnecessarily) when the only uses involved omitted symbols.
39175
39176         xalloc.h: use consistent formatting
39177         * lib/xalloc.h: Move declarations to start in the first column.
39178
39179 2010-01-05  Eric Blake  <ebb9@byu.net>
39180
39181         mkdir: avoid xalloc
39182         * lib/mkdir.c (includes): Drop unused header.
39183         Reported by John W. Eaton.
39184
39185 2010-01-04  Jim Meyering  <meyering@redhat.com>
39186
39187         nl_langinfo: avoid configure-time syntax error
39188         * m4/nl_langinfo.m4 (gl_FUNC_NL_LANGINFO): When we've already tested
39189         for nl_langinfo.h, AC_CHECK_FUNCS_ONCE([nl_langinfo]) expands to
39190         the empty string.  Don't let that provoke a shell syntax error.
39191
39192         regcomp, regexec, fnmatch: avoid array bounds read error
39193         * lib/regcomp.c (build_equiv_class): From glibc:
39194         Use only the low 24 bits of a findidx return value as an index
39195         into the weights array.  Patch by Ulrich Drepper:
39196         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commit;h=b7d1c5fa30
39197         * lib/regexec.c (check_node_accept_bytes): Likewise.
39198         * lib/fnmatch_loop.c (FCT): Likewise.
39199
39200         regcomp: skip collseq lookup when there are no rules
39201         * lib/regcomp.c (lookup_collation_sequence_value): From glibc:
39202         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a532a41df58
39203
39204         regcomp: recognize ill-formed { } expressions
39205         * lib/regcomp.c (parse_dup_op): From glibc:
39206         http://sourceware.org/git/gitweb.cgi?p=glibc.git;a=commitdiff;h=a87cd2894cb
39207
39208         regcomp: fix typo in comment
39209         * lib/regcomp.c (duplicate_node_closure): Sync from glibc.
39210         s/satisfy/satisfies/.
39211
39212         regcomp: sync from glibc: remove dead store
39213         * lib/regcomp.c (duplicate_node_closure): Remove useless
39214         search_duplicated_node call and dead store.
39215
39216         regcomp: sync from glibc; always use nl_langinfo
39217         * lib/regcomp.c (init_dfa) [!LIBC]: Always use nl_langinfo (CODESET),
39218         now that gnulib provides it.  Recognize UTF8 as well as UTF-8.
39219         * modules/regex (Depends-on): Add nl_langinfo.
39220
39221 2010-01-04  Eric Blake  <ebb9@byu.net>
39222
39223         fdopendir: fix configure test
39224         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for existing file.
39225
39226 2010-01-01  Bruno Haible  <bruno@clisp.org>
39227
39228         wchar: Remove unused configure check.
39229         * m4/wchar.m4 (gl_WCHAR_H): Don't test whether <wchar.h> is standalone.
39230
39231 2010-01-01  Eric Blake  <ebb9@byu.net>
39232
39233         headers: make check of system header explicit
39234         * m4/netdb_h.m4 (gl_HEADER_NETDB): Don't exploit knowledge of
39235         gl_CHECK_NEXT_HEADER internals, but call AC_CHECK_HEADERS_ONCE
39236         ourselves.
39237         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
39238         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39239         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
39240         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise, for gt_INTTYPES_PRI
39241         internals.
39242         * m4/wchar.m4 (gl_WCHAR_H): Skip followup test if header is
39243         missing.
39244         Suggested by Bruno Haible.
39245
39246 2010-01-01  Jim Meyering  <meyering@redhat.com>
39247
39248         ChangeLog: tweak to eliminate unnecessary copyright line
39249         * ChangeLog: Remove a copyright line that was mistakenly updated
39250         by today's update-copyright run.  Reported by Eric Blake.
39251
39252         test-update-copyright: don't let envvar setting cause test failure
39253         * tests/test-update-copyright.sh: Set UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
39254
39255 2010-01-01  Bruno Haible  <bruno@clisp.org>
39256
39257         localename: Avoid gcc warning.
39258         * lib/localename.c (gl_locale_name_thread_unsafe): Don't define this
39259         function if it is not used.
39260
39261 2010-01-01  Jim Meyering  <meyering@redhat.com>
39262
39263         update nearly all FSF copyright year lists to include 2010
39264         Use the same procedure as for 2009, outlined in
39265         http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/20081
39266
39267         version-etc: set COPYRIGHT_YEAR to 2010
39268         * lib/version-etc.c (COPYRIGHT_YEAR): Manually update the enum.
39269
39270 2009-12-31  Eric Blake  <ebb9@byu.net>
39271
39272         doc: correct availability of cygwin 1.5.x getopt
39273         * doc/posix-functions/optarg.texi (optarg): Cygwin supplies getopt
39274         variables.
39275         * doc/posix-functions/opterr.texi (opterr): Likewise.
39276         * doc/posix-functions/optind.texi (optind): Likewise.
39277         * doc/posix-functions/optopt.texi (optopt): Likewise.
39278         * doc/posix-functions/tzname.texi (tzname): Likewise.
39279
39280         openat: update maintainer
39281         * modules/openat (Maintainer): Add myself.
39282
39283         utimens: avoid shadowing warning
39284         * lib/utimens.c (fdutimens, lutimens): Consolidate separate stat
39285         buffers into one, to avoid shadowing, as well as avoiding a
39286         redundant stat.
39287         Reported by Jim Meyering.
39288
39289         test-dup2: avoid compiler warning
39290         * tests/test-dup2.c (is_inheritable): Only define if used.
39291
39292 2010-01-01  Bruno Haible  <bruno@clisp.org>
39293
39294         vasnprintf: Avoid passing an 'rpl_mbstate_t *' to the system's wcrtomb.
39295         * lib/vasnprintf.c (VASNPRINTF): If GNULIB_defined_mbstate_t is
39296         defined, use wctomb instead of wcrtomb.
39297
39298 2010-01-01  Bruno Haible  <bruno@clisp.org>
39299
39300         iconv: Reject native Solaris iconv.
39301         * m4/iconv.m4 (AM_ICONV_LINK): Recognize native Solaris iconv() bug.
39302         * doc/posix-functions/iconv.texi: Document native Solaris iconv() bug.
39303
39304 2009-12-31  Bruno Haible  <bruno@clisp.org>
39305
39306         * tests/test-signal.c (main): Remove test of 'SIG'.
39307
39308 2009-12-31  Bruno Haible  <bruno@clisp.org>
39309
39310         spawn: Fix incomplete fix.
39311         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39312         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39313         warnings for GNULIB_POSIXCHECK again.
39314         Reported by Eric Blake.
39315
39316 2009-12-31  Bruno Haible  <bruno@clisp.org>
39317
39318         Avoid namespace pollution on glibc systems.
39319         * lib/spawn.in.h: Don't include <sched.h>, <signal.h> on glibc systems.
39320         * lib/sys_times.in.h: Don't include <time.h> on glibc systems.
39321         * lib/wchar.in.h: Don't include <stddef.h>, <stdio.h>, <time.h> on
39322         glibc systems.
39323
39324 2009-12-31  Bruno Haible  <bruno@clisp.org>
39325
39326         * m4/wchar.m4 (gl_WCHAR_H): Remove gl_STDDEF_H invocation.
39327         (gl_REPLACE_WCHAR_H): Turn into a no-op.
39328         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Likewise.
39329         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H): Likewise.
39330         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H): Likewise.
39331         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H): Likewise.
39332         * m4/sys_ioctl_h.m4 (gl_REPLACE_SYS_IOCTL_H): Likewise.
39333
39334 2009-12-31  Bruno Haible  <bruno@clisp.org>
39335
39336         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Invoke
39337         gl_CHECK_NEXT_HEADERS before testing ac_cv_header_sys_select_h, not
39338         afterwards.
39339
39340 2009-12-31  Bruno Haible  <bruno@clisp.org>
39341
39342         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H_DEFAULTS): Don't set
39343         SYS_UTSNAME_H.
39344
39345 2009-12-31  Bruno Haible  <bruno@clisp.org>
39346
39347         spawn: Fix misapplied patch.
39348         * lib/spawn.in.h (posix_spawnattr_getflags, posix_spawnattr_setflags,
39349         posix_spawnattr_getpgroup, posix_spawnattr_setpgroup): Correct the link
39350         warnings for GNULIB_POSIXCHECK.
39351
39352 2009-12-31  Bruno Haible  <bruno@clisp.org>
39353
39354         times: Update after sys_times changed.
39355         * m4/times.m4: New file, extracted from modules/times. Set HAVE_TIMES.
39356         * modules/times (Files): Add it.
39357         (configure.ac): Invoke gl_FUNC_TIMES.
39358
39359 2009-12-31  Bruno Haible  <bruno@clisp.org>
39360
39361         Use AC_C_INLINE where necessary.
39362         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Require AC_C_INLINE.
39363         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
39364         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
39365         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
39366         * m4/mbfile.m4 (gl_MBFILE): Likewise.
39367         * m4/mbiter.m4 (gl_MBITER): Likewise.
39368         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
39369         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
39370         * m4/wait-process.m4 (gl_WAIT_PROCESS): Likewise.
39371         * modules/u64 (configure.ac): Likewise.
39372
39373 2009-12-31  Bruno Haible  <bruno@clisp.org>
39374
39375         Use AC_C_INLINE instead of module 'inline' where possible.
39376         * modules/inline (Description): Clarify purpose.
39377         * m4/count-one-bits.m4 (gl_COUNT_ONE_BITS): Require AC_C_INLINE.
39378         * modules/count-one-bits (Depends-on): Remove inline.
39379         * m4/openat.m4 (gl_PREREQ_OPENAT): Require AC_C_INLINE.
39380         * modules/openat (Depends-on): Remove inline.
39381         * modules/fdutimensat (Depends-on, configure.ac): Require AC_C_INLINE
39382         instead of depending on module 'inline'.
39383         * modules/filevercmp (Depends-on, configure.ac): Likewise.
39384         * modules/unicase/cased (Depends-on, configure.ac): Likewise.
39385         * modules/unicase/ignorable (Depends-on, configure.ac): Likewise.
39386         * modules/unictype/category-of (Depends-on, configure.ac): Likewise.
39387         * modules/unictype/category-test (Depends-on, configure.ac): Likewise.
39388         * modules/unictype/ctype-alnum (Depends-on, configure.ac): Likewise.
39389         * modules/unictype/ctype-alpha (Depends-on, configure.ac): Likewise.
39390         * modules/unictype/ctype-blank (Depends-on, configure.ac): Likewise.
39391         * modules/unictype/ctype-cntrl (Depends-on, configure.ac): Likewise.
39392         * modules/unictype/ctype-digit (Depends-on, configure.ac): Likewise.
39393         * modules/unictype/ctype-graph (Depends-on, configure.ac): Likewise.
39394         * modules/unictype/ctype-lower (Depends-on, configure.ac): Likewise.
39395         * modules/unictype/ctype-print (Depends-on, configure.ac): Likewise.
39396         * modules/unictype/ctype-punct (Depends-on, configure.ac): Likewise.
39397         * modules/unictype/ctype-space (Depends-on, configure.ac): Likewise.
39398         * modules/unictype/ctype-upper (Depends-on, configure.ac): Likewise.
39399         * modules/unictype/ctype-xdigit (Depends-on, configure.ac): Likewise.
39400         * modules/unictype/property-alphabetic (Depends-on, configure.ac):
39401         Likewise.
39402         * modules/unictype/property-ascii-hex-digit (Depends-on,
39403         configure.ac): Likewise.
39404         * modules/unictype/property-bidi-arabic-digit (Depends-on,
39405         configure.ac): Likewise.
39406         * modules/unictype/property-bidi-arabic-right-to-left (Depends-on,
39407         configure.ac): Likewise.
39408         * modules/unictype/property-bidi-block-separator (Depends-on,
39409         configure.ac): Likewise.
39410         * modules/unictype/property-bidi-boundary-neutral (Depends-on,
39411         configure.ac): Likewise.
39412         * modules/unictype/property-bidi-common-separator (Depends-on,
39413         configure.ac): Likewise.
39414         * modules/unictype/property-bidi-control (Depends-on, configure.ac):
39415         Likewise.
39416         * modules/unictype/property-bidi-embedding-or-override (Depends-on,
39417         configure.ac): Likewise.
39418         * modules/unictype/property-bidi-eur-num-separator (Depends-on,
39419         configure.ac): Likewise.
39420         * modules/unictype/property-bidi-eur-num-terminator (Depends-on,
39421         configure.ac): Likewise.
39422         * modules/unictype/property-bidi-european-digit (Depends-on,
39423         configure.ac): Likewise.
39424         * modules/unictype/property-bidi-hebrew-right-to-left (Depends-on,
39425         configure.ac): Likewise.
39426         * modules/unictype/property-bidi-left-to-right (Depends-on,
39427         configure.ac): Likewise.
39428         * modules/unictype/property-bidi-non-spacing-mark (Depends-on,
39429         configure.ac): Likewise.
39430         * modules/unictype/property-bidi-other-neutral (Depends-on,
39431         configure.ac): Likewise.
39432         * modules/unictype/property-bidi-pdf (Depends-on, configure.ac):
39433         Likewise.
39434         * modules/unictype/property-bidi-segment-separator (Depends-on,
39435         configure.ac): Likewise.
39436         * modules/unictype/property-bidi-whitespace (Depends-on,
39437         configure.ac): Likewise.
39438         * modules/unictype/property-combining (Depends-on, configure.ac):
39439         Likewise.
39440         * modules/unictype/property-composite (Depends-on, configure.ac):
39441         Likewise.
39442         * modules/unictype/property-currency-symbol (Depends-on,
39443         configure.ac): Likewise.
39444         * modules/unictype/property-dash (Depends-on, configure.ac): Likewise.
39445         * modules/unictype/property-decimal-digit (Depends-on, configure.ac):
39446         Likewise.
39447         * modules/unictype/property-default-ignorable-code-point (Depends-on,
39448         configure.ac): Likewise.
39449         * modules/unictype/property-deprecated (Depends-on, configure.ac):
39450         Likewise.
39451         * modules/unictype/property-diacritic (Depends-on, configure.ac):
39452         Likewise.
39453         * modules/unictype/property-extender (Depends-on, configure.ac):
39454         Likewise.
39455         * modules/unictype/property-format-control (Depends-on, configure.ac):
39456         Likewise.
39457         * modules/unictype/property-grapheme-base (Depends-on, configure.ac):
39458         Likewise.
39459         * modules/unictype/property-grapheme-extend (Depends-on, configure.ac):
39460         Likewise.
39461         * modules/unictype/property-grapheme-link (Depends-on, configure.ac):
39462         Likewise.
39463         * modules/unictype/property-hex-digit (Depends-on, configure.ac):
39464         Likewise.
39465         * modules/unictype/property-hyphen (Depends-on, configure.ac):
39466         Likewise.
39467         * modules/unictype/property-id-continue (Depends-on, configure.ac):
39468         Likewise.
39469         * modules/unictype/property-id-start (Depends-on, configure.ac):
39470         Likewise.
39471         * modules/unictype/property-ideographic (Depends-on, configure.ac):
39472         Likewise.
39473         * modules/unictype/property-ids-binary-operator (Depends-on,
39474         configure.ac): Likewise.
39475         * modules/unictype/property-ids-trinary-operator (Depends-on,
39476         configure.ac): Likewise.
39477         * modules/unictype/property-ignorable-control (Depends-on,
39478         configure.ac): Likewise.
39479         * modules/unictype/property-iso-control (Depends-on, configure.ac):
39480         Likewise.
39481         * modules/unictype/property-join-control (Depends-on, configure.ac):
39482         Likewise.
39483         * modules/unictype/property-left-of-pair (Depends-on, configure.ac):
39484         Likewise.
39485         * modules/unictype/property-line-separator (Depends-on, configure.ac):
39486         Likewise.
39487         * modules/unictype/property-logical-order-exception (Depends-on,
39488         configure.ac): Likewise.
39489         * modules/unictype/property-lowercase (Depends-on, configure.ac):
39490         Likewise.
39491         * modules/unictype/property-math (Depends-on, configure.ac): Likewise.
39492         * modules/unictype/property-non-break (Depends-on, configure.ac):
39493         Likewise.
39494         * modules/unictype/property-not-a-character (Depends-on, configure.ac):
39495         Likewise.
39496         * modules/unictype/property-numeric (Depends-on, configure.ac):
39497         Likewise.
39498         * modules/unictype/property-other-alphabetic (Depends-on,
39499         configure.ac): Likewise.
39500         * modules/unictype/property-other-default-ignorable-code-point
39501         (Depends-on, configure.ac): Likewise.
39502         * modules/unictype/property-other-grapheme-extend (Depends-on,
39503         configure.ac): Likewise.
39504         * modules/unictype/property-other-id-continue (Depends-on,
39505         configure.ac): Likewise.
39506         * modules/unictype/property-other-id-start (Depends-on, configure.ac):
39507         Likewise.
39508         * modules/unictype/property-other-lowercase (Depends-on, configure.ac):
39509         Likewise.
39510         * modules/unictype/property-other-math (Depends-on, configure.ac):
39511         Likewise.
39512         * modules/unictype/property-other-uppercase (Depends-on, configure.ac):
39513         Likewise.
39514         * modules/unictype/property-paired-punctuation (Depends-on,
39515         configure.ac): Likewise.
39516         * modules/unictype/property-paragraph-separator (Depends-on,
39517         configure.ac): Likewise.
39518         * modules/unictype/property-pattern-syntax (Depends-on, configure.ac):
39519         Likewise.
39520         * modules/unictype/property-pattern-white-space (Depends-on,
39521         configure.ac): Likewise.
39522         * modules/unictype/property-private-use (Depends-on, configure.ac):
39523         Likewise.
39524         * modules/unictype/property-punctuation (Depends-on, configure.ac):
39525         Likewise.
39526         * modules/unictype/property-quotation-mark (Depends-on, configure.ac):
39527         Likewise.
39528         * modules/unictype/property-radical (Depends-on, configure.ac):
39529         Likewise.
39530         * modules/unictype/property-sentence-terminal (Depends-on,
39531         configure.ac): Likewise.
39532         * modules/unictype/property-soft-dotted (Depends-on, configure.ac):
39533         Likewise.
39534         * modules/unictype/property-space (Depends-on, configure.ac): Likewise.
39535         * modules/unictype/property-terminal-punctuation (Depends-on,
39536         configure.ac): Likewise.
39537         * modules/unictype/property-titlecase (Depends-on, configure.ac):
39538         Likewise.
39539         * modules/unictype/property-unassigned-code-value (Depends-on,
39540         configure.ac): Likewise.
39541         * modules/unictype/property-unified-ideograph (Depends-on,
39542         configure.ac): Likewise.
39543         * modules/unictype/property-uppercase (Depends-on, configure.ac):
39544         Likewise.
39545         * modules/unictype/property-variation-selector (Depends-on,
39546         configure.ac): Likewise.
39547         * modules/unictype/property-white-space (Depends-on, configure.ac):
39548         Likewise.
39549         * modules/unictype/property-xid-continue (Depends-on, configure.ac):
39550         Likewise.
39551         * modules/unictype/property-xid-start (Depends-on, configure.ac):
39552         Likewise.
39553         * modules/unictype/property-zero-width (Depends-on, configure.ac):
39554         Likewise.
39555         * modules/unictype/syntax-c-ident (Depends-on, configure.ac): Likewise.
39556         * modules/unictype/syntax-java-ident (Depends-on, configure.ac):
39557         Likewise.
39558
39559 2009-12-31  Bruno Haible  <bruno@clisp.org>
39560
39561         Remove unnecessary AC_C_INLINE invocation.
39562         * m4/popen.m4 (gl_PREREQ_POPEN): Don't invoke AC_C_INLINE. Not needed
39563         since 2009-08-21.
39564
39565 2009-12-31  Jim Meyering  <meyering@redhat.com>
39566
39567         maint.mk: don't require explicit gpg_key_ID in cfg.mk
39568         * top/maint.mk (gpg_key_ID): Derive key ID from signed release tag.
39569         With this change, we can all remove the gpg_key_ID = ... definition
39570         from our respective cfg.mk files.
39571
39572         maint.mk: create announcement template in ~/, not in /tmp
39573         * top/maint.mk (emit_upload_commands): Adjust.
39574         (release-prep): Emit into ~/announce-..., not /tmp/announce-...
39575         Remove temporary file, .ci-msg.
39576
39577 2009-12-31  Eric Blake  <ebb9@byu.net>
39578
39579         link-warning: always build headers with link warnings
39580         * modules/arpa_inet (Makefile.am): Always build replacement
39581         header.
39582         * modules/ctype (Makefile.am): Likewise.
39583         * modules/dirent (Makefile.am): Likewise.
39584         * modules/inttypes (Makefile.am): Likewise.
39585         * modules/langinfo (Makefile.am): Likewise.
39586         * modules/locale (Makefile.am): Likewise.
39587         * modules/spawn (Makefile.am): Likewise.
39588         * modules/sys_file (Makefile.am): Likewise.
39589         * modules/sys_ioctl (Makefile.am): Likewise.
39590         * modules/sys_select (Makefile.am): Likewise.
39591         * modules/sys_socket (Makefile.am): Likewise.
39592         * modules/sys_times (Makefile.am): Likewise.
39593         * modules/sys_utsname (Makefile.am): Likewise.
39594         * modules/sys_wait (Makefile.am): Likewise.
39595         * modules/wchar (Makefile.am): Likewise.
39596         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET)
39597         (gl_ARPA_INET_H_DEFAULTS): Drop unneeded variable.
39598         * m4/ctype.m4 (gl_CTYPE_H_DEFAULTS): Likewise.
39599         * m4/isblank.m4 (gl_FUNC_ISBLANK): Likewise.
39600         * m4/dirent_h.m4 (gl_REPLACE_DIRENT_H, gl_DIRENT_H_DEFAULTS):
39601         Likewise.
39602         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
39603         * m4/langinfo_h.m4 (gl_LANGINFO_H): Likewise.
39604         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_H_DEFAULTS):
39605         Likewise.
39606         * m4/spawn_h.m4 (gl_REPLACE_SPAWN_H, gl_SPAWN_H_DEFAULTS):
39607         Likewise.
39608         * m4/sys_file_h.m4 (gl_HEADER_SYS_FILE_H): Likewise.
39609         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H, gl_REPLACE_SYS_IOCTL_H)
39610         (gl_SYS_IOCTL_H_DEFAULTS): Likewise.
39611         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
39612         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Likewise.
39613         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39614         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39615         * m4/wchar.m4 (gl_WCHAR_H, gl_REPLACE_WCHAR_H)
39616         (gl_WCHAR_H_DEFAULTS): Likewise.
39617
39618 2009-12-31  Eric Blake  <ebb9@byu.net>
39619
39620         signal, spawn: use link warnings
39621         * lib/signal.in.h (sigset_t): Make unconditional.
39622         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset)
39623         (sigpending, sigprocmask, sigaction): Add link warnings.
39624         * lib/spawn.in.h (posix_spawn, posix_spawnp, posix_spawnattr_init)
39625         (posix_spawnattr_destroy, posix_spawnattr_getsigdefault)
39626         (posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask)
39627         (posix_spawnattr_setsigmask, posix_spawnattr_getflags)
39628         (posix_spawnattr_setflags, posix_spawnattr_getpgroup)
39629         (posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy)
39630         (posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam)
39631         (posix_spawnattr_setschedparam, posix_spawn_file_actions_init)
39632         (posix_spawn_file_actions_destroy)
39633         (posix_spawn_file_actions_addopen)
39634         (posix_spawn_file_actions_addclose)
39635         (posix_spawn_file_actions_adddup2): Likewise.
39636         * m4/signal_h.m4 (gl_SIGNAL_H): Guarantee uid_t.
39637         * tests/test-signal.c (main): Enhance test.
39638
39639         spawn: improve wrapper support
39640         * m4/spawn_h.m4 (gl_SPAWN_H): Check for type existence.
39641         (gl_SPAWN_H_DEFAULTS): New defaults.
39642         * modules/spawn (Makefile.am): Substitute them.
39643         * lib/spawn.in.h: (posix_spawnattr_t, posix_spawn_file_actions_t):
39644         Only declare if missing or broken.
39645
39646         sys_times, sys_utsname: use include_next
39647         * m4/sys_times_h.m4 (gl_SYS_TIMES_H): Support wrapping an existing
39648         header.
39649         (gl_SYS_TIMES_H_DEFAULTS): Add another variable.
39650         * m4/sys_utsname_h.m4 (gl_SYS_UTSNAME_H)
39651         (gl_SYS_UTSNAME_H_DEFAULTS): Likewise.
39652         * modules/sys_times (Depends-on): Add include_next.
39653         (Makefile.am): Substitute additional values.
39654         * modules/sys_utsname (Depends-on, Makefile.am): Likewise.
39655         * lib/sys_times.in.h (includes): Include native header, if
39656         available.
39657         * lib/sys_utsname.in.h (includes): Likewise.
39658         * tests/test-sys_times.c (main): Enhance test.
39659
39660         fdutimensat: revert prior patch
39661         * modules/fdutimensat (Depends-on): Re-add inline; it is needed by
39662         utimens.h.
39663         Reported by Bruno Haible.
39664
39665 2009-12-30  Eric Blake  <ebb9@byu.net>
39666
39667         sys_wait: drop link-warning dependency
39668         * modules/sys_wait (Depends-on, Makefile.am): Drop unneeded
39669         link-warning efforts.
39670         * lib/sys_wait.in.h: Likewise.
39671
39672         fdutimensat: remove bogus dependency
39673         * modules/fdutimensat (Depends-on): Drop inline.
39674
39675         unistd: fix typo
39676         * lib/unistd.in.h (linkat) [GNULIB_POSIXCHECK]: Fix typo.
39677
39678 2009-12-30  Bruno Haible  <bruno@clisp.org>
39679
39680         Fix compilation error with Solaris cc.
39681         * lib/unicase/u8-is-invariant.c: Include <stdbool.h>.
39682         * lib/unicase/u16-is-invariant.c: Likewise.
39683         * lib/unicase/u32-is-invariant.c: Likewise.
39684         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
39685
39686 2009-12-30  Bruno Haible  <bruno@clisp.org>
39687
39688         Fix test crash.
39689         * tests/test-localename.c (test_locale_name_thread): Skip unavailable
39690         locales.
39691         Reported by Simon Josefsson <simon@josefsson.org>.
39692
39693 2009-12-30  Bruno Haible  <bruno@clisp.org>
39694
39695         Fix compilation error on most platforms.
39696         * tests/test-localename.c (categories): Define only if HAVE_NEWLOCALE.
39697         Reported by Simon Josefsson <simon@josefsson.org>
39698         and Nelson H. F. Beebe <beebe@math.utah.edu>.
39699
39700 2009-12-30  Eric Blake  <ebb9@byu.net>
39701
39702         futimens, utimensat: work around ntfs-3g bug
39703         * lib/utimensat.c (rpl_utimensat): Drop attempts to cache whether
39704         a ctime bug is present, and expand workaround to cover ntfs-3g.
39705         * lib/utimens.c (fdutimens, lutimens): Likewise.
39706         (utimensat_ctime_really, detect_ctime_bug): Drop cache mechanism.
39707         (validate_timespec): Adjust return value.
39708         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Update comment.
39709         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
39710         Reported by ctrn3e8 <ctrn3e8@gmail.com>.
39711
39712 2009-12-29  Eric Blake  <ebb9@byu.net>
39713
39714         link-warning: make usage consistent
39715         * modules/ctype (Depends-on): Add link-warning.
39716         (Makefile.am): Update rules accordingly.
39717         * modules/langinfo (Depends-on, Makefile.am): Likewise.
39718         * modules/locale (Depends-on, Makefile.am): Likewise.
39719         * modules/sys_file (Makefile.am): Likewise.
39720         * modules/getopt-posix (Makefile.am): Delete unused link warning
39721         efforts.
39722         * lib/ctype.in.h (GL_LINK_WARNING): Ensure definition before use.
39723         * lib/langinfo.in.h (GL_LINK_WARNING): Likewise.
39724         * lib/locale.in.h (GL_LINK_WARNING): Likewise.
39725         * lib/sys_file.in.h (GL_LINK_WARNING): Likewise.
39726
39727         stdio: remove unused variables
39728         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Remove unused variables.
39729         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Likewise.
39730         * m4/ftello.m4 (gl_FUNC_FTELLO): Likewise.
39731
39732         tests: test more substitute headers
39733         * modules/ctype-tests: New file.
39734         * modules/dirent-tests: Likewise.
39735         * modules/spawn-tests: Likewise.
39736         * modules/sys_file-tests: Likewise.
39737         * modules/sys_ioctl-tests: Likewise.
39738         * modules/sys_wait-tests: Likewise.
39739         * tests/test-ctype.c: Likewise.
39740         * tests/test-dirent.c: Likewise.
39741         * tests/test-spawn.c: Likewise.
39742         * tests/test-sys_file.c: Likewise.
39743         * tests/test-sys_ioctl.c: Likewise.
39744         * tests/test-sys_wait.c: Likewise.
39745         * m4/spawn_h.m4 (gl_SPAWN_H): Replace header if it is missing.
39746         * lib/sys_file.in.h (LOCK_SH, LOCK_EX, LOCK_UN, LOCK_NB): Provide
39747         whether or not flock is in use.
39748
39749         tests: remove License section from module
39750         * modules/arpa_inet-tests: Remove unneeded section.
39751         * modules/byteswap-tests: Likewise.
39752         * modules/ceilf-tests: Likewise.
39753         * modules/ceill-tests: Likewise.
39754         * modules/crypto/des-tests: Likewise.
39755         * modules/crypto/gc-arcfour-tests: Likewise.
39756         * modules/crypto/gc-arctwo-tests: Likewise.
39757         * modules/crypto/gc-des-tests: Likewise.
39758         * modules/crypto/gc-hmac-md5-tests: Likewise.
39759         * modules/crypto/gc-hmac-sha1-tests: Likewise.
39760         * modules/crypto/gc-md2-tests: Likewise.
39761         * modules/crypto/gc-md4-tests: Likewise.
39762         * modules/crypto/gc-md5-tests: Likewise.
39763         * modules/crypto/gc-pbkdf2-sha1-tests: Likewise.
39764         * modules/crypto/gc-rijndael-tests: Likewise.
39765         * modules/crypto/gc-sha1-tests: Likewise.
39766         * modules/crypto/gc-tests: Likewise.
39767         * modules/crypto/md2-tests: Likewise.
39768         * modules/crypto/md4-tests: Likewise.
39769         * modules/fcntl-h-tests: Likewise.
39770         * modules/floorf-tests: Likewise.
39771         * modules/floorl-tests: Likewise.
39772         * modules/frexp-nolibm-tests: Likewise.
39773         * modules/frexp-tests: Likewise.
39774         * modules/frexpl-nolibm-tests: Likewise.
39775         * modules/frexpl-tests: Likewise.
39776         * modules/getaddrinfo-tests: Likewise.
39777         * modules/inttypes-tests: Likewise.
39778         * modules/isfinite-tests: Likewise.
39779         * modules/isinf-tests: Likewise.
39780         * modules/ldexpl-tests: Likewise.
39781         * modules/locale-tests: Likewise.
39782         * modules/math-tests: Likewise.
39783         * modules/netdb-tests: Likewise.
39784         * modules/netinet_in-tests: Likewise.
39785         * modules/printf-frexp-tests: Likewise.
39786         * modules/printf-frexpl-tests: Likewise.
39787         * modules/priv-set-tests: Likewise.
39788         * modules/random_r-tests: Likewise.
39789         * modules/round-tests: Likewise.
39790         * modules/roundf-tests: Likewise.
39791         * modules/roundl-tests: Likewise.
39792         * modules/search-tests: Likewise.
39793         * modules/select-tests: Likewise.
39794         * modules/signal-tests: Likewise.
39795         * modules/stdbool-tests: Likewise.
39796         * modules/stddef-tests: Likewise.
39797         * modules/stdint-tests: Likewise.
39798         * modules/stdio-tests: Likewise.
39799         * modules/stdlib-tests: Likewise.
39800         * modules/string-tests: Likewise.
39801         * modules/strings-tests: Likewise.
39802         * modules/sys_select-tests: Likewise.
39803         * modules/sys_socket-tests: Likewise.
39804         * modules/sys_stat-tests: Likewise.
39805         * modules/sys_time-tests: Likewise.
39806         * modules/sys_utsname-tests: Likewise.
39807         * modules/sysexits-tests: Likewise.
39808         * modules/time-tests: Likewise.
39809         * modules/trunc-tests: Likewise.
39810         * modules/truncf-tests: Likewise.
39811         * modules/truncl-tests: Likewise.
39812         * modules/tsearch-tests: Likewise.
39813         * modules/unistd-tests: Likewise.
39814         * modules/wchar-tests: Likewise.
39815         * modules/wctype-tests: Likewise.
39816
39817         tests: fix license on several tests
39818         * tests/test-des.c: Update to GPLv3+.
39819         * tests/test-flock.c: Likewise.
39820         * tests/test-fsync.c: Likewise.
39821         * tests/test-futimens.h: Likewise.
39822         * tests/test-gc-arcfour.c: Likewise.
39823         * tests/test-gc-arctwo.c: Likewise.
39824         * tests/test-gc-des.c: Likewise.
39825         * tests/test-gc-hmac-md5.c: Likewise.
39826         * tests/test-gc-hmac-sha1.c: Likewise.
39827         * tests/test-gc-md2.c: Likewise.
39828         * tests/test-gc-md4.c: Likewise.
39829         * tests/test-gc-md5.c: Likewise.
39830         * tests/test-gc-pbkdf2-sha1.c: Likewise.
39831         * tests/test-gc-rijndael.c: Likewise.
39832         * tests/test-gc-sha1.c: Likewise.
39833         * tests/test-gc.c: Likewise.
39834         * tests/test-getcwd.c: Likewise.
39835         * tests/test-link.c: Likewise.
39836         * tests/test-link.h: Likewise.
39837         * tests/test-lutimens.h: Likewise.
39838         * tests/test-md2.c: Likewise.
39839         * tests/test-md4.c: Likewise.
39840         * tests/test-mkdir.h: Likewise.
39841         * tests/test-rename.c: Likewise.
39842         * tests/test-rename.h: Likewise.
39843         * tests/test-safe-alloc.c: Likewise.
39844         * tests/test-utimens-common.h: Likewise.
39845         * tests/test-utimens.h: Likewise.
39846
39847         maint: sync license texts
39848         * config/srclist.txt: Add gpl-1.3.texi, lgpl-1.3.texi.
39849         * doc/gpl-3.0.texi: Revert copyright year update.
39850         * doc/lgpl-3.0.texi: Likewise.
39851
39852 2009-12-29  Jim Meyering  <meyering@redhat.com>
39853
39854         update nearly all FSF copyright year lists to include 2009
39855         The files named by the following are exempted:
39856             grep -v '^#' config/srclist.txt|grep -v '^$' | while read src dst; do
39857               test -f "$dst" && { echo "$dst"; continue; }
39858               test -d "$dst" || continue
39859               echo "$dst"/$(basename "$src")
39860             done > exempt
39861             git ls-files tests/unictype >> exempt
39862         In the remaining files, convert to all-interval notation if
39863         - there is already at least one year interval like 2000-2003
39864         - the file is maintained by me
39865         - the file is in lib/uni*/, where that style already prevails
39866         Otherwise, use update-copyright's default.
39867
39868 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39869         and Eric Blake  <ebb9@byu.net>
39870
39871         tests: don't require debug system() to pass
39872         * tests/test-lstat.h (test_lstat_func): Move debug cleanup...
39873         * tests/test-rmdir.h (test_rmdir_func): Likewise.
39874         * tests/test-unlink.h (test_unlink_func): Likewise.
39875         * tests/test-fstatat.c (main): ...into callers.
39876         * tests/test-lstat.c (main): Likewise.
39877         * tests/test-rmdir.c (main): Likewise.
39878         * tests/test-unlink.c (main): Likewise.
39879         * tests/test-unlinkat.c (main): Likewise.
39880         * tests/test-areadlink-with-size.c (main): Don't require a
39881         debug-only system call to pass, aiding cross-testing to mingw.
39882         * tests/test-areadlink.c (main): Likewise.
39883         * tests/test-areadlinkat-with-size.c (main): Likewise.
39884         * tests/test-areadlinkat.c (main): Likewise.
39885         * tests/test-canonicalize-lgpl.c (main): Likewise.
39886         * tests/test-canonicalize.c (main): Likewise.
39887         * tests/test-chown.c (main): Likewise.
39888         * tests/test-fchownat.c (main): Likewise.
39889         * tests/test-lchown.c (main): Likewise.
39890         * tests/test-fdutimensat.c (main): Likewise.
39891         * tests/test-futimens.c (main): Likewise.
39892         * tests/test-link.c (main): Likewise.
39893         * tests/test-linkat.c (main): Likewise.
39894         * tests/test-mkdir.c (main): Likewise.
39895         * tests/test-mkdirat.c (main): Likewise.
39896         * tests/test-mkfifo.c (main): Likewise.
39897         * tests/test-mkfifoat.c (main): Likewise.
39898         * tests/test-mknod.c (main): Likewise.
39899         * tests/test-readlink.c (main): Likewise.
39900         * tests/test-remove.c (main): Likewise.
39901         * tests/test-rename.c (main): Likewise.
39902         * tests/test-renameat.c (main): Likewise.
39903         * tests/test-symlink.c (main): Likewise.
39904         * tests/test-symlinkat.c (main): Likewise.
39905         * tests/test-utimens.c (main): Likewise.
39906         * tests/test-utimensat.c (main): Likewise.
39907
39908 2009-12-29  Simon Josefsson  <simon@josefsson.org>
39909
39910         * modules/selinux-h (selinux/selinux.h, selinux/context.h): Depend
39911         on $(UNUSED_PARAMETER_H) to avoid build failure.
39912
39913 2009-12-28  Jim Meyering  <meyering@redhat.com>
39914
39915         update-copyright: you may specify a max. line length other than 72
39916         * build-aux/update-copyright: Honor $UPDATE_COPYRIGHT_MAX_LINE_LENGTH.
39917
39918         maint: use consistent FSF copyright line syntax
39919         * lib/posixtm.c: Add missing comma in FSF copyright line.
39920         * lib/posixtm.h: Likewise.
39921         * lib/getugroups.c: Add missing ", Inc.".
39922
39923         pmccabe2html: emit consistent FSF copyright; remove trailing blanks
39924         * build-aux/pmccabe2html: Insert comma before "Inc." in emitted
39925         FSF copyright line.  Remove trailing blanks.
39926
39927 2009-12-28  Eric Blake  <ebb9@byu.net>
39928
39929         test-dup2: reduce dependencies
39930         * modules/cloexec (Configure.ac): Set witness.
39931         * modules/dup2-tests (Depends-on): Drop cloexec.
39932         * tests/test-dup2.c (main): Skip portion of test if cloexec module
39933         not present.
39934         Suggested by Bruno Haible.
39935
39936 2009-12-26  Bruno Haible  <bruno@clisp.org>
39937
39938         Remove an unneeded dependency.
39939         * modules/fseterr (Depends-on): Remove dup2.
39940
39941 2009-12-26  Eric Blake  <ebb9@byu.net>
39942
39943         tests: use macros.h in more places
39944         * tests/macros.h (ASSERT): Depend on ASSERT_STREAM.
39945         (ASSERT_STREAM): Provide default of stderr.
39946         * tests/test-dirent-safer.c: Include macros.h, using alternate
39947         stream for assertions.
39948         * tests/test-dup-safer.c: Likewise.
39949         * tests/test-freopen-safer.c: Likewise.
39950         * tests/test-getopt.c: Likewise.
39951         * tests/test-openat-safer.c: Likewise.
39952         * tests/test-pipe.c: Likewise.
39953         * tests/test-popen-safer.c: Likewise.
39954         * modules/dirent-safer-tests (Files): Include macros.h.
39955         * modules/unistd-safer-tests (Files): Likewise.
39956         * modules/freopen-safer-tests (Files): Likewise.
39957         * modules/getopt-posix-tests (Files): Likewise.
39958         * modules/openat-safer-tests (Files): Likewise.
39959         * modules/pipe-tests (Files): Likewise.
39960
39961 2009-12-26  Bruno Haible  <bruno@clisp.org>
39962
39963         javacomp: Portability fix.
39964         * m4/javacomp.m4 (gt_JAVACOMP): Fix creation of conftestver.class so
39965         that it also works on Solaris.
39966
39967 2009-12-26  Bruno Haible  <bruno@clisp.org>
39968
39969         localename: Fix storage allocation of gl_locale_name_thread's result.
39970         * lib/localename.c (SIZE_BITS, string_hash, struct hash_node,
39971         HASH_TABLE_SIZE, struniq_hash_table, struniq_lock, struniq): Define on
39972         all platforms that have 'uselocale'.
39973         (gl_locale_name_thread_unsafe): New function, extracted from
39974         gl_locale_name_thread.
39975         (gl_locale_name_thread): Call struniq on all platforms that have
39976         'uselocale'.
39977         * tests/test-localename.c (test_locale_name_thread): Check that the
39978         resulting strings are permanently allocated.
39979         * modules/localename-tests (Depends-on): Add strdup.
39980
39981 2009-12-26  Bruno Haible  <bruno@clisp.org>
39982
39983         * tests/test-localename.c (categories): Fill in the strings.
39984
39985 2009-12-26  Jim Meyering  <meyering@redhat.com>
39986
39987         isdir: complete the removal of m4/isdir.m4
39988         * modules/isdir (configure.ac): Remove reference to gl_ISDIR.
39989
39990         isdir: clean up, since at least grep still uses it
39991         * lib/isdir.c: Include "isdir.h".
39992         (S_ISDIR): Remove now-unneeded definition.
39993         * modules/isdir (Files): Add lib/isdir.h.
39994         * lib/isdir.h: New file, with declaration.
39995         * m4/isdir.m4: Remove file -- unneeded.
39996
39997 2009-12-25  Bruno Haible  <bruno@clisp.org>
39998
39999         selinux-h: Make generated .h files standalone.
40000         * lib/se-context.in.h: Arrange to include _GL_UNUSED_PARAMETER
40001         definition. Use _GL_UNUSED_PARAMETER instead of _GL_UNUSED.
40002         * lib/se-selinux.in.h: Likewise.
40003         * modules/selinux-h (Depends-on): Add unused-parameter.
40004         (Makefile.am): Insert definition of _GL_UNUSED_PARAMETER into
40005         selinux/selinux.h and selinux/context.h.
40006         Suggested by Eric Blake.
40007
40008 2009-12-25  Bruno Haible  <bruno@clisp.org>
40009
40010         Move gl_FCNTL_O_FLAGS to a separate .m4 file.
40011         * m4/fcntl-o.m4: New file, extracted from m4/fcntl_h.m4.
40012         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): Remove macro.
40013         * modules/fcntl-h (Files): Add m4/fcntl-o.m4.
40014         * modules/localcharset (Files): Likewise. Remove m4/fcntl_h.m4.
40015
40016 2009-12-24  Bruno Haible  <bruno@clisp.org>
40017
40018         openat: Fix warning.
40019         * lib/openat-proc.c: Include <unistd.h>.
40020
40021 2009-12-24  Bruno Haible  <bruno@clisp.org>
40022
40023         New module 'unused-parameter'.
40024         * build-aux/unused-parameter.h: New file, extracted from earlier
40025         gnulib-common.m4.
40026         * modules/unused-parameter: New file.
40027         * lib/unistr.h: Include unused-parameter.h.
40028         (u32_mbtouc_unsafe, u32_mbtouc): Use _GL_UNUSED_PARAMETER instead of
40029         _GL_UNUSED.
40030         * modules/unistr/base (Depends-on): Add unused-parameter.
40031
40032 2009-12-24  Bruno Haible  <bruno@clisp.org>
40033
40034         Add missing dependencies to 'extensions' module.
40035         * m4/extensions.m4: Add comment.
40036         * modules/accept4 (Depends-on): Add extensions.
40037         * modules/dup3 (Depends-on): Likewise.
40038         * modules/fcntl (Depends-on): Likewise.
40039         * modules/futimens (Depends-on): Likewise.
40040         * modules/mknod (Depends-on): Likewise.
40041         * modules/pipe2 (Depends-on): Likewise.
40042         * modules/stat-time (Depends-on): Likewise.
40043         * modules/strcasestr-simple (Depends-on): Likewise.
40044         * modules/strsignal (Depends-on): Likewise.
40045         * modules/utimensat (Depends-on): Likewise.
40046         * modules/localcharset (Depends-on): Likewise. Needed because of
40047         gl_FCNTL_O_FLAGS.
40048         * modules/wcrtomb (Depends-on): Likewise. Needed because of
40049         AC_TYPE_MBSTATE_T.
40050         * modules/wcsnrtombs (Depends-on): Likewise.
40051         * modules/wcsrtombs (Depends-on): Likewise.
40052
40053 2009-12-24  Bruno Haible  <bruno@clisp.org>
40054
40055         binary-io: Avoid gcc warning due to SET_BINARY.
40056         * lib/binary-io.h (SET_BINARY): Cast the result to void.
40057         Reported by Jim Meyering <jim@meyering.net>. Suggestion by Eric Blake.
40058
40059 2009-12-24  Bruno Haible  <bruno@clisp.org>
40060
40061         Avoid future namespace pollution on glibc systems.
40062         * lib/arpa_inet.in.h: Don't include <sys/socket.h> on glibc systems.
40063         * lib/sys_ioctl.in.h: Don't include <unistd.h> on glibc systems.
40064         * lib/sys_select.in.h: Don't include <sys/time.h> and <string.h> on
40065         glibc systems.
40066
40067 2009-12-24  Bruno Haible  <bruno@clisp.org>
40068
40069         Refactor common macros used in tests.
40070         * tests/macros.h: New file.
40071         * tests/test-areadlink.c: Include macros.h. Don't include <stdio.h>
40072         and/or <stdlib.h>, if appropriate.
40073         (ASSERT, SIZEOF): Remove macros.
40074         * tests/test-areadlink-with-size.c: Likewise.
40075         * tests/test-areadlinkat.c: Likewise.
40076         * tests/test-areadlinkat-with-size.c: Likewise.
40077         * tests/test-argmatch.c: Likewise.
40078         * tests/test-argv-iter.c: Likewise.
40079         * tests/test-array-mergesort.c: Likewise.
40080         * tests/test-array_list.c: Likewise.
40081         * tests/test-array_oset.c: Likewise.
40082         * tests/test-avltree_list.c: Likewise.
40083         * tests/test-avltree_oset.c: Likewise.
40084         * tests/test-avltreehash_list.c: Likewise.
40085         * tests/test-base64.c: Likewise.
40086         * tests/test-binary-io.c: Likewise.
40087         * tests/test-bitrotate.c: Likewise.
40088         * tests/test-btowc.c: Likewise.
40089         * tests/test-byteswap.c: Likewise.
40090         * tests/test-c-ctype.c: Likewise.
40091         * tests/test-c-stack.c: Likewise.
40092         * tests/test-c-strcasecmp.c: Likewise.
40093         * tests/test-c-strcasestr.c: Likewise.
40094         * tests/test-c-strncasecmp.c: Likewise.
40095         * tests/test-c-strstr.c: Likewise.
40096         * tests/test-canonicalize-lgpl.c: Likewise.
40097         * tests/test-canonicalize.c: Likewise.
40098         * tests/test-carray_list.c: Likewise.
40099         * tests/test-ceilf1.c: Likewise.
40100         * tests/test-ceilf2.c: Likewise.
40101         * tests/test-ceill.c: Likewise.
40102         * tests/test-chown.c: Likewise.
40103         * tests/test-cloexec.c: Likewise.
40104         * tests/test-copy-acl.c: Likewise.
40105         * tests/test-copy-file.c: Likewise.
40106         * tests/test-count-one-bits.c: Likewise.
40107         * tests/test-dprintf-posix.c: Likewise.
40108         * tests/test-dup2.c: Likewise.
40109         * tests/test-dup3.c: Likewise.
40110         * tests/test-duplocale.c: Likewise.
40111         * tests/test-fbufmode.c: Likewise.
40112         * tests/test-fchdir.c: Likewise.
40113         * tests/test-fchownat.c: Likewise.
40114         * tests/test-fcntl-safer.c: Likewise.
40115         * tests/test-fcntl.c: Likewise.
40116         * tests/test-fdopendir.c: Likewise.
40117         * tests/test-fdutimensat.c: Likewise.
40118         * tests/test-fflush2.c: Likewise.
40119         * tests/test-file-has-acl.c: Likewise.
40120         * tests/test-filevercmp.c: Likewise.
40121         * tests/test-flock.c: Likewise.
40122         * tests/test-floorf1.c: Likewise.
40123         * tests/test-floorf2.c: Likewise.
40124         * tests/test-floorl.c: Likewise.
40125         * tests/test-fnmatch.c: Likewise.
40126         * tests/test-fopen.h: Likewise.
40127         * tests/test-fpending.c: Likewise.
40128         * tests/test-fprintf-posix.c: Likewise.
40129         * tests/test-fpurge.c: Likewise.
40130         * tests/test-freadable.c: Likewise.
40131         * tests/test-freadahead.c: Likewise.
40132         * tests/test-freading.c: Likewise.
40133         * tests/test-freadptr.c: Likewise.
40134         * tests/test-freadptr2.c: Likewise.
40135         * tests/test-freadseek.c: Likewise.
40136         * tests/test-freopen.c: Likewise.
40137         * tests/test-frexp.c: Likewise.
40138         * tests/test-frexpl.c: Likewise.
40139         * tests/test-fseek.c: Likewise.
40140         * tests/test-fseeko.c: Likewise.
40141         * tests/test-fstatat.c: Likewise.
40142         * tests/test-fstrcmp.c: Likewise.
40143         * tests/test-fsync.c: Likewise.
40144         * tests/test-ftell.c: Likewise.
40145         * tests/test-ftello.c: Likewise.
40146         * tests/test-func.c: Likewise.
40147         * tests/test-futimens.c: Likewise.
40148         * tests/test-fwritable.c: Likewise.
40149         * tests/test-fwriting.c: Likewise.
40150         * tests/test-getcwd.c: Likewise.
40151         * tests/test-getdate.c: Likewise.
40152         * tests/test-getdelim.c: Likewise.
40153         * tests/test-getdtablesize.c: Likewise.
40154         * tests/test-getgroups.c: Likewise.
40155         * tests/test-getline.c: Likewise.
40156         * tests/test-getndelim2.c: Likewise.
40157         * tests/test-glob.c: Likewise.
40158         * tests/test-hash.c: Likewise.
40159         * tests/test-i-ring.c: Likewise.
40160         * tests/test-iconv-utf.c: Likewise.
40161         * tests/test-iconv.c: Likewise.
40162         * tests/test-idpriv-drop.c: Likewise.
40163         * tests/test-idpriv-droptemp.c: Likewise.
40164         * tests/test-inet_ntop.c: Likewise.
40165         * tests/test-inet_pton.c: Likewise.
40166         * tests/test-isblank.c: Likewise.
40167         * tests/test-isfinite.c: Likewise.
40168         * tests/test-isinf.c: Likewise.
40169         * tests/test-isnan.c: Likewise.
40170         * tests/test-isnand.h: Likewise.
40171         * tests/test-isnanf.h: Likewise.
40172         * tests/test-isnanl.h: Likewise.
40173         * tests/test-lchown.c: Likewise.
40174         * tests/test-ldexpl.c: Likewise.
40175         * tests/test-link.c: Likewise.
40176         * tests/test-linkat.c: Likewise.
40177         * tests/test-linked_list.c: Likewise.
40178         * tests/test-linkedhash_list.c: Likewise.
40179         * tests/test-localename.c: Likewise.
40180         * tests/test-lseek.c: Likewise.
40181         * tests/test-lstat.c: Likewise.
40182         * tests/test-mbmemcasecmp.c: Likewise.
40183         * tests/test-mbmemcasecoll.c: Likewise.
40184         * tests/test-mbrtowc.c: Likewise.
40185         * tests/test-mbscasecmp.c: Likewise.
40186         * tests/test-mbscasestr1.c: Likewise.
40187         * tests/test-mbscasestr2.c: Likewise.
40188         * tests/test-mbscasestr3.c: Likewise.
40189         * tests/test-mbscasestr4.c: Likewise.
40190         * tests/test-mbschr.c: Likewise.
40191         * tests/test-mbscspn.c: Likewise.
40192         * tests/test-mbsinit.c: Likewise.
40193         * tests/test-mbsncasecmp.c: Likewise.
40194         * tests/test-mbsnrtowcs.c: Likewise.
40195         * tests/test-mbspbrk.c: Likewise.
40196         * tests/test-mbspcasecmp.c: Likewise.
40197         * tests/test-mbsrchr.c: Likewise.
40198         * tests/test-mbsrtowcs.c: Likewise.
40199         * tests/test-mbsspn.c: Likewise.
40200         * tests/test-mbsstr1.c: Likewise.
40201         * tests/test-mbsstr2.c: Likewise.
40202         * tests/test-mbsstr3.c: Likewise.
40203         * tests/test-memchr.c: Likewise.
40204         * tests/test-memchr2.c: Likewise.
40205         * tests/test-memcmp.c: Likewise.
40206         * tests/test-memmem.c: Likewise.
40207         * tests/test-memrchr.c: Likewise.
40208         * tests/test-mkdir.c: Likewise.
40209         * tests/test-mkdirat.c: Likewise.
40210         * tests/test-mkfifo.c: Likewise.
40211         * tests/test-mkfifoat.c: Likewise.
40212         * tests/test-mknod.c: Likewise.
40213         * tests/test-nanosleep.c: Likewise.
40214         * tests/test-nl_langinfo.c: Likewise.
40215         * tests/test-obstack-printf.c: Likewise.
40216         * tests/test-open.c: Likewise.
40217         * tests/test-openat.c: Likewise.
40218         * tests/test-pipe-filter-gi1.c: Likewise.
40219         * tests/test-pipe-filter-gi2-main.c: Likewise.
40220         * tests/test-pipe-filter-ii1.c: Likewise.
40221         * tests/test-pipe-filter-ii2-main.c: Likewise.
40222         * tests/test-pipe2.c: Likewise.
40223         * tests/test-popen.h: Likewise.
40224         * tests/test-posixtm.c: Likewise.
40225         * tests/test-pread.c: Likewise.
40226         * tests/test-printf-frexp.c: Likewise.
40227         * tests/test-printf-frexpl.c: Likewise.
40228         * tests/test-printf-posix.c: Likewise.
40229         * tests/test-priv-set.c: Likewise.
40230         * tests/test-quotearg.c: Likewise.
40231         * tests/test-random_r.c: Likewise.
40232         * tests/test-rawmemchr.c: Likewise.
40233         * tests/test-rbtree_list.c: Likewise.
40234         * tests/test-rbtree_oset.c: Likewise.
40235         * tests/test-rbtreehash_list.c: Likewise.
40236         * tests/test-readlink.c: Likewise.
40237         * tests/test-remove.c: Likewise.
40238         * tests/test-rename.c: Likewise.
40239         * tests/test-renameat.c: Likewise.
40240         * tests/test-rmdir.c: Likewise.
40241         * tests/test-round1.c: Likewise.
40242         * tests/test-roundf1.c: Likewise.
40243         * tests/test-roundl.c: Likewise.
40244         * tests/test-safe-alloc.c: Likewise.
40245         * tests/test-sameacls.c: Likewise.
40246         * tests/test-set-mode-acl.c: Likewise.
40247         * tests/test-setenv.c: Likewise.
40248         * tests/test-sigaction.c: Likewise.
40249         * tests/test-signbit.c: Likewise.
40250         * tests/test-sleep.c: Likewise.
40251         * tests/test-snprintf-posix.c: Likewise.
40252         * tests/test-snprintf.c: Likewise.
40253         * tests/test-sprintf-posix.c: Likewise.
40254         * tests/test-stat-time.c: Likewise.
40255         * tests/test-stat.c: Likewise.
40256         * tests/test-strcasestr.c: Likewise.
40257         * tests/test-strchrnul.c: Likewise.
40258         * tests/test-strerror.c: Likewise.
40259         * tests/test-striconv.c: Likewise.
40260         * tests/test-striconveh.c: Likewise.
40261         * tests/test-striconveha.c: Likewise.
40262         * tests/test-strsignal.c: Likewise.
40263         * tests/test-strstr.c: Likewise.
40264         * tests/test-strtod.c: Likewise.
40265         * tests/test-strverscmp.c: Likewise.
40266         * tests/test-symlink.c: Likewise.
40267         * tests/test-symlinkat.c: Likewise.
40268         * tests/test-trunc1.c: Likewise.
40269         * tests/test-trunc2.c: Likewise.
40270         * tests/test-truncf1.c: Likewise.
40271         * tests/test-truncf2.c: Likewise.
40272         * tests/test-truncl.c: Likewise.
40273         * tests/test-uname.c: Likewise.
40274         * tests/test-unlink.c: Likewise.
40275         * tests/test-unlinkat.c: Likewise.
40276         * tests/test-unsetenv.c: Likewise.
40277         * tests/test-usleep.c: Likewise.
40278         * tests/test-utimens.c: Likewise.
40279         * tests/test-utimensat.c: Likewise.
40280         * tests/test-vasnprintf-posix.c: Likewise.
40281         * tests/test-vasnprintf-posix2.c: Likewise.
40282         * tests/test-vasnprintf.c: Likewise.
40283         * tests/test-vasprintf-posix.c: Likewise.
40284         * tests/test-vasprintf.c: Likewise.
40285         * tests/test-vdprintf-posix.c: Likewise.
40286         * tests/test-vfprintf-posix.c: Likewise.
40287         * tests/test-vprintf-posix.c: Likewise.
40288         * tests/test-vsnprintf-posix.c: Likewise.
40289         * tests/test-vsnprintf.c: Likewise.
40290         * tests/test-vsprintf-posix.c: Likewise.
40291         * tests/test-wcrtomb.c: Likewise.
40292         * tests/test-wcsnrtombs.c: Likewise.
40293         * tests/test-wcsrtombs.c: Likewise.
40294         * tests/test-wctype.c: Likewise.
40295         * tests/test-wcwidth.c: Likewise.
40296         * tests/test-xfprintf-posix.c: Likewise.
40297         * tests/test-xmemdup0.c: Likewise.
40298         * tests/test-xprintf-posix.c: Likewise.
40299         * tests/test-xvasprintf.c: Likewise.
40300         * tests/unicase/test-locale-language.c: Likewise.
40301         * tests/unicase/test-mapping-part1.h: Likewise.
40302         * tests/unicase/test-predicate-part1.h: Likewise.
40303         * tests/unicase/test-u8-casecmp.c: Likewise.
40304         * tests/unicase/test-u8-casecoll.c: Likewise.
40305         * tests/unicase/test-u8-casefold.c: Likewise.
40306         * tests/unicase/test-u8-is-cased.c: Likewise.
40307         * tests/unicase/test-u8-is-casefolded.c: Likewise.
40308         * tests/unicase/test-u8-is-lowercase.c: Likewise.
40309         * tests/unicase/test-u8-is-titlecase.c: Likewise.
40310         * tests/unicase/test-u8-is-uppercase.c: Likewise.
40311         * tests/unicase/test-u8-tolower.c: Likewise.
40312         * tests/unicase/test-u8-totitle.c: Likewise.
40313         * tests/unicase/test-u8-toupper.c: Likewise.
40314         * tests/unicase/test-u16-casecmp.c: Likewise.
40315         * tests/unicase/test-u16-casecoll.c: Likewise.
40316         * tests/unicase/test-u16-casefold.c: Likewise.
40317         * tests/unicase/test-u16-is-cased.c: Likewise.
40318         * tests/unicase/test-u16-is-casefolded.c: Likewise.
40319         * tests/unicase/test-u16-is-lowercase.c: Likewise.
40320         * tests/unicase/test-u16-is-titlecase.c: Likewise.
40321         * tests/unicase/test-u16-is-uppercase.c: Likewise.
40322         * tests/unicase/test-u16-tolower.c: Likewise.
40323         * tests/unicase/test-u16-totitle.c: Likewise.
40324         * tests/unicase/test-u16-toupper.c: Likewise.
40325         * tests/unicase/test-u32-casecmp.c: Likewise.
40326         * tests/unicase/test-u32-casecoll.c: Likewise.
40327         * tests/unicase/test-u32-casefold.c: Likewise.
40328         * tests/unicase/test-u32-is-cased.c: Likewise.
40329         * tests/unicase/test-u32-is-casefolded.c: Likewise.
40330         * tests/unicase/test-u32-is-lowercase.c: Likewise.
40331         * tests/unicase/test-u32-is-titlecase.c: Likewise.
40332         * tests/unicase/test-u32-is-uppercase.c: Likewise.
40333         * tests/unicase/test-u32-tolower.c: Likewise.
40334         * tests/unicase/test-u32-totitle.c: Likewise.
40335         * tests/unicase/test-u32-toupper.c: Likewise.
40336         * tests/unicase/test-ulc-casecmp.c: Likewise.
40337         * tests/unicase/test-ulc-casecoll.c: Likewise.
40338         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
40339         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
40340         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
40341         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
40342         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
40343         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
40344         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
40345         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
40346         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
40347         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
40348         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
40349         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
40350         * tests/unictype/test-bidi_byname.c: Likewise.
40351         * tests/unictype/test-bidi_name.c: Likewise.
40352         * tests/unictype/test-bidi_of.c: Likewise.
40353         * tests/unictype/test-bidi_test.c: Likewise.
40354         * tests/unictype/test-block_list.c: Likewise.
40355         * tests/unictype/test-block_of.c: Likewise.
40356         * tests/unictype/test-block_test.c: Likewise.
40357         * tests/unictype/test-categ_and.c: Likewise.
40358         * tests/unictype/test-categ_and_not.c: Likewise.
40359         * tests/unictype/test-categ_byname.c: Likewise.
40360         * tests/unictype/test-categ_name.c: Likewise.
40361         * tests/unictype/test-categ_none.c: Likewise.
40362         * tests/unictype/test-categ_of.c: Likewise.
40363         * tests/unictype/test-categ_or.c: Likewise.
40364         * tests/unictype/test-categ_test_withtable.c: Likewise.
40365         * tests/unictype/test-combining.c: Likewise.
40366         * tests/unictype/test-decdigit.c: Likewise.
40367         * tests/unictype/test-digit.c: Likewise.
40368         * tests/unictype/test-mirror.c: Likewise.
40369         * tests/unictype/test-numeric.c: Likewise.
40370         * tests/unictype/test-pr_byname.c: Likewise.
40371         * tests/unictype/test-pr_test.c: Likewise.
40372         * tests/unictype/test-predicate-part1.h: Likewise.
40373         * tests/unictype/test-scripts.c: Likewise.
40374         * tests/unictype/test-sy_c_ident.c: Likewise.
40375         * tests/unictype/test-sy_java_ident.c: Likewise.
40376         * tests/unilbrk/test-u8-possible-linebreaks.c: Likewise.
40377         * tests/unilbrk/test-u8-width-linebreaks.c: Likewise.
40378         * tests/unilbrk/test-u16-possible-linebreaks.c: Likewise.
40379         * tests/unilbrk/test-u16-width-linebreaks.c: Likewise.
40380         * tests/unilbrk/test-u32-possible-linebreaks.c: Likewise.
40381         * tests/unilbrk/test-u32-width-linebreaks.c: Likewise.
40382         * tests/unilbrk/test-ulc-possible-linebreaks.c: Likewise.
40383         * tests/unilbrk/test-ulc-width-linebreaks.c: Likewise.
40384         * tests/uninorm/test-canonical-decomposition.c: Likewise.
40385         * tests/uninorm/test-compat-decomposition.c: Likewise.
40386         * tests/uninorm/test-composition.c: Likewise.
40387         * tests/uninorm/test-decomposing-form.c: Likewise.
40388         * tests/uninorm/test-decomposition.c: Likewise.
40389         * tests/uninorm/test-u8-nfc.c: Likewise.
40390         * tests/uninorm/test-u8-nfd.c: Likewise.
40391         * tests/uninorm/test-u8-nfkc.c: Likewise.
40392         * tests/uninorm/test-u8-nfkd.c: Likewise.
40393         * tests/uninorm/test-u8-normcmp.c: Likewise.
40394         * tests/uninorm/test-u8-normcoll.c: Likewise.
40395         * tests/uninorm/test-u16-nfc.c: Likewise.
40396         * tests/uninorm/test-u16-nfd.c: Likewise.
40397         * tests/uninorm/test-u16-nfkc.c: Likewise.
40398         * tests/uninorm/test-u16-nfkd.c: Likewise.
40399         * tests/uninorm/test-u16-normcmp.c: Likewise.
40400         * tests/uninorm/test-u16-normcoll.c: Likewise.
40401         * tests/uninorm/test-u32-nfc.c: Likewise.
40402         * tests/uninorm/test-u32-nfd.c: Likewise.
40403         * tests/uninorm/test-u32-nfkc.c: Likewise.
40404         * tests/uninorm/test-u32-nfkd.c: Likewise.
40405         * tests/uninorm/test-u32-normalize-big.c: Likewise.
40406         * tests/uninorm/test-u32-normcmp.c: Likewise.
40407         * tests/uninorm/test-u32-normcoll.c: Likewise.
40408         * tests/uninorm/test-uninorm-filter-nfc.c: Likewise.
40409         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
40410         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
40411         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
40412         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
40413         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
40414         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
40415         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
40416         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
40417         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
40418         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
40419         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
40420         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
40421         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
40422         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
40423         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
40424         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
40425         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
40426         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
40427         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
40428         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
40429         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
40430         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
40431         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
40432         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
40433         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
40434         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
40435         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
40436         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
40437         * tests/uniwbrk/test-u8-wordbreaks.c: Likewise.
40438         * tests/uniwbrk/test-u16-wordbreaks.c: Likewise.
40439         * tests/uniwbrk/test-u32-wordbreaks.c: Likewise.
40440         * tests/uniwbrk/test-ulc-wordbreaks.c: Likewise.
40441         * tests/uniwidth/test-u8-strwidth.c: Likewise.
40442         * tests/uniwidth/test-u8-width.c: Likewise.
40443         * tests/uniwidth/test-u16-strwidth.c: Likewise.
40444         * tests/uniwidth/test-u16-width.c: Likewise.
40445         * tests/uniwidth/test-u32-strwidth.c: Likewise.
40446         * tests/uniwidth/test-u32-width.c: Likewise.
40447         * tests/uniwidth/test-uc_width.c: Likewise.
40448         * tests/uniwidth/test-uc_width2.c: Likewise.
40449         * modules/acl-tests (Files): Add tests/macros.h.
40450         * modules/areadlink-tests (Files): Likewise.
40451         * modules/areadlink-with-size-tests (Files): Likewise.
40452         * modules/areadlinkat-tests (Files): Likewise.
40453         * modules/areadlinkat-with-size-tests (Files): Likewise.
40454         * modules/argmatch-tests (Files): Likewise.
40455         * modules/argv-iter-tests (Files): Likewise.
40456         * modules/array-list-tests (Files): Likewise.
40457         * modules/array-mergesort-tests (Files): Likewise.
40458         * modules/array-oset-tests (Files): Likewise.
40459         * modules/avltree-list-tests (Files): Likewise.
40460         * modules/avltree-oset-tests (Files): Likewise.
40461         * modules/avltreehash-list-tests (Files): Likewise.
40462         * modules/base64-tests (Files): Likewise.
40463         * modules/binary-io-tests (Files): Likewise.
40464         * modules/bitrotate-tests (Files): Likewise.
40465         * modules/btowc-tests (Files): Likewise.
40466         * modules/byteswap-tests (Files): Likewise.
40467         * modules/c-ctype-tests (Files): Likewise.
40468         * modules/c-stack-tests (Files): Likewise.
40469         * modules/c-strcase-tests (Files): Likewise.
40470         * modules/c-strcasestr-tests (Files): Likewise.
40471         * modules/c-strstr-tests (Files): Likewise.
40472         * modules/canonicalize-lgpl-tests (Files): Likewise.
40473         * modules/canonicalize-tests (Files): Likewise.
40474         * modules/carray-list-tests (Files): Likewise.
40475         * modules/ceilf-tests (Files): Likewise.
40476         * modules/ceill-tests (Files): Likewise.
40477         * modules/chown-tests (Files): Likewise.
40478         * modules/cloexec-tests (Files): Likewise.
40479         * modules/copy-file-tests (Files): Likewise.
40480         * modules/count-one-bits-tests (Files): Likewise.
40481         * modules/dprintf-posix-tests (Files): Likewise.
40482         * modules/dup2-tests (Files): Likewise.
40483         * modules/dup3-tests (Files): Likewise.
40484         * modules/duplocale-tests (Files): Likewise.
40485         * modules/fbufmode-tests (Files): Likewise.
40486         * modules/fchdir-tests (Files): Likewise.
40487         * modules/fcntl-safer-tests (Files): Likewise.
40488         * modules/fcntl-tests (Files): Likewise.
40489         * modules/fdopendir-tests (Files): Likewise.
40490         * modules/fdutimensat-tests (Files): Likewise.
40491         * modules/fflush-tests (Files): Likewise.
40492         * modules/filevercmp-tests (Files): Likewise.
40493         * modules/flock-tests (Files): Likewise.
40494         * modules/floorf-tests (Files): Likewise.
40495         * modules/floorl-tests (Files): Likewise.
40496         * modules/fnmatch-tests (Files): Likewise.
40497         * modules/fopen-safer-tests (Files): Likewise.
40498         * modules/fopen-tests (Files): Likewise.
40499         * modules/fpending-tests (Files): Likewise.
40500         * modules/fprintf-posix-tests (Files): Likewise.
40501         * modules/fpurge-tests (Files): Likewise.
40502         * modules/freadable-tests (Files): Likewise.
40503         * modules/freadahead-tests (Files): Likewise.
40504         * modules/freading-tests (Files): Likewise.
40505         * modules/freadptr-tests (Files): Likewise.
40506         * modules/freadseek-tests (Files): Likewise.
40507         * modules/freopen-tests (Files): Likewise.
40508         * modules/frexp-nolibm-tests (Files): Likewise.
40509         * modules/frexp-tests (Files): Likewise.
40510         * modules/frexpl-nolibm-tests (Files): Likewise.
40511         * modules/frexpl-tests (Files): Likewise.
40512         * modules/fseek-tests (Files): Likewise.
40513         * modules/fseeko-tests (Files): Likewise.
40514         * modules/fstrcmp-tests (Files): Likewise.
40515         * modules/fsync-tests (Files): Likewise.
40516         * modules/ftell-tests (Files): Likewise.
40517         * modules/ftello-tests (Files): Likewise.
40518         * modules/func-tests (Files): Likewise.
40519         * modules/futimens-tests (Files): Likewise.
40520         * modules/fwritable-tests (Files): Likewise.
40521         * modules/fwriting-tests (Files): Likewise.
40522         * modules/getcwd-tests (Files): Likewise.
40523         * modules/getdate-tests (Files): Likewise.
40524         * modules/getdelim-tests (Files): Likewise.
40525         * modules/getdtablesize-tests (Files): Likewise.
40526         * modules/getgroups-tests (Files): Likewise.
40527         * modules/getline-tests (Files): Likewise.
40528         * modules/getndelim2-tests (Files): Likewise.
40529         * modules/glob-tests (Files): Likewise.
40530         * modules/hash-tests (Files): Likewise.
40531         * modules/i-ring-tests (Files): Likewise.
40532         * modules/iconv-tests (Files): Likewise.
40533         * modules/iconv_open-utf-tests (Files): Likewise.
40534         * modules/idpriv-drop-tests (Files): Likewise.
40535         * modules/idpriv-droptemp-tests (Files): Likewise.
40536         * modules/inet_ntop-tests (Files): Likewise.
40537         * modules/inet_pton-tests (Files): Likewise.
40538         * modules/isblank-tests (Files): Likewise.
40539         * modules/isfinite-tests (Files): Likewise.
40540         * modules/isinf-tests (Files): Likewise.
40541         * modules/isnan-tests (Files): Likewise.
40542         * modules/isnand-nolibm-tests (Files): Likewise.
40543         * modules/isnand-tests (Files): Likewise.
40544         * modules/isnanf-nolibm-tests (Files): Likewise.
40545         * modules/isnanf-tests (Files): Likewise.
40546         * modules/isnanl-nolibm-tests (Files): Likewise.
40547         * modules/isnanl-tests (Files): Likewise.
40548         * modules/lchown-tests (Files): Likewise.
40549         * modules/ldexpl-tests (Files): Likewise.
40550         * modules/link-tests (Files): Likewise.
40551         * modules/linkat-tests (Files): Likewise.
40552         * modules/linked-list-tests (Files): Likewise.
40553         * modules/linkedhash-list-tests (Files): Likewise.
40554         * modules/localename-tests (Files): Likewise.
40555         * modules/lseek-tests (Files): Likewise.
40556         * modules/lstat-tests (Files): Likewise.
40557         * modules/mbmemcasecmp-tests (Files): Likewise.
40558         * modules/mbmemcasecoll-tests (Files): Likewise.
40559         * modules/mbrtowc-tests (Files): Likewise.
40560         * modules/mbscasecmp-tests (Files): Likewise.
40561         * modules/mbscasestr-tests (Files): Likewise.
40562         * modules/mbschr-tests (Files): Likewise.
40563         * modules/mbscspn-tests (Files): Likewise.
40564         * modules/mbsinit-tests (Files): Likewise.
40565         * modules/mbsncasecmp-tests (Files): Likewise.
40566         * modules/mbsnrtowcs-tests (Files): Likewise.
40567         * modules/mbspbrk-tests (Files): Likewise.
40568         * modules/mbspcasecmp-tests (Files): Likewise.
40569         * modules/mbsrchr-tests (Files): Likewise.
40570         * modules/mbsrtowcs-tests (Files): Likewise.
40571         * modules/mbsspn-tests (Files): Likewise.
40572         * modules/mbsstr-tests (Files): Likewise.
40573         * modules/memchr-tests (Files): Likewise.
40574         * modules/memchr2-tests (Files): Likewise.
40575         * modules/memcmp-tests (Files): Likewise.
40576         * modules/memmem-tests (Files): Likewise.
40577         * modules/memrchr-tests (Files): Likewise.
40578         * modules/mkdir-tests (Files): Likewise.
40579         * modules/mkfifo-tests (Files): Likewise.
40580         * modules/mkfifoat-tests (Files): Likewise.
40581         * modules/mknod-tests (Files): Likewise.
40582         * modules/nanosleep-tests (Files): Likewise.
40583         * modules/nl_langinfo-tests (Files): Likewise.
40584         * modules/obstack-printf-tests (Files): Likewise.
40585         * modules/open-tests (Files): Likewise.
40586         * modules/openat-tests (Files): Likewise.
40587         * modules/pipe-filter-gi-tests (Files): Likewise.
40588         * modules/pipe-filter-ii-tests (Files): Likewise.
40589         * modules/pipe2-tests (Files): Likewise.
40590         * modules/popen-safer-tests (Files): Likewise.
40591         * modules/popen-tests (Files): Likewise.
40592         * modules/posixtm-tests (Files): Likewise.
40593         * modules/pread-tests (Files): Likewise.
40594         * modules/printf-frexp-tests (Files): Likewise.
40595         * modules/printf-frexpl-tests (Files): Likewise.
40596         * modules/printf-posix-tests (Files): Likewise.
40597         * modules/priv-set-tests (Files): Likewise.
40598         * modules/quotearg-tests (Files): Likewise.
40599         * modules/random_r-tests (Files): Likewise.
40600         * modules/rawmemchr-tests (Files): Likewise.
40601         * modules/rbtree-list-tests (Files): Likewise.
40602         * modules/rbtree-oset-tests (Files): Likewise.
40603         * modules/rbtreehash-list-tests (Files): Likewise.
40604         * modules/readlink-tests (Files): Likewise.
40605         * modules/remove-tests (Files): Likewise.
40606         * modules/rename-tests (Files): Likewise.
40607         * modules/renameat-tests (Files): Likewise.
40608         * modules/rmdir-tests (Files): Likewise.
40609         * modules/round-tests (Files): Likewise.
40610         * modules/roundf-tests (Files): Likewise.
40611         * modules/roundl-tests (Files): Likewise.
40612         * modules/safe-alloc-tests (Files): Likewise.
40613         * modules/setenv-tests (Files): Likewise.
40614         * modules/sigaction-tests (Files): Likewise.
40615         * modules/signbit-tests (Files): Likewise.
40616         * modules/sleep-tests (Files): Likewise.
40617         * modules/snprintf-posix-tests (Files): Likewise.
40618         * modules/snprintf-tests (Files): Likewise.
40619         * modules/sprintf-posix-tests (Files): Likewise.
40620         * modules/stat-tests (Files): Likewise.
40621         * modules/stat-time-tests (Files): Likewise.
40622         * modules/strcasestr-tests (Files): Likewise.
40623         * modules/strchrnul-tests (Files): Likewise.
40624         * modules/strerror-tests (Files): Likewise.
40625         * modules/striconv-tests (Files): Likewise.
40626         * modules/striconveh-tests (Files): Likewise.
40627         * modules/striconveha-tests (Files): Likewise.
40628         * modules/strsignal-tests (Files): Likewise.
40629         * modules/strstr-tests (Files): Likewise.
40630         * modules/strtod-tests (Files): Likewise.
40631         * modules/strverscmp-tests (Files): Likewise.
40632         * modules/symlink-tests (Files): Likewise.
40633         * modules/symlinkat-tests (Files): Likewise.
40634         * modules/trunc-tests (Files): Likewise.
40635         * modules/truncf-tests (Files): Likewise.
40636         * modules/truncl-tests (Files): Likewise.
40637         * modules/uname-tests (Files): Likewise.
40638         * modules/unicase/cased-tests (Files): Likewise.
40639         * modules/unicase/ignorable-tests (Files): Likewise.
40640         * modules/unicase/locale-language-tests (Files): Likewise.
40641         * modules/unicase/tolower-tests (Files): Likewise.
40642         * modules/unicase/totitle-tests (Files): Likewise.
40643         * modules/unicase/toupper-tests (Files): Likewise.
40644         * modules/unicase/u8-casecmp-tests (Files): Likewise.
40645         * modules/unicase/u8-casecoll-tests (Files): Likewise.
40646         * modules/unicase/u8-casefold-tests (Files): Likewise.
40647         * modules/unicase/u8-is-cased-tests (Files): Likewise.
40648         * modules/unicase/u8-is-casefolded-tests (Files): Likewise.
40649         * modules/unicase/u8-is-lowercase-tests (Files): Likewise.
40650         * modules/unicase/u8-is-titlecase-tests (Files): Likewise.
40651         * modules/unicase/u8-is-uppercase-tests (Files): Likewise.
40652         * modules/unicase/u8-tolower-tests (Files): Likewise.
40653         * modules/unicase/u8-totitle-tests (Files): Likewise.
40654         * modules/unicase/u8-toupper-tests (Files): Likewise.
40655         * modules/unicase/u16-casecmp-tests (Files): Likewise.
40656         * modules/unicase/u16-casecoll-tests (Files): Likewise.
40657         * modules/unicase/u16-casefold-tests (Files): Likewise.
40658         * modules/unicase/u16-is-cased-tests (Files): Likewise.
40659         * modules/unicase/u16-is-casefolded-tests (Files): Likewise.
40660         * modules/unicase/u16-is-lowercase-tests (Files): Likewise.
40661         * modules/unicase/u16-is-titlecase-tests (Files): Likewise.
40662         * modules/unicase/u16-is-uppercase-tests (Files): Likewise.
40663         * modules/unicase/u16-tolower-tests (Files): Likewise.
40664         * modules/unicase/u16-totitle-tests (Files): Likewise.
40665         * modules/unicase/u16-toupper-tests (Files): Likewise.
40666         * modules/unicase/u32-casecmp-tests (Files): Likewise.
40667         * modules/unicase/u32-casecoll-tests (Files): Likewise.
40668         * modules/unicase/u32-casefold-tests (Files): Likewise.
40669         * modules/unicase/u32-is-cased-tests (Files): Likewise.
40670         * modules/unicase/u32-is-casefolded-tests (Files): Likewise.
40671         * modules/unicase/u32-is-lowercase-tests (Files): Likewise.
40672         * modules/unicase/u32-is-titlecase-tests (Files): Likewise.
40673         * modules/unicase/u32-is-uppercase-tests (Files): Likewise.
40674         * modules/unicase/u32-tolower-tests (Files): Likewise.
40675         * modules/unicase/u32-totitle-tests (Files): Likewise.
40676         * modules/unicase/u32-toupper-tests (Files): Likewise.
40677         * modules/unicase/ulc-casecmp-tests (Files): Likewise.
40678         * modules/unicase/ulc-casecoll-tests (Files): Likewise.
40679         * modules/uniconv/u8-conv-from-enc-tests (Files): Likewise.
40680         * modules/uniconv/u8-conv-to-enc-tests (Files): Likewise.
40681         * modules/uniconv/u8-strconv-from-enc-tests (Files): Likewise.
40682         * modules/uniconv/u8-strconv-to-enc-tests (Files): Likewise.
40683         * modules/uniconv/u16-conv-from-enc-tests (Files): Likewise.
40684         * modules/uniconv/u16-conv-to-enc-tests (Files): Likewise.
40685         * modules/uniconv/u16-strconv-from-enc-tests (Files): Likewise.
40686         * modules/uniconv/u16-strconv-to-enc-tests (Files): Likewise.
40687         * modules/uniconv/u32-conv-from-enc-tests (Files): Likewise.
40688         * modules/uniconv/u32-conv-to-enc-tests (Files): Likewise.
40689         * modules/uniconv/u32-strconv-from-enc-tests (Files): Likewise.
40690         * modules/uniconv/u32-strconv-to-enc-tests (Files): Likewise.
40691         * modules/unictype/bidicategory-byname-tests (Files): Likewise.
40692         * modules/unictype/bidicategory-name-tests (Files): Likewise.
40693         * modules/unictype/bidicategory-of-tests (Files): Likewise.
40694         * modules/unictype/bidicategory-test-tests (Files): Likewise.
40695         * modules/unictype/block-list-tests (Files): Likewise.
40696         * modules/unictype/block-of-tests (Files): Likewise.
40697         * modules/unictype/block-test-tests (Files): Likewise.
40698         * modules/unictype/category-C-tests (Files): Likewise.
40699         * modules/unictype/category-Cc-tests (Files): Likewise.
40700         * modules/unictype/category-Cf-tests (Files): Likewise.
40701         * modules/unictype/category-Cn-tests (Files): Likewise.
40702         * modules/unictype/category-Co-tests (Files): Likewise.
40703         * modules/unictype/category-Cs-tests (Files): Likewise.
40704         * modules/unictype/category-L-tests (Files): Likewise.
40705         * modules/unictype/category-Ll-tests (Files): Likewise.
40706         * modules/unictype/category-Lm-tests (Files): Likewise.
40707         * modules/unictype/category-Lo-tests (Files): Likewise.
40708         * modules/unictype/category-Lt-tests (Files): Likewise.
40709         * modules/unictype/category-Lu-tests (Files): Likewise.
40710         * modules/unictype/category-M-tests (Files): Likewise.
40711         * modules/unictype/category-Mc-tests (Files): Likewise.
40712         * modules/unictype/category-Me-tests (Files): Likewise.
40713         * modules/unictype/category-Mn-tests (Files): Likewise.
40714         * modules/unictype/category-N-tests (Files): Likewise.
40715         * modules/unictype/category-Nd-tests (Files): Likewise.
40716         * modules/unictype/category-Nl-tests (Files): Likewise.
40717         * modules/unictype/category-No-tests (Files): Likewise.
40718         * modules/unictype/category-P-tests (Files): Likewise.
40719         * modules/unictype/category-Pc-tests (Files): Likewise.
40720         * modules/unictype/category-Pd-tests (Files): Likewise.
40721         * modules/unictype/category-Pe-tests (Files): Likewise.
40722         * modules/unictype/category-Pf-tests (Files): Likewise.
40723         * modules/unictype/category-Pi-tests (Files): Likewise.
40724         * modules/unictype/category-Po-tests (Files): Likewise.
40725         * modules/unictype/category-Ps-tests (Files): Likewise.
40726         * modules/unictype/category-S-tests (Files): Likewise.
40727         * modules/unictype/category-Sc-tests (Files): Likewise.
40728         * modules/unictype/category-Sk-tests (Files): Likewise.
40729         * modules/unictype/category-Sm-tests (Files): Likewise.
40730         * modules/unictype/category-So-tests (Files): Likewise.
40731         * modules/unictype/category-Z-tests (Files): Likewise.
40732         * modules/unictype/category-Zl-tests (Files): Likewise.
40733         * modules/unictype/category-Zp-tests (Files): Likewise.
40734         * modules/unictype/category-Zs-tests (Files): Likewise.
40735         * modules/unictype/category-and-not-tests (Files): Likewise.
40736         * modules/unictype/category-and-tests (Files): Likewise.
40737         * modules/unictype/category-byname-tests (Files): Likewise.
40738         * modules/unictype/category-name-tests (Files): Likewise.
40739         * modules/unictype/category-none-tests (Files): Likewise.
40740         * modules/unictype/category-of-tests (Files): Likewise.
40741         * modules/unictype/category-or-tests (Files): Likewise.
40742         * modules/unictype/category-test-withtable-tests (Files): Likewise.
40743         * modules/unictype/combining-class-tests (Files): Likewise.
40744         * modules/unictype/ctype-alnum-tests (Files): Likewise.
40745         * modules/unictype/ctype-alpha-tests (Files): Likewise.
40746         * modules/unictype/ctype-blank-tests (Files): Likewise.
40747         * modules/unictype/ctype-cntrl-tests (Files): Likewise.
40748         * modules/unictype/ctype-digit-tests (Files): Likewise.
40749         * modules/unictype/ctype-graph-tests (Files): Likewise.
40750         * modules/unictype/ctype-lower-tests (Files): Likewise.
40751         * modules/unictype/ctype-print-tests (Files): Likewise.
40752         * modules/unictype/ctype-punct-tests (Files): Likewise.
40753         * modules/unictype/ctype-space-tests (Files): Likewise.
40754         * modules/unictype/ctype-upper-tests (Files): Likewise.
40755         * modules/unictype/ctype-xdigit-tests (Files): Likewise.
40756         * modules/unictype/decimal-digit-tests (Files): Likewise.
40757         * modules/unictype/digit-tests (Files): Likewise.
40758         * modules/unictype/mirror-tests (Files): Likewise.
40759         * modules/unictype/numeric-tests (Files): Likewise.
40760         * modules/unictype/property-alphabetic-tests (Files): Likewise.
40761         * modules/unictype/property-ascii-hex-digit-tests (Files): Likewise.
40762         * modules/unictype/property-bidi-arabic-digit-tests (Files): Likewise.
40763         * modules/unictype/property-bidi-arabic-right-to-left-tests (Files):
40764         Likewise.
40765         * modules/unictype/property-bidi-block-separator-tests (Files):
40766         Likewise.
40767         * modules/unictype/property-bidi-boundary-neutral-tests (Files):
40768         Likewise.
40769         * modules/unictype/property-bidi-common-separator-tests (Files):
40770         Likewise.
40771         * modules/unictype/property-bidi-control-tests (Files): Likewise.
40772         * modules/unictype/property-bidi-embedding-or-override-tests (Files):
40773         Likewise.
40774         * modules/unictype/property-bidi-eur-num-separator-tests (Files):
40775         Likewise.
40776         * modules/unictype/property-bidi-eur-num-terminator-tests (Files):
40777         Likewise.
40778         * modules/unictype/property-bidi-european-digit-tests (Files): Likewise.
40779         * modules/unictype/property-bidi-hebrew-right-to-left-tests (Files):
40780         Likewise.
40781         * modules/unictype/property-bidi-left-to-right-tests (Files): Likewise.
40782         * modules/unictype/property-bidi-non-spacing-mark-tests (Files):
40783         Likewise.
40784         * modules/unictype/property-bidi-other-neutral-tests (Files): Likewise.
40785         * modules/unictype/property-bidi-pdf-tests (Files): Likewise.
40786         * modules/unictype/property-bidi-segment-separator-tests (Files):
40787         Likewise.
40788         * modules/unictype/property-bidi-whitespace-tests (Files): Likewise.
40789         * modules/unictype/property-byname-tests (Files): Likewise.
40790         * modules/unictype/property-combining-tests (Files): Likewise.
40791         * modules/unictype/property-composite-tests (Files): Likewise.
40792         * modules/unictype/property-currency-symbol-tests (Files): Likewise.
40793         * modules/unictype/property-dash-tests (Files): Likewise.
40794         * modules/unictype/property-decimal-digit-tests (Files): Likewise.
40795         * modules/unictype/property-default-ignorable-code-point-tests (Files):
40796         Likewise.
40797         * modules/unictype/property-deprecated-tests (Files): Likewise.
40798         * modules/unictype/property-diacritic-tests (Files): Likewise.
40799         * modules/unictype/property-extender-tests (Files): Likewise.
40800         * modules/unictype/property-format-control-tests (Files): Likewise.
40801         * modules/unictype/property-grapheme-base-tests (Files): Likewise.
40802         * modules/unictype/property-grapheme-extend-tests (Files): Likewise.
40803         * modules/unictype/property-grapheme-link-tests (Files): Likewise.
40804         * modules/unictype/property-hex-digit-tests (Files): Likewise.
40805         * modules/unictype/property-hyphen-tests (Files): Likewise.
40806         * modules/unictype/property-id-continue-tests (Files): Likewise.
40807         * modules/unictype/property-id-start-tests (Files): Likewise.
40808         * modules/unictype/property-ideographic-tests (Files): Likewise.
40809         * modules/unictype/property-ids-binary-operator-tests (Files): Likewise.
40810         * modules/unictype/property-ids-trinary-operator-tests (Files):
40811         Likewise.
40812         * modules/unictype/property-ignorable-control-tests (Files): Likewise.
40813         * modules/unictype/property-iso-control-tests (Files): Likewise.
40814         * modules/unictype/property-join-control-tests (Files): Likewise.
40815         * modules/unictype/property-left-of-pair-tests (Files): Likewise.
40816         * modules/unictype/property-line-separator-tests (Files): Likewise.
40817         * modules/unictype/property-logical-order-exception-tests (Files):
40818         Likewise.
40819         * modules/unictype/property-lowercase-tests (Files): Likewise.
40820         * modules/unictype/property-math-tests (Files): Likewise.
40821         * modules/unictype/property-non-break-tests (Files): Likewise.
40822         * modules/unictype/property-not-a-character-tests (Files): Likewise.
40823         * modules/unictype/property-numeric-tests (Files): Likewise.
40824         * modules/unictype/property-other-alphabetic-tests (Files): Likewise.
40825         * modules/unictype/property-other-default-ignorable-code-point-tests
40826         (Files): Likewise.
40827         * modules/unictype/property-other-grapheme-extend-tests (Files):
40828         Likewise.
40829         * modules/unictype/property-other-id-continue-tests (Files): Likewise.
40830         * modules/unictype/property-other-id-start-tests (Files): Likewise.
40831         * modules/unictype/property-other-lowercase-tests (Files): Likewise.
40832         * modules/unictype/property-other-math-tests (Files): Likewise.
40833         * modules/unictype/property-other-uppercase-tests (Files): Likewise.
40834         * modules/unictype/property-paired-punctuation-tests (Files): Likewise.
40835         * modules/unictype/property-paragraph-separator-tests (Files): Likewise.
40836         * modules/unictype/property-pattern-syntax-tests (Files): Likewise.
40837         * modules/unictype/property-pattern-white-space-tests (Files): Likewise.
40838         * modules/unictype/property-private-use-tests (Files): Likewise.
40839         * modules/unictype/property-punctuation-tests (Files): Likewise.
40840         * modules/unictype/property-quotation-mark-tests (Files): Likewise.
40841         * modules/unictype/property-radical-tests (Files): Likewise.
40842         * modules/unictype/property-sentence-terminal-tests (Files): Likewise.
40843         * modules/unictype/property-soft-dotted-tests (Files): Likewise.
40844         * modules/unictype/property-space-tests (Files): Likewise.
40845         * modules/unictype/property-terminal-punctuation-tests (Files):
40846         Likewise.
40847         * modules/unictype/property-test-tests (Files): Likewise.
40848         * modules/unictype/property-titlecase-tests (Files): Likewise.
40849         * modules/unictype/property-unassigned-code-value-tests (Files):
40850         Likewise.
40851         * modules/unictype/property-unified-ideograph-tests (Files): Likewise.
40852         * modules/unictype/property-uppercase-tests (Files): Likewise.
40853         * modules/unictype/property-variation-selector-tests (Files): Likewise.
40854         * modules/unictype/property-white-space-tests (Files): Likewise.
40855         * modules/unictype/property-xid-continue-tests (Files): Likewise.
40856         * modules/unictype/property-xid-start-tests (Files): Likewise.
40857         * modules/unictype/property-zero-width-tests (Files): Likewise.
40858         * modules/unictype/scripts-tests (Files): Likewise.
40859         * modules/unictype/syntax-c-ident-tests (Files): Likewise.
40860         * modules/unictype/syntax-c-whitespace-tests (Files): Likewise.
40861         * modules/unictype/syntax-java-ident-tests (Files): Likewise.
40862         * modules/unictype/syntax-java-whitespace-tests (Files): Likewise.
40863         * modules/unilbrk/u8-possible-linebreaks-tests (Files): Likewise.
40864         * modules/unilbrk/u8-width-linebreaks-tests (Files): Likewise.
40865         * modules/unilbrk/u16-possible-linebreaks-tests (Files): Likewise.
40866         * modules/unilbrk/u16-width-linebreaks-tests (Files): Likewise.
40867         * modules/unilbrk/u32-possible-linebreaks-tests (Files): Likewise.
40868         * modules/unilbrk/u32-width-linebreaks-tests (Files): Likewise.
40869         * modules/unilbrk/ulc-possible-linebreaks-tests (Files): Likewise.
40870         * modules/unilbrk/ulc-width-linebreaks-tests (Files): Likewise.
40871         * modules/uninorm/canonical-decomposition-tests (Files): Likewise.
40872         * modules/uninorm/compat-decomposition-tests (Files): Likewise.
40873         * modules/uninorm/composition-tests (Files): Likewise.
40874         * modules/uninorm/decomposing-form-tests (Files): Likewise.
40875         * modules/uninorm/decomposition-tests (Files): Likewise.
40876         * modules/uninorm/filter-tests (Files): Likewise.
40877         * modules/uninorm/nfc-tests (Files): Likewise.
40878         * modules/uninorm/nfd-tests (Files): Likewise.
40879         * modules/uninorm/nfkc-tests (Files): Likewise.
40880         * modules/uninorm/nfkd-tests (Files): Likewise.
40881         * modules/uninorm/u8-normcmp-tests (Files): Likewise.
40882         * modules/uninorm/u8-normcoll-tests (Files): Likewise.
40883         * modules/uninorm/u16-normcmp-tests (Files): Likewise.
40884         * modules/uninorm/u16-normcoll-tests (Files): Likewise.
40885         * modules/uninorm/u32-normcmp-tests (Files): Likewise.
40886         * modules/uninorm/u32-normcoll-tests (Files): Likewise.
40887         * modules/unistdio/u8-asnprintf-tests (Files): Likewise.
40888         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
40889         * modules/unistdio/u8-vasprintf-tests (Files): Likewise.
40890         * modules/unistdio/u8-vsnprintf-tests (Files): Likewise.
40891         * modules/unistdio/u8-vsprintf-tests (Files): Likewise.
40892         * modules/unistdio/u16-asnprintf-tests (Files): Likewise.
40893         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
40894         * modules/unistdio/u16-vasprintf-tests (Files): Likewise.
40895         * modules/unistdio/u16-vsnprintf-tests (Files): Likewise.
40896         * modules/unistdio/u16-vsprintf-tests (Files): Likewise.
40897         * modules/unistdio/u32-asnprintf-tests (Files): Likewise.
40898         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
40899         * modules/unistdio/u32-vasprintf-tests (Files): Likewise.
40900         * modules/unistdio/u32-vsnprintf-tests (Files): Likewise.
40901         * modules/unistdio/u32-vsprintf-tests (Files): Likewise.
40902         * modules/unistdio/ulc-asnprintf-tests (Files): Likewise.
40903         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
40904         * modules/unistdio/ulc-vasprintf-tests (Files): Likewise.
40905         * modules/unistdio/ulc-vsnprintf-tests (Files): Likewise.
40906         * modules/unistdio/ulc-vsprintf-tests (Files): Likewise.
40907         * modules/uniwbrk/u8-wordbreaks-tests (Files): Likewise.
40908         * modules/uniwbrk/u16-wordbreaks-tests (Files): Likewise.
40909         * modules/uniwbrk/u32-wordbreaks-tests (Files): Likewise.
40910         * modules/uniwbrk/ulc-wordbreaks-tests (Files): Likewise.
40911         * modules/uniwidth/u8-strwidth-tests (Files): Likewise.
40912         * modules/uniwidth/u8-width-tests (Files): Likewise.
40913         * modules/uniwidth/u16-strwidth-tests (Files): Likewise.
40914         * modules/uniwidth/u16-width-tests (Files): Likewise.
40915         * modules/uniwidth/u32-strwidth-tests (Files): Likewise.
40916         * modules/uniwidth/u32-width-tests (Files): Likewise.
40917         * modules/uniwidth/width-tests (Files): Likewise.
40918         * modules/unlink-tests (Files): Likewise.
40919         * modules/unsetenv-tests (Files): Likewise.
40920         * modules/usleep-tests (Files): Likewise.
40921         * modules/utimens-tests (Files): Likewise.
40922         * modules/utimensat-tests (Files): Likewise.
40923         * modules/vasnprintf-posix-tests (Files): Likewise.
40924         * modules/vasnprintf-tests (Files): Likewise.
40925         * modules/vasprintf-posix-tests (Files): Likewise.
40926         * modules/vasprintf-tests (Files): Likewise.
40927         * modules/vdprintf-posix-tests (Files): Likewise.
40928         * modules/vfprintf-posix-tests (Files): Likewise.
40929         * modules/vprintf-posix-tests (Files): Likewise.
40930         * modules/vsnprintf-posix-tests (Files): Likewise.
40931         * modules/vsnprintf-tests (Files): Likewise.
40932         * modules/vsprintf-posix-tests (Files): Likewise.
40933         * modules/wcrtomb-tests (Files): Likewise.
40934         * modules/wcsnrtombs-tests (Files): Likewise.
40935         * modules/wcsrtombs-tests (Files): Likewise.
40936         * modules/wctype-tests (Files): Likewise.
40937         * modules/wcwidth-tests (Files): Likewise.
40938         * modules/xmemdup0-tests (Files): Likewise.
40939         * modules/xprintf-posix-tests (Files): Likewise.
40940         * modules/xvasprintf-tests (Files): Likewise.
40941
40942 2009-12-24  Eric Blake  <ebb9@byu.net>
40943
40944         test-nanosleep: fix typo
40945         * tests/test-nanosleep.c (SIGNATURE_CHECK): Fix typo in previous
40946         patch.
40947         Reported by Bruno Haible.
40948
40949 2009-12-24  Bruno Haible  <bruno@clisp.org>
40950
40951         Reduce namespace pollution on glibc systems.
40952         * lib/inttypes.in.h: Don't include <stdint.h> on glibc systems.
40953         * lib/stdlib.in.h: Don't include <stdint.h>, <unistd.h> on glibc
40954         systems.
40955         * lib/unistd.in.h: Don't include <stdio.h>, <fcntl.h>, <stdlib.h>,
40956         <getopt.h> on glibc systems.
40957         * lib/fcntl.in.h: Don't include <sys/stat.h>, <unistd.h> on glibc
40958         systems.
40959         * lib/fcntl.c: Include <unistd.h> here instead.
40960
40961 2009-12-24  Bruno Haible  <bruno@clisp.org>
40962
40963         * lib/stdlib.in.h (includes): Fix typo in today's commit.
40964
40965 2009-12-24  Eric Blake  <ebb9@byu.net>
40966
40967         tests: add signature checks
40968         * tests/signature.h (SIGNATURE_CHECK): New file.
40969         * modules/atexit-tests (Files): Use it.
40970         * modules/btowc-tests (Files): Likewise.
40971         * modules/canonicalize-lgpl-tests (Files): Likewise.
40972         * modules/ceilf-tests (Files): Likewise.
40973         * modules/ceill-tests (Files): Likewise.
40974         * modules/chown-tests (Files): Likewise.
40975         * modules/dprintf-posix-tests (Files): Likewise.
40976         * modules/dup2-tests (Files): Likewise.
40977         * modules/dup3-tests (Files): Likewise.
40978         * modules/duplocale-tests (Files): Likewise.
40979         * modules/fchdir-tests (Files): Likewise.
40980         * modules/fcntl-tests (Files): Likewise.
40981         * modules/fdopendir-tests (Files): Likewise.
40982         * modules/fflush-tests (Files): Likewise.
40983         * modules/flock-tests (Files): Likewise.
40984         * modules/floorf-tests (Files): Likewise.
40985         * modules/floorl-tests (Files): Likewise.
40986         * modules/fnmatch-tests (Files): Likewise.
40987         * modules/fopen-tests (Files): Likewise.
40988         * modules/fprintf-posix-tests (Files): Likewise.
40989         * modules/freopen-tests (Files): Likewise.
40990         * modules/frexp-nolibm-tests (Files): Likewise.
40991         * modules/frexp-tests (Files): Likewise.
40992         * modules/frexpl-nolibm-tests (Files): Likewise.
40993         * modules/frexpl-tests (Files): Likewise.
40994         * modules/fseek-tests (Files): Likewise.
40995         * modules/fseeko-tests (Files): Likewise.
40996         * modules/fsync-tests (Files): Likewise.
40997         * modules/ftell-tests (Files): Likewise.
40998         * modules/ftello-tests (Files): Likewise.
40999         * modules/futimens-tests (Files): Likewise.
41000         * modules/getaddrinfo-tests (Files): Likewise.
41001         * modules/getcwd-tests (Files): Likewise.
41002         * modules/getdelim-tests (Files): Likewise.
41003         * modules/getdtablesize-tests (Files): Likewise.
41004         * modules/getgroups-tests (Files): Likewise.
41005         * modules/gethostname-tests (Files): Likewise.
41006         * modules/getline-tests (Files): Likewise.
41007         * modules/getopt-posix-tests (Files): Likewise.
41008         * modules/gettimeofday-tests (Files): Likewise.
41009         * modules/glob-tests (Files): Likewise.
41010         * modules/iconv-tests (Files): Likewise.
41011         * modules/inet_ntop-tests (Files): Likewise.
41012         * modules/inet_pton-tests (Files): Likewise.
41013         * modules/isblank-tests (Files): Likewise.
41014         * modules/lchown-tests (Files): Likewise.
41015         * modules/ldexpl-tests (Files): Likewise.
41016         * modules/link-tests (Files): Likewise.
41017         * modules/linkat-tests (Files): Likewise.
41018         * modules/lseek-tests (Files): Likewise.
41019         * modules/lstat-tests (Files): Likewise.
41020         * modules/mbrtowc-tests (Files): Likewise.
41021         * modules/mbsinit-tests (Files): Likewise.
41022         * modules/mbsnrtowcs-tests (Files): Likewise.
41023         * modules/mbsrtowcs-tests (Files): Likewise.
41024         * modules/memchr-tests (Files): Likewise.
41025         * modules/memcmp-tests (Files): Likewise.
41026         * modules/memmem-tests (Files): Likewise.
41027         * modules/memrchr-tests (Files): Likewise.
41028         * modules/mkdir-tests (Files): Likewise.
41029         * modules/mkfifo-tests (Files): Likewise.
41030         * modules/mkfifoat-tests (Files): Likewise.
41031         * modules/mknod-tests (Files): Likewise.
41032         * modules/nanosleep-tests (Files): Likewise.
41033         * modules/nl_langinfo-tests (Files): Likewise.
41034         * modules/obstack-printf-tests (Files): Likewise.
41035         * modules/open-tests (Files): Likewise.
41036         * modules/openat-tests (Files): Likewise.
41037         * modules/perror-tests (Files): Likewise.
41038         * modules/pipe2-tests (Files): Likewise.
41039         * modules/poll-tests (Files): Likewise.
41040         * modules/popen-tests (Files): Likewise.
41041         * modules/posix_spawn-tests (Files): Likewise.
41042         * modules/posix_spawnp-tests (Files): Likewise.
41043         * modules/pread-tests (Files): Likewise.
41044         * modules/printf-posix-tests (Files): Likewise.
41045         * modules/pty-tests (Files): Likewise.
41046         * modules/random_r-tests (Files): Likewise.
41047         * modules/rawmemchr-tests (Files): Likewise.
41048         * modules/readlink-tests (Files): Likewise.
41049         * modules/remove-tests (Files): Likewise.
41050         * modules/rename-tests (Files): Likewise.
41051         * modules/renameat-tests (Files): Likewise.
41052         * modules/rmdir-tests (Files): Likewise.
41053         * modules/round-tests (Files): Likewise.
41054         * modules/roundf-tests (Files): Likewise.
41055         * modules/roundl-tests (Files): Likewise.
41056         * modules/select-tests (Files): Likewise.
41057         * modules/setenv-tests (Files): Likewise.
41058         * modules/sigaction-tests (Files): Likewise.
41059         * modules/sleep-tests (Files): Likewise.
41060         * modules/snprintf-posix-tests (Files): Likewise.
41061         * modules/snprintf-tests (Files): Likewise.
41062         * modules/sprintf-posix-tests (Files): Likewise.
41063         * modules/stat-tests (Files): Likewise.
41064         * modules/strcasestr-tests (Files): Likewise.
41065         * modules/strchrnul-tests (Files): Likewise.
41066         * modules/strerror-tests (Files): Likewise.
41067         * modules/strsignal-tests (Files): Likewise.
41068         * modules/strstr-tests (Files): Likewise.
41069         * modules/strtod-tests (Files): Likewise.
41070         * modules/strverscmp-tests (Files): Likewise.
41071         * modules/symlink-tests (Files): Likewise.
41072         * modules/symlinkat-tests (Files): Likewise.
41073         * modules/times-tests (Files): Likewise.
41074         * modules/trunc-tests (Files): Likewise.
41075         * modules/truncf-tests (Files): Likewise.
41076         * modules/truncl-tests (Files): Likewise.
41077         * modules/tsearch-tests (Files): Likewise.
41078         * modules/uname-tests (Files): Likewise.
41079         * modules/unlink-tests (Files): Likewise.
41080         * modules/unsetenv-tests (Files): Likewise.
41081         * modules/usleep-tests (Files): Likewise.
41082         * modules/utimensat-tests (Files): Likewise.
41083         * modules/vasprintf-tests (Files): Likewise.
41084         * modules/vdprintf-posix-tests (Files): Likewise.
41085         * modules/vfprintf-posix-tests (Files): Likewise.
41086         * modules/vprintf-posix-tests (Files): Likewise.
41087         * modules/vsnprintf-posix-tests (Files): Likewise.
41088         * modules/vsnprintf-tests (Files): Likewise.
41089         * modules/vsprintf-posix-tests (Files): Likewise.
41090         * modules/wcrtomb-tests (Files): Likewise.
41091         * modules/wcsnrtombs-tests (Files): Likewise.
41092         * modules/wcsrtombs-tests (Files): Likewise.
41093         * modules/wcwidth-tests (Files): Likewise.
41094         * tests/test-isfinite.c (isfinite): Ensure macro declaration.
41095         * tests/test-isinf.c (isinf): Likewise.
41096         * tests/test-isnan.c (isnan): Likewise.
41097         * tests/test-signbit.c (signbit): Likewise.
41098         * tests/test-select.c (FD_CLR, FD_ISSET, FD_SET, FD_ZERO): Ensure
41099         declaration, either as macro or with correct signature.
41100         (select): Ensure function under test is declared with correct
41101         signature in correct header.
41102         * tests/test-atexit.c (atexit): Likewise.
41103         * tests/test-btowc.c (btowc): Likewise.
41104         * tests/test-canonicalize-lgpl.c (realpath)
41105         (canonicalize_file_name): Likewise.
41106         * tests/test-ceilf1.c (ceilf): Likewise.
41107         * tests/test-ceill.c (ceill): Likewise.
41108         * tests/test-chown.c (chown): Likewise.
41109         * tests/test-dprintf-posix.c (dprintf): Likewise.
41110         * tests/test-dup2.c (dup2): Likewise.
41111         * tests/test-dup3.c (dup3): Likewise.
41112         * tests/test-duplocale.c (duplocale): Likewise.
41113         * tests/test-fchdir.c (fchdir): Likewise.
41114         * tests/test-fchownat.c (fchownat): Likewise.
41115         * tests/test-fcntl.c (fcntl): Likewise.
41116         * tests/test-fdopendir.c (fdopendir): Likewise.
41117         * tests/test-fflush.c (fflush): Likewise.
41118         * tests/test-flock.c (flock): Likewise.
41119         * tests/test-floorf1.c (floorf): Likewise.
41120         * tests/test-floorl.c (floorl): Likewise.
41121         * tests/test-fnmatch.c (fnmatch): Likewise.
41122         * tests/test-fopen.c (fopen): Likewise.
41123         * tests/test-fprintf-posix.c (fprintf): Likewise.
41124         * tests/test-freopen.c (freopen): Likewise.
41125         * tests/test-frexp.c (frexp): Likewise.
41126         * tests/test-frexpl.c (frexpl): Likewise.
41127         * tests/test-fseek.c (fseek): Likewise.
41128         * tests/test-fseeko.c (fseeko): Likewise.
41129         * tests/test-fstatat.c (fstatat): Likewise.
41130         * tests/test-fsync.c (fsync): Likewise.
41131         * tests/test-ftell.c (ftell): Likewise.
41132         * tests/test-ftello.c (ftello): Likewise.
41133         * tests/test-futimens.c (futimens): Likewise.
41134         * tests/test-getaddrinfo.c (getaddrinfo, freeaddrinfo)
41135         (gai_strerror): Likewise.
41136         * tests/test-getcwd.c (getcwd): Likewise.
41137         * tests/test-getdelim.c (getdelim): Likewise.
41138         * tests/test-getdtablesize.c (getdtablesize): Likewise.
41139         * tests/test-getgroups.c (getgroups): Likewise.
41140         * tests/test-gethostname.c (gethostname): Likewise.
41141         * tests/test-getline.c (getline): Likewise.
41142         * tests/test-getopt.c (getopt, getopt_long, getopt_long_only):
41143         Likewise.
41144         * tests/test-gettimeofday.c (gettimeofday): Likewise.
41145         * tests/test-glob.c (glob, globfree): Likewise.
41146         * tests/test-iconv.c (iconv, iconv_open, iconv_close): Likewise.
41147         * tests/test-inet_ntop.c (inet_ntop): Likewise.
41148         * tests/test-inet_pton.c (inet_pton): Likewise.
41149         * tests/test-isblank.c (isblank): Likewise.
41150         * tests/test-lchown.c (lchown): Likewise.
41151         * tests/test-ldexpl.c (ldexpl): Likewise.
41152         * tests/test-link.c (link): Likewise.
41153         * tests/test-linkat.c (linkat): Likewise.
41154         * tests/test-lseek.c (lseek): Likewise.
41155         * tests/test-lstat.c (lstat): Likewise.
41156         * tests/test-mbrtowc.c (mbrtowc): Likewise.
41157         * tests/test-mbsinit.c (mbsinit): Likewise.
41158         * tests/test-mbsnrtowcs.c (mbsnrtowcs): Likewise.
41159         * tests/test-mbsrtowcs.c (mbsrtowcs): Likewise.
41160         * tests/test-memchr.c (memchr): Likewise.
41161         * tests/test-memcmp.c (memcmp): Likewise.
41162         * tests/test-memmem.c (memmem): Likewise.
41163         * tests/test-memrchr.c (memrchr): Likewise.
41164         * tests/test-mkdir.c (mkdir): Likewise.
41165         * tests/test-mkdirat.c (mkdirat): Likewise.
41166         * tests/test-mkfifo.c (mkfifo): Likewise.
41167         * tests/test-mkfifoat.c (mkfifoat, mknodat): Likewise.
41168         * tests/test-mknod.c (mknod): Likewise.
41169         * tests/test-nanosleep.c (nanosleep): Likewise.
41170         * tests/test-nl_langinfo.c (nl_langinfo): Likewise.
41171         * tests/test-obstack-printf.c (obstack_printf, obstack_vprintf):
41172         Likewise.
41173         * tests/test-open.c (open): Likewise.
41174         * tests/test-openat.c (openat): Likewise.
41175         * tests/test-perror.c (perror): Likewise.
41176         * tests/test-pipe2.c (pipe2): Likewise.
41177         * tests/test-poll.c (poll): Likewise.
41178         * tests/test-popen.c (popen, pclose): Likewise.
41179         * tests/test-posix_spawn1.c (posix_spawnp, posix_spawnattr_init)
41180         (posix_spawnattr_destroy, posix_spawnattr_setsigmask)
41181         (posix_spawnattr_setflags, posix_spawn_file_actions_init)
41182         (posix_spawn_file_actions_destroy)
41183         (posix_spawn_file_actions_addclose)
41184         (posix_spawn_file_actions_addopen)
41185         (posix_spawn_file_actions_adddup2): Likewise.
41186         * tests/test-posix_spawn3.c (posix_spawn): Likewise.
41187         * tests/test-pread.c (pread): Likewise.
41188         * tests/test-printf-posix.c (printf): Likewise.
41189         * tests/test-pty.c (openpty, forkpty): Likewise.
41190         * tests/test-random_r.c (srandom_r, initstate_r, setstate_r)
41191         (random_r): Likewise.
41192         * tests/test-rawmemchr.c (rawmemchr): Likewise.
41193         * tests/test-readlink.c (readlink): Likewise.
41194         * tests/test-remove.c (remove): Likewise.
41195         * tests/test-rename.c (rename): Likewise.
41196         * tests/test-renameat.c (renameat): Likewise.
41197         * tests/test-rmdir.c (rmdir): Likewise.
41198         * tests/test-round1.c (round): Likewise.
41199         * tests/test-roundf1.c (roundf): Likewise.
41200         * tests/test-roundl.c (roundl): Likewise.
41201         * tests/test-setenv.c (setenv): Likewise.
41202         * tests/test-sigaction.c (sigaction): Likewise.
41203         * tests/test-sleep.c (sleep): Likewise.
41204         * tests/test-snprintf.c (snprintf): Likewise.
41205         * tests/test-sprintf-posix.c (sprintf): Likewise.
41206         * tests/test-stat.c (stat): Likewise.
41207         * tests/test-stpncpy.c (stpncpy): Likewise.
41208         * tests/test-strcasestr.c (strcasestr): Likewise.
41209         * tests/test-strchrnul.c (strchrnul): Likewise.
41210         * tests/test-strerror.c (strerror): Likewise.
41211         * tests/test-strsignal.c (strsignal): Likewise.
41212         * tests/test-strstr.c (strstr): Likewise.
41213         * tests/test-strtod.c (strtod): Likewise.
41214         * tests/test-strverscmp.c (strverscmp): Likewise.
41215         * tests/test-symlink.c (symlink): Likewise.
41216         * tests/test-symlinkat.c (symlinkat, readlinkat): Likewise.
41217         * tests/test-times.c (times): Likewise.
41218         * tests/test-trunc1.c (trunc): Likewise.
41219         * tests/test-truncf1.c (truncf): Likewise.
41220         * tests/test-truncl.c (truncl): Likewise.
41221         * tests/test-tsearch.c (tdelete, tfind, tsearch, twalk):
41222         Likewise.
41223         * tests/test-uname.c (uname): Likewise.
41224         * tests/test-unlink.c (unlink): Likewise.
41225         * tests/test-unlinkat.c (unlinkat): Likewise.
41226         * tests/test-unsetenv.c (unsetenv): Likewise.
41227         * tests/test-usleep.c (usleep): Likewise.
41228         * tests/test-utimensat.c (utimensat): Likewise.
41229         * tests/test-vasprintf.c (asprintf, vasprintf): Likewise.
41230         * tests/test-vdprintf-posix.c (vdprintf): Likewise.
41231         * tests/test-vfprintf-posix.c (vfprintf): Likewise.
41232         * tests/test-vprintf-posix.c (vprintf): Likewise.
41233         * tests/test-vsnprintf.c (vsnprintf): Likewise.
41234         * tests/test-vsprintf-posix.c (vsprintf): Likewise.
41235         * tests/test-wcrtomb.c (wcrtomb): Likewise.
41236         * tests/test-wcsnrtombs.c (wcsnrtombs): Likewise.
41237         * tests/test-wcsrtombs.c (wcsrtombs): Likewise.
41238         * tests/test-wcwidth.c (wcwidth): Likewise.
41239
41240         build: pull in conditional headers during GNULIB_POSIXCHECK
41241         * lib/stdio.in.h (includes): Using GNULIB_POSIXCHECK also requires
41242         definitions from any conditionally-included headers.
41243         * lib/stdlib.in.h (includes): Likewise.
41244         * lib/unistd.in.h (includes): Likewise.
41245
41246 2009-12-24  Bruno Haible  <bruno@clisp.org>
41247
41248         * tests/test-argv-iter.c: Include header file being tested immediately
41249         after config.h.
41250         * tests/test-base64.c: Likewise.
41251         * tests/test-flock.c: Likewise.
41252         * tests/test-fsync.c: Likewise.
41253         * tests/test-getdate.c: Likewise.
41254         * tests/test-getndelim2.c: Likewise.
41255         * tests/test-isfinite.c: Likewise.
41256         * tests/test-isinf.c: Likewise.
41257         * tests/test-strerror.c: Likewise.
41258         * tests/test-strsignal.c: Likewise.
41259
41260 2009-12-23  Eric Blake  <ebb9@byu.net>
41261
41262         unistd: work around cygwin bug
41263         * lib/unistd.in.h (includes): Pick up headers needed for cygwin.
41264         * doc/posix-functions/unlinkat.texi (unlinkat): Document the bug.
41265         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
41266
41267 2009-12-23  Bruno Haible  <bruno@clisp.org>
41268
41269         localename: More tests.
41270         * tests/test-localename.c (SIZEOF): New macro.
41271         (categories): New variable.
41272         (test_locale_name, test_locale_name_posix, test_locale_name_environ,
41273         test_locale_name_default): Add test w.r.t. thread locale.
41274         (test_locale_name_thread): New function.
41275         (main): Invoke it.
41276
41277         localename: Make aware of thread locale.
41278         * lib/localename.h (gl_locale_name_thread): New declaration.
41279         (gl_locale_name, gl_locale_name_posix, gl_locale_name_default): Clarify
41280         behaviour with respect to thread locale.
41281         * lib/localename.c: Include <limits.h>, <stddef.h>, <xlocale.h>,
41282         <langinfo.h>, glthread/lock.h.
41283         (SIZE_BITS): New macro.
41284         (string_hash): New function.
41285         (struct hash_node): New type.
41286         (HASH_TABLE_SIZE): New macro.
41287         (struniq_hash_table, struniq_lock): New variables.
41288         (struniq): New function.
41289         (gl_locale_name_thread): New function.
41290         (gl_locale_name): Invoke it.
41291         * m4/localename.m4 (gl_LOCALENAME): Test for uselocale function.
41292         * modules/localename (Depends-on): Add lock.
41293         Reported by Mike Gran <spk121@yahoo.com>.
41294
41295 2009-12-23  Eric Blake  <ebb9@byu.net>
41296
41297         va-args: new module
41298         * modules/va-args: New file.
41299         * m4/va-args.m4 (gl_VA_ARGS): Likewise.
41300         * MODULES.html.sh (Core language properties): Mention it.
41301
41302         gnulib-common: prefer _GL_UNUSED over _UNUSED_PARAMETER_
41303         * m4/gnulib-common.m4 (gl_COMMON): Create a more-appropriately
41304         named alias for __attribute__((__unused__)).
41305         * lib/chown.c: Update client.
41306         * lib/fchmodat.c: Likewise.
41307         * lib/fts.c: Likewise.
41308         * lib/getdate.y: Likewise.
41309         * lib/getgroups.c: Likewise.
41310         * lib/getopt.c: Likewise.
41311         * lib/getugroups.c: Likewise.
41312         * lib/mkdir.c: Likewise.
41313         * lib/mkfifo.c: Likewise.
41314         * lib/mkfifoat.c: Likewise.
41315         * lib/mknod.c: Likewise.
41316         * lib/mknodat.c: Likewise.
41317         * lib/readlink.c: Likewise.
41318         * lib/se-context.in.h: Likewise.
41319         * lib/se-selinux.in.h: Likewise.
41320         * lib/sockets.c: Likewise.
41321         * lib/symlink.c: Likewise.
41322         * lib/symlinkat.c: Likewise.
41323         * lib/unicodeio.c: Likewise.
41324         * lib/unistr.h: Likewise.
41325         * tests/test-areadlink.c: Likewise.
41326         * tests/test-areadlinkat.c: Likewise.
41327         * tests/test-filenamecat.c: Likewise.
41328         * tests/test-fseeko.c: Likewise.
41329         * tests/test-ftello.c: Likewise.
41330         * tests/test-getdate.c: Likewise.
41331         * tests/test-getgroups.c: Likewise.
41332         * tests/test-gethostname.c: Likewise.
41333         * tests/test-quotearg.c: Likewise.
41334         * tests/test-version-etc.c: Likewise.
41335         * tests/test-xalloc-die.c: Likewise.
41336         * tests/test-xfprintf-posix.c: Likewise.
41337         * tests/test-xprintf-posix.c: Likewise.
41338         * tests/test-xvasprintf.c: Likewise.
41339
41340         tests: avoid compiler warnings
41341         * tests/test-fcntl.c (main): Delete unused parameters.
41342         * tests/test-freopen-safer.c (main): Likewise.
41343         * tests/test-xalloc-die.c (main): Mark unused parameters.
41344         * tests/test-fseeko.c (main): Likewise.
41345         * tests/test-ftello.c (main): Likewise.
41346         * tests/test-nanosleep.c (main): Avoid declaration warning.
41347         * tests/test-sleep.c (main): Likewise.
41348         * tests/test-unsetenv.c (main): Silence warning about string
41349         literal.
41350         * m4/setenv.m4 (gl_FUNC_UNSETENV): Likewise.
41351
41352 2009-12-23  Bruno Haible  <bruno@clisp.org>
41353
41354         * tests/test-localename.c (test_locale_name): New function, extracted
41355         from main. Also test mixed situations.
41356         (test_locale_name_posix, test_locale_name_environ,
41357         test_locale_name_default): New functions.
41358         (main): Invoke them all.
41359         * modules/localename-tests (configure.ac): Test for newlocale.
41360
41361 2009-12-23  Bruno Haible  <bruno@clisp.org>
41362
41363         unistd: Ensure getcwd gets declared before being overridden.
41364         * lib/unistd.in.h: Conditionally include <io.h>.
41365
41366 2009-12-22  Bruno Haible  <bruno@clisp.org>
41367
41368         wchar: Diagnose broken combination of glibc and gcc versions and flags.
41369         * m4/wchar.m4 (gl_WCHAR_H_INLINE_OK): New macro.
41370         (gl_WCHAR_H): Invoke it.
41371         * m4/btowc.m4 (gl_FUNC_BTOWC): Require it.
41372         * doc/posix-headers/wchar.texi: Mention the interoperability problem.
41373         Reported by Karl Berry <karl@freefriends.org>.
41374
41375 2009-12-22  Eric Blake  <ebb9@byu.net>
41376
41377         math, unistd: avoid redundant includes
41378         * lib/math.in.h (isnan): No need to re-include <math.h>.
41379         * lib/unistd.in.h (getcwd): Likewise, for <stdlib.h>.
41380
41381         getsubopt: work around cygwin bug
41382         * lib/stdlib.in.h (includes): Move unistd inclusion sooner, to
41383         avoid conflicting with system getsubopt.
41384         * doc/posix-functions/getsubopt.texi (getsubopt): Document the
41385         bug.
41386
41387         getopt: synchronize from glibc
41388         * lib/getopt.c (_getopt_initialize, _getopt_internal_r): Swap
41389         parameter order.  Adjust all callers.
41390         (_getopt_internal_r, main): Adjust quoting in error messages.
41391         Drop considerations for outdated POSIX 1003.2 error message.
41392         * lib/getopt1.c (_getopt_long_r, _getopt_long_only_r): Adjust
41393         callers.
41394         * lib/getopt_int.h (_getopt_internal_r): Adjust prototype.
41395
41396         test-getopt: test stderr behavior
41397         * modules/getopt-posix-tests (Depends-on): Add dup2.
41398         * tests/test-getopt.c (ASSERT): Avoid stderr.
41399         (main): Move stderr to a temporary file.
41400         * tests/test-getopt.h (getopt_loop): No longer manipulate opterr.
41401         Instead, add parameter to inform caller if output occurred.
41402         (test_getopt): Adjust all existing tests to expect silence, and
41403         add new tests of leading ":".
41404         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41405         glibc shortcomings with leading "-:" or "+:" in optstring.
41406         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41407         Likewise.
41408         * doc/posix-functions/getopt.texi (getopt): Likewise.
41409
41410         test-getopt: enhance test
41411         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require that getopt_long
41412         supports optind=0.
41413         * tests/test-getopt.c (OPTIND_MIN): Move...
41414         * tests/test-getopt.h (OPTIND_MIN): ...here.
41415         * tests/test-getopt_long.h (test_getopt_long): Add more coverage.
41416         Require that optind=0 works, since modern BSD supports it in
41417         addition to optreset, and since coreutils expects it.
41418         (test_getopt_long_only): New test.
41419         * doc/glibc-functions/getopt_long.texi (getopt_long): Document
41420         glibc shortcomings with 'W;', and enforcement of optind=0.
41421         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
41422         Likewise.
41423
41424 2009-12-21  Bruno Haible  <bruno@clisp.org>
41425
41426         localename: Improvements for MacOS X and Cygwin.
41427         * lib/localename.h (gl_locale_name_environ): New declaration.
41428         * lib/localename.c (gl_locale_name_environ): New function, extracted from
41429         gl_locale_name_posix. Ignore dummy LANG values on MacOS X and Cygwin.
41430         (gl_locale_name_posix): Invoke it.
41431         (gl_locale_name_default): Add comments. Use Windows native API also on
41432         Cygwin.
41433
41434 2009-12-21  Bruno Haible  <bruno@clisp.org>
41435
41436         Update list of Win32 locale ids.
41437         * lib/localename.c (LANG_ROMANSH): Renamed from LANG_RHAETO_ROMANCE.
41438         (LANG_SAMI): Renamed from LANG_SAAMI.
41439         (LANG_BASHKIR, LANG_LUXEMBOURGISH, LANG_GREENLANDIC,
41440         LANG_MAPUDUNGUN, LANG_MOHAWK, LANG_BRETON, LANG_OCCITAN, LANG_CORSICAN,
41441         LANG_ALSATIAN, LANG_YAKUT, LANG_KICHE, LANG_KINYARWANDA, LANG_WOLOF,
41442         LANG_DARI, LANG_SCOTTISH_GAELIC): New macros.
41443         (SUBLANG_AFRIKAANS_SOUTH_AFRICA, SUBLANG_ALBANIAN_ALBANIA,
41444         SUBLANG_ALSATIAN_FRANCE, SUBLANG_AMHARIC_ETHIOPIA,
41445         SUBLANG_ARMENIAN_ARMENIA, SUBLANG_ASSAMESE_INDIA,
41446         SUBLANG_BASHKIR_RUSSIA, SUBLANG_BASQUE_BASQUE,
41447         SUBLANG_BELARUSIAN_BELARUS, SUBLANG_BRETON_FRANCE,
41448         SUBLANG_BULGARIAN_BULGARIA, SUBLANG_CAMBODIAN_CAMBODIA,
41449         SUBLANG_CATALAN_SPAIN, SUBLANG_CORSICAN_FRANCE,
41450         SUBLANG_CZECH_CZECH_REPUBLIC, SUBLANG_DANISH_DENMARK,
41451         SUBLANG_DARI_AFGHANISTAN, SUBLANG_DIVEHI_MALDIVES,
41452         SUBLANG_DUTCH_SURINAM, SUBLANG_ESTONIAN_ESTONIA,
41453         SUBLANG_FAEROESE_FAROE_ISLANDS, SUBLANG_FARSI_IRAN,
41454         SUBLANG_FINNISH_FINLAND, SUBLANG_FRISIAN_NETHERLANDS,
41455         SUBLANG_GALICIAN_SPAIN, SUBLANG_GEORGIAN_GEORGIA,
41456         SUBLANG_GREEK_GREECE, SUBLANG_GREENLANDIC_GREENLAND,
41457         SUBLANG_GUJARATI_INDIA, SUBLANG_HAUSA_NIGERIA_LATIN,
41458         SUBLANG_HEBREW_ISRAEL, SUBLANG_HINDI_INDIA, SUBLANG_HUNGARIAN_HUNGARY,
41459         SUBLANG_ICELANDIC_ICELAND, SUBLANG_IGBO_NIGERIA,
41460         SUBLANG_INDONESIAN_INDONESIA, SUBLANG_INUKTITUT_CANADA,
41461         SUBLANG_INUKTITUT_CANADA_LATIN, SUBLANG_IRISH_IRELAND,
41462         SUBLANG_JAPANESE_JAPAN, SUBLANG_KANNADA_INDIA,
41463         SUBLANG_KAZAK_KAZAKHSTAN, SUBLANG_KICHE_GUATEMALA,
41464         SUBLANG_KINYARWANDA_RWANDA, SUBLANG_KONKANI_INDIA,
41465         SUBLANG_KYRGYZ_KYRGYZSTAN, SUBLANG_LAO_LAOS, SUBLANG_LATVIAN_LATVIA,
41466         SUBLANG_LITHUANIAN_LITHUANIA, SUBLANG_LOWER_SORBIAN_GERMANY,
41467         SUBLANG_LUXEMBOURGISH_LUXEMBOURG, SUBLANG_MACEDONIAN_MACEDONIA,
41468         SUBLANG_MALAYALAM_INDIA, SUBLANG_MALTESE_MALTA,
41469         SUBLANG_MAORI_NEW_ZEALAND, SUBLANG_MAPUDUNGUN_CHILE,
41470         SUBLANG_MARATHI_INDIA, SUBLANG_MOHAWK_CANADA, SUBLANG_NEPALI_NEPAL,
41471         SUBLANG_OCCITAN_FRANCE, SUBLANG_ORIYA_INDIA,
41472         SUBLANG_PASHTO_AFGHANISTAN, SUBLANG_POLISH_POLAND,
41473         SUBLANG_ROMANSH_SWITZERLAND, SUBLANG_SAMI_NORTHERN_NORWAY,
41474         SUBLANG_SAMI_NORTHERN_SWEDEN, SUBLANG_SAMI_NORTHERN_FINLAND,
41475         SUBLANG_SAMI_LULE_NORWAY, SUBLANG_SAMI_LULE_SWEDEN,
41476         SUBLANG_SAMI_SOUTHERN_NORWAY, SUBLANG_SAMI_SOUTHERN_SWEDEN,
41477         SUBLANG_SAMI_SKOLT_FINLAND, SUBLANG_SAMI_INARI_FINLAND,
41478         SUBLANG_SANSKRIT_INDIA, SUBLANG_SINHALESE_SRI_LANKA,
41479         SUBLANG_SLOVAK_SLOVAKIA, SUBLANG_SLOVENIAN_SLOVENIA,
41480         SUBLANG_SOTHO_SOUTH_AFRICA, SUBLANG_SWAHILI_KENYA,
41481         SUBLANG_SWEDISH_SWEDEN, SUBLANG_SYRIAC_SYRIA,
41482         SUBLANG_TAGALOG_PHILIPPINES, SUBLANG_TAJIK_TAJIKISTAN,
41483         SUBLANG_TAMIL_INDIA, SUBLANG_TATAR_RUSSIA, SUBLANG_TELUGU_INDIA,
41484         SUBLANG_THAI_THAILAND, SUBLANG_TSWANA_SOUTH_AFRICA,
41485         SUBLANG_TURKISH_TURKEY, SUBLANG_TURKMEN_TURKMENISTAN,
41486         SUBLANG_UKRAINIAN_UKRAINE, SUBLANG_UPPER_SORBIAN_GERMANY,
41487         SUBLANG_VIETNAMESE_VIETNAM, SUBLANG_WELSH_UNITED_KINGDOM,
41488         SUBLANG_WOLOF_SENEGAL, SUBLANG_XHOSA_SOUTH_AFRICA,
41489         SUBLANG_YAKUT_RUSSIA, SUBLANG_YI_PRC, SUBLANG_YORUBA_NIGERIA,
41490         SUBLANG_ZULU_SOUTH_AFRICA): New macros.
41491         (gl_locale_name_from_win32_LANGID): Handle also the territory neutral
41492         locale ids. Add support for Alsatian, Bashkir, Breton, Corsican, Dari,
41493         Greenlandic, K'iche', Kinyarwanda, Luxembourgish, Mapudungun, Mohawk,
41494         Occitan, Scottish Gaelic, Wolof, Yakut. Change language code for Yi.
41495         Add more languages and countries for Sami, Sorbian. Add more countries
41496         for Serbian, Dutch. Add more scripts for Inuktitut. Be more precise
41497         for Pashto. Change country for Syriac, Tswana.
41498
41499 2009-12-21  Eric Blake  <ebb9@byu.net>
41500
41501         test-utimens: avoid spurious failure
41502         * tests/test-chown.h (nap): Factor...
41503         * tests/nap.h: ...into new file.
41504         * tests/test-lchown.h (nap): Avoid duplication.
41505         * tests/test-utimens-common.h (nap): Use shared implementation,
41506         necessary on file systems with 1-second resolution.
41507         * modules/chown-tests (Files): Include new file.
41508         * modules/fdutimensat-tests (Files): Likewise.
41509         * modules/futimens-tests (Files): Likewise.
41510         * modules/lchown-tests (Files): Likewise.
41511         * modules/openat-tests (Files): Likewise.
41512         * modules/utimens-tests (Files): Likewise.
41513         * modules/utimensat-tests (Files): Likewise.
41514
41515 2009-12-19  Eric Blake  <ebb9@byu.net>
41516
41517         futimens, utimensat: work around Linux bug
41518         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Detect ctime bug.
41519         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
41520         * lib/utimensat.c (rpl_utimensat): Work around it.
41521         * lib/futimens.c (rpl_futimens): Adjust comment.
41522
41523         utimens: work around Linux ctime bug
41524         * lib/utimens.c (detect_ctime_bug): New helper function.
41525         (update_timespec): Differentiate between workaround needed for
41526         this bug vs. what is needed for systems that lack utimensat.
41527         (fdutimens, lutimens): Work around bug.
41528
41529         utimens: check for ctime update
41530         * tests/test-utimens-common.h (check_ctime): Define.
41531         * tests/test-utimens.h (test_utimens): Expose the Linux bug.
41532         * tests/test-futimens.h (test_futimens): Likewise.
41533         * tests/test-lutimens.h (test_lutimens): Likewise.
41534         * doc/posix-functions/futimens.texi (futimens): Document the bug.
41535         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
41536
41537 2009-12-19  Bruno Haible  <bruno@clisp.org>
41538
41539         dprintf-posix: Check against memory leak fixed on 2009-12-15.
41540         * tests/test-dprintf-posix2.sh: New file.
41541         * tests/test-dprintf-posix2.c: New file.
41542         * modules/dprintf-posix-tests (Files): Add them.
41543         (configure.ac): Check for getrlimit and setrlimit.
41544         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41545
41546 2009-12-19  Bruno Haible  <bruno@clisp.org>
41547
41548         fprintf-posix: Check against memory leak fixed on 2009-12-15.
41549         * tests/test-fprintf-posix3.sh: New file.
41550         * tests/test-fprintf-posix3.c: New file.
41551         * modules/fprintf-posix-tests (Files): Add them.
41552         (Makefile.am): Augment TESTS and CHECK_PROGRAMS.
41553
41554 2009-12-19  Eric Blake  <ebb9@byu.net>
41555
41556         dirfd: fix prototype
41557         * lib/dirent.in.h (dirfd): Argument is not const, per POSIX.
41558         * lib/dirfd.c (dirfd): Likewise.
41559
41560         canonicalize: reduce memory usage
41561         * lib/canonicalize.c (canonicalize_filename_mode): Trim the
41562         allocation to size.
41563         Reported by Solar Designer <solar@openwall.com>.
41564
41565 2009-12-19  Bruno Haible  <bruno@clisp.org>
41566
41567         New module attribute 'Applicability'.
41568         * modules/TEMPLATE-EXTENDED: New field 'Applicability'.
41569         * gnulib-tool: New option --extract-applicability.
41570         (func_usage): Document it.
41571         (sed_extract_prog): Recognize it.
41572         (func_get_applicability): New function.
41573         (func_import): Generalize handling of 'link-warning' module.
41574         * modules/link-warning (Applicability): New section.
41575         * modules/arg-nonnull (Applicability): New section.
41576         Repoted by Simon Josefsson <simon@josefsson.org>.
41577
41578 2009-12-19  Bruno Haible  <bruno@clisp.org>
41579
41580         fflush: tweak
41581         * lib/fflush.c (update_fpos_cache): Don't use fpos_t on Cygwin.
41582         * lib/fseeko.c (rpl_fseeko): Likewise.
41583
41584 2009-12-16  José E. Marchesi  <jemarch@gnu.org>  (tiny change)
41585
41586         * lib/gl_list.h: Fix typo in comment.
41587
41588 2009-12-16  Eric Blake  <ebb9@byu.net>
41589
41590         fcntl: use to simplify other modules
41591         * modules/cloexec (Depends-on): Add fcntl.
41592         * modules/fchdir (Depends-on): Likewise.
41593         * modules/fd-safer-flag (Depends-on): Likewise.
41594         * modules/unistd-safer (Depends-on): Likewise.
41595         * modules/dup3 (configure.ac): Set module indicator.
41596         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Replace fcntl if fchdir is
41597         missing.
41598         * lib/fchdir.c (_gl_register_dup): Fix comment.
41599         * lib/cloexec.c (dup_cloexec): Simplify, by relying on fcntl.
41600         * lib/dup-safer.c (dup_safer): Likewise.
41601         * lib/dup-safer-flag.c (dup_safer_flag): Likewise.
41602         * lib/dup3.c (dup3): Likewise.
41603         * tests/test-fchdir.c (main): Enhance test.
41604         Fixes a dup_cloexec bug reported by Ondřej Vašík.
41605
41606         fcntl: port portions of fcntl to mingw
41607         * m4/fcntl.m4 (gl_FUNC_FCNTL): Also build fcntl.c on mingw.
41608         * lib/fcntl.c (fcntl) <F_DUPFD, F_DUPFD_CLOEXEC, F_GETFD>: Provide
41609         replacement for mingw.
41610         * modules/fcntl (Description): Update.
41611         (Depends-on): Add dup2.
41612         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness.
41613         * modules/fcntl-h (Makefile.am): Substitute it.
41614         * lib/fcntl.in.h (fcntl): Update declaration.
41615         (F_DUPFD, F_GETFD): New macros, when needed.
41616         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
41617         * doc/posix-functions/fcntl.texi (fcntl): Likewise.
41618         * tests/test-fcntl.c (check_flags, main): Enhance test for items
41619         we now guarantee.
41620
41621         fcntl: work around cygwin bug in F_DUPFD
41622         * m4/fcntl.m4 (gl_REPLACE_FCNTL): New macro.
41623         (gl_FUNC_FCNTL): Use it.  Test for F_DUPFD bug.
41624         * lib/fcntl.c (rpl_fcntl) <F_DUPFD>: Work around it.
41625         <F_DUPFD_CLOEXEC>: Reduce calls to _gl_register_dup.
41626         * doc/posix-functions/fcntl.texi (fcntl): Document it.
41627
41628         fcntl: support F_DUPFD_CLOEXEC on systems with fcntl
41629         * modules/fcntl (Files): List new files.
41630         (configure.ac): Run a test.
41631         * m4/fcntl.m4 (gl_FUNC_FCNTL): New file.
41632         * lib/fcntl.c (rpl_fcntl): Likewise.
41633         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Add witness defaults.
41634         (gl_FCNTL_H): Always replace fcntl.h.
41635         * modules/fcntl-h (Makefile.am): Substitute witnesses.
41636         * lib/fcntl.in.h (fcntl): Declare replacement.
41637         (F_DUPFD_CLOEXEC, GNULIB_defined_F_DUPFD_CLOEXEC): New macro when
41638         needed, plus a witness.
41639         * doc/posix-functions/fcntl.texi (fcntl): Document this.
41640         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
41641         * tests/test-fcntl.c: New file.
41642         * modules/fcntl-tests: Likewise.
41643
41644         binary-io: avoid potential compilation warning
41645         * lib/binary-io.h [__DJGPP__]: Avoid null preprocessor
41646         directives.
41647
41648         fflush: avoid compilation error on NetBSD
41649         * lib/fflush.c (update_fpos_cache): Use a union to safely convert
41650         between off_t and fpos_t, since the latter is sometimes a struct.
41651         * lib/fseeko.c (rpl_fseeko): Likewise.
41652         Reported by Alexander Nasonov <alnsn@yandex.ru>.
41653
41654 2009-12-15  Eric Blake  <ebb9@byu.net>
41655
41656         fcntl-h, stdio, sys_ioctl: fix declarations
41657         * lib/stdio.in.h (dprintf): Use of link warning on a variadic
41658         function must not take arguments.
41659         * lib/sys_ioctl.in.h (ioctl): Likewise.
41660         * lib/fcntl.in.h (openat): Likewise.  Declare extern.
41661         (open): Add a link warning.
41662
41663 2009-12-15  Jim Meyering  <meyering@redhat.com>
41664
41665         areadlink, areadlink-with-size: relax license to LGPLv2+
41666         * modules/areadlink (License): Relax to LGPLv2+.
41667         * modules/areadlink-with-size (License): Likewise.
41668
41669 2009-12-15  Joel E. Denny  <jdenny@clemson.edu>
41670             Bruno Haible  <bruno@clisp.org>
41671
41672         *printf: Fix memory leak.
41673         * lib/fprintf.c (fprintf): Free memory allocated by vasnprintf.
41674         * lib/vfprintf.c (vfprintf): Likewise.
41675         * lib/dprintf.c (dprintf): Likewise.
41676         * lib/vdprintf.c (vdprintf): Likewise.
41677
41678 2009-12-14  Eric Blake  <ebb9@byu.net>
41679
41680         accept4: adjust module dependencies
41681         * modules/accept4 (Depends-on): Use fcntl-h, not fcntl.
41682
41683         utimens: one more try at avoiding compiler warning
41684         * lib/utimens.c (lutimens): Lower scope of result.
41685
41686 2009-12-13  Bruno Haible  <bruno@clisp.org>
41687
41688         Move the malloc checking from module 'list' to new module 'xlist'.
41689         * modules/xlist: New file.
41690         * lib/gl_xlist.h: New file.
41691         * lib/gl_xlist.c: New file.
41692         * lib/gl_list.h (gl_list_create_empty, gl_list_create,
41693         gl_list_node_set_value, gl_list_set_at, gl_list_add_first,
41694         gl_list_add_last, gl_list_add_before, gl_list_add_after,
41695         gl_list_nx_add_at, gl_sortedlist_add): Disable declarations.
41696         (gl_list_nx_create_empty, gl_list_nx_create, gl_list_node_nx_set_value,
41697         gl_list_nx_set_at, gl_list_nx_add_first, gl_list_nx_add_last,
41698         gl_list_nx_add_before, gl_list_nx_add_after, gl_list_nx_add_at,
41699         gl_sortedlist_nx_add): New declarations.
41700         (struct gl_list_implementation): Rename and change methods accordingly.
41701         (gl_list_nx_create_empty): Renamed from gl_list_create_empty.
41702         (gl_list_nx_create): Renamed from gl_list_create.
41703         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41704         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41705         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41706         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41707         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41708         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41709         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41710         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41711         * lib/gl_list.c (gl_list_nx_create_empty): Renamed from
41712         gl_list_create_empty.
41713         (gl_list_nx_create): Renamed from gl_list_create.
41714         (gl_list_node_nx_set_value): Renamed from gl_list_node_set_value.
41715         (gl_list_nx_set_at): Renamed from gl_list_set_at.
41716         (gl_list_nx_add_first): Renamed from gl_list_add_first.
41717         (gl_list_nx_add_last): Renamed from gl_list_add_last.
41718         (gl_list_nx_add_before): Renamed from gl_list_add_before.
41719         (gl_list_nx_add_after): Renamed from gl_list_add_after.
41720         (gl_list_nx_add_at): Renamed from gl_list_add_at.
41721         (gl_sortedlist_nx_add): Renamed from gl_sortedlist_add.
41722         * lib/gl_array_list.c: Don't include xalloc.h.
41723         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Return
41724         NULL upon out-of-memory.
41725         (gl_array_nx_create): Renamed from gl_array_create. Return NULL upon
41726         out-of-memory.
41727         (gl_array_node_nx_set_value): Renamed from gl_array_node_set_value.
41728         Change return type to 'int'.
41729         (gl_array_nx_set_at): Renamed from gl_array_set_at.
41730         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41731         (gl_array_nx_add_first): Renamed from gl_array_add_first. Return NULL
41732         upon out-of-memory.
41733         (gl_array_nx_add_last): Renamed from gl_array_add_last. Return NULL
41734         upon out-of-memory.
41735         (gl_array_nx_add_before): Renamed from gl_array_add_before. Return NULL
41736         upon out-of-memory.
41737         (gl_array_nx_add_after): Renamed from gl_array_add_after. Return NULL
41738         upon out-of-memory.
41739         (gl_array_nx_add_at): Renamed from gl_array_add_at. Return NULL upon
41740         out-of-memory.
41741         (gl_array_sortedlist_nx_add): Renamed from gl_array_sortedlist_add.
41742         Update.
41743         (gl_array_list_implementation): Update.
41744         * lib/gl_carray_list.c: Don't include xalloc.h.
41745         (gl_carray_nx_create_empty): Renamed from gl_carray_create_empty.
41746         Return NULL upon out-of-memory.
41747         (gl_carray_nx_create): Renamed from gl_carray_create. Return NULL upon
41748         out-of-memory.
41749         (gl_carray_node_nx_set_value): Renamed from gl_carray_node_set_value.
41750         Change return type to 'int'.
41751         (gl_carray_nx_set_at): Renamed from gl_carray_set_at.
41752         (grow): Change return type to 'int'. Return -1 upon out-of-memory.
41753         (gl_carray_nx_add_first): Renamed from gl_carray_add_first. Return NULL
41754         upon out-of-memory.
41755         (gl_carray_nx_add_last): Renamed from gl_carray_add_last. Return NULL
41756         upon out-of-memory.
41757         (gl_carray_nx_add_at): Renamed from gl_carray_add_at. Return NULL upon
41758         out-of-memory.
41759         (gl_carray_nx_add_before): Renamed from gl_carray_add_before. Update.
41760         (gl_carray_nx_add_after): Renamed from gl_carray_add_after. Update.
41761         (gl_carray_sortedlist_nx_add): Renamed from gl_carray_sortedlist_add.
41762         Update.
41763         (gl_carray_list_implementation): Update.
41764         * lib/gl_anyhash_list2.h (hash_resize): Do nothing upon out-of-memory.
41765         * lib/gl_anylinked_list2.h (gl_linked_nx_create_empty): Renamed from
41766         gl_linked_create_empty. Return NULL upon out-of-memory.
41767         (gl_linked_nx_create): Renamed from gl_linked_create. Return NULL upon
41768         out-of-memory.
41769         (gl_linked_node_nx_set_value): Renamed from gl_linked_node_set_value.
41770         Change return type to 'int'. Return -1 upon out-of-memory.
41771         (gl_linked_nx_set_at): Renamed from gl_linked_set_at. Return NULL upon
41772         out-of-memory.
41773         (gl_linked_nx_add_first): Renamed from gl_linked_add_first. Return NULL
41774         upon out-of-memory.
41775         (gl_linked_nx_add_last): Renamed from gl_linked_add_last. Return NULL
41776         upon out-of-memory.
41777         (gl_linked_nx_add_before): Renamed from gl_linked_add_before. Return
41778         NULL upon out-of-memory.
41779         (gl_linked_nx_add_after): Renamed from gl_linked_add_after. Return NULL
41780         upon out-of-memory.
41781         (gl_linked_nx_add_at): Renamed from gl_linked_add_at. Return NULL upon
41782         out-of-memory.
41783         (gl_linked_sortedlist_nx_add): Renamed from gl_linked_sortedlist_add.
41784         Update.
41785         * lib/gl_linked_list.c: Don't include xalloc.h.
41786         (gl_linked_list_implementation): Update.
41787         * lib/gl_linkedhash_list.c: Don't include xalloc.h.
41788         (add_to_bucket): Change return type to 'int'.
41789         (gl_linkedhash_list_implementation): Update.
41790         * lib/gl_anytree_list1.h (free_subtree): New function.
41791         * lib/gl_anytree_list2.h (gl_tree_nx_create_empty): Renamed from
41792         gl_tree_create_empty. Return NULL upon out-of-memory.
41793         (gl_tree_node_nx_set_value): Renamed from gl_tree_node_set_value.
41794         Change return type to 'int'. Return -1 upon out-of-memory.
41795         (gl_tree_nx_set_at): Renamed from gl_tree_set_at. Return NULL upon
41796         out-of-memory.
41797         (gl_tree_nx_add_at): Renamed from gl_tree_add_at. Update.
41798         (gl_tree_remove_node): New function, moved here from
41799         lib/gl_anyavltree_list2.h and lib/gl_anyrbtree_list2.h.
41800         (gl_tree_sortedlist_nx_add): Renamed from gl_tree_sortedlist_add.
41801         Update.
41802         * lib/gl_anyavltree_list2.h (create_subtree_with_contents): Use
41803         malloc, not xmalloc. Return NULL upon out-of-memory.
41804         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41805         out-of-memory.
41806         (gl_tree_remove_node_from_tree): New function, extracted from
41807         gl_tree_remove_node.
41808         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41809         upon out-of-memory.
41810         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41811         out-of-memory.
41812         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41813         upon out-of-memory.
41814         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41815         upon out-of-memory.
41816         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41817         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents): Use malloc,
41818         not xmalloc. Return NULL upon out-of-memory.
41819         (gl_tree_nx_create): Renamed from gl_tree_create. Return NULL upon
41820         out-of-memory.
41821         (gl_tree_remove_node_from_tree): New function, extracted from
41822         gl_tree_remove_node.
41823         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Return NULL
41824         upon out-of-memory.
41825         (gl_tree_nx_add_last): Renamed from gl_tree_add_last. Return NULL upon
41826         out-of-memory.
41827         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Return NULL
41828         upon out-of-memory.
41829         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Return NULL
41830         upon out-of-memory.
41831         (gl_tree_remove_node): Remove function. Moved to gl_anytree_list2.h.
41832         * lib/gl_avltree_list.c: Don't include xalloc.h. Include
41833         gl_anytree_list1.h before gl_anyavltree_list2.h.
41834         (gl_avltree_list_implementation): Update.
41835         * lib/gl_rbtree_list.c: Don't include xalloc.h. Include
41836         gl_anytree_list1.h before gl_anyavltree_list2.h.
41837         (gl_rbtree_list_implementation): Update.
41838         * lib/gl_anytreehash_list1.h (add_to_bucket, add_nodes_to_buckets):
41839         Change return type to 'int'. Return -1 upon out-of-memory. Use
41840         __builtin_expect.
41841         * lib/gl_avltreehash_list.c: Don't include xalloc.h.
41842         (gl_avltreehash_list_implementation): Update.
41843         * lib/gl_rbtreehash_list.c: Don't include xalloc.h.
41844         (gl_rbtreehash_list_implementation): Update.
41845         * modules/array-list (Depends-on): Remove xalloc.
41846         * modules/carray-list (Depends-on): Likewise.
41847         * modules/linked-list (Depends-on): Likewise.
41848         * modules/linkedhash-list (Depends-on): Likewise.
41849         * modules/avltree-list (Depends-on): Likewise.
41850         * modules/rbtree-list (Depends-on): Likewise.
41851         * modules/avltreehash-list (Depends-on): Likewise.
41852         * modules/rbtreehash-list (Depends-on): Likewise.
41853
41854         * modules/xsublist: New file.
41855         * lib/gl_xsublist.h: New file.
41856         * lib/gl_xsublist.c: New file.
41857         * lib/gl_sublist.h (gl_sublist_create): Disable declaration.
41858         (gl_sublist_nx_create): New declaration.
41859         * lib/gl_sublist.c: Don't include xalloc.h.
41860         (gl_sublist_nx_create_empty): Renamed from gl_sublist_create_empty.
41861         (gl_sublist_nx_create_fill): Renamed from gl_sublist_create_fill.
41862         (gl_sublist_node_nx_set_value): Renamed from gl_sublist_node_set_value.
41863         Change return type to 'int'. Return -1 upon out-of-memory.
41864         (gl_sublist_nx_set_at): Renamed from gl_sublist_set_at. Return NULL
41865         upon out-of-memory.
41866         (gl_sublist_nx_add_first): Renamed from gl_sublist_add_first. Return
41867         NULL upon out-of-memory.
41868         (gl_sublist_nx_add_last): Renamed from gl_sublist_add_last. Return NULL
41869         upon out-of-memory.
41870         (gl_sublist_nx_add_before): Renamed from gl_sublist_add_before. Return
41871         NULL upon out-of-memory.
41872         (gl_sublist_nx_add_after): Renamed from gl_sublist_add_after. Return
41873         NULL upon out-of-memory.
41874         (gl_sublist_nx_add_at): Renamed from gl_sublist_add_at. Return NULL
41875         upon out-of-memory.
41876         (gl_sublist_sortedlist_nx_add): Renamed from gl_sublist_sortedlist_add.
41877         (gl_sublist_list_implementation): Update.
41878         (gl_sublist_nx_create): Renamed from gl_sublist_create. Return NULL
41879         upon out-of-memory.
41880         * modules/sublist (Depends-on): Remove xalloc.
41881
41882         * tests/test-array_list.c: Use gl_list_nx_* functions where possible.
41883         * tests/test-carray_list.c: Likewise.
41884         * tests/test-linked_list.c: Likewise.
41885         * tests/test-linkedhash_list.c: Likewise.
41886         * tests/test-avltree_list.c: Likewise.
41887         * tests/test-rbtree_list.c: Likewise.
41888         * tests/test-avltreehash_list.c: Likewise.
41889         * tests/test-rbtreehash_list.c: Likewise.
41890         * modules/array-list-tests (Makefile.am): Don't link with @LIBINTL@.
41891         * modules/carray-list-tests (Makefile.am): Likewise.
41892         * modules/linked-list-tests (Makefile.am): Likewise.
41893         * modules/linkedhash-list-tests (Makefile.am): Likewise.
41894         * modules/avltree-list-tests (Makefile.am): Likewise.
41895         * modules/rbtree-list-tests (Makefile.am): Likewise.
41896         * modules/avltreehash-list-tests (Makefile.am): Likewise.
41897         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
41898
41899         * NEWS: Mention the changes.
41900
41901         * lib/clean-temp.c: Include gl_xlist.h.
41902         * modules/clean-temp (Depends-on): Add xlist.
41903
41904         * lib/git-merge-changelog.c: Include gl_xlist.h instead of gl_list.h.
41905         * modules/git-merge-changelog (Depends-on): Add xlist. Remove list.
41906
41907         * tests/test-array_oset.c: Include gl_xlist.h.
41908         * modules/array-oset-tests (Depends-on): Add xlist.
41909
41910         Reported by José E. Marchesi <jemarch@gnu.org>.
41911
41912 2009-12-13  Bruno Haible  <bruno@clisp.org>
41913
41914         Move the malloc checking from module 'oset' to new module 'xoset'.
41915         * modules/xoset: New file.
41916         * lib/gl_xoset.h: New file.
41917         * lib/gl_xoset.c: New file.
41918         * lib/gl_oset.h (gl_oset_create_empty, gl_oset_add): Disable
41919         declarations.
41920         (gl_oset_nx_create_empty, gl_oset_nx_add): New declarations.
41921         (struct gl_oset_implementation): Rename and change methods accordingly.
41922         (gl_oset_nx_create_empty): Renamed from gl_oset_create_empty.
41923         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41924         'int'. Mark as __warn_unused_result__.
41925         * lib/gl_oset.c (gl_oset_nx_create_empty): Renamed from
41926         gl_oset_create_empty.
41927         (gl_oset_nx_add): Renamed from gl_oset_add. Change return type to
41928         'int'.
41929         * lib/gl_array_oset.c: Don't include xalloc.h.
41930         (gl_array_nx_create_empty): Renamed from gl_array_create_empty. Use
41931         malloc, not xmalloc.
41932         (grow): Change return type to 'int'. Don't call xalloc_die.
41933         (gl_array_nx_add_at): Renamed from gl_array_add_at. Change return type
41934         to 'int'.
41935         (gl_array_nx_add): Renamed from gl_array_add. Change return type to
41936         'int'.
41937         (gl_array_oset_implementation): Update.
41938         * lib/gl_anytree_oset.h (gl_tree_nx_create_empty): Renamed from
41939         gl_tree_create_empty.
41940         (gl_tree_nx_add): Renamed from gl_tree_add. Change return type to
41941         'int'.
41942         * lib/gl_avltree_oset.c: Don't include xalloc.h.
41943         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41944         xmalloc.
41945         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41946         not xmalloc.
41947         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41948         xmalloc.
41949         (gl_avltree_oset_implementation): Update.
41950         * lib/gl_rbtree_oset.c: Don't include xalloc.h.
41951         (gl_tree_nx_add_first): Renamed from gl_tree_add_first. Use malloc, not
41952         xmalloc.
41953         (gl_tree_nx_add_before): Renamed from gl_tree_add_before. Use malloc,
41954         not xmalloc.
41955         (gl_tree_nx_add_after): Renamed from gl_tree_add_after. Use malloc, not
41956         xmalloc.
41957         (gl_rbtree_oset_implementation): Update.
41958         * modules/array-oset (Depends-on): Remove xalloc.
41959         * modules/avltree-oset (Depends-on): Likewise.
41960         * modules/rbtree-oset (Depends-on): Likewise.
41961         * tests/test-array_oset.c: Use gl_oset_nx_* functions where possible.
41962         * tests/test-avltree_oset.c: Likewise.
41963         * tests/test-rbtree_oset.c: Likewise.
41964         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
41965         * modules/avltree-oset-tests (Makefile.am): Don't link with @LIBINTL@.
41966         * modules/rbtree-oset-tests (Makefile.am): Likewise.
41967         * NEWS: Mention the change.
41968
41969 2009-12-05  Alfred M. Szmidt  <ams@gnu.org>
41970
41971         maint.mk: allow a project to override release-prep commands
41972         * top/maint.mk (alpha, beta, stable): Move release-preparatory
41973         commands into a new rule.
41974         (release-prep): New rule.
41975         (release-prep-hook): New overridable variable.
41976
41977 2009-12-13  Bruno Haible  <bruno@clisp.org>
41978
41979         * lib/localcharset.c (locale_charset): Fix comment about use of GetACP.
41980
41981 2009-12-13  Jim Meyering  <meyering@redhat.com>
41982
41983         maint.mk (null_AM_MAKEFLAGS, built_programs): remove unused definitions
41984         * top/maint.mk (null_AM_MAKEFLAGS, built_programs): Remove definitions.
41985
41986 2009-12-12  Bruno Haible  <bruno@clisp.org>
41987
41988         duplocale: Tweak.
41989         * lib/duplocale.c (rpl_duplocale): Mark categories array as 'const'.
41990
41991 2009-12-12  Karl Berry  <karl@gnu.org>
41992
41993         * config/srclist.txt (strtoll.c): tab changes, no more sync.
41994
41995 2009-12-12  Bruno Haible  <bruno@clisp.org>
41996
41997         * m4/po.m4: Undo incorrect untabification.
41998
41999 2009-12-12  Bruno Haible  <bruno@clisp.org>
42000
42001         c-strtod, c-strtold: Use multithread-safe implementation on MacOS X.
42002         * modules/c-strtod (Depends-on): Add locale.
42003         * modules/c-strtold (Depends-on): Likewise.
42004
42005 2009-12-12  Bruno Haible  <bruno@clisp.org>
42006
42007         * lib/localcharset.c (locale_charset): Add comment about use of GetACP.
42008
42009 2009-12-11  Eric Blake  <ebb9@byu.net>
42010
42011         setenv: relax requirement in light of POSIX ruling
42012         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): Test handling of "" but
42013         not NULL.
42014         * tests/test-setenv.c (main): Relax test.
42015         * tests/test-unsetenv.c (main): Likewise.
42016         * doc/posix-functions/setenv.texi (setenv): Document this.
42017         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
42018
42019 2009-12-11  Bruno Haible  <bruno@clisp.org>
42020
42021         New module 'fd-safer-flag'.
42022         * lib/dup-safer-flag.c: New file, extracted from lib/dup-safer.c.
42023         * lib/dup-safer.c (dup_safer_flag): Remove function.
42024         * lib/fd-safer-flag.c: New file, extracted from lib/fd-safer.c.
42025         * lib/fd-safer.c (fd_safer_flag): Remove function.
42026         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): Update condition.
42027         * modules/cloexec (configure.ac): Drop indicator macro.
42028         * modules/fd-safer-flag: New file.
42029         * modules/pipe2-safer (Depends-on): Add fd-safer-flag. Remove cloexec.
42030         * modules/stdlib-safer (Depends-on): Add fd-safer-flag.
42031         * modules/unistd-safer-tests (Depends-on): Add fd-safer-flag.
42032
42033 2009-12-11  Bruno Haible  <bruno@clisp.org>
42034
42035         Tests for module 'nl_langinfo'.
42036         * modules/nl_langinfo-tests: New file.
42037         * tests/test-nl_langinfo.sh: New file.
42038         * tests/test-nl_langinfo.c: New file.
42039
42040         New module 'nl_langinfo'.
42041         * lib/nl_langinfo.c: New file.
42042         * m4/nl_langinfo.m4: New file.
42043         * modules/nl_langinfo: New file.
42044         * doc/posix-functions/nl_langinfo.texi: Mention the new module.
42045
42046 2009-12-11  Bruno Haible  <bruno@clisp.org>
42047
42048         Tests for module 'langinfo'.
42049         * modules/langinfo-tests: New file.
42050         * tests/test-langinfo.c: New file.
42051
42052         New module 'langinfo'.
42053         * lib/langinfo.in.h: New file.
42054         * m4/langinfo_h.m4: New file.
42055         * modules/langinfo: New file.
42056         * doc/posix-headers/langinfo.texi: Mention the new module.
42057
42058 2009-12-11  Bruno Haible  <bruno@clisp.org>
42059
42060         * lib/config.charset: Untabify.
42061
42062 2009-12-11  Bruno Haible  <bruno@clisp.org>
42063
42064         * modules/unistd-safer (configure.ac): Drop indicator macro.
42065
42066 2009-12-11  Bruno Haible  <bruno@clisp.org>
42067
42068         Move pipe2-safer code to its own file.
42069         * lib/pipe2-safer.c: New file, extracted from lib/pipe-safer.c.
42070         * lib/pipe-safer.c (pipe2_safer): Remove function.
42071         * modules/pipe2-safer (Files): Add lib/pipe2-safer.c.
42072         (Makefile.am): Add it to lib_SOURCES.
42073
42074 2009-12-10  Bruno Haible  <bruno@clisp.org>
42075
42076         * lib/recvfrom.c (rpl_recvfrom): Allow the from argument to be NULL.
42077
42078 2009-12-10  Bruno Haible  <bruno@clisp.org>
42079
42080         Declare which arguments expect non-NULL values, for GCC and clang.
42081         * build-aux/arg-nonnull.h: New file.
42082         * modules/arg-nonnull: New file.
42083         * lib/arpa_inet.in.h (_GL_ARG_NONNULL): New placeholder.
42084         (inet_ntop, inet_pton): Use it.
42085         * lib/dirent.in.h (_GL_ARG_NONNULL): New placeholder.
42086         (closedir, dirfd, opendir, scandir, alphasort): Use it.
42087         * lib/fcntl.in.h (_GL_ARG_NONNULL): New placeholder.
42088         (open, openat): Use it.
42089         * lib/fnmatch.in.h (_GL_ARG_NONNULL): New placeholder.
42090         (fnmatch): Use it.
42091         * lib/getopt.in.h (_GL_ARG_NONNULL): New placeholder.
42092         (getopt, getopt_long, getopt_long_only): Use it.
42093         * lib/glob.in.h (_GL_ARG_NONNULL): New placeholder.
42094         * lib/glob-libc.h (glob, globfree, glob64, globfree64, glob_pattern_p):
42095         Use it.
42096         * lib/iconv.in.h (_GL_ARG_NONNULL): New placeholder.
42097         (iconv_open): Use it.
42098         * lib/inttypes.in.h (_GL_ARG_NONNULL): New placeholder.
42099         (strtoimax, strtoumax): Use it.
42100         * lib/locale.in.h (_GL_ARG_NONNULL): New placeholder.
42101         (duplocale): Use it.
42102         * lib/math.in.h (_GL_ARG_NONNULL): New placeholder.
42103         (frexp, frexpl): Use it.
42104         * lib/netdb.in.h (_GL_ARG_NONNULL): New placeholder.
42105         (getaddrinfo, freeaddrinfo, getnameinfo): Use it.
42106         * lib/search.in.h (_GL_ARG_NONNULL): New placeholder.
42107         (tsearch, tfind, tdelete, twalk): Use it.
42108         * lib/signal.in.h (_GL_ARG_NONNULL): New placeholder.
42109         (sigismember, sigemptyset, sigaddset, sigdelset, sigfillset,
42110         sigpending): Use it.
42111         * lib/spawn.in.h (_GL_ARG_NONNULL): New placeholder.
42112         (posix_spawn, posix_spawnp, posix_spawnattr_init,
42113         posix_spawnattr_destroy, posix_spawnattr_getsigdefault,
42114         posix_spawnattr_setsigdefault, posix_spawnattr_getsigmask,
42115         posix_spawnattr_setsigmask, posix_spawnattr_getflags,
42116         posix_spawnattr_setflags, posix_spawnattr_getpgroup,
42117         posix_spawnattr_setpgroup, posix_spawnattr_getschedpolicy,
42118         posix_spawnattr_setschedpolicy, posix_spawnattr_getschedparam,
42119         posix_spawnattr_setschedparam, posix_spawn_file_actions_init,
42120         posix_spawn_file_actions_destroy, posix_spawn_file_actions_addopen,
42121         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2):
42122         Use it.
42123         * lib/stdio.in.h (_GL_ARG_NONNULL): New placeholder.
42124         (dprintf, fclose, fopen, fprintf, fpurge, fputc, fputs, freopen,
42125         rpl_fseek, fseeko, rpl_ftell, ftello, fwrite, getdelim, getline,
42126         obstack_printf, obstack_vprintf, popen, printf, putc, puts, remove,
42127         rename, renameat, snprintf, sprintf, asprintf, vasprintf, vdprintf,
42128         vfprintf, vprintf, vsnprintf, vsprintf): Use it.
42129         * lib/stdlib.in.h (_GL_ARG_NONNULL): New placeholder.
42130         (atoll, canonicalize_file_name, getloadavg, getsubopt, mkdtemp,
42131         mkostemp, mkostemps, mkstemp, mkstemps, putenv, srandom_r, initstate_r,
42132         setstate_r, random_r, realpath, rpmatch, setenv, strtod, strtoll,
42133         strtoull, unsetenv): Use it.
42134         * lib/string.in.h (_GL_ARG_NONNULL): New placeholder.
42135         (memchr, memmem, mempcpy, memrchr, rawmemchr, stpcpy, stpncpy,
42136         strchrnul, strdup, strndup, strnlen, strpbrk, strsep, strstr,
42137         strcasestr, strtok_r, mbslen, mbsnlen, mbschr, mbsrchr, mbsstr,
42138         mbscasecmp, mbsncasecmp, mbspcasecmp, mbscasestr, mbscspn, mbspbrk,
42139         mbsspn, mbssep, mbstok_r, strverscmp): Use it.
42140         * lib/strings.in.h (_GL_ARG_NONNULL): New placeholder.
42141         (strcasecmp, strncasecmp): Use it.
42142         * lib/sys_socket.in.h (_GL_ARG_NONNULL): New placeholder.
42143         (rpl_connect, rpl_bind, rpl_getpeername, rpl_getsockname,
42144         rpl_getsockopt, rpl_recv, rpl_send, rpl_recvfrom, rpl_sendto,
42145         rpl_setsockopt): Use it.
42146         * lib/sys_stat.in.h (_GL_ARG_NONNULL): New placeholder.
42147         (fchmodat, fstat, fstatat, lchmod, rpl_lstat, mkdir, mkdirat, mkfifo,
42148         mkfifoat, mknod, mknodat, stat, utimensat): Use it.
42149         * lib/sys_time.in.h (_GL_ARG_NONNULL): New placeholder.
42150         (gettimeofday): Use it.
42151         * lib/sys_times.in.h (_GL_ARG_NONNULL): New placeholder.
42152         (times): Use it.
42153         * lib/sys_utsname.in.h (_GL_ARG_NONNULL): New placeholder.
42154         (uname): Use it.
42155         * lib/time.in.h (_GL_ARG_NONNULL): New placeholder.
42156         (nanosleep, mktime, localtime_r, gmtime_r, strptime, timegm): Use it.
42157         * lib/unistd.in.h (_GL_ARG_NONNULL): New placeholder.
42158         (chown, euidaccess, faccessat, _gl_register_fd, fchownat,
42159         getdomainname, gethostname, getlogin_r, lchown, link, linkat, pipe2,
42160         pread, readlink, readlinkat, rmdir, symlink, symlinkat, unlink,
42161         unlinkat, write): Use it.
42162         * lib/wchar.in.h (_GL_ARG_NONNULL): New placeholder.
42163         (mbsrtowcs, mbsnrtowcs, wcsrtombs, wcsnrtombs): Use it.
42164         * lib/argv-iter.h: Include arg-nonnull.h.
42165         (_ATTRIBUTE_NONNULL_): Remove macro.
42166         (argv_iter_init_argv, argv_iter_init_stream, argv_iter,
42167         argv_iter_n_args, argv_iter_free): Use _GL_ARG_NONNULL.
42168         * lib/canonicalize-lgpl.c (_GL_ARG_NONNULL): Define, to defeat gcc
42169         optimization.
42170         * lib/getaddrinfo.c (_GL_ARG_NONNULL): Likewise.
42171         * lib/getdelim.c (_GL_ARG_NONNULL): Likewise.
42172         * lib/glob.c (_GL_ARG_NONNULL): Likewise.
42173         * lib/random_r.c (_GL_ARG_NONNULL): Likewise.
42174         * lib/setenv.c (_GL_ARG_NONNULL): Likewise.
42175         * lib/strtod.c (_GL_ARG_NONNULL): Likewise.
42176         * lib/tsearch.c (_GL_ARG_NONNULL): Likewise.
42177         * lib/unsetenv.c (_GL_ARG_NONNULL): Likewise.
42178         * modules/arpa_inet (Depends-on): Add arg-nonnull.
42179         (Makefile.am): Insert arg-nonnull.h into arpa/inet.h.
42180         * modules/dirent (Depends-on): Add arg-nonnull.
42181         (Makefile.am): Insert arg-nonnull.h into dirent.h.
42182         * modules/fcntl-h (Depends-on): Add arg-nonnull.
42183         (Makefile.am): Insert arg-nonnull.h into fcntl.h.
42184         * modules/fnmatch (Depends-on): Add arg-nonnull.
42185         (Makefile.am): Insert arg-nonnull.h into fnmatch.h.
42186         * modules/getopt-posix (Depends-on): Add arg-nonnull.
42187         (Makefile.am): Insert arg-nonnull.h into getopt.h.
42188         * modules/glob (Depends-on): Add arg-nonnull.
42189         (Makefile.am): Insert arg-nonnull.h into glob.h.
42190         * modules/iconv_open (Depends-on): Add arg-nonnull.
42191         (Makefile.am): Insert arg-nonnull.h into iconv.h.
42192         * modules/inttypes (Depends-on): Add arg-nonnull.
42193         (Makefile.am): Insert arg-nonnull.h into inttypes.h.
42194         * modules/locale (Depends-on): Add arg-nonnull.
42195         (Makefile.am): Insert arg-nonnull.h into locale.h.
42196         * modules/math (Depends-on): Add arg-nonnull.
42197         (Makefile.am): Insert arg-nonnull.h into math.h.
42198         * modules/netdb (Depends-on): Add arg-nonnull.
42199         (Makefile.am): Insert arg-nonnull.h into netdb.h.
42200         * modules/search (Depends-on): Add arg-nonnull.
42201         (Makefile.am): Insert arg-nonnull.h into search.h.
42202         * modules/signal (Depends-on): Add arg-nonnull.
42203         (Makefile.am): Insert arg-nonnull.h into signal.h.
42204         * modules/spawn (Depends-on): Add arg-nonnull.
42205         (Makefile.am): Insert arg-nonnull.h into spawn.h.
42206         * modules/stdio (Depends-on): Add arg-nonnull.
42207         (Makefile.am): Insert arg-nonnull.h into stdio.h.
42208         * modules/stdlib (Depends-on): Add arg-nonnull.
42209         (Makefile.am): Insert arg-nonnull.h into stdlib.h.
42210         * modules/string (Depends-on): Add arg-nonnull.
42211         (Makefile.am): Insert arg-nonnull.h into string.h.
42212         * modules/strings (Depends-on): Add arg-nonnull.
42213         (Makefile.am): Insert arg-nonnull.h into strings.h.
42214         * modules/sys_socket (Depends-on): Add arg-nonnull.
42215         (Makefile.am): Insert arg-nonnull.h into sys/socket.h.
42216         * modules/sys_stat (Depends-on): Add arg-nonnull.
42217         (Makefile.am): Insert arg-nonnull.h into sys/stat.h.
42218         * modules/sys_time (Depends-on): Add arg-nonnull.
42219         (Makefile.am): Insert arg-nonnull.h into sys/time.h.
42220         * modules/sys_times (Depends-on): Add arg-nonnull.
42221         (Makefile.am): Insert arg-nonnull.h into sys/times.h.
42222         * modules/sys_utsname (Depends-on): Add arg-nonnull.
42223         (Makefile.am): Insert arg-nonnull.h into sys/utsname.h.
42224         * modules/time (Depends-on): Add arg-nonnull.
42225         (Makefile.am): Insert arg-nonnull.h into time.h.
42226         * modules/unistd (Depends-on): Add arg-nonnull.
42227         (Makefile.am): Insert arg-nonnull.h into unistd.h.
42228         * modules/wchar (Depends-on): Add arg-nonnull.
42229         (Makefile.am): Insert arg-nonnull.h into wchar.h.
42230         * modules/argv-iter (Depends-on): Add arg-nonnull.
42231         * tests/test-canonicalize.c (null_ptr): New function.
42232         (main): Use it.
42233         * tests/test-canonicalize-lgpl.c (null_ptr): New function.
42234         (main): Use it.
42235         * tests/test-memmem.c (null_ptr): New function.
42236         (main): Use it.
42237         Reported by Jim Meyering.
42238
42239 2009-12-10  Bruno Haible  <bruno@clisp.org>
42240
42241         Use spaces for indentation, not tabs.
42242         * lib/**/*.[hcy] except lib/reg*.[hc]: Untabify.
42243         * m4/*.m4: Untabify.
42244         * build-aux/*.h: Untabify.
42245         * tests/**/*.[hc]: Untabify.
42246         * README: New section "Indent with spaces, not TABs", based on
42247         coreutils/HACKING and comments by Pádraig Brady and Paolo Bonzini.
42248         * NEWS: Mention the change.
42249
42250 2009-12-10  Bruno Haible  <bruno@clisp.org>
42251
42252         pty test: Fix link error.
42253         * modules/pty-tests (Makefile.am): Add the default LDADD value to
42254         test_pty_LDADD.
42255
42256 2009-12-07  Simon Josefsson  <simon@josefsson.org>
42257
42258         * modules/pty: New file.
42259         * modules/pty-tests: New file.
42260         * m4/pty.m4: New file.
42261         * tests/test-pty.c: New file.
42262         * doc/glibc-headers/pty.texi: Modified.
42263         * doc/glibc-functions/forkpty.texi: Modified.
42264         * doc/glibc-functions/openpty.texi: Modified.
42265
42266 2009-12-10  Bruno Haible  <bruno@clisp.org>
42267
42268         Avoid syntax error in C++ mode.
42269         * lib/stdio.in.h (rename): Don't use parameter name 'new'.
42270
42271 2009-12-10  Bruno Haible  <bruno@clisp.org>
42272
42273         Use sed with option -e.
42274         * gnulib-tool (func_version, func_emit_copyright_notice,
42275         func_emit_initmacro_end, func_import, func_create_testdir): Pass
42276         option -e to sed.
42277         * modules/link-warning (Makefile.am): Likewise.
42278
42279 2009-12-10  Jim Meyering  <meyering@redhat.com>
42280
42281         mgetgroups: do not write bytes beyond end of malloc'd buffer
42282         * lib/mgetgroups.c: Fix an off-by-one error.  When we have no
42283         username, we call getgroups with a one-element-shorter buffer,
42284         but still told it the length was original, max_n_groups.
42285
42286 2009-12-09  Eric Blake  <ebb9@byu.net>
42287
42288         cloexec: relax license
42289         * modules/cloexec (Maintainer): Add myself.
42290         (License): Use LGPL, not GPL.
42291
42292         link-warning: optimize generation
42293         * modules/link-warning (Makefile.am): Reduce process usage.
42294
42295 2009-12-09  Bruno Haible  <bruno@clisp.org>
42296
42297         * doc/posix-functions/unsetenv.texi: Mention Solaris 10 bug for which a
42298         workaround was added on 2009-11-17.
42299
42300 2009-12-09  Jim Meyering  <meyering@redhat.com>
42301             Bruno Haible  <bruno@clisp.org>
42302
42303         link-warning: Allow extra lines at the top of build-aux/link-warning.h.
42304         * modules/link-warning (Makefile.am): Make the comment-removing sed
42305         command more robust in the face of bootstrap-prepended comment lines.
42306
42307 2009-12-09  Bruno Haible  <bruno@clisp.org>
42308
42309         * lib/mgetgroups.c (mgetgroups): Don't remove duplicates if there is at
42310         most one group.
42311
42312 2009-12-09  Simon Josefsson <simon@josefsson.org>
42313             Bruno Haible  <bruno@clisp.org>
42314
42315         * build-aux/link-warning.h: Add copyright notice.
42316         * modules/link-warning (Makefile.am): Generate link-warning.h from
42317         build-aux/link-warning.h. Update LINK_WARNING_H accordingly.
42318         * NEWS: Mention change in link-warning module.
42319         * modules/arpa_inet (Makefile.am): Add dependency to arpa/inet.h.
42320         * modules/dirent (Makefile.am): Add dependency to dirent.h.
42321         * modules/fcntl-h (Makefile.am): Add dependency to fcntl.h.
42322         * modules/getopt-posix (Makefile.am): Add dependency to getopt.h.
42323         * modules/inttypes (Makefile.am): Add dependency to inttypes.h.
42324         * modules/math (Makefile.am): Add dependency to math.h.
42325         * modules/search (Makefile.am): Add dependency to search.h.
42326         * modules/signal (Makefile.am): Add dependency to signal.h.
42327         * modules/spawn (Makefile.am): Add dependency to spawn.h.
42328         * modules/stdio (Makefile.am): Add dependency to stdio.h.
42329         * modules/stdlib (Makefile.am): Add dependency to stdlib.h.
42330         * modules/string (Makefile.am): Add dependency to string.h.
42331         * modules/strings (Makefile.am): Add dependency to strings.h.
42332         * modules/sys_ioctl (Makefile.am): Add dependency to sys/ioctl.h.
42333         * modules/sys_select (Makefile.am): Add dependency to sys/select.h.
42334         * modules/sys_socket (Makefile.am): Add dependency to sys/socket.h.
42335         * modules/sys_stat (Makefile.am): Add dependency to sys/stat.h.
42336         * modules/sys_times (Makefile.am): Add dependency to sys/times.h.
42337         * modules/sys_utsname (Makefile.am): Add dependency to sys/utsname.h.
42338         * modules/sys_wait (Makefile.am): Add dependency to sys/wait.h.
42339         * modules/unistd (Makefile.am): Add dependency to unistd.h.
42340         * modules/wchar (Makefile.am): Add dependency to wchar.h.
42341
42342 2009-12-09  Bruno Haible  <bruno@clisp.org>
42343
42344         fchdir: Optimize away rpl_fstat when possible.
42345         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set REPLACE_FSTAT only together with
42346         REPLACE_OPEN_DIRECTORY.
42347         * lib/fchdir.c (rpl_fstat): Define only when REPLACE_OPEN_DIRECTORY.
42348
42349 2009-12-09  Bruno Haible  <bruno@clisp.org>
42350
42351         * lib/fchdir.c: Update comment.
42352
42353 2009-12-09  Bruno Haible  <bruno@clisp.org>
42354
42355         * lib/cloexec.c (set_cloexec_flag): Clarify intent of dup2 call.
42356
42357 2009-12-08  Eric Blake  <ebb9@byu.net>
42358
42359         fchdir: avoid memory leak on re-registration.
42360         * lib/fchdir.c (ensure_dirs_slot): Avoid memory leak.
42361
42362 2009-12-08  Jim Meyering  <meyering@redhat.com>
42363
42364         init.sh: avoid Solaris 10 /bin/sh portability problem
42365         Solaris 10's /bin/sh does not pass '.' arguments 2.. to the
42366         sourced script:
42367           $ printf 'echo "$@"\n' > f; /bin/sh -c '. ./f bar'
42368           $ printf 'echo "$@"\n' > f; /bin/bash -c '. ./f bar'
42369           bar
42370         tests/init.sh relied on that, accepting a --set-path=DIR argument,
42371         and two tests used that idiom.
42372         * tests/init.sh: Update suggested usage comments.
42373         (path_prepend_): New function, to be used in place
42374         of the --src-path=DIR option.
42375         (setup_): Move PATH-prepending code into path_prepend_.
42376         * tests/test-pread.sh: Adapt to new usage.
42377         * tests/test-xalloc-die.sh: Likewise.
42378
42379 2009-12-08  Simon Josefsson  <simon@josefsson.org>
42380
42381         * doc/gnulib.texi (Glibc pty.h): Add.
42382         * doc/glibc-functions/forkpty.texi: Add.
42383         * doc/glibc-functions/openpty.texi: Add.
42384         Suggested by Bruno Haible.
42385
42386 2009-12-08  Eric Blake  <ebb9@byu.net>
42387
42388         fchdir: fix logic bugs
42389         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Fix logic bug.
42390         * tests/test-fchdir.c (main): Enhance test.
42391         * lib/fchdir.c (rpl_fstat): Always provide if fchdir replacement
42392         is in use.
42393
42394         dup2: fix logic bugs
42395         * lib/dup2.c (dup2): Fix logic bugs.  Use HAVE_DUP2 rather than
42396         REPLACE_DUP2 to decide when rpl_dup2 is needed.
42397         * m4/dup2.m4 (gl_REPLACE_DUP2): Only define REPLACE_DUP2 when dup2
42398         exists.
42399         (gl_FUNC_DUP2): Drop unneeded AC_DEFINE.
42400
42401 2009-12-07  Eric Blake  <ebb9@byu.net>
42402
42403         unlink: fix m4 detection
42404         * m4/unlink.m4 (gl_FUNC_UNLINK): Include correct header.
42405
42406         unistd-safer: add unit test
42407         * modules/unistd-safer-tests: New file.
42408         * tests/test-dup-safer.c: Likewise.
42409         * tests/test-cloexec.c (setmode): Avoid compiler warning.
42410         * tests/test-dup2.c (setmode): Likewise.
42411         * lib/cloexec.c (dup_cloexec): Fix mingw compile error.
42412
42413         cloexec: preserve text vs. binary across dup_cloexec
42414         * lib/cloexec.c (dup_cloexec) [W32]: Query and use translation
42415         mode.
42416         * modules/dup2-tests (Depends-on): Add binary-io.
42417         * modules/cloexec-tests (Depends-on): Likewise.
42418         * tests/test-dup2.c (setmode, is_mode): New helpers.
42419         (main): Add tests that translation mode is preserved.
42420         * tests/test-cloexec.c (setmode, is_mode, main): Likewise.
42421         Reported by Bruno Haible.
42422
42423         mgetgroups: reduce duplicate listings
42424         * lib/mgetgroups.c (mgetgroups): Reduce duplicates from the
42425         resulting array.
42426         * tests/test-chown.h (test_chown): Simplify client.
42427         * tests/test-lchown.h (test_lchown): Likewise.
42428
42429 2009-12-06  Bruno Haible  <bruno@clisp.org>
42430
42431         * lib/cloexec.c (dup_cloexec): Fix handling of _gl_register_dup return
42432         value.
42433
42434 2009-12-06  Bruno Haible  <bruno@clisp.org>
42435
42436         * lib/progname.c: Include stdio.h, stdlib.h.
42437         (set_program_name): Reject a NULL argument.
42438
42439 2009-12-05  Eric Blake  <ebb9@byu.net>
42440
42441         pipe2-safer: new module
42442         * modules/pipe2-safer: New file.
42443         * lib/unistd-safer.h (pipe2_safer): New prototype.
42444         * lib/unistd--.h (pipe2): New wrapper.
42445         * lib/pipe-safer.c (pipe2_safer): New function.
42446         * modules/pipe (Depends-on): Add pipe2-safer.
42447         * lib/pipe.c (create_pipe) [WIN32]: Let pipe2_safer do the work.
42448
42449         stdlib-safer: preserve cloexec flag for mkostemp[s]
42450         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer): Use new
42451         fd_safer_flag.
42452
42453         unistd-safer: allow preservation of cloexec status via flag
42454         * lib/unistd-safer.h (dup_safer_flag, fd_safer_flag): New
42455         prototypes.
42456         * lib/dup-safer.c (dup_safer_flag): New function.
42457         * lib/fd-safer.c (fd_safer_flag): Likewise.
42458         * modules/cloexec (configure.ac): Set witness.
42459
42460         test-dup2: enhance test
42461         * modules/dup2-tests (Depends-on): Add cloexec.
42462         * tests/test-dup2.c (main): Enhance test.
42463
42464         cloexec: add dup_cloexec
42465         * lib/cloexec.h (dup_cloexec): New prototype.  Add copyright
42466         header and comments.
42467         * lib/cloexec.c (set_cloexec_flag): Add comments.
42468         (dup_cloexec): New function, with mingw implementation borrowed
42469         from...
42470         * lib/w32spawn.h (dup_noinherit): ...here.
42471         * modules/execute (Depends-on): Add cloexec.
42472         * modules/pipe (Depends-on): Likewise.
42473         * modules/cloexec (Depends-on): Add dup2.
42474         * modules/cloexec-tests (Files): New file.
42475         * tests/test-cloexec.c: Likewise.
42476
42477         test-xalloc-die: fix test for mingw
42478         * modules/xalloc-die-tests (Files): Add tests/init.sh.
42479         * tests/test-xalloc-die.sh: Rewrite to use init.sh.  Strip
42480         directory and .exe suffix off argv[0] output.
42481
42482         test-fseeko: fix test for mingw
42483         * tests/test-fseeko.c (fseek): Redefine GL_LINK_WARNING, rather
42484         than undefining fseek, so test will pass on mingw.
42485
42486 2009-12-05  Bruno Haible  <bruno@clisp.org>
42487
42488         * lib/progname.h (set_program_name): Clarify specification.
42489         * lib/progname.c (set_program_name): Likewise.
42490         Reported by Jim Meyering.
42491
42492 2009-12-05  Jim Meyering  <meyering@redhat.com>
42493
42494         maint.mk: backslash-escape parens in default regexp
42495         * top/maint.mk (news-check-regexp): Now that we're using grep -E,
42496         backslash-escape the literal parentheses.
42497
42498         maint.mk: news-date-check: use grep -E
42499         * top/maint.mk (today): Define a Make variable, not a...
42500         (news-date-check): ...shell variable.
42501         (news-date-regexp): Use the Make variable.
42502         Use grep's -E option.  Change the failing diagnostic to mention
42503         the variable, $(news-date-regexp).
42504
42505 2009-12-04  Alfred M. Szmidt  <ams@gnu.org>
42506
42507         maintainer-makefile: allow customization of NEWS entry format
42508         * top/maint.mk (news-date-regexp): New overridable variable.
42509         (news-date-check): Use it.
42510
42511 2009-12-04  Eric Blake  <ebb9@byu.net>
42512
42513         mgetgroups: add xgetgroups, and avoid ENOSYS failures
42514         * lib/mgetgroups.h (xgetgroups): New prototype.
42515         * lib/mgetgroups.c (xgetgroups): New wrapper.
42516         (mgetgroups): Handle ENOSYS.
42517         * modules/mgetgroups (Depends-on): Add realloc.
42518         Reported by Scott Harrison <scott.gnu.2009@scottrix.co.uk>.
42519
42520         mgetgroups: avoid argument promotion issues with -1
42521         * lib/mgetgroups.c (mgetgroups): A cast is required when checking
42522         for invalid gid_t.
42523         * tests/test-chown.h (getegid, test_chown): Likewise.
42524         * tests/test-lchown.h (getegid, test_lchown): Likewise.
42525
42526 2009-12-03  Paolo Bonzini  <bonzini@gnu.org>
42527
42528         exclude: Fix header file problems.
42529         * lib/exclude.h: Add multiple inclusion guards and include stdbool.h.
42530
42531 2009-12-01  Jim Meyering  <meyering@redhat.com>
42532
42533         fts: fts_open: do not let an empty string cause immediate failure
42534         This is required in support of GNU rm, for which the command
42535         "rm A '' B" must process and remove both A and B, in spite of
42536         the empty string argument.
42537         * lib/fts.c (fts_open): Do not let the presence of an empty string
42538         cause fts_open to fail immediately.  Most fts-using tools must be
42539         able to process all arguments, in order, and can be expected to
42540         diagnose such arguments themselves.
42541
42542 2009-11-30  Eric Blake  <ebb9@byu.net>
42543
42544         utimens: fix compilation error
42545         * lib/utimens.c (lutimens) [!HAVE_UTIMENSAT && HAVE_LUTIMES]:
42546         Declare variable at right scope.
42547
42548 2009-11-29  Jim Meyering  <meyering@redhat.com>
42549
42550         bootstrap: handle perl-5.11's changed --version output
42551         * build-aux/bootstrap (get_version): Handle perl separately,
42552         since perl-5.11's --version output is different.
42553
42554 2009-11-28  Jim Meyering  <meyering@redhat.com>
42555
42556         userspec: depend on the inttostr module, too
42557         * modules/userspec (Depends-on): Add inttostr.
42558
42559         userspec: disallow an ID that maps to (uid_t)-1 or (gid_t)-1
42560         * lib/userspec.c (parse_with_separator): Do not accept a user ID
42561         number of MAXUID when it evaluates to (uid_t) -1.
42562         Likewise for group ID.  Reported by Matt McCutchen in
42563         <http://savannah.gnu.org/bugs/?28113>
42564
42565         userspec: reformat to use spaces, not TABs
42566         * lib/userspec.c: Expand TABs to spaces.
42567         Add Emacs' "indent-tabs-mode: nil" hint.
42568
42569 2009-11-27  Eric Blake  <ebb9@byu.net>
42570
42571         getopt-gnu: flush out another BSD bug
42572         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Test for the bug.
42573         * tests/test-getopt.c (main): Check POSIXLY_CORRECT first, to
42574         flush out BSD bug.
42575         * tests/test-getopt.h (test_getopt): End lists with NULL.
42576         * tests/test-getopt_long.h (test_getopt_long): Likewise.
42577         (test_getopt_long_posix): Enhance test.
42578         * modules/getopt-posix-tests (Depends-on): Add stdbool.
42579         * doc/glibc-functions/getopt_long.texi (getopt_long): Mention
42580         getopt-gnu.
42581         * doc/glibc-functions/getopt_long_only.texi (getopt_long_only):
42582         Likewise.
42583
42584 2009-11-27  Simon Josefsson  <simon@josefsson.org>
42585
42586         * modules/idpriv-droptemp-tests (Notice): Fix text.
42587
42588 2009-11-27  Jim Meyering  <meyering@redhat.com>
42589
42590         test-xalloc-die: avoid spurious failure due to libtool argv difference
42591         In a libtool-enabled project, this test would fail due to a difference
42592         in the emitted program name, e.g.,
42593         -test-xalloc-die: memory exhausted
42594         +/tmp/.../tests/.libs/lt-test-xalloc-die: memory exhausted
42595         Use program to avoid that.
42596         * modules/xalloc-die-tests (Depends-on): Add progname.
42597         * tests/test-xalloc-die.c: Include progname.h".
42598         (program_name): Remove decl.
42599         (main): Call set_program_name.
42600         * tests/test-xalloc-die.sh (compare): Remove unnecessary ${EXE}.
42601
42602 2009-11-26  Richard Jones  <rjones@redhat.com>
42603
42604         w32sock: leave win32 error in place.
42605         * lib/w32sock.h (set_winsock_errno): Do not call WSASetLastError.
42606
42607 2009-11-26  Eric Blake  <ebb9@byu.net>
42608
42609         init.sh: suggest to use skip_ and fail_ functions in comments
42610         * tests/init.sh: Add a sentence.
42611
42612 2009-11-25  Bruno Haible  <bruno@clisp.org>
42613
42614         init.sh: add documentation in comments
42615         * tests/init.sh: Add some developer and user documentation.
42616
42617 2009-11-26  Jim Meyering  <meyering@redhat.com>
42618
42619         init.sh: accommodate even those who specify bogus srcdir manually
42620         * tests/init.sh: Normally, srcdir is guaranteed by automake and
42621         configure-time tests to be sanitized, so that there is no need to
42622         use "$srcdir" in Makefile rules and shell scripts.  Using $srcdir
42623         (with no double quotes) suffices.  However, since tests may be
42624         invoked manually, and since you may explicitly set srcdir to the
42625         name of a directory containing spaces, do quote its uses here.
42626         * tests/test-pread.sh: Likewise.
42627         Suggested by Bruno Haible.
42628
42629         test-pread.sh: avoid diagnostics for those who ignore SIGPIPE
42630         * tests/test-pread.sh: Write no data into the pipe, because
42631         test-pread actually reads none.  This avoids a diagnostic,
42632         "bash: echo: write error: Broken pipe", that arises in the unusual
42633         event something is ignoring SIGPIPE, and might be interpreted
42634         as some sort of failure.  Reported by Bruno Haible.
42635
42636 2009-11-25  Jim Meyering  <meyering@redhat.com>
42637
42638         test-pread: cover failure with ESPIPE and EINVAL
42639         * tests/test-pread.c (main): Test for failure, too.
42640         * tests/test-pread.sh: Invoke with stdin on a pipe.
42641         Suggested by Eric Blake.
42642
42643         pread: improvement and fix
42644         * modules/pread (Depends-on): Depend on lseek, for portability to
42645         e.g., mingw.  Suggested by Eric Blake.
42646         * lib/pread.c (__libc_read): Define.  Reported by Richard W.M. Jones.
42647
42648         unistd.in.h: correct declaration of pread
42649         * lib/unistd.in.h: Correct type of "buf" parameter: void*, not char*
42650         Reported by Richard W.M. Jones.
42651
42652         test-pread.sh: distribute the test script
42653         * modules/pread-tests (Files): Include test-pread.sh.
42654
42655         test-pread.sh: clean up
42656         * tests/test-pread.sh: Don't refer to $builddir. Just use equivalent ".".
42657         * modules/pread-tests (TESTS_ENVIRONMENT): Don't export builddir.
42658         That is unnecessary, since it's always ".".
42659         Suggestion from Eric Blake.
42660
42661         test-pread.sh: make executable
42662         * tests/test-pread.sh: Set executable bit.
42663         Reported by Eric Blake.
42664
42665         correct typo in test-pread.sh
42666         * tests/test-pread.sh: Add #! line.
42667
42668         test pread
42669         * tests/test-pread.c: New file.
42670         * tests/test-pread.sh: Likewise.
42671         * modules/pread-tests: Likewise.
42672
42673         pread: new module
42674         * modules/pread: New file.
42675         * lib/unistd.in.h (pread): Define/declare.
42676         * lib/pread.c (pread): New file.
42677         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define defaults.
42678         * modules/unistd (Makefile.am): Substitute witnesses.
42679         * doc/posix-functions/pread.texi (pread): Update.
42680         * MODULES.html.sh: Add pread.
42681
42682 2009-11-25  Jim Meyering  <meyering@redhat.com>
42683
42684         tests/init.sh: new file to be used via most *.sh tests
42685         * tests/init.sh: New file.
42686
42687 2009-11-25  Eric Blake  <ebb9@byu.net>
42688
42689         utimens: work around older Linux failure with symlinks
42690         * lib/utimens.c (lutimensat_works_really): New variable.
42691         (fdutimens, lutimens): Use it to manage kernels that support
42692         nanosecond times on files, but not on symlinks.
42693         Reported by Ondřej Vašík.
42694
42695         utimes: fix configure grammar
42696         * m4/utimes.m4 (gl_FUNC_UTIMES): Delete spurious word.
42697
42698 2009-11-25  Paolo Bonzini  <bonzini@gnu.org>
42699
42700         regex: Fix fastmap for multibyte character ranges.
42701         * lib/regcomp.c (re_compute_fastmap_iter): Add all multibyte lead
42702         characters when a multibyte character range is included.
42703
42704 2009-11-22  Andy Wingo  <wingo@pobox.com>
42705
42706         version-etc: work also with AM_INIT_AUTOMAKE's no-define option
42707         * lib/version-etc.c [!defined PACKAGE]: Define to PACKAGE_TARNAME.
42708
42709 2009-11-24  Bruno Haible  <bruno@clisp.org>
42710
42711         doc: Most *_l functions exist in MacOS X 10.5.
42712         * doc/posix-functions/duplocale.texi: Update platforms list.
42713         * doc/posix-functions/freelocale.texi: Likewise.
42714         * doc/posix-functions/newlocale.texi: Likewise.
42715         * doc/posix-functions/uselocale.texi: Likewise.
42716         * doc/posix-functions/isalnum_l.texi: Likewise.
42717         * doc/posix-functions/isalpha_l.texi: Likewise.
42718         * doc/posix-functions/isblank_l.texi: Likewise.
42719         * doc/posix-functions/iscntrl_l.texi: Likewise.
42720         * doc/posix-functions/isdigit_l.texi: Likewise.
42721         * doc/posix-functions/isgraph_l.texi: Likewise.
42722         * doc/posix-functions/islower_l.texi: Likewise.
42723         * doc/posix-functions/isprint_l.texi: Likewise.
42724         * doc/posix-functions/ispunct_l.texi: Likewise.
42725         * doc/posix-functions/isspace_l.texi: Likewise.
42726         * doc/posix-functions/isupper_l.texi: Likewise.
42727         * doc/posix-functions/iswalnum_l.texi: Likewise.
42728         * doc/posix-functions/iswalpha_l.texi: Likewise.
42729         * doc/posix-functions/iswblank_l.texi: Likewise.
42730         * doc/posix-functions/iswcntrl_l.texi: Likewise.
42731         * doc/posix-functions/iswctype_l.texi: Likewise.
42732         * doc/posix-functions/iswdigit_l.texi: Likewise.
42733         * doc/posix-functions/iswgraph_l.texi: Likewise.
42734         * doc/posix-functions/iswlower_l.texi: Likewise.
42735         * doc/posix-functions/iswprint_l.texi: Likewise.
42736         * doc/posix-functions/iswpunct_l.texi: Likewise.
42737         * doc/posix-functions/iswspace_l.texi: Likewise.
42738         * doc/posix-functions/iswupper_l.texi: Likewise.
42739         * doc/posix-functions/iswxdigit_l.texi: Likewise.
42740         * doc/posix-functions/isxdigit_l.texi: Likewise.
42741         * doc/posix-functions/nl_langinfo_l.texi: Likewise.
42742         * doc/posix-functions/strcasecmp_l.texi: Likewise.
42743         * doc/posix-functions/strcoll_l.texi: Likewise.
42744         * doc/posix-functions/strfmon_l.texi: Likewise.
42745         * doc/posix-functions/strftime_l.texi: Likewise.
42746         * doc/posix-functions/strncasecmp_l.texi: Likewise.
42747         * doc/posix-functions/strxfrm_l.texi: Likewise.
42748         * doc/posix-functions/tolower_l.texi: Likewise.
42749         * doc/posix-functions/toupper_l.texi: Likewise.
42750         * doc/posix-functions/towctrans_l.texi: Likewise.
42751         * doc/posix-functions/towlower_l.texi: Likewise.
42752         * doc/posix-functions/towupper_l.texi: Likewise.
42753         * doc/posix-functions/wcscoll_l.texi: Likewise.
42754         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
42755         * doc/posix-functions/wctrans_l.texi: Likewise.
42756         * doc/posix-functions/wctype_l.texi: Likewise.
42757         * doc/glibc-functions/strptime_l.texi: Likewise.
42758         * doc/glibc-functions/strtod_l.texi: Likewise.
42759         * doc/glibc-functions/strtof_l.texi: Likewise.
42760         * doc/glibc-functions/strtol_l.texi: Likewise.
42761         * doc/glibc-functions/strtold_l.texi: Likewise.
42762         * doc/glibc-functions/strtoll_l.texi: Likewise.
42763         * doc/glibc-functions/strtoul_l.texi: Likewise.
42764         * doc/glibc-functions/strtoull_l.texi: Likewise.
42765         * doc/glibc-functions/wcsftime_l.texi: Likewise.
42766         * doc/glibc-functions/wcstod_l.texi: Likewise.
42767         * doc/glibc-functions/wcstof_l.texi: Likewise.
42768         * doc/glibc-functions/wcstol_l.texi: Likewise.
42769         * doc/glibc-functions/wcstold_l.texi: Likewise.
42770         * doc/glibc-functions/wcstoll_l.texi: Likewise.
42771         * doc/glibc-functions/wcstoul_l.texi: Likewise.
42772         * doc/glibc-functions/wcstoull_l.texi: Likewise.
42773
42774 2009-11-24  Bruno Haible  <bruno@clisp.org>
42775
42776         duplocale: Fix logic bug.
42777         * lib/duplocale.c: Don't include <langinfo.h>.
42778         (_NL_LOCALE_NAME): Remove macro.
42779         (rpl_duplocale): Use setlocale instead of nl_langinfo.
42780         * tests/test-duplocale.c (main): Also test duplocale after uselocale.
42781
42782 2009-11-23  Jim Meyering  <meyering@redhat.com>
42783
42784         test-update-copyright: don't hard-code /usr/bin/perl
42785         * tests/test-update-copyright.sh (YEAR): Use date +%Y, rather than
42786         perl to print the current year.  Gilles Espinasse reported that
42787         the replaced use of perl was hard-coded as /usr/bin/perl.
42788
42789 2009-11-23  Bruno Haible  <bruno@clisp.org>
42790
42791         duplocale: Add support for glibc 2.3.x.
42792         * lib/duplocale.c (rpl_duplocale): Add fallback code for glibc 2.3.x.
42793
42794 2009-11-22  Bruno Haible  <bruno@clisp.org>
42795
42796         vasnprintf: Tiny optimization.
42797         * lib/vasnprintf.c (decimal_point_char): Choose the fast path also on
42798         MacOS X.
42799
42800 2009-11-22  Bruno Haible  <bruno@clisp.org>
42801
42802         Tests for module 'duplocale'.
42803         * modules/duplocale-tests: New file.
42804         * tests/test-duplocale.c: New file.
42805
42806         New module 'duplocale'.
42807         * m4/duplocale.m4: New file.
42808         * lib/locale.in.h (duplocale): New declaration.
42809         * lib/duplocale.c: New file.
42810         * m4/locale_h.m4 (gl_REPLACE_LOCALE_H, gl_LOCALE_MODULE_INDICATOR,
42811         gl_LOCALE_H_DEFAULTS): New macros.
42812         (gl_LOCALE_H): Require gl_LOCALE_H_DEFAULTS. Invoke
42813         gl_CHECK_NEXT_HEADERS unconditionally. Invoke gl_REPLACE_LOCALE_H.
42814         * modules/locale (Makefile.am): Substitute also GNULIB_DUPLOCALE,
42815         REPLACE_DUPLOCALE.
42816         * modules/duplocale: New file.
42817         * doc/posix-functions/duplocale.texi: Mention the glibc bug.
42818
42819 2009-11-22  Bruno Haible  <bruno@clisp.org>
42820
42821         * modules/locale-tests (configure.ac): Test for newlocale function.
42822         * tests/test-locale.c: When the system has extended locale functions,
42823         verify that <locale.h> defines locale_t and LC_GLOBAL_LOCALE.
42824
42825         locale: Make locale_t available when possible.
42826         * lib/locale.in.h: Include <xlocale.h> when it exists.
42827         * m4/locale_h.m4 (gl_LOCALE_H): Check for <xlocale.h> and arrange to
42828         replace <locale.h> if it does not define locale_t but <xlocale.h> does.
42829         * modules/locale (Depends-on): Add extensions.
42830         (Makefile.am): Also substitute HAVE_XLOCALE_H.
42831         * doc/posix-headers/locale.texi: Document the problem with locale_t.
42832
42833 2009-11-22  Bruno Haible  <bruno@clisp.org>
42834
42835         Add comments.
42836         * m4/dirent_h.m4 (gl_DIRENT_H): Add comment about gl_CHECK_NEXT_HEADERS
42837         invocation.
42838         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
42839         * m4/spawn_h.m4 (gl_SPAWN_H): Likewise.
42840         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
42841
42842 2009-11-22  Bruno Haible  <bruno@clisp.org>
42843
42844         error: account for the possibility of freopen (stdout).
42845         * lib/error.c: Include <unistd.h>.
42846         (flush_stdout): New function, extracted from error and error_at_line.
42847         Determine stdout's fd dynamically.
42848         (error, error_at_line): Invoke flush_stdout.
42849         * m4/error.m4 (gl_PREREQ_ERROR): Require AC_C_INLINE.
42850         * modules/error (Depends-on): Add unistd.
42851
42852 2009-11-22  Bruno Haible  <bruno@clisp.org>
42853
42854         diffseq: Add comment.
42855         * lib/diffseq.h (IF_LINT): Add comment about pitfall.
42856
42857 2009-11-22  Jim Meyering  <meyering@redhat.com>
42858
42859         c-stack: avoid defining an unused static function
42860         * lib/c-stack.c (find_stack_direction): Do not define this function
42861         when it will not be used.
42862
42863         diffseq: avoid spurious gcc warnings
42864         * lib/diffseq.h (IF_LINT2): Define.
42865         (compareseq): Use it to initialize two members of "part".
42866         This avoids two used-uninitialized warnings.
42867
42868 2009-11-21  Jim Meyering  <meyering@redhat.com>
42869
42870         c-stack: avoid "ignoring return value of `write'" warning
42871         * lib/c-stack.c: Include "ignore-value.h".
42872         (die): Explicitly ignore each write return value.
42873         * modules/c-stack (Depends-on): Add ignore-value.
42874
42875 2009-11-21  Bruno Haible  <bruno@clisp.org>
42876
42877         diffseq: reduce scope of variable 'best'.
42878         * lib/diffseq.h (diag) [USE_HEURISTIC]: Reduce scope of 'best'
42879         variable, earlier used for two different purposes.
42880
42881 2009-11-21  Jim Meyering  <meyering@redhat.com>
42882
42883         diffseq: remove useless assignment to "best"
42884         * lib/diffseq.h (diag) [USE_HEURISTIC]: Remove useless "best = 0"
42885         assignment.  At that point "best" is already guaranteed to be zero.
42886
42887 2009-11-20  Eric Blake  <ebb9@byu.net>
42888
42889         build: mention ftp redirector in release announcements
42890         * top/maint.mk (gnu_rel_host, url_dir_list): Provide defaults for
42891         values that used to come from cfg.mk; mention FTP redirect URL.
42892         * build-aux/announce-gen: Mention the mirror list.
42893         Suggested by Karl Berry.
42894
42895         nanosleep: improve port to mingw
42896         * lib/nanosleep.c (rpl_nanosleep): Reject invalid arguments.
42897         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Incorporate LIBSOCKET into
42898         LIB_NANOSLEEP, but only when needed.
42899         * modules/select (Link): Document LIBSOCKET.
42900         * m4/select.m4 (gl_FUNC_SELECT): Ensure LIBSOCKET is defined early
42901         enough.
42902
42903         nanosleep: work around cygwin bug
42904         * lib/nanosleep.c (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]:
42905         Fix logic bug when nanosleep fails.  Work around cygwin 1.5.x
42906         bug.
42907         (getnow): Delete, not needed.
42908         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): No longer require
42909         LIB_CLOCK_GETTIME.
42910         * modules/nanosleep (Depends-on): Add intprops and verify.  Drop
42911         clock-time, gettime.
42912         * doc/posix-functions/nanosleep.texi (nanosleep): Document the
42913         bug.
42914         * modules/nanosleep-tests: New test.
42915         * tests/test-nanosleep.c: New file.
42916
42917         sleep: work around cygwin bug
42918         * lib/sleep.c (rpl_sleep): Work around the bug.
42919         * m4/sleep.m4 (gl_FUNC_SLEEP): Detect the bug.
42920         (gl_PREREQ_SLEEP): Delete unused macro.
42921         * modules/sleep (Depends-on): Add verify.
42922         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
42923         * modules/unistd (Makefile.am): Substitute witness.
42924         * lib/unistd.in.h (sleep): Update prototype.
42925         * doc/posix-functions/sleep.texi (sleep): Document the bug.
42926         * tests/test-sleep.c (main) [HAVE_DECL_ALARM]: Test it.
42927         * modules/sleep-tests (Depends-on): Check for alarm.
42928
42929 2009-11-20  Jim Meyering  <meyering@redhat.com>
42930
42931         maint.mk: improve sc_prohibit_magic_number_exit
42932         * top/maint.mk (sc_prohibit_magic_number_exit): Tighten regexp
42933         so it does not match uses like System.exit(1).
42934         Add comments showing how to correct all offenders.
42935
42936 2009-11-19  Eric Blake  <ebb9@byu.net>
42937
42938         xalloc-die-tests: add missing library
42939         * modules/xalloc-die-tests (Makefile.am): Add LDADD line.
42940
42941         test-xvasprintf: silence compiler warnings
42942         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Mask
42943         empty string from gcc.
42944
42945 2009-11-19  Jim Meyering  <meyering@redhat.com>
42946
42947         xfreopen: new module, from coreutils
42948         * modules/xfreopen: New module.
42949         * lib/xfreopen.c: New file.
42950         * lib/xfreopen.h: New file.
42951         * MODULES.html.sh (File stream based Input/Output"): Add it.
42952
42953 2009-11-19  Eric Blake  <ebb9@byu.net>
42954
42955         manywarnings: depend on warnings
42956         * modules/manywarnings (Depends-on): Add warnings.
42957
42958         build: avoid compiler warnings
42959         * lib/select.c (rpl_select): Delete unused variable.
42960         * lib/setsockopt.c (rpl_setsockopt): Avoid incompatible pointer.
42961
42962 2009-11-18  Eric Blake  <ebb9@byu.net>
42963
42964         tests: avoid false negative with --with-packager
42965         * tests/test-version-etc.sh: Discard packager information.
42966         * tests/test-argp-version-etc-1.sh: Likewise.
42967         Reported by Mike Frysinger.
42968
42969         utimens: fix regression on Solaris
42970         * m4/utimens.m4 (gl_UTIMENS): Check for BSD bug.
42971         * lib/utimens.c (fdutimens): Revert 2009-11-08 change; Solaris 10
42972         can only change fd timestamps via futimesat.  Instead, use an
42973         additional witness macro to avoid BSD bug.
42974         Reported by Jim Meyering.
42975
42976 2009-11-17  Eric Blake  <ebb9@byu.net>
42977
42978         usleep: use it to simplify tests
42979         * modules/stat-time-tests (Depends-on): Add usleep.
42980         (configure.ac): Drop usleep check.
42981         * modules/chown-tests (Depends-on, configure.ac): Likewise.
42982         * modules/lchown-tests (Depends-on, configure.ac): Likewise.
42983         * modules/fdutimensat-tests (Depends-on, configure.ac): Likewise.
42984         * modules/futimens-tests (Depends-on, configure.ac): Likewise.
42985         * modules/openat-tests (Depends-on, configure.ac): Likewise.
42986         * modules/utimens-tests (Depends-on, configure.ac): Likewise.
42987         * modules/utimensat-tests (Depends-on, configure.ac): Likewise.
42988         * modules/pipe-filter-gi-tests (Depends-on, configure.ac):
42989         Likewise.
42990         * tests/test-chown.h (nap): Rely on nicer usleep semantics.
42991         * tests/test-lchown.h (nap): Likewise.
42992         * tests/test-pipe-filter-gi2-main.c (small_nap): Likewise.
42993         * tests/test-stat-time.c (nap): Likewise.
42994         * tests/test-utimens-common.h (nap): Update comments.
42995
42996         usleep: new module
42997         * modules/usleep: New file.
42998         * m4/usleep.m4 (gl_FUNC_USLEEP): Likewise.
42999         * lib/usleep.c (usleep): Likewise.
43000         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
43001         * modules/unistd (Makefile.am): Substitute witnesses.
43002         * lib/unistd.in.h (usleep): Add declaration.
43003         * doc/pastposix-functions/usleep.texi (usleep): Document this.
43004         * MODULES.html.sh (Date and time): Likewise.
43005         * modules/usleep-tests (Depends-on): New test.
43006         * tests/test-usleep.c: New file.
43007
43008         chown: work around OpenBSD bug
43009         * lib/chown.c (rpl_chown): Work around the bug.
43010         * lib/lchown.c (rpl_lchown): Attempt to do likewise.
43011         * m4/chown.m4 (gl_FUNC_CHOWN): Test for ctime bug.
43012         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for lchmod.
43013         * modules/chown (Depends-on): Add stdbool.
43014         * modules/lchown (Depends-on): Likewise.
43015         * doc/posix-functions/chown.texi (chown): Document the bug.
43016         * doc/posix-functions/lchown.texi (lchown): Likewise.
43017         * tests/test-lchown.h (test_chown): Relax test.
43018
43019         mkstemp: avoid conflict with C++ keyword template
43020         * lib/mkdtemp.c (mkdtemp): Change spelling of template.
43021         * lib/mkostemp.c (mkostemp): Likewise.
43022         * lib/mkostemps.c (mkostemps): Likewise.
43023         * lib/mkstemp.c (mkstemp): Likewise.
43024         * lib/mkstemps.c (mkstemps): Likewise.
43025
43026         xalloc-die-tests: optimize
43027         * tests/test-xalloc-die.sh: Reduce number of processes.
43028
43029 2009-11-17  Simon Josefsson  <simon@josefsson.org>
43030
43031         * gnulib-tool: Support LGPLv3+ licenses in module files.  Tiny
43032         patch from ludo@gnu.org (Ludovic Courtès).
43033
43034 2009-11-17  Jim Meyering  <meyering@redhat.com>
43035
43036         version-etc: use proper license string
43037         * modules/version-etc (License): Use LGPL, not LGPLv3+.
43038         * modules/version-etc-fsf: Likewise.
43039
43040 2009-11-17  Simon Josefsson  <simon@josefsson.org>
43041
43042         * tests/test-xalloc-die.sh: Add license.  Check that nothing is
43043         printed to stdout.  Deal with EOL differences.
43044
43045 2009-11-17  Eric Blake  <ebb9@byu.net>
43046
43047         unsetenv: work around Solaris bug
43048         * m4/setenv.m4 (gl_FUNC_UNSETENV): Check for bug.
43049         * lib/unsetenv.c (rpl_unsetenv): Work around it.
43050         Reported by Jim Meyering.
43051
43052         vasnprintf: avoid compiler warnings
43053         * lib/vasnprintf.c (VASNPRINTF): Avoid shadowing our own local
43054         variables.
43055         * lib/printf-args.c (PRINTF_FETCHARGS): Avoid type mismatch.
43056
43057 2009-11-17  Simon Josefsson  <simon@josefsson.org>
43058
43059         * modules/xalloc-die-tests (Makefile.am): Drop XFAIL_TESTS
43060         settings since xalloc-die is no longer the self test,
43061         xalloc-die.sh is.
43062
43063 2009-11-17  Jim Meyering  <meyering@redhat.com>
43064
43065         test-xalloc-die.sh: make the code agree with the commit log
43066         * tests/test-xalloc-die.sh: Put "." at the front of $PATH, not
43067         at the end, just in case you happen to have a test-xalloc-die
43068         program in some other PATH directory.
43069
43070         test-xalloc-die.sh: fix a portability bug
43071         * tests/test-xalloc-die.sh: Do not invoke via ./test-xalloc-die.
43072         Instead, set PATH to start with "." and invoke via "test-xalloc-die".
43073         Otherwise, argv[0] (as often seen in diagnostics) would be too
43074         system-dependent, sometimes with, and sometimes without the leading "./".
43075
43076         version-etc-fsf: relax license to LGPLv3+
43077         * modules/version-etc-fsf (License): Relax license.
43078
43079 2009-11-16  Eric Blake  <ebb9@byu.net>
43080
43081         xalloc-die-tests: avoid printing null pointer
43082         * modules/xalloc-die-tests (Files, Makefile.am): Wrap execution in
43083         shell script.
43084         * tests/test-xalloc-die.c (program_name): Declare.
43085         * tests/test-xalloc-die.sh (tmpfiles): New file.
43086
43087         setenv, unsetenv: work around various bugs
43088         * lib/setenv.c (setenv) [!HAVE_SETENV]: Resync from glibc.
43089         (setenv) [HAVE_SETENV]: Work around bugs.
43090         * lib/unsetenv.c (unsetenv) [HAVE_UNSETENV]: Work around bugs.
43091         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE, gl_FUNC_UNSETENV): Check
43092         for bugs.
43093         (gl_FUNC_SETENV): Write in terms of gl_FUNC_SETENV_SEPARATE.
43094         * m4/environ.m4 (gl_ENVIRON): Avoid expand-before-require.
43095         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Update defaults.
43096         * modules/stdlib (Makefile.am): Update substitutions.
43097         * lib/stdlib.in.h (setenv, unsetenv): Update prototypes.
43098         * doc/posix-functions/setenv.texi (setenv): Document the bugs.
43099         * doc/posix-functions/unsetenv.texi (unsetenv): Likewise.
43100         * modules/setenv-tests: New test.
43101         * modules/unsetenv-tests: Likewise.
43102         * tests/test-setenv.c: New file.
43103         * tests/test-unsetenv.c: Likewise.
43104
43105 2009-11-16  Jim Meyering  <meyering@redhat.com>
43106
43107         version-etc: relax license to LGPLv3+
43108         * modules/version-etc (License): Relax license.
43109
43110         better AC_REQUIRE expanded-before-required-warning avoidance
43111         * m4/chown.m4 (gl_FUNC_CHOWN, gl_FUNC_CHOWN_FOLLOWS_SYMLINK): Define
43112         with AC_DEFUN_ONCE, rather than AC_DEFUN, to avoid AC_REQUIRE warnings.
43113         Suggested by Eric Blake.  This change also reverts commit 1b712ba8,
43114         which is no longer needed.
43115
43116 2009-11-16  Eric Blake  <ebb9@byu.net>
43117
43118         test-freading: clean up temporary file
43119         * tests/test-freading.c (main): Remove file on success, and use
43120         ASSERT more liberally.
43121         Reported by Jim Meyering.
43122
43123 2009-11-16  Jim Meyering  <meyering@redhat.com>
43124
43125         avoid new AC_REQUIRE expanded-before-required warnings
43126         * modules/chown (configure.ac): Require gl_FUNC_CHOWN, rather than
43127         merely using it.
43128         * modules/euidaccess (configure.ac): Likewise for gl_FUNC_EUIDACCESS.
43129         * modules/faccessat (configure.ac): Likewise for gl_FUNC_FACCESSAT.
43130
43131 2009-11-15  Simon Josefsson  <simon@josefsson.org>
43132
43133         * tests/test-xalloc-die.c: New file.
43134         * modules/xalloc-die-tests: New file.
43135         * gnulib-tool (func_emit_tests_Makefile_am): Also initialize
43136         XFAIL_TESTS so it can be appended by modules.
43137
43138 2009-11-15  Simon Josefsson  <simon@josefsson.org>
43139
43140         * lib/gc-pbkdf2-sha1.c: Remove comments from RFC 2898.  Reported
43141         by Vladimir 'phcoder' Serbinenko <phcoder@gmail.com>.
43142
43143 2009-11-14  Eric Blake  <ebb9@byu.net>
43144
43145         fnmatch: avoid compiler warning
43146         * lib/fnmatch_loop.c (NEW_PATTERN): Coerce addition to unsigned,
43147         to silence compiler warning about mismatch signedness in ?:.
43148         Reported by Robert Millan.
43149
43150         intprops: add double-inclusion guard
43151         * lib/intprops.h: Allow idempotent includes.
43152         Suggested by Bruce Korb.
43153
43154         openat: detect Solaris fchownat bug
43155         * lib/fchownat.c (rpl_fchownat): Work around Solaris bug.  Avoid
43156         penalizing glibc chownat when only lchownat is broken.
43157         * m4/openat.m4 (gl_FUNC_FCHOWNAT): Replace fchownat if there are
43158         trailing slash bugs.
43159         * doc/posix-functions/fchownat.texi (fchownat): Document the bug.
43160         * modules/openat-tests (Files): Include more files.
43161         (Depends-on): Add mgetgroups, sleep, stat-time.
43162         (configure.ac): Add additional checks.
43163         (Makefile.am): Build new test.
43164         * tests/test-fchownat.c: New file.
43165
43166         lchown: detect Solaris and FreeBSD bug
43167         * lib/lchown.c (rpl_lchown): Work around bug.
43168         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check for trailing slash bugs.
43169         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43170         * modules/unistd (Makefile.am): Populate it.
43171         * lib/unistd.in.h (lchown): Update declaration.
43172         * doc/posix-functions/lchown.texi (lchown): Document the bug.
43173         * modules/lchown-tests: New file.
43174         * tests/test-lchown.h (test_lchown): Likewise.
43175         * tests/test-lchown.c (main): Likewise.
43176
43177         chown: detect Solaris and FreeBSD bug
43178         * lib/chown.c (rpl_chown): Work around bug.
43179         * m4/chown.m4 (gl_FUNC_CHOWN): Check for trailing slash bugs.
43180         (gl_PREREQ_CHOWN): Delete.
43181         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
43182         * modules/unistd (Makefile.am): Populate it.
43183         * lib/unistd.in.h (chown): Update declaration.
43184         * lib/lchown.c (chown): Update client.
43185         * modules/lchown (Depends-on): Add lstat.
43186         * doc/posix-functions/chown.texi (chown): Document the bug.
43187         * doc/posix-functions/getgroups.texi (getgroups): Document
43188         getgroups pitfall.
43189         * modules/chown-tests: New file.
43190         * tests/test-chown.h (test_chown): Likewise.
43191         * tests/test-chown.c (main): Likewise.
43192
43193 2009-11-14  Robert Millan  <rmh.grub@aybabtu.com>  (tiny change)
43194
43195         gnulib-tool: correctly detect absence of m4 directories
43196         * gnulib-tool: Avoid extra newline on data passed to wc -l.
43197
43198 2009-11-14  Jim Meyering  <meyering@redhat.com>
43199
43200         maint.mk: Prohibit inclusion of "xalloc.h" without use.
43201         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
43202
43203 2009-11-14  John W. Eaton  <jwe@gnu.org>
43204
43205         strftime.h: wrap function declaration in extern "C" block
43206         * lib/strftime.h (nstrftime) [__cplusplus]: Wrap declaration.
43207
43208 2009-11-13  Eric Blake  <ebb9@byu.net>
43209
43210         getgroups: avoid compiler warning
43211         * lib/getgroups.c (rpl_getgroups): Delete shadowed variable.
43212
43213         getgroups: work around FreeBSD bug
43214         * lib/getgroups.c (rpl_getgroups): Work around the bug.
43215         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Detect the bug.
43216         * doc/posix-functions/getgroups.texi (getgroups): Document it.
43217         * tests/test-getgroups.c (main): Fix buffer overrun.
43218
43219         getgroups: avoid compilation failure
43220         * lib/getgroups.c (includes): Include <stdint.h> for SIZE_MAX.
43221         * modules/getgroups (Depends-on): Add stdint.
43222
43223 2009-11-13  Jim Meyering  <meyering@redhat.com>
43224
43225         test-getgroups: avoid compilation failure
43226         * tests/test-getgroups.c: Include <stdint.h> for use of SIZE_MAX.
43227
43228 2009-11-13  Eric Blake  <ebb9@byu.net>
43229
43230         mgetgroups: new module, taken from coreutils
43231         * modules/mgetgroups: New file.
43232         * lib/mgetgroups.h: Likewise.
43233         * lib/mgetgroups.c (mgetgroups): Likewise.
43234         * m4/mgetgroups.m4 (gl_MGETGROUPS): Likewise.
43235         * MODULES.html.sh (Users and groups): Mention it.
43236
43237         getgroups: don't expose GETGROUPS_T to user
43238         * lib/getgroups.c (rpl_getgroups): Change signature.  Copy array
43239         an element at a time if GETGROUPS_T is wrong size.
43240         * lib/getugroups.h (getugroups): Change signature.
43241         * lib/unistd.in.h (getgroups): Likewise.
43242         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Use replacement if
43243         signature needs fixing.
43244         * m4/getugroups.m4 (gl_GETUGROUPS): No longer need
43245         AC_TYPE_GETGROUPS.
43246         * modules/group-member (Depends-on): Add getgroups.
43247         * lib/group-member.c (group_info, get_group_info): Use gid_t.
43248         (group_member): Rely on getgroups replacement.
43249         * lib/getugroups.c (getugroups): Use gid_t.
43250         * tests/test-getgroups.c (main): Likewise.
43251         * NEWS: Mention the signature change.
43252         * doc/posix-functions/getgroups.texi (getgroups): Mention the
43253         problem with signature.
43254         * doc/glibc-functions/setgroups.texi (setgroups): Mention that
43255         GETGROUPS_T is still useful for setgroups.
43256
43257         getgroups, getugroups: provide stubs for mingw
43258         * lib/getgroups.c (getgroups): Provide ENOSYS stub for mingw.
43259         * lib/getugroups.c (getugroups): Likewise.
43260         * m4/getgroups.m4 (gl_FUNC_GETGROUPS): Check for missing
43261         function.  Modernize replacement scheme.
43262         (gl_PREREQ_GETGROUPS): Delete.
43263         * m4/getugroups.m4 (gl_GETUGROUPS): Check for <grp.h>.
43264         * modules/getgroups (configure.ac): Declare witness.
43265         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add default.
43266         * modules/unistd (Depends-on): Substitute witness.
43267         * lib/unistd.in.h (getgroups): Declare replacement.
43268
43269         getgroups: avoid calling exit
43270         * modules/getgroups (Depends-on): Add malloc-posix and unistd,
43271         drop xalloc.
43272         * modules/getgroups-tests (Depends-on, Makefile.am): Drop unneeded
43273         dependencies.
43274         * lib/getgroups.c (rpl_getgroups): Fail with ENOMEM rather than
43275         exiting, in the rare case of malloc failure.
43276
43277         getgroups: fix logic error
43278         * lib/getgroups.c (rpl_getgroups): Don't fail if current process
43279         has more than 20 groups.
43280         * modules/getgroups-tests: New test.
43281         * tests/test-getgroups.c: New file.
43282
43283 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43284
43285         * tests/test-base64.c: Improve.
43286
43287 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43288
43289         * tests/test-xvasprintf.c: Fix memory leak, suggested by Eric
43290         Blake <ebb9@byu.net>.
43291
43292 2009-11-13  Simon Josefsson  <simon@josefsson.org>
43293
43294         * tests/test-xvasprintf.c: Add %s%s related checks.
43295
43296 2009-11-12  Eric Blake  <ebb9@byu.net>
43297
43298         version-etc: match standards.texi style
43299         * lib/version-etc.c (emit_bug_reporting_address): Drop periods,
43300         and use <> only for URLs.
43301
43302 2009-11-10  Kamil Dudka  <kdudka@redhat.com>
43303
43304         fts: do not fail on a submount during traversal
43305         * lib/fts.c (fts_build): Read the stat info again after opening
43306         a directory if the FTS_TIGHT_CYCLE_CHECK flag is set.
43307         Original report at http://bugzilla.redhat.com/501848.
43308
43309 2009-11-12  Jim Meyering  <meyering@redhat.com>
43310
43311         bootstrap: sync from coreutils
43312         * build-aux/bootstrap (bootstrap_epilogue): New function.
43313         Use git_modules_config in one more place.  This make bootstrap's
43314         --gnulib-srcdir option more useful for testing.
43315
43316         bootstrap: generalize autoheader check
43317         * build-aux/bootstrap: Look for AC_CONFIG_HEADER as well as
43318         AC_CONFIG_HEADERS.
43319
43320 2009-11-11  Eric Blake  <ebb9@byu.net>
43321
43322         mkfifoat: use new modules for Solaris and BSD bugs
43323         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Simplify.
43324         * lib/mkfifoat.c (mknodat): Split...
43325         * lib/mknodat.c (mknodat): ...into new file.
43326         * modules/mkfifoat (Files): Ship new file.
43327         (Depends-on): Add mkfifo, mknod.
43328         * modules/mkfifoat-tests (Files): Reuse mkfifo tests.
43329         (Depends-on): Add symlink.
43330         * tests/test-mkfifoat.c (main): Enhance test.  Drop portions now
43331         redundant with test_mkfifo.h.
43332         (do_mkfifoat, do_mknodat): New helpers.
43333
43334         mknod: new module
43335         * modules/mknod: New file.
43336         * m4/mknod.m4 (gl_FUNC_MKNOD): Likewise.
43337         * lib/mknod.c (mknod): Likewise.
43338         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43339         defaults.
43340         * modules/sys_stat (Makefile.am): Substitute them.
43341         * lib/sys_stat.in.h (mknod): Declare replacement.
43342         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43343         Document it.
43344         * doc/posix-functions/mknod.texi (mknod): Likewise.
43345         * modules/mknod-tests: New test.
43346         * tests/test-mknod.c: Likewise.
43347
43348         mkfifo: new module
43349         * modules/mkfifo: New file.
43350         * m4/mkfifo.m4 (gl_FUNC_MKFIFO): Likewise.
43351         * lib/mkfifo.c (mkfifo): Likewise.
43352         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Set witness
43353         defaults.
43354         * modules/sys_stat (Makefile.am): Substitute them.
43355         * lib/sys_stat.in.h (mkfifo): Declare replacement.
43356         * MODULES.html.sh (Support for systems lacking POSIX:2008):
43357         Document it.
43358         * doc/posix-functions/mkfifo.texi (mkfifo): Likewise.
43359         * modules/mkfifo-tests: New test.
43360         * tests/test-mkfifo.h (test_mkfifo): New file, borrowed in part
43361         from test-mkfifoat.c.
43362         * tests/test-mkfifo.c: New file.
43363
43364         readlink: detect FreeBSD bug
43365         * m4/readlink.m4 (gl_FUNC_READLINK): Also detect FreeBSD bug with
43366         slash on symlink.
43367         * doc/posix-functions/readlink.texi (readlink): Document the bug.
43368         * tests/test-readlink.h (test_readlink): Enhance test.
43369
43370         symlink: detect FreeBSD bug
43371         * m4/symlink.m4 (gl_FUNC_SYMLINK): Also detect FreeBSD bug with
43372         slash on symlink.
43373         * doc/posix-functions/symlink.texi (symlink): Document the bug.
43374         * tests/test-symlink.h (test_symlink): Enhance test.
43375
43376 2009-11-10  Eric Blake  <ebb9@byu.net>
43377
43378         link: detect FreeBSD bug
43379         * m4/link.m4 (gl_FUNC_LINK): Also detect FreeBSD bug with slash on
43380         symlink.
43381         * doc/posix-functions/link.texi (link): Document the bug.
43382         * tests/test-link.h (test_link): Enhance test.
43383         * tests/test-linkat.c (main): Update caller.
43384
43385         unlink, remove: detect FreeBSD bug
43386         * m4/unlink.m4 (gl_FUNC_UNLINK): Also detect FreeBSD bug with
43387         slash on symlink.
43388         * doc/posix-functions/unlink.texi (unlink): Document the bug.
43389         * doc/posix-functions/remove.texi (remove): Likewise.
43390         * tests/test-unlink.h (test_unlink): Enhance test.
43391         * tests/test-remove.c (main): Likewise.
43392
43393 2009-11-09  Eric Blake  <ebb9@byu.net>
43394
43395         rename: detect FreeBSD bug
43396         * m4/rename.m4 (gl_FUNC_RENAME): Also detect FreeBSD bug with
43397         slash on symlink.
43398         * modules/renameat-tests (Depends-on): Add filenamecat.
43399         * tests/test-rename.h (test_rename): Allow one more errno.
43400         * tests/test-renameat.c (main): Likewise.
43401         * doc/posix-functions/rename.texi (rename): Document the bug.
43402
43403         open: detect FreeBSD bug
43404         * m4/open.m4 (gl_FUNC_OPEN): Also detect FreeBSD bug with slash on
43405         symlink.
43406         * doc/posix-functions/open.texi (open): Document the bug.
43407         * doc/posix-functions/utimes.texi (utimes): Likewise.
43408         * tests/test-open.h (test_open): Add parameters, and test symlink
43409         handling.
43410         * tests/test-open.c (main): Adjust caller.
43411         * tests/test-fcntl-safer.c (main): Likewise.
43412         * modules/open-tests (Depends-on): Add stdbool, symlink.
43413         * modules/fcntl-safer-tests (Depends-on): Likewise.
43414         * tests/test-openat.c (main): Add test-open tests.
43415
43416         stat: detect FreeBSD bug
43417         * m4/stat.m4 (gl_FUNC_STAT): Also detect FreeBSD bug with slash on
43418         symlink.
43419         * doc/posix-functions/stat.texi (stat): Document the bug.
43420         * tests/test-stat.h (test_stat_func): Add argument.
43421         * tests/test-stat.c (main): Adjust caller.
43422         * tests/test-fstatat.c (main): Likewise.
43423         * modules/stat-tests (Depends-on): Add stdbool, symlink.
43424         Reported by Jim Meyering.
43425
43426 2009-11-09  James Youngman  <jay@gnu.org>
43427
43428         strftime.c: include ignore-value.h only when FPRINTFTIME is defined
43429         * lib/strftime.c: Correct placement of #include "ignore-value.h".
43430
43431 2009-11-08  Jim Meyering  <meyering@redhat.com>
43432
43433         utimens: remove invalid futimesat call
43434         * lib/utimens.c (fdutimens): Remove invalid futimesat call.
43435         It used the file descriptor of the target file as the DIR_FD
43436         parameter and NULL as the file name.  That caused failure with
43437         errno == EFAULT on FreeBSD-8.0-rc2
43438
43439 2009-11-07  Eric Blake  <ebb9@byu.net>
43440
43441         fflush, freadseek: use fseeko, not fseek
43442         * lib/fflush.c (clear_ungetc_buffer_preserving_position)
43443         (clear_ungetc_buffer): Avoid potential problems on large files.
43444         * lib/freadseek.c (freadseek): Likewise.
43445         * modules/freadseek (Depends-on): Add fseeko.
43446         * modules/fseek (configure.ac): Set a witness.
43447         * tests/test-fflush.c (main): Use fseeko.
43448         * tests/test-fpurge.c (fseek): Disable link warning.
43449         * tests/test-freadable.c (fseek): Likewise.
43450         * tests/test-freading.c (fseek): Likewise.
43451         * tests/test-fseeko.c (fseek): Likewise.
43452         * tests/test-ftell.c (fseek): Likewise.
43453         * tests/test-ftello.c (fseek): Likewise.
43454         * tests/test-fwritable.c (fseek): Likewise.
43455         * tests/test-fwriting.c (fseek): Likewise.
43456
43457 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43458
43459         * modules/memchr (Depends-on): Drop getpagesize dependency.
43460
43461 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43462
43463         * build-aux/pmccabe2html: Disable execute bit.  Suggested by
43464         Reported by Ludovic Courtès.
43465         * build-aux/pmccabe2html: Improve example usage.
43466         * build-aux/pmccabe2html: Drop #! header.  Doc fix.
43467
43468 2009-11-06  Jim Meyering  <meyering@redhat.com>
43469
43470         do-release-commit-and-tag: New module.
43471         Automate the release-commit and tag process.
43472         * build-aux/do-release-commit-and-tag: New script, from coreutils.
43473         * modules/do-release-commit-and-tag: New file.
43474         * MODULES.html.sh (Support for maintaining and releasing): Add it.
43475
43476 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43477
43478         * modules/select-tests (test_select_LDADD): Add $(INET_PTON_LIB)
43479         because test-select.c uses inet_pton.
43480
43481 2009-11-06  Simon Josefsson  <simon@josefsson.org>
43482
43483         * m4/getaddrinfo.m4: Add content of INET_NTOP_LIB to
43484         GETADDRINFO_LIB.  Bump serial number.
43485         * modules/getaddrinfo (Link): Only mention GETADDRINFO_LIB again.
43486         Suggested by Eric Blake <ebb9@byu.net>.
43487
43488 2009-11-05  Eric Blake  <ebb9@byu.net>
43489
43490         strtod: detect darwin bug
43491         * m4/strtod.m4 (gl_FUNC_STRTOD): Filter out darwin bug on "nan(".
43492         Reported by Leo Davis.
43493
43494         freopen-safer: new module
43495         * modules/freopen-safer: New module.
43496         * m4/stdio-safer.m4 (gl_FREOPEN_SAFER): New macro.
43497         * lib/freopen-safer.c (freopen_safer): New file.
43498         * lib/stdio-safer.h (freopen_safer): New declaration.
43499         * lib/stdio--.h (freopen): New override.
43500         * MODULES.html.sh (File stream based Input/Output): Mention it.
43501         * doc/posix-functions/freopen.texi (freopen): Mention pitfalls and
43502         freopen-safer module.
43503         * doc/posix-functions/stderr.texi (stderr): Likewise.
43504         * doc/posix-functions/stdin.texi (stdin): Likewise.
43505         * doc/posix-functions/stdout.texi (stdout): Likewise.
43506         * modules/freopen-safer-tests: New test.
43507         * tests/test-reopen-safer.c: New file.
43508
43509 2009-11-05  Jim Meyering  <meyering@redhat.com>
43510
43511         maint.mk: Prohibit inclusion of "close-stream.h" without use.
43512         * top/maint.mk (sc_prohibit_close_stream_without_use): New rule.
43513
43514 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43515
43516         * modules/pmccabe2html (configure.ac): Check for pmccabe tool.
43517
43518 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43519
43520         * modules/getaddrinfo (Link): Add $(INET_NTOP_LIB).
43521
43522 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43523
43524         Fix link error.
43525         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43526         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43527
43528 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43529
43530         * tests/test-func.c: Also test value of __func__.
43531
43532 2009-11-05  Simon Josefsson  <simon@josefsson.org>
43533
43534         * tests/test-sys_socket.c: Use smaller constant value, sa_family_t
43535         may be an 8-bit type.  Reported by Bruno Haible <bruno@clisp.org>.
43536
43537 2009-11-05  Bruno Haible  <bruno@clisp.org>
43538
43539         Fix link error.
43540         * m4/inet_ntop.m4 (gl_INET_NTOP): Fix test of AC_SEARCH_LIBS result.
43541         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
43542         Reported by Brad Hards <bradh@frogmouth.net> via Simon Josefsson.
43543
43544 2009-11-05  Bruno Haible  <bruno@clisp.org>
43545
43546         Tests for module 'inet_pton'.
43547         * modules/inet_pton-tests: New file.
43548         * tests/test-inet_pton.c: New file.
43549
43550 2009-11-05  Bruno Haible  <bruno@clisp.org>
43551
43552         Tests for module 'inet_ntop'.
43553         * modules/inet_ntop-tests: New file.
43554         * tests/test-inet_ntop.c: New file.
43555
43556 2009-11-04  Eric Blake  <ebb9@byu.net>
43557
43558         stdlib-safer: wrap all mkstemp variants
43559         * modules/mkostemp (configure.ac): Set witness.
43560         * modules/mkostemps (configure.ac): Likewise.
43561         * modules/mkstemps (configure.ac): Likewise.
43562         * lib/stdlib-safer.h (mkostemp_safer, mkostemps_safer)
43563         (mkstemps_safer): Wrap more functions.
43564         * lib/stdlib--.h (mkostemp, mkostemps, mkstemps): Default the
43565         wrapping.
43566         * lib/mkstemp-safer.c (mkostemp_safer, mkostemps_safer)
43567         (mkstemps_safer): Implement the wrappers.
43568
43569         mkstemps, mkostemps: new modules
43570         * modules/mkostemps: New module.
43571         * modules/mkstemps: Likewise.
43572         * lib/mkostemps.c (mkostemps): New file.
43573         * lib/mkstemps.c (mkstemps): Likewise.
43574         * m4/mkostemps.m4 (gl_FUNC_MKOSTEMPS): Likewise.
43575         * m4/mkstemps.m4 (gl_FUNC_MKSTEMPS): Likewise.
43576         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Add witnesses.
43577         * modules/stdlib (Makefile.am): Substitute them.
43578         * lib/stdlib.in.h (mkostemps, mkstemps): Declare them.
43579         * doc/glibc-functions/mkstemps.texi (mkstemps): New file.
43580         * doc/glibc-functions/mkostemps.texi (mkostemps): Likewise.
43581         * doc/gnulib.texi (Glibc stdlib.h): Include them.
43582         * MODULES.html.sh (File system functions): Mention them.
43583
43584         tempname: resync from glibc
43585         * lib/tempname.c (__gen_tempname): Add suffixlen argument.  Use
43586         same values for __GT_FILE as glibc.  Abort even when assertions
43587         are disabled.
43588         * lib/tempname.h (GT_FILE): Use glibc __GT_FILE, if available, and
43589         match its value otherwise.  Allow idempotent inclusion.
43590         * lib/mkdtemp.c (mkdtemp): Adjust caller.
43591         * lib/mkostemp.c (mkostemp): Likewise.
43592         * lib/mkstemp.c (mkstemp): Likewise.
43593         * lib/tmpfile.c (tmpfile): Likewise.
43594         * NEWS: Document this.
43595
43596         utimens: fix use of futimens on older Linux
43597         * lib/utimens.c (fdutimens): Use updated, rather than original,
43598         timespec to avoid bug in older Linux kernel.
43599         Reported by Simon Josefsson.
43600
43601 2009-11-04  Bruno Haible  <bruno@clisp.org>
43602
43603         Make num_processors more flexible and consistent.
43604         * lib/nproc.h (enum nproc_query): New type.
43605         (num_processors): Add a 'query' argument.
43606         * lib/nproc.c: Include <stdlib.h>, <sched.h>, c-ctype.h.
43607         (num_processors): Add a 'query' argument. Test the value of the
43608         OMP_NUM_THREADS environment variable if requested. On Linux, NetBSD,
43609         mingw, count the number of CPUs available for the current process.
43610         * m4/nproc.m4 (gl_PREREQ_NPROC): Require AC_USE_SYSTEM_EXTENSIONS.
43611         Check for sched_getaffinity and sched_getaffinity_np.
43612         * modules/nproc (Depends-on): Add c-ctype, extensions.
43613         * NEWS: Mention the change.
43614
43615 2009-11-03  Bruno Haible  <bruno@clisp.org>
43616
43617         * NEWS: Document the new library dependencies of inet_ntop, inet_pton.
43618
43619 2009-11-03  Jim Meyering  <meyering@redhat.com>
43620
43621         test-getaddrinfo: avoid compilation failure on FreeBSD 7.2
43622         * tests/test-getaddrinfo.c (simple): Test for EAI_NODATA only
43623         if it is defined.
43624
43625 2009-11-02  Eric Blake  <ebb9@byu.net>
43626
43627         mktime, timegm: share common declaration
43628         * lib/mktime-internal.h: New file.
43629         * lib/mktime.c: Use it rather than open-coding a declaration.
43630         * lib/timegm.c: Likewise.
43631         * modules/mktime (Files): Ship it.
43632         * modules/timegm (Files): Likewise.
43633         Suggested by Bruno Haible.
43634
43635         test-update-copyright: update test to match script changes
43636         * tests/test-update-copyright.sh: Avoid hard-coding perl
43637         location.  Don't update *.bak created by earlier runs.
43638
43639 2009-11-02  Paul Eggert  <eggert@cs.ucla.edu>
43640             Simon Josefsson  <simon@josefsson.org>
43641             Bruno Haible  <bruno@clisp.org>
43642
43643         Fix link error on Solaris 8.
43644         * m4/inet_pton.m4 (gl_INET_PTON): Search for the function inet_pton
43645         also in libnsl. Define also INET_PTON_LIB.
43646         * modules/inet_pton (Link): New section.
43647
43648 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43649             Bruno Haible  <bruno@clisp.org>
43650
43651         * m4/inet_ntop.m4 (gl_INET_NTOP): Define also INET_NTOP_LIB.
43652         * modules/inet_ntop (Link): New section.
43653         Reported by Boyan Kasarov <bkasarov@gmail.com>.
43654
43655 2009-11-02  Eric Blake  <ebb9@byu.net>
43656
43657         maint: avoid compiler warnings in m4 macros
43658         * m4/ungetc.m4 (gl_FUNC_UNGETC_WORKS): Avoid unused variable.
43659         * m4/rmdir.m4 (gl_FUNC_RMDIR): Include correct header.
43660
43661 2009-11-02  Simon Josefsson  <simon@josefsson.org>
43662
43663         * m4/pmccabe2html.m4: Remove file.
43664         * modules/pmccabe2html: Drop pmccabe2html.m4.  Don't call m4
43665         function.  Change maintainer.
43666         * build-aux/pmccabe2html: Use /bin/sh with magic instead of
43667         hard-coding path to awk.  Tiny patch from ludo@gnu.org (Ludovic
43668         Courtès).
43669
43670 2009-10-31  Eric Blake  <ebb9@byu.net>
43671
43672         fseeko: fix m4 regression
43673         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Use modern macro.  Fixes
43674         regression from 2009-10-27.
43675         Reported by Ralf Wildenhues.
43676
43677 2009-10-31  Jim Meyering  <meyering@redhat.com>
43678
43679         inttostr: aesthetics and improved (compile-time) safety
43680         Define inttype_is_signed rather than inttype_is_unsigned,
43681         since the sole use is via "#if inttype_is_signed".
43682         * lib/imaxtostr.c (inttype_is_signed): Define this, rather than
43683         inttype_is_unsigned.
43684         * lib/offtostr.c (inttype_is_signed): Likewise.
43685         * lib/uinttostr.c (inttype_is_signed): Likewise.
43686         * lib/umaxtostr.c (inttype_is_signed): Likewise.
43687         * lib/inttostr.c (inttostr): Use verify to cross-check the
43688         inttype_is_signed value and the signedness of the actual type.
43689         * modules/inttostr (Depends-on): Add verify.
43690
43691 2009-10-30  Eric Blake  <ebb9@byu.net>
43692
43693         build: avoid compiler warnings
43694         * lib/fchmodat.c (lchmod): Mark unused variables.
43695         * lib/getopt.c (_getopt_initialize): Likewise.
43696         * lib/mktime.c (__mktime_internal): Provide prototype.
43697         * lib/inttostr.c (inttostr): Avoid compiler warning even with
43698         older gcc that do not understand #pragma GCC diagnostic.
43699         * lib/uinttostr.c (inttype_is_unsigned): Define.
43700         * lib/umaxtostr.c (inttype_is_unsigned): Likewise.
43701
43702 2009-10-30  Michael Haubenwallner  <michael.haubenwallner@salomon.at>
43703
43704         stat: fix compilation on AIX
43705         * lib/sys_stat.in.h (stat): Work with fact that large files on AIX
43706         only see struct stat64.
43707
43708 2009-10-30  Eric Blake  <ebb9@byu.net>
43709
43710         exclude: make more robust
43711         * lib/exclude.c (excluded_file_name): Abort on unexpected value,
43712         rather than masking a coding bug.
43713         Suggested by Bruno Haible.
43714
43715 2009-10-30  Jim Meyering  <meyering@redhat.com>
43716
43717         perl scripts: remove #!/usr/bin/perl in favor of more portable...
43718         Rather than putting #!/usr/bin/perl on the first line,
43719         start with a variant of what's recommended by "man perlrun" that
43720         invokes the first "perl" program from your shell's search path.
43721         * build-aux/gitlog-to-changelog: Replace #!... as above.
43722         Add a "Local Variables" perl mode setting.
43723         Prompted by a patch from Ludovic Courtès.
43724         Improved by Eric Blake.
43725         * build-aux/useless-if-before-free: Likewise.
43726         * build-aux/announce-gen: Likewise.
43727         * build-aux/update-copyright: Likewise.
43728
43729 2009-10-29  Eric Blake  <ebb9@byu.net>
43730
43731         filenamecat-lgpl: adjust clients
43732         * modules/linkat (Depends-on): Use filenamecat-lgpl, not
43733         filenamecat.
43734         * modules/renameat (Depends-on): Likewise.
43735
43736         filenamecat: split into filenamecat-lgpl
43737         * modules/filenamecat-lgpl: New module.
43738         * modules/filenamecat (Files): Move library-safe files into
43739         filenamecat-lgpl.
43740         (Depends-on): Add filenamecat-lgpl.
43741         (configure.ac): Declare witness.
43742         * lib/filenamecat.h (file_name_concat): Only declare when using
43743         GPL module.
43744         * lib/filenamecat.c (longest_relative_suffix, mfile_name_concat):
43745         Move...
43746         * lib/filenamecat-lgpl.c: ...into new file.
43747         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT_LGPL): New macro.
43748         (gl_FILE_NAME_CONCAT): Use it.
43749         * MODULES.html.sh (File system functions): Mention new module.
43750
43751         argp: avoid memory leak
43752         * modules/argp (Depends-on): Use dirname-lgpl, not dirname.
43753         * lib/argp-namefrob.h (__argp_base_name): Use last_component, not
43754         base_name, since the latter malloc()s and can call exit().
43755         Leak introduced 2006-07-03.
43756
43757         dirname-lgpl: adjust clients that don't need full dirname
43758         * modules/backupfile (Depends-on): Use dirname-lgpl, not dirname.
43759         * modules/filenamecat (Depends-on): Likewise.
43760         * modules/linkat (Depends-on): Likewise.
43761         * modules/mkancesdirs (Depends-on): Likewise.
43762         * modules/mkdir (Depends-on): Likewise.
43763         * modules/openat (Depends-on): Likewise.
43764         * modules/savewd (Depends-on): Likewise.
43765         * modules/rename (Depends-on): Likewise.
43766         (License): Relax license.
43767         * modules/mkdir-tests (Depends-on): Drop progname.
43768         (Makefile.am): Delete unneeded LDADD.
43769         * modules/rename-tests (Depends-on, Makefile.am): Likewise.
43770
43771         dirname: split into dirname-lgpl
43772         * modules/dirname-lgpl: New module.
43773         * modules/dirname (Files): Move library-safe files into
43774         dirname-lgpl.
43775         (Depends-on): Add dirname-lgpl.
43776         (configure.ac): Declare witness.
43777         * modules/double-slash-root (License): Relax license.
43778         * lib/dirname.h (base_name, dir_name): Only declare when using GPL
43779         module.
43780         * lib/dirname.c (dir_len, mdir_name): Move...
43781         * lib/dirname-lgpl.c: ...into new file.
43782         * lib/basename.c (last_component, base_len): Move...
43783         * lib/basename-lgpl.c: ...into new file.
43784         * m4/dirname.m4 (gl_DIRNAME_LGPL): New macro.
43785         (gl_DIRNAME): Use it.
43786         * MODULES.html.sh (Enhancements for POSIX:2008 functions):
43787         Mention new module.
43788         * modules/dirname-tests (Depends-on): Add progname.
43789         * tests/test-dirname.c (program_name): Delete.
43790
43791         mkdir: make safe for libraries
43792         * modules/mkdir (Depends-on): Drop xalloc.
43793         * lib/mkdir.c (rpl_mkdir): Fail with ENOMEM rather than calling
43794         exit.
43795
43796         tests: avoid some compiler warnings
43797         * tests/test-getaddrinfo.c (simple): Mark static, and allow string
43798         literals.
43799         * tests/test-memchr.c (main): Avoid type mismatch.
43800         * tests/test-arpa_inet.c (main): Avoid unused parameters.
43801         * tests/test-base64.c (main): Likewise.
43802         * tests/test-getdelim.c (main): Likewise.
43803         * tests/test-gethostname.c (main): Likewise.
43804         * tests/test-getline.c (main): Likewise.
43805         * tests/test-netinet_in.c (main): Likewise.
43806         * tests/test-select.c (open_server_socket, main): Likewise.
43807         * tests/test-select-stdin.c (main): Likewise.
43808         * tests/test-sockets.c (main): Likewise.
43809         * tests/test-strsignal.c (main): Likewise.
43810         * tests/test-sys_select.c (main): Likewise.
43811         * tests/test-sys_socket.c (main): Likewise.
43812         * tests/test-u64.c (main): Likewise.
43813         * tests/test-xfprintf-posix.c (main): Likewise.
43814         * tests/test-xvasprintf.c (test_xvasprintf, main): Likewise.
43815
43816         sockets: avoid compiler warning
43817         * lib/sockets.c (gl_sockets_startup): Mark unused parameter.
43818
43819         maint: detect usage(1) and other suspicious exits
43820         * top/maint.mk (sc_prohibit_magic_number_exit): New rule.
43821
43822 2009-10-29  Jim Meyering  <meyering@redhat.com>
43823
43824         timespec: long-to-int truncation could make timespec_cmp malfunction
43825         * lib/timespec.h (timespec_cmp): Do not interpret a difference of
43826         a multiple of 2^32 nanoseconds as no difference.
43827
43828 2009-10-28  Jim Meyering  <meyering@redhat.com>
43829
43830         fprintftime: wrap macro code argument in "do {...} while(0)"
43831         * lib/strftime.c (cpy) [FPRINTFTIME]: The second argument to the
43832         cpy macro must be a statement that can be followed by a semicolon.
43833         Now that the else clause contains a comment and is hence longer
43834         than one line, I require curly braces.  That in turn requires
43835         that we wrap this code block in the standard do...while(0).
43836
43837         fprintftime: remove stray semicolon from previous change
43838         * lib/strftime.c (cpy) [FPRINTFTIME]: Remove trailing semicolon.
43839
43840         fprintftime: avoid a warning about ignored fwrite return value
43841         * lib/strftime.c [FPRINTFTIME]: Include "ignore-value.h".
43842         (cpy) [FPRINTFTIME]: Ignore fwrite failure, even though technically,
43843         that is unsafe.
43844         * modules/fprintftime (Depends-on): Add ignore-value.
43845
43846         exclude: avoid an unwarranted warning
43847         * lib/exclude.c (excluded_file_name): Initialize "rc" before switch.
43848
43849 2009-10-27  Eric Blake  <ebb9@byu.net>
43850
43851         fseek: avoid compilation failure when fflush is replaced
43852         * m4/fseek.m4 (gl_REPLACE_FSEEK): New macro.
43853         * m4/fseeko.m4 (gl_REPLACE_FSEEKO): Also replace fseek, if fseek
43854         module is in use.
43855         * lib/stdio.in.h (GNULIB_FSEEKO): Only poison fseek if fseek
43856         module is not in use; since REPLACE_FSEEK worked otherwise.
43857         (GNULIB_FTELLO): Likewise for ftell.
43858         Reported by Ian Beckwith and others.
43859
43860 2009-10-27  Bruno Haible  <bruno@clisp.org>
43861
43862         * lib/isnan.c (rpl_isnan[fdl]): Repeat the specification declaration.
43863         Reported by Jim Meyering.
43864
43865 2009-10-27  Jim Meyering  <jim@meyering.net>
43866             Bruno Haible  <bruno@clisp.org>
43867
43868         Avoid warning despite dropping the return value of fwrite.
43869         * lib/unicodeio.c: Include ignore-value.h.
43870         (fwrite_success_callback): Explicitly ignore fwrite's return value.
43871         * modules/unicodeio (Depends-on): Add ignore-value.
43872
43873 2009-10-26  Eric Blake  <ebb9@byu.net>
43874
43875         areadlinkat: fix fallback path
43876         * lib/at-func.c (AT_FUNC_NAME): Avoid signed comparison between
43877         pointer and zero.
43878
43879 2009-10-22  Pádraig Brady  <P@draigBrady.com>
43880
43881         Use a better IO block size for modern systems
43882         * lib/copy-file.c (copy_file_preserving): Used a 32KiB malloced buffer.
43883         * lib/md2.c: Likewise.
43884         * lib/md4.c: Likewise.
43885         * lib/md5.c: Likewise.
43886         * lib/sha1.c: Likewise.
43887         * lib/sha256.c: Likewise.
43888         * lib/sha512.c: Likewise.
43889
43890 2009-10-22  Eric Blake  <ebb9@byu.net>
43891
43892         tests: avoid several compiler warnings
43893         * tests/test-getcwd.c (main): Avoid buffer underflow.
43894         * tests/test-getdate.c (main): String literals are not safe with
43895         putenv, so use setenv.  Declare unused argument.
43896         * modules/getdate-tests (Depends-on): Add setenv.
43897         * tests/test-argv-iter.c (main): Declare unused argument.  Avoid
43898         problems with string literals in char *.
43899         * tests/test-hash.c (main): Avoid shadowing declaration.
43900         (insert_new): Treat string literals as char const *.
43901         * tests/test-getopt.h (test_getopt): Likewise.
43902         (getopt_loop): Alter types to minimize casting elsewhere.
43903         * tests/test-getopt_long.h (test_getopt_long, getopt_long_loop)
43904         (test_getopt_long_posix): Likewise.
43905         (do_getopt_long): Add wrapper to minimize casting.
43906         * tests/test-atexit.c (clear_temp_file): Use void.
43907         * tests/test-areadlink-with-size.c (main): Declare unused
43908         arguments.
43909         * tests/test-areadlink.c (main): Likewise.
43910         * tests/test-areadlinkat-with-size.c (main): Likewise.
43911         * tests/test-areadlinkat.c (main): Likewise.
43912         * tests/test-canonicalize-lgpl.c (main): Likewise.
43913         * tests/test-canonicalize.c (main): Likewise.
43914         * tests/test-dirent-safer.c (main): Likewise.
43915         * tests/test-dirname.c (main): Likewise.
43916         * tests/test-dup2.c (main): Likewise.
43917         * tests/test-fchdir.c (main): Likewise.
43918         * tests/test-fcntl-h.c (main): Likewise.
43919         * tests/test-fcntl-safer.c (main): Likewise.
43920         * tests/test-fdopendir.c (main): Likewise.
43921         * tests/test-fdutimensat.c (main): Likewise.
43922         * tests/test-fflush.c (main): Likewise.
43923         * tests/test-filenamecat.c (main): Likewise.
43924         * tests/test-filevercmp.c (main): Likewise.
43925         * tests/test-fopen-safer.c (main): Likewise.
43926         * tests/test-fopen.c (main): Likewise.
43927         * tests/test-fpending.c (main): Likewise.
43928         * tests/test-fpurge.c (main): Likewise.
43929         * tests/test-freading.c (main): Likewise.
43930         * tests/test-fstatat.c (main): Likewise.
43931         * tests/test-fsync.c (main): Likewise.
43932         * tests/test-futimens.c (main): Likewise.
43933         * tests/test-getndelim2.c (main): Likewise.
43934         * tests/test-gettimeofday.c (main): Likewise.
43935         * tests/test-getopt.c (main): Likewise.
43936         * tests/test-i-ring.c (main): Likewise.
43937         * tests/test-inttypes.c (main): Likewise.
43938         * tests/test-link.c (main): Likewise.
43939         * tests/test-lstat.c (main): Likewise.
43940         * tests/test-math.c (main): Likewise.
43941         * tests/test-md5.c (main): Likewise.
43942         * tests/test-memchr2.c (main): Likewise.
43943         * tests/test-memrchr.c (main): Likewise.
43944         * tests/test-mkdir.c (main): Likewise.
43945         * tests/test-mkdirat.c (main): Likewise.
43946         * tests/test-mkfifoat.c (main): Likewise.
43947         * tests/test-open.c (main): Likewise.
43948         * tests/test-openat-safer.c (main): Likewise.
43949         * tests/test-openat.c (main): Likewise.
43950         * tests/test-quotearg.c (main): Likewise.
43951         * tests/test-rawmemchr.c (main): Likewise.
43952         * tests/test-readlink.c (main): Likewise.
43953         * tests/test-remove.c (main): Likewise.
43954         * tests/test-rename.c (main): Likewise.
43955         * tests/test-renameat.c (main): Likewise.
43956         * tests/test-rmdir.c (main): Likewise.
43957         * tests/test-sha1.c (main): Likewise.
43958         * tests/test-signal.c (main): Likewise.
43959         * tests/test-sigaction.c (main): Likewise.
43960         * tests/test-stat.c (main): Likewise.
43961         * tests/test-stat-time.c (main): Likewise.
43962         * tests/test-stddef.c (main): Likewise.
43963         * tests/test-stdint.c (main): Likewise.
43964         * tests/test-stdio.c (main): Likewise.
43965         * tests/test-stdlib.c (main): Likewise.
43966         * tests/test-strchrnul.c (main): Likewise.
43967         * tests/test-strerror.c (main): Likewise.
43968         * tests/test-string.c (main): Likewise.
43969         * tests/test-strtod.c (main): Likewise.
43970         * tests/test-strverscmp.c (main): Likewise.
43971         * tests/test-symlink.c (main): Likewise.
43972         * tests/test-symlinkat.c (main): Likewise.
43973         * tests/test-sys_stat.c (main): Likewise.
43974         * tests/test-sys_time.c (main): Likewise.
43975         * tests/test-time.c (main): Likewise.
43976         * tests/test-unistd.c (main): Likewise.
43977         * tests/test-unlink.c (main): Likewise.
43978         * tests/test-unlinkat.c (main): Likewise.
43979         * tests/test-utimens.c (main): Likewise.
43980         * tests/test-utimensat.c (main): Likewise.
43981         * tests/test-version-etc.c (main): Likewise.
43982         * tests/test-wchar.c (main): Likewise.
43983         * tests/test-wctype.c (main): Likewise.
43984         * tests/test-xprintf-posix.c (main): Likewise.
43985         * tests/test-posixtm.c (main): Likewise.
43986         (STREQ): Delete unused macro.
43987         * tests/test-linkat.c (main): Declare unused arguments.  Avoid
43988         shadowed variables.
43989         * tests/test-memchr.c (main): Likewise.
43990
43991 2009-10-21  Eric Blake  <ebb9@byu.net>
43992
43993         areadlinkat: avoid failure on older glibc
43994         * lib/at-func.c (AT_FUNC_NAME): Check for explicit FUNC_FAIL,
43995         rather than mis-comparing 0 against FUNC_RESULT of char*.
43996
43997 2009-10-21  Bruno Haible  <bruno@clisp.org>
43998
43999         * modules/stpncpy (License): Relicense under LGPLv2+.
44000         Reported by David Lutterkort <lutter@redhat.com>.
44001
44002 2009-10-20  Eric Blake  <ebb9@byu.net>
44003
44004         utimensat: work around Solaris 9 bug
44005         * lib/utimens.c (fdutimens, lutimens): Force a stat if platform
44006         has trailing slash bugs.
44007         * tests/test-lutimens.h (test_lutimens): Enhance test.
44008         * tests/test-utimens.h (test_utimens): Likewise.
44009         * doc/posix-functions/utime.texi (utime): Enhance documentation.
44010         * doc/posix-functions/utimes.texi (utimes): Likewise.
44011         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44012         * doc/glibc-functions/futimesat.texi (futimesat): Likewise.
44013         * doc/glibc-functions/lutimes.texi (lutimes): Likewise.
44014         * doc/posix-functions/futimens.texi (futimens): Likewise.
44015
44016         fdutimensat: new module
44017         * modules/fdutimensat: New file.
44018         * lib/fdutimensat.c (fdutimensat): Likewise.
44019         * lib/utimens.h (fdutimensat, lutimensat): Declare new functions.
44020         * MODULES.html.sh (File system functions): Mention module.
44021         * modules/fdutimensat-tests: New test.
44022         * tests/test-fdutimensat.c: Likewise.
44023
44024         doc: regenerate INSTALL
44025         * doc/INSTALL: Reflect recent autoconf update.
44026         * doc/INSTALL.ISO: Likewise.
44027         * doc/INSTALL.UTF-8: Likewise.
44028
44029 2009-10-20  Pádraig Brady  <P@draigBrady.com>
44030
44031         acl: warn if ACL support is not detected
44032         * m4/acl.m4 (gl_FUNC_ACL): Output a warning if ACL support is not found.
44033
44034 2009-10-19  Giuseppe Scrivano  <gscrivano@gnu.org>
44035
44036         * lib/nproc.h: Add extern "C" block for C++.
44037
44038 2009-10-18  Reuben Thomas  <rrt@sc3d.org>
44039             Bruno Haible  <bruno@clisp.org>
44040
44041         * doc/posix-functions/isascii.texi: Document the 2 alternative APIs.
44042         * doc/posix-functions/isalnum.texi: Document the 4 alternative APIs.
44043         * doc/posix-functions/isalpha.texi: Likewise.
44044         * doc/posix-functions/isblank.texi: Likewise.
44045         * doc/posix-functions/iscntrl.texi: Likewise.
44046         * doc/posix-functions/isdigit.texi: Likewise.
44047         * doc/posix-functions/isgraph.texi: Likewise.
44048         * doc/posix-functions/islower.texi: Likewise.
44049         * doc/posix-functions/isprint.texi: Likewise.
44050         * doc/posix-functions/ispunct.texi: Likewise.
44051         * doc/posix-functions/isspace.texi: Likewise.
44052         * doc/posix-functions/isupper.texi: Likewise.
44053         * doc/posix-functions/isxdigit.texi: Likewise.
44054
44055 2009-10-18  Bruno Haible  <bruno@clisp.org>
44056
44057         Tests for module 'isblank'.
44058         * modules/isblank-tests: New file.
44059         * tests/test-isblank.c: New file.
44060
44061         New module 'isblank'.
44062         * lib/isblank.c: New file.
44063         * m4/isblank.m4: New file.
44064         * modules/isblank: New file.
44065         * doc/posix-functions/isblank.texi: Mention the new module.
44066
44067 2009-10-18  Bruno Haible  <bruno@clisp.org>
44068
44069         New module 'ctype'.
44070         * lib/ctype.in.h: New file.
44071         * m4/ctype.m4: New file.
44072         * modules/ctype: New file.
44073         * doc/posix-headers/ctype.texi: Mention the new module.
44074
44075 2009-10-18  Jim Meyering  <meyering@redhat.com>
44076
44077         m4: stylistic-only: hoist AC_SUBST to be adjacent to initialization
44078         Declare a variable like LIB_CLOCK_GETTIME to be AC_SUBSTituted
44079         right after its initialization, rather than farther down.
44080         Keeping these in close proximity makes it easier to ensure
44081         that each such variable is initialized.  E.g.,
44082
44083             LIB_CLOCK_GETTIME=
44084             AC_SUBST([LIB_CLOCK_GETTIME])
44085
44086         This change also increments these serial numbers.
44087         * m4/clock_time.m4 (gl_CLOCK_TIME): Hoist AC_SUBST use.
44088         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
44089         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44090
44091 2009-10-18  Bruno Haible  <bruno@clisp.org>
44092
44093         Don't let environment variables perturb build.
44094         * m4/gethrxtime.m4 (gl_GETHRXTIME): Initialize LIB_GETHRXTIME here...
44095         (gl_PREREQ_GETHRXTIME): ... not here.
44096
44097 2009-10-18  Bruno Haible  <bruno@clisp.org>
44098
44099         Avoid symlink attack in localcharset module.
44100         * lib/localcharset.c: Include <fcntl.h>, <unistd.h>.
44101         (O_NOFOLLOW): Define fallback.
44102         (get_charset_aliases): Don't open the file if it is a symbolic link.
44103         * m4/fcntl_h.m4 (gl_FCNTL_O_FLAGS): New macro, extracted from
44104         gl_FCNTL_H.
44105         (gl_FCNTL_H): Require it.
44106         * m4/localcharset.m4 (gl_LOCALCHARSET): Likewise.
44107         * modules/localcharset (Files): Add m4/fcntl_h.m4.
44108         Reported by Fergal Glynn <fglynn@veracode.com>.
44109
44110 2009-10-18  Bruno Haible  <bruno@clisp.org>
44111
44112         Implement nproc for mingw.
44113         * lib/nproc.c: Include <windows.h>
44114         (num_processors): On native Windows platforms, try GetSystemInfo.
44115
44116 2009-10-18  Bruno Haible  <bruno@clisp.org>
44117
44118         Implement nproc for IRIX.
44119         * lib/nproc.c: Include <sys/sysmp.h>.
44120         (num_processors): On IRIX systems, try sysmp.
44121         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/sysmp.h and sysmp.
44122
44123 2009-10-18  Bruno Haible  <bruno@clisp.org>
44124
44125         Implement nproc for HP-UX.
44126         * lib/nproc.c: Include <sys/pstat.h>
44127         (num_processors): On HP-UX systems, try pstat_getdynamic.
44128         * m4/nproc.m4 (gl_PREREQ_NPROC): Check for sys/pstat.h and
44129         pstat_getdynamic.
44130
44131 2009-10-18  Giuseppe Scrivano  <gscrivano@gnu.org>
44132             Bruno Haible  <bruno@clisp.org>
44133
44134         Implement nproc for NetBSD, OpenBSD.
44135         * lib/nproc.c: Include <sys/types.h>, <sys/param.h>, <sys/sysctl.h>.
44136         (ARRAY_SIZE): New macro.
44137         (num_processors): On BSD systems, try sysctl of HW_NCPU.
44138         * m4/nproc.m4: New file.
44139         * modules/nproc (Files): Add m4/nproc.m4.
44140         (configure.ac): Invoke gl_NPROC. Remove AC_LIBOBJ invocation.
44141         (Makefile.am): Instead, augment lib_SOURCES.
44142
44143 2009-10-18  Bruno Haible  <bruno@clisp.org>
44144
44145         Fix recognition of sys/sysctl.h on OpenBSD 4.0.
44146         * m4/physmem.m4 (gl_PHYSMEM): Before including sys/sysctl.h, include
44147         sys/param.h.
44148
44149 2009-10-16  Eric Blake  <ebb9@byu.net>
44150
44151         utimensat: new module
44152         * modules/utimensat: New file.
44153         * lib/utimensat.c (utimensat): Likewise.
44154         * m4/utimensat.m4 (gl_FUNC_UTIMENSAT): Likewise.
44155         * lib/utimens.c (utimensat): Avoid recursion into rpl_utimensat,
44156         so we can work around Linux bugs.
44157         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44158         * modules/sys_stat (Makefile.am): Substitute them.
44159         * lib/sys_stat.in.h (utimensat): Declare it.
44160         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44161         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44162         * modules/utimensat-tests: New test.
44163         * tests/test-utimensat.c: Likewise.
44164
44165         utimens: let lutimens work on non-symlinks
44166         * lib/utimens.c (lutimens): Fall back to utimens rather than
44167         failing with ENOSYS, when file is not a symlink.
44168         (utimens): Reduce redirection.
44169         * tests/test-lutimens.h (test_lutimens): Update test to cover
44170         non-symlinks.
44171         * tests/test-utimens.h (test_utimens): Update test to cover
44172         symlinks.
44173         * tests/test-utimens.c (main): Update caller.
44174
44175         utimens: cache whether utimensat syscall works
44176         * lib/utimens.c (utimensat_works_really): New cache variable.
44177         (fdutimens, lutimens): Use it to avoid failing syscall.
44178
44179         test-stat-time, test-utimens: improve portability
44180         * tests/test-stat-time.c (nap): Lengthen delay to 20ms, for
44181         ext4 on alpha, and for cygwin.
44182         * tests/test-utimens-common.h: New file.
44183         (nap): Factor delays into single function.
44184         * tests/test-lutimens.h (test_lutimens): Use new header.
44185         * tests/test-futimens.h (test_futimens): Likewise.
44186         * tests/test-utimens.h (test_utimens): Likewise.  Also, force NFS
44187         timestamps to occur from same machine, as was done previously for
44188         test_utimens.
44189         * modules/utimens-tests (Files): Ship new file.
44190         * modules/futimens-tests (Files): Likewise.
44191         Reported in part by Jim Meyering.
44192
44193         sys_stat: sort replacement declarations
44194         * lib/sys_stat.in.h: Sort declarations.
44195         * lib/futimens.c (futimens): Fix typo.
44196
44197 2009-10-15  Jim Meyering  <meyering@redhat.com>
44198
44199         don't let environment settings perturb build
44200         Setting the envvars, LIB_CLOCK_GETTIME, LIB_EACCESS or LIB_NANOSLEEP
44201         could cause a configure-time and/or build-time malfunction.
44202         Typically, a configure-time function-in-library test is performed
44203         via code like this:
44204
44205           LIB_VAR=
44206           AC_SUBST([LIB_VAR])
44207           prefix_saved_LIBS=$LIBS
44208             AC_SEARCH_LIBS([FUNC], [LIB_NAME],
44209                        [test "$ac_cv_search_FUNC" = "none required" ||
44210                         LIB_VAR=$ac_cv_search_FUNC])
44211           LIBS=$prefix_saved_LIBS
44212
44213         However, in each of the files affected by this change, the LIB_VAR=
44214         initialization was omitted.  Thus, when set in the environment, its
44215         value would propagate into generated Makefiles when FUNC is not found
44216         in LIB_NAME.
44217         * m4/clock_time.m4 (gl_CLOCK_TIME): Initialize AC_SUBST'd var.
44218         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
44219         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
44220
44221 2009-10-14  Eric Blake  <ebb9@byu.net>
44222
44223         fchdir: avoid infinite recursion in mingw
44224         * lib/fchdir.c (rpl_fstat): Call system fstat, rather than
44225         recursing.
44226
44227         test-stat-time: port to mingw
44228         * tests/test-stat-time.c (force_unlink): Return a value.
44229         (test_ctime) [W32]: Fix compilation error.
44230         (nap): Don't call usleep with too large an argument.  Use
44231         force_unlink.
44232         * doc/pastposix-functions/usleep.texi (usleep): Document the
44233         portability issue.
44234
44235 2009-10-13  Jim Meyering  <meyering@redhat.com>
44236
44237         use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS in modules/*
44238         * modules/pipe-filter-gi: Use AC_CHECK_FUNCS_ONCE, not AC_CHECK_FUNCS.
44239         * modules/pipe-filter-ii: Likewise.
44240         * modules/sys_socket-tests: Likewise.
44241         * modules/tsearch-tests: Likewise.
44242         * Makefile (sc_prefer_ac_check_funcs_once): New rule.
44243         (check): Depend on it.
44244
44245 2009-10-12  Eric Blake  <ebb9@byu.net>
44246
44247         utimens-tests: port to NFS file systems
44248         * tests/test-utimens.h (test_utimens): Refactor utimecmp
44249         comparisons to avoid spurious failures from timestamp drift
44250         between NFS machines.
44251
44252 2009-10-12  Eric Blake  <ebb9@byu.net>
44253
44254         stat-time-tests: minor cleanups
44255         * modules/stat-time-tests (configure.ac): Use AC_CHECK_FUNCS_ONCE.
44256         * tests/test-stat-time.c (nap): Separate assignment from call.
44257         Suggested by Paolo Bonzini and Bruno Haible.
44258
44259         sys_stat: guarantee struct timespec
44260         * lib/sys_stat.in.h (includes): Always include <time.h>
44261         * modules/sys_stat (Depends-on): Add time.
44262         * tests/test-sys_stat.c: Guarantee struct timespec, as well as
44263         mode_t permission values.
44264         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document how to
44265         get at subsecond timestamps.
44266
44267 2009-10-10  Eric Blake  <ebb9@byu.net>
44268
44269         futimens: new module
44270         * modules/futimens: New file.
44271         * lib/futimens.c (futimens): Likewise.
44272         * m4/futimens.m4 (gl_FUNC_FUTIMENS): Likewise.
44273         * lib/utimens.c (futimens): Avoid recursion into rpl_futimens, so
44274         we can work around Linux bugs.
44275         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
44276         * modules/sys_stat (Makefile.am): Substitute them.
44277         * lib/sys_stat.in.h (futimens): Declare it.
44278         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44279         * doc/posix-functions/futimens.texi (futimens): Likewise.
44280         * modules/futimens-tests: New test.
44281         * tests/test-futimens.c: Likewise.
44282
44283         utimens: introduce fdutimens
44284         * lib/utimens.h (fdutimens): New prototype.
44285         * lib/utimens.c (gl_futimens): Move guts...
44286         (fdutimens): ...to new interface.
44287         * tests/test-utimens.c (do_fdutimens): Use it.
44288
44289         utimens: add UTIME_NOW and UTIME_OMIT support
44290         * lib/utimens.c (validate_timespec, update_timespec): New helper
44291         functions.
44292         (gl_futimens, lutimens): Use them.
44293         * modules/utimens (Depends-on): Add gettime, lstat, stat-time,
44294         stdbool, sys_stat.
44295         (Link): Mention resulting library dependency.
44296         * modules/utimecmp (Link): Likewise.
44297         * modules/utimens-tests (Depends-on): Drop stat-time, stdbool.
44298         (Makefile.am): Pick up library dependency.
44299         * lib/sys_stat.in.h (UTIME_NOW, UTIME_OMIT): Guarantee a
44300         definition.
44301         * tests/test-sys_stat.c: Test the definitions.
44302         * doc/posix-headers/sys_stat.texi (sys/stat.h): Document this.
44303         * NEWS: Document library dependency.
44304
44305         utimecmp: support symlink timestamps
44306         * lib/utimecmp.c (utimecmp): Use new interface.  Skip effort of
44307         hashing when possible.  Use pathconf when available.
44308         (SYSCALL_RESOLUTION): Recognize tighter resolution.
44309         * modules/utimecmp (Depends-on): Add lstat.
44310
44311         utimens: add lutimens interface
44312         * lib/utimens.c (lutimens): New function.
44313         * m4/utimens.m4 (gl_UTIMENS): Check for lutimes.
44314         * lib/utimens.h (lutimens): Declare new interface.
44315         * tests/test-utimens.c (main): Enhance test.
44316         * tests/test-lutimens.h (test_lutimens): New file.
44317         * modules/utimens-tests (Files): Distribute it.
44318         (Depends-on): Add symlink.
44319         (configure.ac): Check for usleep.
44320
44321         utimens: validate futimens usage
44322         * lib/utimens.c (gl_futimens): Require valid fd up front, using
44323         fewer syscalls on failure later on.  Avoid compiler warning on
44324         mingw.
44325         * modules/utimens (Depends-on): Add dup2.
44326
44327         utimens: add test
44328         * modules/utimens-tests: New test.
44329         * tests/test-utimens.h: New file.
44330         * tests/test-futimens.h: Likewise.
44331         * tests/test-utimens.c: Likewise.
44332
44333         doc: mention timestamp portability issues
44334         * doc/glibc-functions/lutimes.texi (lutimes): Refer to utimensat
44335         instead.
44336         * doc/posix-functions/utime.texi (utime): Likewise.
44337         * doc/posix-functions/utimes.texi (utimes): Likewise.
44338         * doc/glibc-functions/futimes.texi (futimes): Refer to futimens
44339         instead.
44340         * doc/posix-functions/futimens.texi (futimens): Mention utimens
44341         module.
44342         * doc/posix-functions/utimensat.texi (utimensat): Likewise.
44343         Mention weakness with symlink timestamps.
44344         * doc/glibc-functions/futimesat.texi (futimesat): New file; refer
44345         to utimensat/futimens instead.
44346         * doc/gnulib.texi (Glibc sys/time.h): Include new file.
44347
44348         test-dup2: enhance test
44349         * tests/test-dup2.c (main): Also check AT_FDCWD.
44350
44351         test-stat-time: avoid more spurious failures
44352         * tests/test-stat-time.c (nap): Wait for 15ms rather than 2ms, for
44353         xfs; and avoid race if the two timestamps cross quantization edge.
44354
44355         relocatable: prefer 'file system' over 'filesystem'
44356         * m4/relocatable-lib.m4 (gl_RELOCATABLE_NOP): Use AS_HELP_STRING.
44357         (gl_RELOCATABLE_LIBRARY_BODY): Fix spelling.
44358         * doc/relocatable-maint.texi (Supporting Relocation): Likewise.
44359         * doc/relocatable.texi (Enabling Relocatability): Likewise.
44360         * lib/relocatable.c (compute_curr_prefix): Likewise.
44361
44362 2009-10-10  Jim Meyering  <meyering@redhat.com>
44363
44364         stat-time-tests: check for the usleep function
44365         * modules/stat-time-tests (configure.ac): Now that we test HAVE_USLEEP.
44366
44367 2009-10-10  Bruno Haible  <bruno@clisp.org>
44368
44369         * modules/xnanosleep: Put the Link section after the Include section.
44370
44371 2009-10-09  Eric Blake  <ebb9@byu.net>
44372
44373         dup2: work around FreeBSD 6.1 bug
44374         * m4/dup2.m4 (gl_FUNC_DUP2): Detect bug.
44375         * doc/posix-functions/dup2.texi (dup2): Document it.
44376         Reported by Nelson H. F. Beebe and Jim Meyering.
44377
44378         test-stat-time: port to buggy NFS clients
44379         * tests/test-stat-time.c (main) [W32]: Reduce ifdefs.
44380         (test_ctime): Also skip test if mtime and ctime are skewed.
44381
44382         maint: prefer 'file system' over 'filesystem'
44383         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
44384         * doc/posix-functions/lstat.texi (lstat): Likewise.
44385         * lib/file-has-acl.c (file_has_acl): Likewise.
44386         * lib/fwriteerror.c [TEST]: Likewise.
44387         * tests/test-areadlink.h (test_areadlink): Likewise.
44388         * tests/test-areadlinkat-with-size.c (main): Likewise.
44389         * tests/test-areadlinkat.c (main): Likewise.
44390         * tests/test-canonicalize-lgpl.c (main): Likewise.
44391         * tests/test-canonicalize.c (main): Likewise.
44392         * tests/test-fstatat.c (main): Likewise.
44393         * tests/test-linkat.c (main): Likewise.
44394         * tests/test-lstat.h (test_lstat_func): Likewise.
44395         * tests/test-mkdir.h (test_mkdir): Likewise.
44396         * tests/test-readlink.h (test_readlink): Likewise.
44397         * tests/test-remove.c (main): Likewise.
44398         * tests/test-rename.h (test_rename): Likewise.
44399         * tests/test-renameat.c (main): Likewise.
44400         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44401         * tests/test-symlink.h (test_symlink): Likewise.
44402         * tests/test-symlinkat.c (main): Likewise.
44403         * tests/test-unlink.h (test_unlink_func): Likewise.
44404         * tests/test-unlinkat.c (main): Likewise.
44405
44406         maint: make realtime library usage explicit
44407         * modules/gethrxtime (Link): Mention LIB_GETHRXTIME.
44408         * modules/gettime (Link): Mention LIB_CLOCK_GETTIME.
44409         * modules/settime (Link): Likewise.
44410         * modules/xnanosleep (Link): Mention LIB_NANOSLEEP.
44411
44412         test-stat-time: speed up execution
44413         * tests/test-stat-time.c (test_ctime) [!W32]: Avoid compiler
44414         warning on mingw.
44415         (nap): New helper function.
44416         (prepare_test): Use it to reduce sleep time.
44417         (test_mtime, test_ctime, test_birthtime): Allow for subsecond
44418         execution.
44419         * modules/stat-time-tests (configure.ac): Check for usleep.
44420
44421 2009-10-09  Jim Meyering  <meyering@redhat.com>
44422
44423         selinux-h: always use getfilecon wrappers
44424         * lib/getfilecon.c: New file.
44425         * lib/se-selinux.in.h: Use a better inclusion guard symbol name.
44426         [HAVE_SELINUX_SELINUX_H]: Include-next <selinux/selinux.h>.
44427         [!HAVE_SELINUX_SELINUX_H]: Use better parameter names.
44428         (fgetfilecon): Provide a stub.
44429         * m4/selinux-selinux-h.m4 (gl_HEADERS_SELINUX_SELINUX_H): Don't
44430         AC_SUBST SELINUX_SELINUX_H, since now we're generating that
44431         file unconditionally.
44432         When <selinux/selinux.h> is found, arrange to use wrappers.
44433         * modules/selinux-h (Files): Add getfilecon.c.
44434         (Makefile.am): Substitute include-next-related bits
44435         into the now-always-generated selinux/selinux.h file.
44436         * doc/glibc-functions/lgetfilecon.texi: New file.
44437         * doc/glibc-functions/fgetfilecon.texi: New file.
44438         * doc/glibc-functions/getfilecon.texi: New file.
44439         * doc/glibc-functions/getfilecon-desc.texi: New file.
44440         * doc/gnulib.texi (Glibc selinux/selinux.h): New section, by
44441         which to pull in the new files.
44442         * MODULES.html.sh (Misc): Add selinux-h.
44443
44444 2009-10-08  Jim Meyering  <meyering@redhat.com>
44445
44446         unistd: fix comment typo
44447         * lib/unistd.in.h (euidaccess): Fix a comment typo.
44448
44449 2009-10-08  Eric Blake  <ebb9@byu.net>
44450
44451         areadlink: use SIZE_MAX consistently
44452         * modules/areadlink (Depends-on): Add stdint.
44453         * modules/areadlink-with-size (Depends-on): Likewise.
44454         * lib/areadlink-with-size.c (includes): Drop stdio, since stdlib
44455         gives NULL; drop sys/types, since unistd gives size_t; and add
44456         stdint for SIZE_MAX.
44457         (SIZE_MAX): Rely on headers.
44458         * lib/areadlinkat-with-size.c (includes): Drop stdio, sys/types,
44459         and add stdint.
44460         * lib/areadlink.c (includes): Drop sys/types, and add stdint.
44461         (SIZE_MAX): Likewise.
44462         (INITIAL_BUF_SIZE): Turn into enum.
44463         * lib/areadlinkat.c (INITIAL_BUF_SIZE): Likewise.
44464
44465 2009-10-08  Jim Meyering  <meyering@redhat.com>
44466
44467         areadlinkat: avoid compilation failure
44468         * lib/areadlinkat.c: Include <stdint.h> for use of SIZE_MAX.
44469         Fix typo in comment.
44470
44471 2009-10-07  Eric Blake  <ebb9@byu.net>
44472
44473         areadlinkat-with-size: new module
44474         * modules/areadlinkat-with-size: New module.
44475         * lib/areadlinkat-with-size.c (areadlinkat_with_size): New file.
44476         * lib/areadlink.h (areadlinkat): Declare it.
44477         * MODULES.html.sh (File system functions): Mention it.
44478         * modules/areadlinkat-with-size-tests: New test.
44479         * tests/test-areadlinkat-with-size.c: New file.
44480
44481         xreadlinkat: new module
44482         * modules/xreadlinkat: New module.
44483         * lib/xreadlinkat.c (xreadlinkat): New file.
44484         * lib/xreadlink.h (xreadlinkat): Declare it.
44485         * MODULES.html.sh (File system functions): Mention it.
44486
44487         areadlinkat: new module
44488         * lib/at-func.c (FUNC_FAIL): New define.
44489         (AT_FUNC_NAME, VALIDATE_FLAG): Use it rather than raw -1.
44490         * modules/areadlinkat: New module.
44491         * lib/linkat.c (areadlinkat): Move...
44492         * lib/areadlinkat.c (areadlinkat): ...to new file.
44493         * lib/areadlink.h (areadlinkat): Declare it.
44494         * modules/linkat (Depends-on): Add areadlinkat.
44495         * MODULES.html.sh (File system functions): Mention it.
44496         * modules/areadlinkat-tests: New test.
44497         * tests/test-areadlinkat.c: New file.
44498
44499         areadlink, areadlink-with-size: add tests
44500         * modules/areadlink-tests: New test.
44501         * modules/areadlink-with-size-tests: Likewise.
44502         * tests/test-areadlink.h: New file.
44503         * tests/test-areadlink.c: Likewise.
44504         * tests/test-areadlink-with-size.c: Likewise.
44505
44506         maint: minor cleanups
44507         * lib/fts.c (ATTRIBUTE_UNUSED): Delete; use gnulib-guaranteed
44508         _UNUSED_PARAMETER_ instead.
44509         * lib/getdate.y (ATTRIBUTE_UNUSED): Likewise.
44510         * lib/utimens.c (ATTRIBUTE_UNUSED): Likewise.
44511         * modules/linkat-tests (Files): Distribute test-link.h.
44512
44513         openat, utimens: whitespace cleanup
44514         * lib/openat.c: Prefer space throughout, rather than mix of 8
44515         spaces vs. tabs.
44516         * lib/at-func.c: Likewise.
44517         * lib/utimens.c: Likewise.
44518
44519         openat: avoid using wrong fd
44520         * lib/openat.c (openat_permissive): Reject user's fd if saving the
44521         working directory chooses same fd.
44522         * lib/at-func.c (AT_FUNC_NAME): Likewise.
44523
44524         mkdir, mkdirat: fix cygwin 1.5.x bug
44525         * lib/mkdir.c (rpl_mkdir) [FUNC_MKDIR_DOT_BUG]: Work around bug.
44526         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Move...
44527         * m4/mkdir.m4 (gl_FUNC_MKDIR): ...here, and add check for cygwin
44528         bug.
44529         (gl_PREREQ_MKDIR): Delete unused macro.
44530         * modules/mkdir (Files): Track file rename.
44531         (configure.ac): Update macro name.
44532         * modules/openat (Depends-on): Add mkdir.
44533         * doc/posix-functions/mkdir.texi (mkdir): Document the bug.
44534
44535         mkdir, mkdirat: add tests
44536         * modules/mkdir-tests: New test.
44537         * tests/test-mkdir.h: New file.
44538         * tests/test-mkdir.c: Likewise.
44539         * tests/test-mkdirat.c: Likewise.
44540         * modules/openat-tests (Files): Add new files.
44541         (Makefile.am): Run new test.
44542
44543 2009-10-06  Eric Blake  <ebb9@byu.net>
44544
44545         doc: tweak *at function documentation
44546         * doc/posix-functions/faccessat.texi (faccessat): Mention
44547         known issue with replacement.
44548         * doc/posix-functions/fchdir.texi (fchdir): Likewise.
44549         * doc/posix-functions/linkat.texi (linkat): Likewise.
44550         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
44551         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
44552         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
44553         * doc/posix-functions/renameat.texi (renameat): Likewise.
44554         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
44555
44556         openat: fix GNU/Hurd bug in unlinkat
44557         * m4/openat.m4 (gl_FUNC_OPENAT): Replace unlinkat if unlink is
44558         broken.
44559         * doc/posix-functions/unlink.texi (unlink): Document this.
44560         * doc/posix-functions/unlinkat.texi (unlinkat): Likewise.
44561
44562         fdopendir: fix GNU/Hurd bug
44563         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): Check for Hurd bug in
44564         allowing non-directory fds.
44565         * lib/fdopendir.c (rpl_fdopendir): Work around it.
44566         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): New witness.
44567         * modules/dirent (Makefile.am): Substitute it.
44568         * lib/dirent.in.h (fdopendir): Declare replacement.
44569         * doc/posix-functions/fdopendir.texi (fdopendir): Document this.
44570         * tests/test-fdopendir.c (main): Test something other than
44571         /dev/null, since on Hurd that behaves like a directory.
44572
44573         test-symlink: port to GNU/Hurd
44574         * tests/test-symlink.h (test_symlink): Relax expected errno.
44575
44576         doc: tweak more cygwin information
44577         * doc/glibc-headers/getopt.texi (getopt.h): Cygwin 1.7 getopt is
44578         now compatible with glibc.
44579         * doc/posix-functions/getopt.texi (getopt): Likewise.
44580
44581         getopt-gnu: add another test
44582         * tests/test-getopt_long.h (test_getopt_long_posix): New test, to
44583         guarantee behavior relied on by m4.
44584         * tests/test-getopt.c (main): Use it.
44585         * modules/getopt-posix-tests (Depends-on): Add setenv.
44586         See http://lists.gnu.org/archive/html/bug-m4/2006-09/msg00028.html.
44587
44588         getopt: fix compilation on darwin
44589         * lib/getopt.in.h (includes): Leave breadcrumbs during system
44590         include.
44591         * lib/unistd.in.h (getopt): Use them to avoid recursive include.
44592         Reported by Ludovic Courtès.
44593
44594 2009-10-06  Bruno Haible  <bruno@clisp.org>
44595
44596         * modules/size_max (Description): Discourage its use.
44597         Reported by Simon Josefsson.
44598
44599 2009-10-06  Jim Meyering  <meyering@redhat.com>
44600
44601         linkat: avoid compilation failure
44602         * lib/linkat.c: Include <stdint.h> for use of SIZE_MAX.
44603
44604 2009-10-05  Eric Blake  <ebb9@byu.net>
44605
44606         linkat: support Linux 2.6.17
44607         * m4/linkat.m4 (gl_FUNC_LINKAT): Default to always replacing
44608         linkat on Linux, but allow cache variable override.
44609         * lib/linkat.c (rpl_linkat): Define override.
44610         * modules/linkat (Depends-on): Add symlinkat.
44611         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add new default.
44612         * modules/unistd (Makefile.am): Substitute it.
44613         * lib/unistd.in.h (linkat): Declare replacement.
44614         Reported by Pádraig Brady.
44615
44616         quotearg: port test to systems with C.UTF-8 locale
44617         * tests/test-quotearg.c (struct result_strings): Add another
44618         member, differentiating between C.ASCII and C.UTF-8 handling.
44619         (compare_strings): Add parameter.
44620         (main): Adjust all callers.
44621
44622         getopt: avoid clash with FreeBSD _getopt_internal
44623         * lib/getopt.in.h (_getopt_internal): Override the name.
44624         * lib/getopt_int.h (includes): Pick up any overrides.
44625         Reported by Reuben Thomas.
44626
44627         hash: allow C89 compilation
44628         * lib/hash.c (check_tuning): Move declaration before statement.
44629         Reported by Reuben Thomas.
44630
44631 2009-10-05  Karl Berry  <karl@gnu.org>
44632
44633         * doc/gnulib.texi: @include execvpe.texi, missing for several days.
44634
44635 2009-10-04  Paolo Bonzini  <bonzini@gnu.org>
44636             Bruno Haible  <bruno@clisp.org>
44637
44638         * lib/uname.c (uname): Use a table-driven algorithm to compute
44639         Windows NT versions.
44640
44641 2009-10-04  Bruno Haible  <bruno@clisp.org>
44642
44643         * lib/progname.c (set_program_name): Also remove the "lt-" prefix from
44644         program_invocation_short_name.
44645         * modules/progname (configure.ac): Test for presence of
44646         program_invocation_short_name.
44647         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
44648
44649 2009-10-04  Bruno Haible  <bruno@clisp.org>
44650
44651         * lib/progname.c (set_program_name): Fix comment.
44652         Reported by Jim Meyering.
44653
44654 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44655             Bruno Haible  <bruno@clisp.org>
44656
44657         * lib/uname.c: Include <string.h>.
44658         (uname): Do only one call to GetVersionEx in the common case.
44659
44660 2009-10-03  Paolo Bonzini  <bonzini@gnu.org>
44661             Bruno Haible  <bruno@clisp.org>
44662
44663         * lib/uname.c (VER_PLATFORM_WIN32_CE, PROCESSOR_ARCHITECTURE_AMD64,
44664         PROCESSOR_ARCHITECTURE_IA32_ON_WIN64): Define fallbacks.
44665         (uname): Add support for Windows CE and various non-x86 CPU types.
44666
44667 2009-10-03  Bruno Haible  <bruno@clisp.org>
44668
44669         * gnulib-tool (func_create_testdir): Conditionally emit AM_PROG_CC_C_O
44670         invocation to tests/configure.ac.
44671         Reported by Ian Beckwith <ianb@erislabs.net>.
44672
44673 2009-10-02  Eric Blake  <ebb9@byu.net>
44674
44675         fchdir: avoid compiler warning
44676         * lib/fchdir.c (canonicalize_file_name)
44677         [!HAVE_CANONICALIZE_FILE_NAME]: Avoid compiler warning on mingw.
44678
44679         test-open: support mingw errno values
44680         * tests/test-open.h (test_open): Relax test.
44681         * tests/test-fopen.h (test_fopen): Likewise.
44682         * tests/test-openat-safer.c (main): Likewise.
44683
44684         open: fix opening directory on mingw
44685         * lib/open.c (open) [REPLACE_OPEN_DIRECTORY]: Correct typo.
44686
44687         test-open: on GNU/Hurd, /dev/null is a directory
44688         * tests/test-fopen.h (main): Rename...
44689         (test_fopen): ...to this.  Use a guaranteed non-directory when
44690         confirming open behavior on trailing slash.
44691         * tests/test-openat-safer.c (main): Likewise.
44692         * tests/test-open.h (main): Likewise....
44693         (test_open): ...to this.
44694         * tests/test-fopen.c (main): Adjust caller.
44695         * tests/test-fopen-safer.c (main): Likewise.
44696         * tests/test-open.c (main): Likewise.
44697         * tests/test-fcntl-safer.c (main): Likewise.
44698         Reported by Samuel Thibault.
44699
44700         rename, fchdir: don't ignore chdir failure
44701         * lib/fchdir.c (get_name): Abort on unexpected chdir failure.
44702         * lib/rename.c (rpl_rename) [W32]: Likewise.
44703         (rpl_rename) [RENAME_DEST_EXISTS_BUG]: Avoid one case of losing
44704         an empty destination directory if source cannot be renamed,
44705         although there is still possibility for failure.
44706         * doc/posix-functions/rename.texi (rename): Document the race.
44707         Reported by Jim Meyering.
44708
44709         maint: cleanup whitespace in recent commits
44710         * lib/rename.c (rpl_rename): Remove tabs.
44711         * tests/test-link.h (test_link): Likewise.
44712         * lib/fchdir.c (get_name): Likewise.
44713         Reported by Jim Meyering.
44714
44715 2009-10-02  Ben Pfaff  <blp@gnu.org>
44716
44717         relocatable-prog-wrapper: Add missing dependency on
44718         double-slash-root.
44719         * modules/relocatable-prog-wrapper: Add dependency.
44720         Reported by Ian Beckwith <ianb@erislabs.net>.
44721
44722 2009-10-02  Eric Blake  <ebb9@byu.net>
44723
44724         renameat: fix Solaris bugs
44725         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Replace renameat if rename
44726         needed fixing.
44727         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): New witness.
44728         * modules/stdio (Makefile.am): Substitute it.
44729         * lib/stdio.in.h (renameat): Declare replacement.
44730         * lib/renameat.c (rpl_renameat): Implement fix.
44731
44732         renameat: new module
44733         * modules/renameat: New file.
44734         * lib/renameat.c (renameat): Likewise.
44735         * m4/renameat.m4 (gl_FUNC_RENAMEAT): Likewise.
44736         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
44737         * modules/stdio (Makefile.am): Substitute them.
44738         * lib/stdio.in.h (renameat): Declare it.
44739         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44740         * doc/posix-functions/renameat.texi (renameat): Likewise.
44741         * modules/renameat-tests: New test.
44742         * tests/test-renameat.c: Likewise.
44743
44744         rename: fix mingw bugs
44745         * lib/rename.c (rpl_rename) [W32]: Fix trailing slash and
44746         directory overwrite bugs.
44747
44748         rename: fix another cygwin 1.5 bug
44749         * m4/rename.m4 (gl_FUNC_RENAME): Split cygwin bugs into two
44750         checks.
44751         * lib/rename.c (rpl_rename): Don't penalize NetBSD with
44752         unnecessary cygwin workarounds.  Also work around bug with moving
44753         full directory onto an empty one.
44754         * modules/rename (Depends-on): Add canonicalize-lgpl, rmdir.
44755
44756         rename-dest-slash: merge into rename module
44757         * modules/rename-dest-slash (Status): Mark obsolete.
44758         (Depends-on): Add rename.
44759         (Files): Let rename do it all.
44760         * m4/rename.m4 (gl_FUNC_RENAME): Also test for NetBSD bugs,
44761         subsuming the test from gl_FUNC_RENAME_TRAILING_DEST_SLASH...
44762         * m4/rename-dest-slash.m4: ...so this file can be deleted.
44763         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Delete.
44764         * lib/rename.c (rpl_rename): Update comments.
44765
44766         rename: fix cygwin 1.5.x bugs
44767         * m4/rename.m4 (gl_FUNC_RENAME): Detect cygwin bugs.
44768         * lib/rename.c (rpl_rename): Work around them.
44769         * modules/rename (Depends-on): Add same-inode.
44770
44771         rename: fix Solaris 10 bug
44772         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44773         * lib/rename.c (rpl_rename): Don't cripple POSIX behavior if this
44774         was the only bug.
44775
44776         rename: fix Solaris 9 bug
44777         * lib/rename.c (rpl_rename): Rewrite to recognize trailing slash
44778         on non-directory.  Avoid calling exit.
44779         * modules/rename (Depends-on): Drop xalloc; add lstat, stdbool,
44780         strdup.
44781         * modules/rename-tests (Depends-on): Drop lstat.
44782         * m4/rename.m4 (gl_FUNC_RENAME): Detect Solaris bug.
44783         (gl_PREREQ_RENAME): Delete unused macro.
44784
44785         rename-dest-slash: fix NetBSD bug
44786         * lib/rename-dest-slash.c (rpl_rename_dest_slash): Detect hard
44787         links.
44788         * modules/rename-dest-slash (Depends-on): Add same-inode.
44789
44790         rename-tests: new test, exposes several platform bugs
44791         * modules/rename-tests: New file.
44792         * tests/test-rename.h: Likewise.
44793         * tests/test-rename.c: Likewise.
44794         * doc/posix-functions/rename.texi (rename): Improve documentation,
44795         including bugs that will eventually be fixed in gnulib.
44796
44797 2009-10-02  Paolo Bonzini  <bonzini@gnu.org>
44798
44799         * lib/uname.c: Include <stdlib.h>
44800         (uname): Assume version info is available.
44801
44802 2009-10-02  Jim Meyering  <meyering@redhat.com>
44803
44804         gnu-web-doc-update: correct --help output
44805         * build-aux/gnu-web-doc-update: Make --help output relevant.
44806
44807         gnu-web-doc-update: add standard options
44808         * build-aux/gnu-web-doc-update: Add --help, --version, etc.
44809
44810         gnu-web-doc-update: New module.
44811         Use this script to automatically update the on-line web documentation
44812         for your GNU project at http://www.gnu.org/software/$pkg/manual/
44813         * modules/gnu-web-doc-update: New file, from coreutils.
44814         * build-aux/gnu-web-doc-update: New script.
44815
44816 2009-10-01  Paolo Bonzini  <bonzini@gnu.org>
44817
44818         link: LoadLibrary is not needed.
44819         * lib/link.c: Use GetModuleHandle.
44820
44821 2009-10-01  Eric Blake  <ebb9@byu.net>
44822
44823         getopt: bump serial number
44824         * m4/getopt.m4: Increment serial number, to account for 2009-09-24
44825         change.
44826
44827         tests: tighten link, rmdir, and remove tests
44828         * tests/test-link.h (includes): No need to use <config.h> here.
44829         Clean up if directory hard link was created, otherwise test for
44830         trailing '.'.
44831         * tests/test-linkat.c (main): Simplify.
44832         * tests/test-remove.c (main): Enhance test for trailing '.'.
44833         * tests/test-rmdir.h (test_rmdir_func): Likewise.
44834
44835 2009-10-01  Jim Meyering  <meyering@redhat.com>
44836
44837         maint.mk: requiring "make major" was annoying, for a "minor" release.
44838         What is intended is "stable", to contrast with alpha and beta,
44839         so require "make stable", not "make major".
44840         * build-aux/announce-gen (%valid_release_types): s/major/stable/.
44841         (get_tool_versions): Likewise.
44842         * top/maint.mk (ALL_RECURSIVE_TARGETS): s/major/stable/
44843
44844 2009-09-30  Ben Pfaff  <blp@gnu.org>
44845
44846         Fix broken build of replacement for Windows tmpfile().
44847         * lib/tmpfile.c (tmpfile): Fix call to gen_tempname() to provide
44848         flags argument added along with the 'mkostemp' module.
44849
44850 2009-09-28  Bruno Haible  <bruno@clisp.org>
44851
44852         Avoid identifier clash with POSIX function 'remove' defined as a macro.
44853         * lib/gl_list.h (struct gl_list_implementation): Rename field 'remove'
44854         to 'remove_elt'.
44855         (gl_list_remove): Update.
44856         * lib/gl_list.c (gl_list_remove): Update.
44857         * lib/gl_oset.h (struct gl_oset_implementation): Rename field 'remove'
44858         to 'remove_elt'.
44859         (gl_oset_remove): Update.
44860         * lib/gl_list.c (gl_oset_remove): Update.
44861         Reported by Eric Blake.
44862
44863 2009-09-28  Eric Blake  <ebb9@byu.net>
44864
44865         doc: mention yet more cygwin 1.7 status
44866         * doc/posix-functions/fexecve.texi (fexecve): Now implemented in
44867         cygwin.
44868         * doc/glibc-functions/execvpe.texi (execvpe): New file.
44869         * doc/gnulib.texi (Glibc unistd.h): Mention it.
44870
44871         argp: fix test failure
44872         * lib/argp-help.c (hol_entry_cmp): Don't use _tolower on values
44873         that are not upper-case.  Pass correct range to tolower.
44874
44875 2009-09-27  Jim Meyering  <meyering@redhat.com>
44876
44877         test-yesno: work around sparc-dash here-document infelicity
44878         Without this change, the literal \177 byte in a here document
44879         would make dash 0.5.5.1-3 access uninitialized memory.
44880         * tests/test-yesno.sh: Don't put the \177 byte in the here document.
44881         Instead, use a marker, "@", and filter through tr to create the desired
44882         contents.  Reported as <http://bugs.debian.org/548493> by Kurt Roeckx.
44883
44884 2009-09-27  Bruno Haible  <bruno@clisp.org>
44885
44886         Disable untested support for new flavours of ACLs on AIX.
44887         * lib/file-has-acl.c (file_has_acl): Mark newer AIX code as work in
44888         progress.
44889         * lib/set-mode-acl.c (qset_acl): Likewise.
44890
44891 2008-12-07  Bruno Haible  <bruno@clisp.org>
44892
44893         Add support for new flavours of ACLs on AIX. (Untested.)
44894         * lib/file-has-acl.c [AIX] (acl_nfs4_nontrivial): New function.
44895         (file_has_acl): Add support for newer AIX.
44896         * lib/set-mode-acl.c (qset_acl): Likewise.
44897         * tests/test-sameacls.c (main): Fix use of aclx_get function. Hint by
44898         Rainer Tammer <tammer@tammer.net>.
44899
44900 2009-09-26  Eric Blake  <ebb9@byu.net>
44901
44902         argp: fix compilation of getopt
44903         * lib/getopt.in.h (includes): Use different guard than glibc.
44904         Reported by Sergey Poznyakoff.
44905
44906         doc: mention more cygwin 1.7 status
44907         * doc/posix-functions/access.texi (access): Mention cygwin 1.5
44908         bug.
44909         * doc/posix-functions/execl.texi (execl): Likewise.
44910         * doc/posix-functions/execle.texi (execle): Likewise.
44911         * doc/posix-functions/execlp.texi (execlp): Likewise.
44912         * doc/posix-functions/execv.texi (execv): Likewise.
44913         * doc/posix-functions/execve.texi (execve): Likewise.
44914         * doc/posix-functions/execvp.texi (execvp): Likewise.
44915         * doc/glibc-functions/canonicalize_file_name.texi
44916         (canonicalize_file_name): Cygwin 1.7 now provides this.
44917         * doc/glibc-functions/euidaccess.texi (euidaccess): Likewise.
44918         * doc/posix-functions/fchmodat.texi (fchmodat): Mention limitation
44919         on AT_SYMLINK_NOFOLLOW.
44920
44921 2009-09-24  Eric Blake  <ebb9@byu.net>
44922
44923         test-linkat: make test more robust
44924         * tests/test-linkat.c (main): Avoid collision with EEXIST.
44925
44926         getopt: fix inclusion guards for cygwin
44927         * modules/getopt-posix (Depends-on): Add include-next.
44928         (Makefile.am): Substitute more items in replacement header.
44929         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Also check for native
44930         <getopt.h>.
44931         * lib/getopt.in.h (includes): Use split inclusion guard, and
44932         prefer <getopt.h> over include <unistd.h> when one is present.
44933         (option): Also override name of 'struct option'.
44934
44935         same-inode: revert prior change; it is not yet ready
44936         * NEWS: Undo mention of this change.
44937         * lib/same-inode.h (same-inode.h): Undo tri-state change.
44938         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44939         * lib/cycle-check.c (cycle_check): Likewise.
44940         * lib/same.c (same_name): Likewise.
44941         * lib/at-func2.c (at_func2): Likewise.
44942
44943 2009-09-23  Eric Blake  <ebb9@byu.net>
44944
44945         linkat: new module
44946         * modules/linkat: New file.
44947         * lib/at-func2.c (at_func2): Likewise.
44948         * lib/linkat.c (linkat): Likewise.
44949         * m4/linkat.m4 (gl_FUNC_LINKAT): Likewise.
44950         * lib/openat-priv.h (at_func2): Add declaration.
44951         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
44952         * modules/unistd (Makefile.am): Substitute them.
44953         * lib/unistd.in.h (linkat): Declare it.
44954         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
44955         * doc/posix-functions/linkat.texi (linkat): Likewise.
44956         * doc/posix-functions/link.texi (link): Tweak wording.
44957         * tests/test-link.c (main): Move guts...
44958         * tests/test-link.h (test_link): ...into new file.
44959         * modules/linkat-tests: New test.
44960         * tests/test-linkat.c: Likewise.
44961         * modules/link-tests (Files): Ship new file.
44962         (Depends-on): Add stdbool.
44963
44964         dirname: add library-safe mdir_name
44965         * lib/dirname.h (mdir_name): New prototype.
44966         * lib/dirname.c (dir_name): Move guts...
44967         (mdir_name): ...to new function that avoids xalloc_die.
44968
44969         fchdir: another mingw fix
44970         * modules/fchdir (Depends-on): Drop canonicalize-lgpl.
44971         * lib/fchdir.c (get_name): New helper method; skips canonicalize
44972         on mingw (where it has not yet been ported), and make it optional
44973         elsewhere.
44974         (_gl_register_fd): Use it.
44975
44976         same-inode: make SAME_INODE tri-state, to port to mingw
44977         * NEWS: Mention this change.
44978         * lib/same-inode.h (same-inode.h): Recognize mingw limitation of
44979         st_ino always being 0.
44980         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Update caller.
44981         * lib/cycle-check.c (cycle_check): Likewise.
44982         * lib/same.c (same_name): Likewise.
44983
44984         lstat: avoid mingw compilation error
44985         * m4/lstat.m4 (gl_FUNC_LSTAT): Avoid duplicate calls to
44986         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK, and deal with missing
44987         lstat ourselves.
44988         * lib/lstat.c [!HAVE_LSTAT]: Do nothing if <sys/stat.h> override
44989         was adequate.
44990         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Let lstat module handle
44991         the checks for lstat.
44992         (gl_SYS_STAT_H_DEFAULTS): Set default for HAVE_LSTAT.
44993
44994         link: fix test failure on Solaris 9
44995         * lib/link.c (rpl_link): Don't assume link will catch bogus
44996         trailing slash on source.
44997
44998         test-symlinkat: enhance test
44999         * tests/test-readlink.c (main): Move guts...
45000         * tests/test-readlink.h (test_readlink): ...into new file.
45001         * tests/test-symlink.c (main): Move guts...
45002         * tests/test-symlink.h (test_symlink): ...into new file.
45003         * tests/test-symlinkat.c (main): Use new files for further
45004         coverage.
45005         (do_symlink, do_readlink): New helper functions.
45006         * modules/symlink-tests (Files): Ship new file.
45007         (Depends-on): Add stdbool.
45008         * modules/readlink-tests (Files): Ship new file.
45009         (Depends-on): Add stdbool.
45010         * modules/symlinkat-tests (Files): Use new files.
45011
45012 2009-09-23  Eric Blake  <ebb9@byu.net>
45013
45014         readlink: document portability issue with symlink length
45015         * doc/posix-functions/lstat.texi (lstat): Mention that some file
45016         systems have bogus st_size on symlinks, and mention the
45017         areadlink-with-size module.
45018         * doc/posix-functions/fstatat.texi (fstatat): Likewise.
45019         * doc/posix-functions/readlink.texi (readlink): Mention the
45020         areadlink module, and ERANGE failure.
45021         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
45022         * tests/test-readlink.c (main): Relax test for AIX, HP-UX.
45023
45024         readlink: fix Solaris 9 bug with trailing slash
45025         * lib/readlink.c (rpl_readlink): Work around trailing slash bug.
45026         * m4/readlink.m4 (gl_FUNC_READLINK): Detect the bug.
45027         * doc/posix-functions/readlink.texi (readlink): Document this.
45028         * modules/readlink-tests: New test.
45029         * tests/test-readlink.c: Likewise.
45030
45031         readlink: fix cygwin 1.5.x bug with return type
45032         * m4/readlink.m4 (gl_FUNC_READLINK): Require correct signature.
45033         * lib/unistd.in.h (readlink): Use ssize_t.
45034         * lib/readlink.c (readlink): Likewise.
45035         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45036         * modules/unistd (Makefile.am): Substitute it.
45037         * lib/unistd.in.h (readlink): Declare replacement.
45038         * doc/posix-functions/readlink.texi (readlink): Document this.
45039
45040         symlink: use throughout gnulib
45041         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Omit symlink check.
45042         * lib/symlinkat.c (symlinkat) [!HAVE_SYMLINK]: Document why
45043         symlink is not used.
45044         * modules/symlinkat (Depends-on): Add symlink.
45045         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
45046         * modules/canonicalize-tests (Depends-on): Likewise.
45047         * modules/lstat-tests (Depends-on): Likewise.
45048         * modules/openat-tests (Depends-on): Likewise.
45049         * modules/remove-tests (Depends-on): Likewise.
45050         * modules/rmdir-tests (Depends-on): Likewise.
45051         * modules/unlink-tests (Depends-on): Likewise.
45052         * tests/test-canonicalize-lgpl.c (symlink): Delete stub.
45053         * tests/test-canonicalize.c (symlink): Likewise.
45054         * tests/test-fstatat.c (symlink): Likewise.
45055         * tests/test-lstat.c (symlink): Likewise.
45056         * tests/test-remove.c (symlink): Likewise.
45057         * tests/test-rmdir.c (symlink): Likewise.
45058         * tests/test-unlink.c (symlink): Likewise.
45059         * tests/test-unlinkat.c (symlink): Likewise.
45060
45061         symlink: new module, for Solaris 9 bug
45062         * modules/symlink: New file.
45063         * m4/symlink.m4 (gl_FUNC_SYMLINK): Likewise.
45064         * lib/symlink.c: Likewise.
45065         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add defaults.
45066         * modules/unistd (Makefile.am): Substitute them.
45067         * lib/unistd.in.h (symlink): Declare replacement.
45068         * MODULES.html.sh (File system functions): Mention it.
45069         * doc/posix-functions/symlink.texi (symlink): Likewise.
45070         * modules/symlink-tests: New test.
45071         * tests/test-symlink.c: Likewise.
45072
45073 2009-09-23  Bruno Haible  <bruno@clisp.org>
45074
45075         * gnulib-tool (func_import): Add 'link-warning' to testsrelated_modules
45076         when needed.
45077         Test case: gnulib-tool --import --with-tests atexit inttypes.
45078         Reported by Pauli Miettinen <pauli.miettinen@cs.helsinki.fi>.
45079
45080 2009-09-23  Bruno Haible  <bruno@clisp.org>
45081
45082         * gnulib-tool (func_emit_tests_Makefile_am): Set uses_subdirs in a
45083         subcommand, not in a subshell.
45084
45085 2009-09-22  Eric Blake  <ebb9@byu.net>
45086
45087         unistd: sort replacement declarations
45088         * lib/unistd.in.h: Sort declarations.
45089
45090         open, openat: minor optimization
45091         * lib/open.c (open): If open succeeded, len is non-zero.
45092         * lib/openat.c (rpl_openat): Likewise.
45093
45094         link-follow: ensure correct result
45095         * m4/fcntl_h.m4 (gl_FCNTL_H): Clean up temporary file.
45096         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Likewise, and
45097         distinguish between possible failures.
45098
45099 2009-09-21  Eric Blake  <ebb9@byu.net>
45100
45101         fts: avoid compiler warning
45102         * lib/fts.c (dirent_inode_sort_may_be_useful)
45103         (leaf_optimization_applies) [!__linux__]: Mark unused parameters.
45104
45105 2009-09-19  Bruno Haible  <bruno@clisp.org>
45106
45107         * lib/progreloc.c (canonicalize_file_name): New declaration.
45108
45109 2009-09-19  Eric Blake  <ebb9@byu.net>
45110
45111         link: fix quoting
45112         * m4/link.m4 (gl_FUNC_LINK): Fix shell quoting.
45113
45114         openat: fix openat bugs on Solaris 9
45115         * lib/openat.c (rpl_openat): Work around Solaris 9 bug.
45116         * m4/openat.m4 (gl_FUNC_OPENAT): Also replace openat on Solaris.
45117         * modules/openat (Depends-on): Add open.
45118         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Provide new default.
45119         * modules/fcntl-h (Makefile.am): Substitute it.
45120         * lib/fcntl.in.h (openat): Declare replacement.
45121         * doc/posix-functions/openat.texi (openat): Document this.
45122
45123         openat: move fstatat and unlinkat into correct files
45124         * m4/openat.m4 (gl_FUNC_OPENAT): Adjust which files will be
45125         compiled.
45126         * lib/openat.c (fstatat, unlinkat): Move...
45127         * lib/fstatat.c (fstatat): ...into correct files.
45128         * lib/unlinkat.c (unlinkat): Likewise.
45129
45130         openat: fix unlinkat bugs on Solaris 9
45131         * lib/unlinkat.c (unlinkat): New file.
45132         * modules/openat (Depends-on): Add unlink.
45133         (Files): Distribute it.
45134         * m4/openat.m4 (gl_FUNC_OPENAT): Mark unlinkat for replacement if
45135         trailing slash behavior is broken.
45136         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45137         * modules/unistd (Makefile.am): Substitute it.
45138         * lib/unistd.in.h (unlinkat): Declare replacement.
45139         * doc/posix-functions/unlinkat.texi (unlinkat): Document this.
45140
45141         openat: fix fstatat bugs on Solaris 9
45142         * lib/fstatat.c (rpl_fstatat): Copy recent fixes from lstat and
45143         stat.
45144         * doc/posix-functions/fstatat.texi (fstatat): Document this.
45145
45146         test-unlinkat: enhance test, to expose Solaris 9 bug
45147         * tests/test-unlink.c (main): Factor guts...
45148         * tests/test-unlink.h (test_rmdir_func): ...into new file.
45149         * tests/test-rmdir.h (test_rmdir_func): Add parameter.
45150         * tests/test-rmdir.c (main): Adjust caller.
45151         * tests/test-unlinkat.c (main): Likewise.  Add unlink tests.
45152         (unlinker): New helper function.
45153         (rmdirat): Enhance check.
45154         * modules/rmdir-tests (Depends-on): Add stdbool.
45155         * modules/unlink-tests (Depends-on): Likewise.
45156         (Files): Add test-unlink.h.
45157         * modules/openat-tests (Files): Likewise.
45158         (Depends-on): Add unlinkdir.
45159
45160         test-fstatat: new test, to expose Solaris 9 bugs
45161         * tests/test-stat.c (main): Factor guts...
45162         * tests/test-stat.h (test_stat_func): ...into new file.
45163         * tests/test-lstat.c (main): Factor guts...
45164         * tests/test-lstat.h (test_lstat_func): ...into new file.
45165         * tests/test-fstatat.c: New file.
45166         * modules/stat-tests (Files): Add test-stat.h.
45167         * modules/lstat-tests (Files): Add test-lstat.h.
45168         (Depends-on): Add stdbool.
45169         * modules/openat-tests (Depends-on): Add pathmax.
45170         (Files): Add test-lstat.h, test-stat.h, test-fstatat.c.
45171         (Makefile.am): Run new test.
45172
45173         remove: new module, for mingw and Solaris 9 bugs
45174         * modules/remove: New file.
45175         * lib/remove.c: Likewise.
45176         * m4/remove.m4 (gl_FUNC_REMOVE): Likewise.
45177         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add witnesses.
45178         * modules/stdio (Makefile.am): Use them.
45179         * lib/stdio.in.h (remove): Declare replacement.
45180         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45181         * doc/posix-functions/remove.texi (remove): Likewise.
45182         * modules/remove-tests: New test.
45183         * tests/test-remove.c: Likewise.
45184
45185         unlink: new module, for Solaris 9 bug
45186         * modules/unlink: New file.
45187         * lib/unlink.c: Likewise.
45188         * m4/unlink.m4 (gl_FUNC_UNLINK): Likewise.
45189         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45190         * modules/unistd (Makefile.am): Use them.
45191         * lib/unistd.in.h (stat): Declare replacement.
45192         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45193         * doc/posix-functions/unlink.texi (unlink): Likewise.
45194         * modules/unlink-tests: New test.
45195         * tests/test-unlink.c: Likewise.
45196
45197         lstat: fix Solaris 9 bug
45198         * lib/lstat.c (lstat): Also check for trailing slash on
45199         non-symlink, non-directories.  Use stat module to simplify logic.
45200         * doc/posix-functions/lstat.texi (lstat): Document it.
45201         * modules/lstat-tests (Depends-on): Add errno, same-inode.
45202         (configure.ac): Check for symlink.
45203         * tests/test-lstat.c (main): Add more tests.
45204
45205         stat: add as dependency to other modules
45206         * modules/chown (Depends-on): Add stat.
45207         * modules/euidaccess (Depends-on): Likewise.
45208         * modules/fchdir (Depends-on): Likewise.
45209         * modules/isdir (Depends-on): Likewise.
45210         * modules/link (Depends-on): Likewise.
45211         * modules/lstat (Depends-on): Likewise.
45212         * modules/mkdir-p (Depends-on): Likewise.
45213         * modules/modechange (Depends-on): Likewise.
45214         * modules/open (Depends-on): Likewise.
45215         * modules/readlink (Depends-on): Likewise.
45216         * modules/same (Depends-on): Likewise.
45217
45218         stat: fix Solaris 9 bug
45219         * m4/stat.m4 (gl_FUNC_STAT): Detect Solaris 9 bug with trailing
45220         slash.
45221         * lib/stat.c (rpl_stat): Work around it.
45222         * doc/posix-functions/stat.texi (stat): Update documentation.
45223
45224         stat: new module, for mingw bug
45225         * modules/stat: New file.
45226         * lib/stat.c: Likewise.
45227         * m4/stat.m4 (gl_FUNC_STAT): Likewise.
45228         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45229         * modules/sys_stat (Makefile.am): Use them.
45230         * lib/sys_stat.in.h (stat): Declare replacement.
45231         * lib/openat.c (fstatat): Deal with lstat and stat being function
45232         macros.
45233         * modules/openat (Depends-on): Add inline.
45234         * MODULES.html.sh (systems lacking POSIX:2008): Mention module.
45235         * doc/posix-functions/stat.texi (stat): Likewise.
45236         * modules/stat-tests: New test.
45237         * tests/test-stat.c: Likewise.
45238
45239 2009-09-19  Jim Meyering  <meyering@redhat.com>
45240
45241         syntax-check: detect unnecessary inclusion of canonicalize.h
45242         * top/maint.mk (sc_prohibit_canonicalize_without_use): New rule.
45243
45244 2009-09-19  Eric Blake  <ebb9@byu.net>
45245
45246         canonicalize-lgpl: adjust clients to use correct header
45247         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
45248         (gl_CANONICALIZE_LGPL): Use correct shell quoting.
45249         * modules/relocatable-prog-wrapper (Files): Drop canonicalize.h.
45250         * lib/fchdir.c (includes): Use <stdlib.h>, not "canonicalize.h".
45251         * lib/progreloc.c (includes): Likewise.
45252
45253 2009-09-19  Jim Meyering  <meyering@redhat.com>
45254
45255         test-posixtm.c: correct a comment
45256         * tests/test-posixtm.c: Correct first-line comment.
45257         Spotted by Eric Blake.
45258
45259 2009-09-16  Jim Meyering  <meyering@redhat.com>
45260
45261         posixtm-tests: make T const-correct; add a test case
45262         * tests/test-posixtm.c (T): Declare const.
45263         Add a test for -(2^31+1).
45264         Remove useless can-succeed-only-in-2002 test.
45265
45266         posixtm-tests: adjust the sole failing test
45267         * tests/test-posixtm.c: Correct 0000-01-01 00:00:00 test so that
45268         expected output matches what mktime now produces.  Cross-checked via
45269         erlang's calendar:datetime_to_gregorian_seconds({{1970,1,1},{0,0,0}})
45270
45271         posixtm: move #ifdef'd tests into a new module
45272         * lib/posixtm.c (posixtime): Remove #ifdef'd tests.  Move to...
45273         * tests/test-posixtm.c: ... this new file.
45274         * modules/posixtm-tests: New module.
45275
45276 2009-09-19  Eric Blake  <ebb9@byu.net>
45277
45278         openat: simplify use of at-func.c
45279         * lib/at-func.c (includes): Include prerequisites here, to
45280         simplify requirements on client files.
45281         * lib/openat-priv.h: Add double-inclusion guard.
45282         * lib/faccessat.c (includes): Simplify.
45283         * lib/fchmodat.c (includes): Likewise.
45284         * lib/fchownat.c (includes): Likewise.
45285         * lib/mkdirat.c (includes): Likewise.
45286         * lib/mkfifoat.c (includes): Likewise.
45287         * lib/symlinkat.c (includes): Likewise.
45288
45289         openat: allow return of fd 0
45290         * modules/chdir-long (Depends-on): Relax openat-safer to openat.
45291         * modules/save-cwd (Depends-on): Replace fcntl-safer with
45292         unistd-safer.
45293         * lib/chdir-long.c (includes): Replace "fcntl--.h" with
45294         <fcntl.h>; this module does not leak fds.
45295         * lib/openat.c (includes): Do not use "fcntl_safer"; plain openat
45296         must be allowed to return 0, leaving openat_safer to add the
45297         safety.
45298         (openat_permissive): Avoid writing to just-opened fd 2 if
45299         restoring the current directory fails.
45300         * lib/openat-die.c (openat_restore_fail): Add comment.
45301         * lib/save-cwd.c (includes): Make "fcntl--.h" conditional.
45302         (save_cwd): Guarantee safe fd, but without use of open_safer.
45303         * tests/test-openat.c: New test.
45304         * modules/openat-tests (Files, Makefile.am): Distribute and build
45305         new file.
45306
45307         relocatable-prog-wrapper: fix build
45308         * modules/relocatable-prog-wrapper (Files): Update name of
45309         canonicalize m4 file, broken on 2009-09-17.
45310         Reported by emad hajjar <aleppos@hotmail.com>.
45311
45312 2009-09-19  Bruno Haible  <bruno@clisp.org>
45313
45314         * lib/safe-alloc.h: Use the standard header with GPL copyright.
45315         * lib/safe-alloc.c: Likewise.
45316         Reported by Ian Beckwith <ianb@erislabs.net>.
45317
45318 2009-09-18  Bruno Haible  <bruno@clisp.org>
45319
45320         * gnulib-tool: Add advice to "cannot find configure.ac" error message.
45321         Reported by <erobles@sensacd.com.mx>.
45322
45323 2009-09-17  Eric Blake  <ebb9@byu.net>
45324
45325         canonicalize: in CAN_ALL_BUT_LAST, allow trailing slash
45326         * lib/canonicalize.c (canonicalize_filename_mode): Skip trailing
45327         slashes when checking if last component is missing.
45328         * tests/test-canonicalize.c (main): Test this.
45329
45330         canonicalize, canonicalize-lgpl: honor // if distinct from /
45331         * modules/canonicalize (Files): Add double-slash-root.m4.
45332         * modules/canonicalize-lgpl (Files): Likewise.
45333         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE)
45334         (gl_CANONICALIZE_LGPL_SEPARATE): Add dependency.
45335         * lib/canonicalize.c (DOUBLE_SLASH_IS_DISTINCT_ROOT): Provide
45336         fallback definition.
45337         (canonicalize_filename_mode): Use it to protect //.
45338         * lib/canonicalize-lgpl.c (DOUBLE_SLASH_IS_DISTINCT_ROOT)
45339         (__realpath): Likewise.
45340         * tests/test-canonicalize.c (main): Test this.
45341         * tests/test-canonicalize-lgpl.c (main): Likewise.
45342         * modules/canonicalize-tests (Depends-on): Add same-inode.
45343         * modules/canonicalize-lgpl-tests (Depends-on): Likewise.
45344
45345         canonicalize-lgpl: fix glibc bug with trailing slash
45346         * m4/canonicalize-lgpl.m4: Move contents...
45347         * m4/canonicalize.m4: ...here.
45348         (gl_CANONICALIZE_LGPL): Factor realpath check...
45349         (gl_FUNC_REALPATH_WORKS): ...into new macro.  Enhance to catch
45350         glibc 2.3.5 bug, fixed 2005-04-27.
45351         (gl_FUNC_CANONICALIZE_FILENAME_MODE): Use it.
45352         (gl_PREREQ_CANONICALIZE_LGPL): Inline...
45353         (gl_CANONICALIZE_LGPL_SEPARATE): ...into this macro.
45354         * modules/canonicalize-lgpl (Files): Manage file rename.
45355         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45356         * modules/stdlib (Makefile.am): Substitute witness.
45357         * lib/stdlib.in.h (canonicalize_file_name): Declare if replacement
45358         is needed.
45359         * lib/canonicalize-lgpl.c: Also compile if canonicalize_file_name
45360         replacement is required.
45361         * lib/canonicalize.c (canonicalize_file_name): Likewise.
45362         * doc/glibc-functions/canonicalize_file_name.texi
45363         (canonicalize_file_name): Document this.
45364         * doc/posix-functions/realpath.texi (realpath): Likewise.
45365
45366         canonicalize-lgpl: reject non-directory with trailing slash
45367         * lib/canonicalize-lgpl.c (__realpath): Synchronize with glibc.
45368         * tests/test-canonicalize-lgpl.c (main): Enhance test.  This
45369         catches failures in glibc 2.3.5.
45370         * tests/test-canonicalize.c (main): Likewise.
45371
45372         canonicalize-lgpl: use native realpath if it works
45373         * lib/canonicalize-lgpl.c (realpath): Guard with
45374         FUNC_REALPATH_WORKS.
45375         * lib/stdlib.in.h (realpath): Make declaration optional based on
45376         HAVE_REALPATH.
45377         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Check whether
45378         native realpath works.
45379         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide default.
45380         * modules/stdlib (Makefile.am): Substitute witness.
45381
45382         canonicalize, canonicalize-lgpl: use <stdlib.h>
45383         * modules/canonicalize-lgpl (Files): Drop canonicalize.h.
45384         (Include): Mention <stdlib.h>.
45385         (configure.ac): Mention functions we provide.
45386         * modules/canonicalize (configure.ac): Likewise.
45387         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL): Always replace
45388         realpath if canonicalize_file_name is missing.
45389         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Provide defaults.
45390         * modules/stdlib (Makefile.am): Substitute witnesses.
45391         * lib/stdlib.in.h (canonicalize_file_name, realpath): Declare.
45392         * lib/canonicalize-lgpl.c (includes): Adjust accordingly.
45393         * lib/canonicalize.h (canonicalize_file_name): Drop declaration.
45394         * NEWS: Document this.
45395         * doc/glibc-functions/canonicalize_file_name.texi
45396         (canonicalize_file_name): Likewise.
45397         * doc/posix-functions/realpath.texi (realpath): Likewise.
45398         * tests/test-canonicalize-lgpl.c (includes): Use <stdlib.h>.
45399
45400         test-canonicalize: consolidate into single C program
45401         * tests/test-canonicalize.sh: Delete; move setup into...
45402         * tests/test-canonicalize.c (main): ...the program, making it
45403         easier to run in debugger.  Add some tests.
45404         * modules/canonicalize-tests (Files): Remove unused file.
45405         (Depends-on): Add progname.
45406         (configure.ac, Makefile.am): Simplify.
45407
45408         test-canonicalize-lgpl: consolidate into single C program
45409         * tests/test-canonicalize-lgpl.sh: Delete; move setup into...
45410         * tests/test-canonicalize-lgpl.c (main): ...the program, making it
45411         easier to run in debugger.  Add some tests.
45412         * modules/canonicalize-lgpl-tests (Files): Remove unused file.
45413         (configure.ac, Makefile.am): Simplify.
45414
45415         canonicalize: avoid resolvepath
45416         * m4/canonicalize.m4 (gl_FUNC_CANONICALIZE_FILENAME_MODE): Delete
45417         unnecessary checks.
45418         * lib/canonicalize.c (includes): Simplify.
45419         (canonicalize_file_name): Drop resolvepath implementation.
45420         * modules/canonicalize (Depends-on): Drop filenamecat.
45421
45422         canonicalize: don't lose errno
45423         * lib/canonicalize.c (canonicalize_filename_mode): Protect errno
45424         over calls to free.
45425
45426         canonicalize: simplify errno handling
45427         * lib/canonicalize.c (__set_errno): Delete macro, and use direct
45428         assignment.
45429
45430         canonicalize, canonicalize-lgpl: update module dependencies
45431         * modules/canonicalize (Depends-on): Add extensions, lstat,
45432         pathmax, stdlib.
45433         (Files): Drop pathmax.h.
45434         (configure.ac): Adjust macro name.
45435         * modules/canonicalize-lgpl (Depends-on): Add errno, extensions,
45436         lstat, stdlib, sys_stat.
45437         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Rename...
45438         (gl_FUNC_CANONICALIZE_FILENAME_MODE): ...to this, and require
45439         extensions.
45440         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL)
45441         (gl_CANONICALIZE_LGPL_SEPARATE): Require extensions.
45442         (gl_PREREQ_CANONICALIZE_LGPL): Assume unistd.h.
45443         * lib/canonicalize.h (canonicalize_file_name): Use <stdlib.h>
45444         declaration, if available.
45445         * lib/canonicalize-lgpl.c [HAVE_READLINK]: Delete this condition;
45446         we can rely on the readlink module.
45447         (MAXSYMLINKS): Also consult SYMLOOP_MAX.
45448         (includes): Use <unistd.h> unconditionally.
45449
45450 2009-09-17  Eric Blake  <ebb9@byu.net>
45451
45452         maint: make Include sections of modules consistent
45453         * modules/alloca: Use only header name; no need to list #include.
45454         * modules/alloca-opt: Likewise.
45455         * modules/arpa_inet: Likewise.
45456         * modules/canon-host: Likewise.
45457         * modules/configmake: Likewise.
45458         * modules/dirent: Likewise.
45459         * modules/eealloc: Likewise.
45460         * modules/environ: Likewise.
45461         * modules/fchdir: Likewise.
45462         * modules/fcntl: Likewise.
45463         * modules/fcntl-h: Likewise.
45464         * modules/gethrxtime: Likewise.
45465         * modules/gettime: Likewise.
45466         * modules/ignore-value: Likewise.
45467         * modules/inet_ntop: Likewise.
45468         * modules/inet_pton: Likewise.
45469         * modules/inttypes: Likewise.
45470         * modules/isnand-nolibm: Likewise.
45471         * modules/isnanf-nolibm: Likewise.
45472         * modules/mbchar: Likewise.
45473         * modules/mbfile: Likewise.
45474         * modules/mbiter: Likewise.
45475         * modules/mbuiter: Likewise.
45476         * modules/netdb: Likewise.
45477         * modules/netinet_in: Likewise.
45478         * modules/nproc: Likewise.
45479         * modules/pagealign_alloc: Likewise.
45480         * modules/poll: Likewise.
45481         * modules/printf-frexp: Likewise.
45482         * modules/pthread: Likewise.
45483         * modules/putenv: Likewise.
45484         * modules/random_r: Likewise.
45485         * modules/relocatable-prog: Likewise.
45486         * modules/search: Likewise.
45487         * modules/select: Likewise.
45488         * modules/selinux-h: Likewise.
45489         * modules/settime: Likewise.
45490         * modules/signal: Likewise.
45491         * modules/size_max: Likewise.
45492         * modules/socklen: Likewise.
45493         * modules/ssize_t: Likewise.
45494         * modules/stdarg: Likewise.
45495         * modules/stdbool: Likewise.
45496         * modules/stddef: Likewise.
45497         * modules/stdint: Likewise.
45498         * modules/stdio: Likewise.
45499         * modules/stdlib: Likewise.
45500         * modules/string: Likewise.
45501         * modules/strings: Likewise.
45502         * modules/sys_file: Likewise.
45503         * modules/sys_ioctl: Likewise.
45504         * modules/sys_select: Likewise.
45505         * modules/sys_socket: Likewise.
45506         * modules/sys_stat: Likewise.
45507         * modules/sys_time: Likewise.
45508         * modules/sys_times: Likewise.
45509         * modules/sys_utsname: Likewise.
45510         * modules/sys_wait: Likewise.
45511         * modules/sysexits: Likewise.
45512         * modules/time: Likewise.
45513         * modules/times: Likewise.
45514         * modules/tmpfile: Likewise.
45515         * modules/trim: Likewise.
45516         * modules/unistd: Likewise.
45517         * modules/wchar: Likewise.
45518         * modules/wctype: Likewise.
45519
45520 2009-09-17  Bruno Haible  <bruno@clisp.org>
45521
45522         Make getdate.y compile on QNX and NetBSD 5 / i386.
45523         * m4/getdate.m4 (gl_GETDATE): Conditionally define
45524         TIME_T_FITS_IN_LONG_INT.
45525         * lib/getdate.y (long_time_t): New type.
45526         (relative_time): Change type of 'seconds' field to long_time_t.
45527         (get_date): Update types of local variables. Check against overflow
45528         during conversion from long_time_t to time_t.
45529         Reported by Matt Kraai <kraai@ftbfs.org>
45530         and Hasso Tepper <hasso@netbsd.org>.
45531
45532 2009-09-17  Bruno Haible  <bruno@clisp.org>
45533
45534         * modules/COPYING: Update copyright years.
45535         * modules/README: Likeiwse.
45536         * doc/gnulib-intro.texi (Copyright): Use a wildcard year.
45537         Reported by Ian Beckwith <ianb@erislabs.net>.
45538
45539 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45540
45541         * users.txt: Update references for gnuit package.
45542
45543 2009-09-17  Ian Beckwith  <ianb@erislabs.net>  (tiny change)
45544
45545         * m4/getdelim.m4: Fix typo in copyright line.
45546
45547 2009-09-17  Bruno Haible  <bruno@clisp.org>
45548
45549         * lib/atoll.c: Use the standard header with GPL copyright.
45550         * lib/argz.in.h: Likewise.
45551         * lib/glob.c: Likewise.
45552         * lib/glob-libc.h: Likewise.
45553         * lib/random_r.c: Likewise.
45554         * lib/siglist.h: Likewise.
45555         * lib/strsignal.c: Likewise.
45556         Reported by Ian Beckwith <ianb@erislabs.net>.
45557
45558 2009-09-17  Eric Blake  <ebb9@byu.net>
45559
45560         rmdir: ensure correct dependency order
45561         * m4/rmdir.m4 (gl_FUNC_RMDIR): Require unistd defaults.
45562
45563 2009-09-17  Bruno Haible  <bruno@clisp.org>
45564
45565         Disable assertion that fails on NetBSD 5 / i386.
45566         * lib/mktime.c (ydhms_diff): Disable assertion about time_t size.
45567         Reported by Sam Steingold <sds@gnu.org>
45568         and Hasso Tepper <hasso@netbsd.org>.
45569
45570 2009-09-16  Eric Blake  <ebb9@byu.net>
45571
45572         unlinkdir: port to mingw
45573         * m4/unlinkdir.m4 (gl_UNLINKDIR): Add mingw to list of platforms
45574         on which no one can unlink a directory.
45575
45576         stdlib: sort witness names
45577         * modules/stdlib (Makefile.am): Sort replacements.
45578         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
45579         * lib/stdlib.in.h: Likewise.
45580
45581         parse-duration-tests: avoid link failure
45582         * modules/parse-duration-tests (test_parse_duration_LDADD): Add
45583         LIBINTL.
45584         Reported by Tom G. Christensen.
45585
45586         openat-tests: ensure unlinkat behaves like rmdir
45587         * tests/test-rmdir.c (main): Factor guts...
45588         * tests/test-rmdir.h (test_rmdir_func): ...into new file.
45589         * modules/rmdir-tests (Files): Ship new file.
45590         * modules/openat-tests: New test.
45591         * tests/test-unlinkat.c: Likewise.
45592
45593         rmdir-errno: mark obsolete, it is unsafe for cross-compilation
45594         * modules/rmdir-errno (Status, Notice): Now obsolete.
45595
45596         rmdir: work around cygwin 1.5.x and mingw bugs
45597         * m4/rmdir.m4 (gl_FUNC_RMDIR): Detect the bugs.
45598         * lib/rmdir.c (rmdir): Work around it.
45599         * modules/rmdir (Status, Notice): No longer obsolete.
45600         (Files): Add dos.m4.
45601         (Depends-on): Add unistd.
45602         (configure.ac): Set witnesses.
45603         (License): Relax to LGPLv2+.
45604         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set defaults.
45605         * modules/unistd (Makefile.am): Substitute witnesses.
45606         * lib/unistd.in.h (rmdir): Declare replacement.
45607         * doc/posix-functions/rmdir.texi (rmdir): Document this.
45608         * modules/rmdir-tests: New tests.
45609         * tests/test-rmdir.c: Likewise.
45610
45611 2009-09-15  Eric Blake  <ebb9@byu.net>
45612
45613         fchdir: improve use of replacement functions
45614         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Set appropriate witnesses.
45615         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add REPLACE_FSTAT.
45616         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add REPLACE_OPENDIR,
45617         REPLACE_CLOSEDIR.
45618         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_DUP.
45619         * modules/sys_stat (Makefile.am): Substitute correct witness.
45620         * modules/dirent (Makefile.am): Likewise.
45621         * modules/unistd (Makefile.am): Likewise.
45622         * lib/dirent.in.h (opendir, closedir): Use better witnesses.
45623         * lib/unistd.in.h (dup): Likewise.
45624         * lib/sys_stat.in.h (fstat): Likewise.
45625
45626         maint: ignore gnulib-tool temp files
45627         * .gitignore: Ignore files created during gnulib-tool --test.
45628
45629 2009-09-13  Jim Meyering  <meyering@redhat.com>
45630
45631         posixtm: don't reject a time that specify "60" as the number of seconds
45632         * lib/posixtm.c (posixtime): The code to reject invalid dates
45633         would also reject a time specified with the .60 suffix.
45634         But POSIX allows that, in order to accommodate leap seconds.
45635         So don't reject it.
45636         (main): Adjust tests accordingly.
45637         * modules/posixtm (Depends-on): Add stpcpy.
45638
45639 2009-09-11  Jim Meyering  <meyering@redhat.com>
45640
45641         announce-gen: include [$release_type] in emitted Subject:
45642         * build-aux/announce-gen (get_tool_versions): Include [$release_type],
45643         e.g., [stable] in the emitted Subject: line.
45644
45645 2009-09-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
45646
45647         Remove obsolete macros from several modules.
45648         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Replace
45649         obsolete Autoconf macros with their modern counterparts.
45650         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): Likewise.
45651         * m4/gc-camellia.m4 (gl_GC_CAMELLIA): Likewise.
45652         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Likewise.
45653         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
45654         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Likewise.
45655         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
45656         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
45657         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
45658         * m4/poll.m4 (gl_FUNC_POLL): Likewise.
45659         * m4/readline.m4 (gl_FUNC_READLINE): Likewise.
45660         * m4/round.m4 (gl_FUNC_ROUND): Likewise.
45661         * m4/roundf.m4 (gl_FUNC_ROUNDF): Likewise.
45662         * m4/select.m4 (gl_FUNC_SELECT): Likewise.
45663         * m4/sockets.m4 (gl_SOCKETS): Likewise.
45664         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Likewise.
45665         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Likewise.
45666         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
45667         * m4/time_r.m4 (gl_TIME_R): Likewise.
45668         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Likewise.
45669         * m4/vararrays.m4 (AC_C_VARARRAYS): Likewise.
45670         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
45671
45672         Fix copyright header in build-aux scripts.
45673         * build-aux/git-version-gen: Fix copyright header to match GPLv3
45674         recommendation.
45675         * build-aux/ncftpput-ftp: Likewise.
45676         * build-aux/update-copyright: Likewise.
45677
45678 2009-09-09  Eric Blake  <ebb9@byu.net>
45679
45680         test-link: allow Linux choice of errno
45681         * tests/test-link.c (main): Relax test for alternate error.
45682
45683         strndup: fix improper m4 caching
45684         * m4/strndup.m4 (gl_FUNC_STRNDUP): Rework to avoid side effects
45685         inside AC_CACHE_CHECK.  Use REPLACE_STRNDUP, not HAVE_STRNDUP.
45686         (gl_PREREQ_STRNDUP): Delete.
45687         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Update default.
45688         * modules/string (Makefile.am): Substitute it.
45689         * lib/string.in.h (strndup): Modernize prototype.
45690
45691         getcwd: port to mingw
45692         * m4/getcwd.m4 (gl_FUNC_GETCWD): Mingw directories are very
45693         different from the POSIX assumptions made throughout the getcwd
45694         module; fortunately, the mingw getcwd does not need replacement.
45695         (gl_FUNC_GETCWD_NULL): Skip test on mingw.
45696         * modules/getcwd-tests: New test.
45697         * tests/test-getcwd.c: Likewise.
45698
45699         link: fix platform bugs
45700         * m4/link.m4 (gl_FUNC_LINK): Detect Solaris and Cygwin bugs.
45701         * lib/link.c (link): Work around them.  Fix related mingw bug.
45702         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add REPLACE_LINK.
45703         * modules/unistd (Makefile.am): Substitute it.
45704         * lib/unistd.in.h (link): Declare replacement.
45705         * doc/posix-functions/link.texi (link): Document this.
45706         * modules/link (Depends-on): Add strdup-posix, sys_stat.
45707
45708         test-link: consolidate into single C program, test more cases
45709         * tests/test-link.sh: Delete.
45710         * tests/test-link.c: Test more error conditions.  Exposes bugs on
45711         at least Cygwin and Solaris.
45712         * modules/link-tests (Files): Remove unused file.
45713         (Depends-on): Add errno, sys_stat.
45714         (Makefile.am): Simplify.
45715
45716 2009-09-08  Bruno Haible  <bruno@clisp.org>
45717
45718         Work around towlower, towupper bug on mingw.
45719         * lib/wctype.in.h (towlower, towupper) [__MINGW32__]: New replacements.
45720         * m4/wctype.m4 (gl_WCTYPE_H): Replace <wctype.h> also on mingw.
45721         * doc/posix-functions/towlower.texi: Mention the mingw bug.
45722         * doc/posix-functions/towupper.texi: Likewise.
45723         Reported by Eric Blake.
45724
45725 2009-09-08  Jim Meyering  <meyering@redhat.com>
45726
45727         build: don't try to run autoheader if we don't use it
45728         * build-aux/bootstrap: Define AUTOHEADER=true when AC_CONFIG_HEADERS
45729         is not used in configure.ac.
45730
45731 2009-09-08  Eric Blake  <ebb9@byu.net>
45732
45733         euidaccess: fix compilation error
45734         * lib/euidaccess.c (includes): Add <fcntl.h>, for AT_EACCESS.
45735
45736         rawmemchr: relax license
45737         * modules/rawmemchr (License): Derived from glibc, so LGPLv2+ is
45738         okay.
45739         Reported by Jim Meyering.
45740
45741         mkfifoat: new module
45742         * modules/mkfifoat: New file.
45743         * lib/mkfifoat.c: Likewise.
45744         * m4/mkfifoat.m4 (gl_FUNC_MKFIFOAT): Likewise.
45745         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Add witnesses.
45746         * modules/sys_stat (Makefile.am): Use them.
45747         * lib/sys_stat.in.h (mkfifoat, mknodat): Declare them.
45748         * MODULES.html.sh (File system functions): Mention module.
45749         * doc/posix-functions/mkfifoat.texi (mkfifoat): Likewise.
45750         * doc/posix-functions/mknodat.texi (mknodat): Likewise.
45751         * modules/mkfifoat-tests: New test.
45752         * tests/test-mkfifoat.c: Likewise.
45753
45754         strchrnul: relax license
45755         * modules/strchrnul (License): Derived from glibc, so LGPLv2+ is
45756         okay.
45757         Reported by Jim Meyering.
45758
45759 2009-09-08  Eric Blake  <ebb9@byu.net>
45760
45761         fstatat: fix compilation on Solaris
45762         * lib/fstatat.c (includes): Add fcntl.h.
45763         Reported by Pádraig Brady.
45764
45765 2009-09-07  Eric Blake  <ebb9@byu.net>
45766
45767         rename: modernize replacement
45768         * modules/rename (Depends-on): Add stdio.
45769         (configure.ac): Declare witness.
45770         * m4/rename.m4 (gl_FUNC_RENAME): Ensure dependency order, and let
45771         stdio take care of replacement.
45772         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
45773         * modules/stdio (Makefile.am): Substitute them.
45774         * lib/stdio.in.h (rename): Declare replacement.
45775         * lib/rename.c (includes): Allow cross-compilation to non-windows
45776         machines.
45777         * doc/posix-functions/rename.texi (rename): Improve
45778         documentation.
45779
45780         stdio: sort witness names
45781         * modules/stdio (Makefile.am): Sort replacements.
45782         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
45783         * lib/stdio.in.h: Likewise.
45784
45785         getcwd: minor cleanups
45786         * lib/getcwd.c (AT_FDCWD): Delete; rely on <fcntl.h> instead.
45787         (is_ENAMETOOLONG): Delete; ENAMETOOLONG is portable.
45788
45789         openat: provide more convenience names
45790         * modules/faccessat (configure.ac): Add C witness.
45791         * lib/unistd.in.h (readlinkat): Fix typo.
45792         * lib/openat.h (statat, lstatat, accessat, euidaccessat): New
45793         convenience wrappers.
45794         * top/maint.mk (sc_prohibit_openat_without_use): Allow these
45795         wrappers in syntax checks.
45796
45797 2009-09-06  Eric Blake  <ebb9@byu.net>
45798
45799         doc: fix comments in recent patches
45800         * lib/faccessat.c: Mention correct function.
45801         * lib/fchmodat.c: Likewise.
45802         * lib/fchownat.c: Likewise.
45803         * lib/symlinkat.c: Likewise.
45804         * doc/posix-headers/fcntl.texi (fcntl.h): Cygwin 1.7 has AT_*
45805         constants.
45806
45807         faccessat, symlinkat: continue cleanup of previous patch
45808         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Ensure dependency order.
45809         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45810         * modules/unistd (Makefile.am): Substitute GNULIB_READLINKAT.
45811         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Offer GNULIB_READLINKAT.
45812         * modules/symlinkat (configure.ac): Set GNULIB_READLINKAT.
45813         * lib/unistd.in.h (readlinkat): Declare if GNULIB_READLINKAT is
45814         set.
45815
45816 2009-09-06  Bruno Haible  <bruno@clisp.org>
45817
45818         * lib/sys_stat.in.h (fchmodat): Declare if GNULIB_FCHMODAT is set.
45819         (fstatat): Declare if GNULIB_FSTATAT is set.
45820         (mkdirat): Declare if GNULIB_MKDIRAT is set.
45821         * lib/unistd.in.h (fchownat): Declare if GNULIB_FCHOWNAT is set.
45822         (unlinkat): Declare if GNULIB_UNLINKAT is set.
45823         * modules/fcntl-h (Files): Remove m4/openat.m4.
45824         * modules/sys_stat (Files): Remove m4/openat.m4.
45825         (Makefile.am): Substitute GNULIB_FCHMODAT, GNULIB_FSTATAT,
45826         GNULIB_MKDIRAT instead of GNULIB_OPENAT.
45827         * modules/unistd (Files): Remove m4/openat.m4.
45828         (Makefile.am): Substitute GNULIB_FCHOWNAT, GNULIB_UNLINKAT instead of
45829         GNULIB_OPENAT.
45830         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Initialize GNULIB_OPENAT,
45831         HAVE_OPENAT here. Don't require gl_OPENAT_DEFAULTS.
45832         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize
45833         GNULIB_FCHMODAT, GNULIB_FSTATAT, GNULIB_MKDIRAT, HAVE_FCHMODAT,
45834         HAVE_FSTATAT, HAVE_MKDIRAT, REPLACE_FSTATAT here. Don't require
45835         gl_OPENAT_DEFAULTS.
45836         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_FCHOWNAT,
45837         GNULIB_UNLINKAT, HAVE_FCHOWNAT, HAVE_UNLINKAT, REPLACE_FCHOWNAT here.
45838         Don't require gl_OPENAT_DEFAULTS.
45839         * m4/openat.m4 (gl_FUNC_OPENAT): Require gl_FCNTL_H_DEFAULTS,
45840         gl_SYS_STAT_H_DEFAULTS, gl_UNISTD_H_DEFAULTS. Set GNULIB_FCHMODAT,
45841         GNULIB_FSTATAT, GNULIB_MKDIRAT, GNULIB_FCHOWNAT, GNULIB_UNLINKAT.
45842         (gl_OPENAT_DEFAULTS): Remove macro.
45843
45844 2009-09-06  Bruno Haible  <bruno@clisp.org>
45845
45846         * modules/openat (configure.ac): Remove unneeded witness.
45847
45848 2009-09-06  Bruno Haible  <bruno@clisp.org>
45849
45850         Set errno to ENOSYS when a function is entirely unsupported.
45851         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Set errno to ENOSYS instead of
45852         EOPNOTSUPP.
45853         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
45854         * modules/chown (Depends-on): Remove errno.
45855
45856 2009-09-06  Bruno Haible  <bruno@clisp.org>
45857
45858         * doc/posix-headers/fcntl.texi (AT_*): Mention affected platforms.
45859
45860 2009-09-06  Bruno Haible  <bruno@clisp.org>
45861
45862         * lib/sys_stat.in.h: Fix preprocessor command indentation.
45863
45864 2009-09-06  Ben Pfaff  <blp@gnu.org>
45865             Bruno Haible  <bruno@clisp.org>
45866
45867         Work around a glibc bug in strtok_r.
45868         * lib/string.in.h (strtok_r): Replace if REPLACE_STRTOK_R is set.
45869         Undefine if UNDEFINE_STRTOK_R is set.
45870         * lib/strtok_r.c (strtok_r, __strtok_r) [!_LIBC]: Don't undefine.
45871         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
45872         REPLACE_STRTOK_R and UNDEFINE_STRTOK_R.
45873         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Check against the glibc bug.
45874         * modules/string (Makefile.am): Substitute REPLACE_STRTOK_R,
45875         UNDEFINE_STRTOK_R.
45876         * doc/posix-functions/strtok_r.texi: Mention the glibc 2.7 bug.
45877
45878 2009-09-06  Sergey Poznyakoff  <gray@gnu.org.ua>
45879
45880         exclude: minor fix
45881         * lib/exclude.c: Include wctype.h
45882
45883 2009-09-06  Akim Demaille  <demaille@gostai.com>
45884
45885         bootstrap: improve error message
45886         * build-aux/bootstrap (find_tool): Upon failure, report the list
45887         of candidates.
45888         Honor the initial value of the envvar.
45889
45890 2009-09-05  Eric Blake  <ebb9@byu.net>
45891
45892         symlinkat: new module
45893         * modules/symlinkat: New file.
45894         * lib/symlinkat.c: Likewise.
45895         * m4/symlinkat.m4 (gl_FUNC_SYMLINKAT): Likewise.
45896         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witnesses.
45897         * modules/unistd (Makefile.am): Use them.
45898         * lib/unistd.in.h (symlinkat, readlinkat): Declare them.
45899         (faccessat) [GNULIB_POSIXCHECK]: Fix typo.
45900         * lib/at-func.c (FUNC_RESULT): New macro, defaulting to int.
45901         * MODULES.html.sh (File system functions): Mention module.
45902         * doc/posix-functions/symlinkat.texi (symlinkat): Likewise.
45903         * doc/posix-functions/readlinkat.texi (readlinkat): Likewise.
45904         * modules/symlinkat-tests: New test.
45905         * tests/test-symlinkat.c: Likewise.
45906
45907         test-openat-safer: add more checks
45908         * tests/test-openat-safer.c (main): Check more code paths.
45909
45910 2009-09-05  Jim Meyering  <meyering@redhat.com>
45911
45912         syntax-check: detect unnecessary inclusion of openat.h
45913         * top/maint.mk (sc_prohibit_openat_without_use): New rule.
45914
45915 2009-09-05  Bruno Haible  <bruno@clisp.org>
45916
45917         Support towlower, towupper.
45918         * doc/posix-functions/towlower.texi: Mention module wctype.
45919         * doc/posix-functions/towupper.texi: Likewise.
45920         * lib/wctype.in.h (towlower, towupper): New functions.
45921         * tests/test-wctype.c: Include stdio.h, stdlib.h.
45922         (ASSERT): New macro.
45923         (e): New variable.
45924         (main): Test also towlower, towupper. Test WEOF argument.
45925         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
45926
45927 2009-09-05  Bruno Haible  <bruno@clisp.org>
45928
45929         Fix conversion behaviour when the input is invalid.
45930         * lib/striconveh.c (mem_cd_iconveh_internal): Fix storing of question
45931         mark occurring in first pass of indirect conversion.
45932         * tests/test-striconveh.c (main): Test conversion of invalid ASCII
45933         input.
45934         Found by clang's static analyzer.
45935
45936 2009-09-05  Bruno Haible  <bruno@clisp.org>
45937
45938         * tests/test-striconveh.c (main): Test indirect conversion on platforms
45939         where direct conversion is possible.
45940
45941 2009-09-04  Eric Blake  <ebb9@byu.net>
45942
45943         openat: fail with ENOENT on empty name
45944         * lib/openat-proc.c (openat_proc_name): Special-case the empty
45945         buffer.
45946
45947         link-follow: fix logic bug in prior patch
45948         * m4/link-follow.m4 (gl_FUNC_LINK_FOLLOWS_SYMLINK): Fix bug that
45949         reversed sense of yes and no in prior patch.  Avoid confusing
45950         compilation failure with desired semantics.
45951
45952         link-follow: accommodate mingw and cross-compilation
45953         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Rename...
45954         (gl_FUNC_LINK_FOLLOWS_SYMLINK): ...to this.  Change
45955         cross-compilation results to -1, to make linkat easier to
45956         implement when cross-compiling.  Trivially support mingw.
45957         * modules/link-follow (configure.ac): Call new name.
45958         * NEWS: Mention this.
45959
45960 2009-09-03  Eric Blake  <ebb9@byu.net>
45961
45962         faccessat: compile replacement
45963         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Build replacement when
45964         needed.
45965
45966         fts: fix compilation error
45967         * lib/fts.c (includes): Re-add "openat.h", for
45968         openat_needs_fchdir.
45969
45970         faccessat: new module
45971         * modules/faccessat: New file.
45972         * lib/faccessat.c: Likewise.
45973         * m4/faccessat.m4 (gl_FUNC_FACCESSAT): Likewise.
45974         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
45975         * modules/unistd (Makefile.am): Use it.
45976         * lib/unistd.in.h (faccessat): Declare it.
45977         (F_OK, X_OK, W_OK, R_OK): Provide definitions.
45978         * lib/fcntl.in.h (AT_SYMLINK_FOLLOW, AT_EACCESS): Likewise.
45979         * MODULES.html.sh (File system functions): Mention it.
45980         * doc/posix-functions/faccessat.texi (faccessat): Likewise.
45981         * doc/posix-headers/fcntl.texi (fcntl.h): Likewise.
45982
45983         euidaccess: prefer POSIX over non-standard implementation
45984         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Check for faccessat.
45985         * lib/euidaccess.c (euidaccess): Use it if available.
45986
45987         openat: make template easier to use
45988         * lib/at-func.c (CALL_FUNC): Allow AT_FUNC_USE_F1_COND and
45989         AT_FUNC_F2 to be undefined.
45990         (VALIDATE_FLAG): New macro; use it to reject bad flags.
45991         (AT_FUNC_USE_F1_COND): Change sense to just flag bit.
45992         * lib/fchmodat.c (AT_FUNC_USE_F1_COND): Adjust.
45993         * lib/fchownat.c (AT_FUNC_USE_F1_COND): Likewise.
45994         * lib/openat.c (AT_FUNC_USE_F1_COND) [fstatat, unlinkat]:
45995         Likewise.
45996         * lib/mkdirat.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND): Delete.
45997         * lib/selinux-at.c (AT_FUNC_F2, AT_FUNC_USE_F1_COND)
45998         [getfileconat, lgetfileconat, setfileconat, lsetfileconat]:
45999         Likewise.
46000
46001         openat: declare in POSIX headers
46002         * NEWS: Mention this.
46003         * modules/openat (configure.ac): Declare witnesses.
46004         (Depends-on): Add fcntl-h, sys_stat, unistd.
46005         (Include): Mention correct headers.
46006         * modules/fcntl-h (Depends-on): Add link-warning.
46007         (Files): Add openat.m4.
46008         (Makefile.am): Substitute witnesses.
46009         * modules/sys_stat (Files, Makefile.am): Likewise.
46010         * modules/unistd (Files, Makefile.am): Likewise.
46011         * m4/openat.m4 (gl_FUNC_OPENAT, gl_FUNC_FCHOWNAT): Set witnesses.
46012         (gl_OPENAT_DEFAULTS): New macro.
46013         * m4/fcntl_h.m4 (gl_FCNTL_H_DEFAULTS): Use it.
46014         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Likewise.
46015         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Likewise.
46016         (SYS_STAT_H): Remove unused variable.
46017         * doc/posix-headers/fcntl.texi (fcntl.h): Update content.
46018         * lib/fcntl--.h (includes): Remove unneeded header.
46019         * lib/openat-safer.c (includes): Likewise.
46020         * lib/openat.h (AT_FDCWD, AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR)
46021         (openat, fstatat, unlinkat, mkdirat, fchmodat, fchownat): Move to
46022         appropriate headers.
46023         (__OPENAT_PREFIX): Delete.
46024         * lib/fcntl.in.h (openat): Provide declaration.
46025         (AT_FDCWD): Fix Solaris bug.
46026         (AT_SYMLINK_NOFOLLOW, AT_REMOVEDIR): Provide macros.
46027         * lib/sys_stat.in.h (fstatat, mkdirat): Provide declaration.
46028         * lib/fchmodat.c (includes):  Adjust to find declaration.
46029         * lib/fchownat.c (includes): Likewise.
46030         * lib/mkdirat.c (includes): Likewise.
46031         * lib/fstatat.c (includes): Likewise.  Ensure original fstatat is
46032         still visible.
46033
46034 2009-09-02  Eric Blake  <ebb9@byu.net>
46035
46036         errno: use consistently
46037         * lib/c-stack.c (ENOTSUP): <errno.h> guarantees a definition.
46038         * lib/canonicalize-lgpl.c (ENAMETOOLONG): Likewise.
46039         * lib/canonicalize.c (ELOOP): Likewise.
46040         * lib/inet_ntop.c (EAFNOSUPPORT): Likewise.
46041         * lib/inet_pton.c (EAFNOSUPPORT): Likewise.
46042         * lib/lchown.c (EOPNOTSUPP): Likewise.
46043         * lib/openat-priv.h (ENOSYS, EOPNOTSUPP): Likewise.
46044         * lib/savewd.c (ESTALE): Likewise.
46045         * lib/settime.c (ENOSYS): Likewise.
46046         * lib/utimens.c (ENOSYS): Likewise.
46047         * lib/xgethostname.c (ENAMETOOLONG): Likewise.
46048         * lib/chdir-safer.c (ELOOP): Likewise.
46049         (chdir_no_follow): Use HAVE_READLINK, not ELOOP, as witness.
46050         * modules/c-stack (Depends-on): Add errno.
46051         * modules/canonicalize (Depends-on): Likewise.
46052         * modules/chdir-safer (Depends-on): Likewise.
46053         * modules/fdopendir (Depends-on): Likewise.
46054         * modules/inet_ntop (Depends-on): Likewise.
46055         * modules/inet_pton (Depends-on): Likewise.
46056         * modules/lchown (Depends-on): Likewise.
46057         * modules/openat (Depends-on): Likewise.
46058         * modules/savewd (Depends-on): Likewise.
46059         * modules/settime (Depends-on): Likewise.
46060         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Check for readlink.
46061
46062         fts: avoid leaking fds
46063         * modules/fts (Depends-on): Add cloexec.
46064         * lib/fts.c (opendirat, diropen, fts_build): Set close-on-exec
46065         flag.
46066
46067         fts: make directory fds more robust
46068         * lib/fts.c (O_DIRECTORY): Let <fcntl.h> take care of this.
46069         (opendirat): Specify O_DIRECTORY, and add fallbacks for safety.
46070
46071         backupfile, chdir-long, fts, savedir: make safer
46072         * lib/backupfile.c (includes): Use "dirent--.h", since
46073         numbered_backup can write to stderr during readdir.
46074         * lib/savedir.c (includes): Likewise.
46075         * lib/chdir-long.c (includes): Use "fcntl--.h", since openat
46076         emulation can write to stderr on failure.
46077         * lib/fts.c (includes) [!_LIBC]: Likewise for opendir and openat.
46078         * lib/getcwd.c: Document why opendir_safer is unused.
46079         * lib/glob.c: Likewise.
46080         * lib/scandir.c: Likewise.
46081         * lib/openat-proc.c: Likewise, for open_safer.
46082         * modules/backupfile (Depends-on): Add dirent-safer.
46083         * modules/savedir (Depends-on): Likewise.
46084         * modules/fts (Depends-on): Add dirent-safer and openat-safer.
46085         * modules/chdir-long (Depends-on): Add openat-safer.
46086
46087         openat-safer: new module
46088         * modules/openat-safer: New file.
46089         * lib/openat-safer.c: Likewise.
46090         * m4/fcntl-safer.m4 (gl_OPENAT_SAFER): New macro.
46091         * lib/fcntl-safer.h (openat_safer): Declare.
46092         * lib/fcntl--.h (openat): Override.
46093         * MODULES.html.sh (File descriptor based I/O): Mention it.
46094         * lib/openat.h: Add double-inclusion guards.
46095         * lib/openat.c (includes): Only include "fcntl-safer.h", not
46096         "fcntl--.h", so we can implement openat.
46097         * modules/openat-safer-tests: New test.
46098         * tests/test-openat-safer.c: New file.
46099
46100         dirent-safer: new module
46101         * modules/dirent-safer: New file.
46102         * lib/dirent--.h: Likewise.
46103         * lib/dirent-safer.h: Likewise.
46104         * lib/opendir-safer.c: Likewise.
46105         * m4/dirent-safer.m4: Likewise.
46106         * MODULES.html.sh (Enhancements for POSIX:2008): Mention it.
46107         * modules/dirent-safer-tests: New test.
46108         * tests/test-dirent-safer.c: New file.
46109         * lib/fdopendir.c (includes): Ensure fdopendir is also safe.
46110
46111         fdopendir: optimize on mingw
46112         * lib/unistd.in.h (_gl_directory_name): New prototype.
46113         * lib/fchdir.c (_gl_directory_name): Implement it.
46114         (fchdir): Use it to simplify implementation.
46115         * lib/fdopendir.c (fdopendir) [REPLACE_FCHDIR]: Use metadata from
46116         fchdir, when available, to avoid calling [f]chdir().
46117
46118         fdopendir: split into its own module
46119         * lib/openat.c (fdopendir): Move...
46120         * lib/fdopendir.c: ...into new file.
46121         * modules/fdopendir: New module.
46122         * m4/fdopendir.m4 (gl_FUNC_FDOPENDIR): New file.
46123         * modules/openat (Depends-on): Add fdopendir.
46124         * m4/openat.m4 (gl_FUNC_OPENAT): No longer need to check for
46125         fdopendir here.
46126         * modules/savedir (Depends-on): Only need fdopendir, not full
46127         openat.
46128         * lib/savedir.c (include): Use <dirent.h>, not "openat.h".
46129         * lib/openat.h (fdopendir): Drop prototype.
46130         * lib/dirent.in.h (fdopendir): Provide prototype.
46131         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Add replacements.
46132         * modules/dirent (Makefile.am): Substitute them.
46133         * MODULES.html.sh (File system functions): Mention it.
46134         * doc/posix-functions/fdopendir.texi (fdopendir): Likewise.
46135         * modules/fdopendir-tests: New file.
46136         * tests/test-fdopendir.c: Likewise.
46137
46138         fchdir: use more consistent macro convention
46139         * lib/fcntl.in.h (_gl_register_fd): Move declaration to unistd.
46140         * lib/sys_stat.in.h (rpl_fstat): Declare via make-time
46141         REPLACE_FCHDIR, rather than relying on config.h macros.
46142         * lib/unistd.in.h (fchdir): Move all fchdir internal declarations
46143         inside a single make-time REPLACE_FCHDIR block, rather than using
46144         the config.h FCHDIR_REPLACEMENT.
46145         * m4/fchdir.m4 (gl_FUNC_FCHDIR): REPLACE_FCHDIR was already
46146         AC_SUBST'd, also AC_DEFINE it.  Don't define FCHDIR_REPLACEMENT.
46147         Manage fstat replacement.
46148         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Pick up
46149         REPLACE_FCHDIR.
46150         * modules/sys_stat (Files): Add m4/unistd_h.m4.
46151         (Makefile.am): Substitute REPLACE_FCHDIR.
46152         * lib/close.c (rpl_close): Use REPLACE_FCHDIR, not
46153         FCHDIR_REPLACEMENT.
46154         * lib/dup-safer.c (dup_safer): Likewise.
46155         * lib/dup2.c (rpl_dup2): Likewise.
46156         * lib/dup3.c (rpl_dup3): Likewise.
46157         * lib/open.c (rpl_open): Likewise.
46158
46159         fchdir: simplify error handling, and support dup3
46160         * modules/fchdir (Depends-on): Use strdup-posix, not strdup.  Add
46161         stdbool, malloc-posix, realloc-posix.
46162         * lib/fchdir.c (struct dir_info_t): Delete saved_errno.
46163         (ensure_dirs_slot): Return false on allocation failure.
46164         (rpl_dup2): Delete.
46165         (_gl_register_dup): New function.
46166         (_gl_unregister_fd, rpl_opendir, rpl_dup): Update callers.
46167         (_gl_register_fd): Close fd on allocation failure.
46168         * lib/fcntl.in.h (_gl_register_fd): Update signature.
46169         * lib/unistd.in.h (_gl_register_dup) [FCHDIR_REPLACEMENT]: New
46170         prototype.
46171         (rpl_dup2_fchdir): Delete prototype.
46172         * lib/open.c (open): Update caller.
46173         * lib/dup2.c (dup2): Track fchdir metadata.
46174         * lib/dup3.c (dup3): Likewise.
46175         * m4/dup2.m4 (gl_REPLACE_DUP2): New macro.
46176         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Use it.
46177
46178 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46179
46180         * gnulib-tool (func_create_testdir, func_create_megatestdir): Use
46181         AC_CONFIG_HEADERS instead of AM_CONFIG_HEADER. Use AC_CONFIG_FILES and
46182         don't pass arguments to AC_OUTPUT.
46183
46184 2009-09-02  Bruno Haible  <bruno@clisp.org>
46185
46186         * modules/mkdtemp (License): Relicense under LGPLv2+.
46187         Reported by Paolo Bonzini.
46188
46189 2009-09-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
46190
46191         Replace uses of obsolete autoconf macros in Jim's modules.
46192         The Autoconf macros AC_TRY_CPP, AC_TRY_COMPILE, AC_TRY_LINK and
46193         AC_TRY_RUN have been obsolete since Autoconf 2.55, and each use
46194         can evoke a warning from autoconf when run with -Wobsolete
46195         enabled.  They were declared obsolete for good reasons (see
46196         the `AC_FOO_IFELSE vs AC_TRY_FOO' node in the Autoconf manual,
46197         recently renamed to `AC_ACT_IFELSE vs AC_TRY_ACT'), and we
46198         should not continue using the deprecated macros.
46199         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Replace
46200         obsolete Autoconf macros with modern counterparts.
46201         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
46202         * m4/dos.m4 (gl_AC_DOS): Likewise.
46203         * m4/fpending.m4 (gl_FUNC_FPENDING): Likewise.
46204         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Likewise.
46205         * m4/getloadavg.m4 (gl_PREREQ_GETLOADAVG): Likewise.
46206         * m4/jm-winsz1.m4 (gl_WINSIZE_IN_PTEM): Likewise.
46207         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Likewise.
46208         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Likewise.
46209         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Likewise.
46210         * m4/mode_t.m4 (gl_PROMOTED_TYPE_MODE_T): Likewise.
46211         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
46212         Likewise.
46213         * m4/rename.m4 (gl_FUNC_RENAME): Likewise.
46214         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
46215         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Likewise.
46216         * m4/st_dm_mode.m4 (AC_STRUCT_ST_DM_MODE): Likewise.
46217         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
46218         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
46219
46220 2009-09-01  Eric Blake  <ebb9@byu.net>
46221
46222         fchdir: fix off-by-one bug in previous patch
46223         * lib/fchdir.c (rpl_fstat): Use correct bounds.
46224         (_gl_unregister_fd): Delete useless if.
46225
46226 2009-09-01  Daniel P. Berrange  <berrange@redhat.com>
46227
46228         maint.mk: sort the list of syntax-check rules
46229         * top/maint.mk (syntax-check-rules): Sort syntax-check rules, so it's
46230         easier to get a sense of progress when the rules are run sequentially
46231         and take a long time.
46232
46233 2009-09-01  Simon Josefsson  <simon@josefsson.org>
46234
46235         * modules/arpa_inet: Use $(MKDIR_P) instead of @MKDIR_P@.
46236         * modules/netinet_in: Likewise.
46237         * modules/sys_file: Likewise.
46238         * modules/sys_ioctl: Likewise.
46239         * modules/sys_select: Likewise.
46240         * modules/sys_socket: Likewise.
46241         * modules/sys_stat: Likewise.
46242         * modules/sys_time: Likewise.
46243         * modules/sys_times: Likewise.
46244         * modules/sys_utsname: Likewise.
46245         * modules/sys_wait: Likewise.
46246
46247 2009-09-01  Jim Meyering  <meyering@redhat.com>
46248
46249         fts: help ensure that return values are not ignored
46250         * lib/fts_.h (__GNUC_PREREQ): Define.
46251         (__attribute_warn_unused_result__): Define.
46252         (fts_children, fts_close, fts_open, fts_read): Declare with
46253         __attribute_warn_unused_result__.
46254
46255         fts: fts_close now fails also when closing a dir file descriptor fails
46256         * lib/fts.c (fts_close): Detect close failure, not just fchdir failure,
46257         and propagate to caller, along with errno.
46258
46259         announce-gen: correct formatting in --help output
46260         * build-aux/announce-gen (usage): Move the one-line description in
46261         --help output "up", to where it belongs, just after Usage:.
46262
46263 2009-08-31  Eric Blake  <ebb9@byu.net>
46264
46265         fchdir: port to mingw
46266         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Check for mingw bug.
46267         * lib/open.c (open) [FCHDIR_REPLACEMENT]: If directories can't be
46268         opened, then use a substitute.
46269         * lib/sys_stat.in.h (fstat) [REPLACE_OPEN_DIRECTORY]: Declare
46270         replacement.
46271         * lib/fchdir.c (fstat) [REPLACE_OPEN_DIRECTORY]: Implement it.
46272         (_gl_register_fd): No need to check stat if open already filters
46273         all directories.
46274         (fchdir): Fix error condition to match POSIX.
46275         * modules/fchdir (Depends-on): Add sys_stat.
46276         * doc/posix-functions/open.texi (open): Document the limitation.
46277         * modules/fchdir-tests: New file.
46278         * tests/test-fchdir.c: Likewise.
46279
46280         canonicalize: allow cross-testing from cygwin to mingw
46281         * modules/canonicalize-tests (configure.ac): Define HAVE_SYMLINK.
46282         (Makefile.am): Pass it through TESTS_ENVIRONMENT.
46283         * modules/canonicalize-lgpl-tests (configure.ac, Makefile.am):
46284         Likewise.
46285         * tests/test-canonicalize.sh: Also skip test if 'ln -s' works, but
46286         target does not support symlinks.
46287         * tests/test-canonicalize-lgpl.sh: Likewise.
46288
46289         chown: avoid compilation warning on mingw
46290         * m4/chown.m4 (gl_FUNC_CHOWN): Recognize missing chown.
46291         * lib/chown.c (rpl_chown) [!HAVE_CHOWN]: Always return failure on
46292         mingw.
46293         * lib/lchown.c (lchown) [!HAVE_CHOWN]: Likewise.
46294         * modules/chown (Depends-on): Add errno.
46295
46296 2009-08-31  Stefano Lattarini  <stefano.lattarini@gmail.com>  (tiny change)
46297
46298         * gnulib-tool: Fix test whether $CONFIG_SHELL has a working 'echo'
46299         command.
46300
46301 2009-08-31  Jim Meyering  <meyering@redhat.com>
46302
46303         canonicalize: remove useless initialization
46304         * lib/canonicalize.c (canonicalize_filename_mode): Remove useless
46305         initialization of local, "end".
46306
46307 2009-08-30  Bruno Haible  <bruno@clisp.org>
46308
46309         Fix an unnecessary error on Solaris 10 on NFSv3 file systems.
46310         * lib/set-mode-acl.c (qset_acl) [Solaris 10 new]: Treat EOPNOTSUPP like
46311         ENOSYS.
46312
46313 2009-08-30  Bruno Haible  <bruno@clisp.org>
46314
46315         * tests/test-pipe-filter-ii1.sh: Prefer /usr/xpg6/bin/tr over
46316         /usr/xpg4/bin/tr when it exists.
46317         * tests/test-pipe-filter-gi1.sh: Likewise.
46318
46319 2009-08-30  Bruno Haible  <bruno@clisp.org>
46320
46321         Work around deficient /usr/bin/id program on Solaris.
46322         * tests/test-file-has-acl.sh (ID): New variable.
46323         * tests/test-set-mode-acl.sh (ID): Likewise.
46324         * tests/test-copy-acl.sh (ID): Likewise.
46325         * tests/test-copy-file.sh (ID): Likewise.
46326
46327 2009-08-30  Bruno Haible  <bruno@clisp.org>
46328
46329         New module 'xstriconveh'.
46330         * lib/xstriconveh.h: New file.
46331         * lib/xstriconveh.c: New file.
46332         * modules/xstriconveh: New file.
46333
46334 2009-08-30  Bruno Haible  <bruno@clisp.org>
46335
46336         Make it easier to use mem_cd_iconveh.
46337         * lib/striconveh.h (iconveh_t): New type.
46338         (iconveh_open, iconveh_close): New declarations.
46339         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46340         with a single 'const iconveh_t *' argument.
46341         * lib/striconveh.c (iconveh_open, iconveh_close): New functions.
46342         (mem_cd_iconveh, str_cd_iconveh): Replace the three iconv_t arguments
46343         with a single 'const iconveh_t *' argument.
46344         (mem_iconveh, str_iconveh): Use iconveh_open, iconveh_close.
46345         * tests/test-striconveh.c (main): Update.
46346         * NEWS: Mention the change.
46347
46348 2009-08-30  Bruno Haible  <bruno@clisp.org>
46349
46350         * doc/posix-functions/iconv_open.texi: Mention indirect conversion
46351         problem.
46352
46353 2009-08-30  Bruno Haible  <bruno@clisp.org>
46354
46355         Work around iconv_open problem on Solaris.
46356         * lib/iconv_open-solaris.gperf: New file.
46357         * lib/iconv_open.c (ICONV_FLAVOR_SOLARIS): New macro.
46358         * m4/iconv_open.m4 (gl_FUNC_ICONV_OPEN): Also handle Solaris.
46359         * modules/iconv_open (Files): Add lib/iconv_open-solaris.gperf.
46360         (Makefile.am): Add rule for iconv_open-solaris.h. Augment
46361         BUILT_SOURCES, MOSTLYCLEANFILES, MAINTAINERCLEANFILES, EXTRA_DIST.
46362         * doc/posix-functions/iconv_open.texi: Mention the Solaris problem.
46363
46364 2009-08-29  Jim Meyering  <meyering@redhat.com>
46365
46366         maint.mk: remove more coreutils-specific targets; XZ_OPT=-9ev
46367         * top/maint.mk (cvs-check): Remove target; it was just an alias
46368         to the better-named vc-diff-check.
46369         (maintainer-distcheck): Remove rule.  It was used only from
46370         the (alpha/beta/major) target, and all of its commands but one
46371         were coreutils-specific.
46372         (vc-dist): Remove rule.
46373         (alpha beta major): Run "$(MAKE) distcheck" explicitly.
46374         Run vc-diff-check, not vc-dist.
46375         Run $(MAKE) dist with XZ_OPT=-9ev.  Note spelling, with "-".
46376
46377 2009-08-27  Bruno Haible  <bruno@clisp.org>
46378
46379         * tests/test-bitrotate.c (main): Remove test that uses a shift count
46380         of 0.
46381
46382 2009-08-27  Bruno Haible  <bruno@clisp.org>
46383
46384         * tests/test-func.c (main): Don't verify sizeof __func__ on SunPRO C
46385         compilers.
46386         * doc/func.texi: Document the SunPRO C bug.
46387
46388 2009-08-27  Bruno Haible  <bruno@clisp.org>
46389
46390         Fix link error on Solaris.
46391         * tests/test-parse-duration.c (xstrdup): Remove function.
46392
46393 2009-08-26  Pádraig Brady  <P@draigbrady.com>
46394
46395         ignore-value: handle pointer types, too
46396         * lib/ignore-value.h (__attribute__): Remove definition.
46397         (ignore_value): Remove use of "__attribute__ ((unused))" in favor
46398         of a more concise and more-often effective "(void) i" statement.
46399         (ignore_ptr): New function to suppress warnings from functions that
46400         return pointers, and to make it explicit that one function doesn't
46401         handle all cases.
46402
46403 2009-08-25  Bruno Haible  <bruno@clisp.org>
46404
46405         dup2: work around a Linux bug.
46406         * m4/dup2.m4 (gl_FUNC_DUP2): Test for the Linux bug.
46407         * lib/dup2.c (rpl_dup2): Correct the return value if it is -EBADF.
46408         * doc/posix-functions/dup2.texi: Mention the Linux bug.
46409         Reported by Simon Josefsson.
46410
46411 2009-08-25  Jim Meyering  <meyering@redhat.com>
46412
46413         libguestfs uses gnulib
46414         * users.txt: Add libguestfs.
46415
46416 2009-08-24  Eric Blake  <ebb9@byu.net>
46417
46418         dup2, pipe2: fix some recent test failures on cygwin 1.5.x
46419         * lib/pipe2.c (includes): Add binary-io.h.
46420         * lib/dup2.c (rpl_dup2): Correct buggy errno value.
46421
46422 2009-08-24  Bruno Haible  <bruno@clisp.org>
46423
46424         Tolerate declared but missing accept4 syscall.
46425         * lib/accept4.c (accept4): Invoke original accept4 function first, if
46426         available.
46427         * lib/sys_socket.in.h (accept4): If the function is already present,
46428         override it.
46429         * m4/accept4.m4 (gl_FUNC_ACCEPT4): Remove AC_LIBOBJ invocation.
46430         * modules/accept4 (Makefile.am): Compile accept4.c always.
46431         Reported by Paolo Bonzini and Eric Blake.
46432
46433 2009-08-23  Bruno Haible  <bruno@clisp.org>
46434
46435         New module 'accept4'.
46436         * lib/sys_socket.in.h (accept4): New declaration.
46437         * lib/accept4.c: New file.
46438         * m4/accept4.m4: New file.
46439         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
46440         GNULIB_ACCEPT4, HAVE_ACCEPT4.
46441         * modules/sys_socket (Makefile.am): Substitute GNULIB_ACCEPT4,
46442         HAVE_ACCEPT4.
46443         * modules/accept4: New file.
46444         * doc/glibc-functions/accept4.texi: Mention the new module.
46445
46446 2009-08-24  Jim Meyering  <meyering@redhat.com>
46447
46448         progname: also set global program_invocation_name, when possible
46449         Before this change, a libtool-enabled program that calls glibc's
46450         error function would report the program name as
46451         "/abs/dir/.libs/lt-program_name" rather than the desired program_name.
46452         * modules/progname (configure.ac): Check for a declaration of
46453         program_invocation_name.
46454         * lib/progname.c:  Include <errno.h>.
46455         (set_program_name) [HAVE_DECL_PROGRAM_INVOCATION_NAME]:
46456         Set program_invocation_name.
46457
46458 2009-08-23  Bruno Haible  <bruno@clisp.org>
46459
46460         * lib/dup3.c: Include <string.h>.
46461
46462 2009-08-23  Bruno Haible  <bruno@clisp.org>
46463
46464         * lib/dup3.c (dup3): Test only once whether the system actually exists.
46465         * lib/pipe2.c (pipe2): Likewise.
46466         Suggested by Eric Blake.
46467
46468 2009-08-23  Bruno Haible  <bruno@clisp.org>
46469
46470         Tolerate declared but missing dup3 syscall.
46471         * lib/dup3.c (dup3): Invoke original dup3 function first, if available.
46472         * lib/unistd.in.h (dup3): If the function is already present,
46473         override it.
46474         * m4/dup3.m4 (gl_FUNC_DUP3): Remove AC_LIBOBJ invocation.
46475         * modules/dup3 (Makefile.am): Compile dup3.c always.
46476         Reported by Paolo Bonzini.
46477
46478 2009-08-23  Bruno Haible  <bruno@clisp.org>
46479
46480         Tolerate declared but missing pipe2 syscall.
46481         * lib/pipe2.c (pipe2): Invoke original pipe2 function first, if
46482         available.
46483         * lib/unistd.in.h (pipe2): If the function is already present,
46484         override it.
46485         * m4/pipe2.m4 (gl_FUNC_PIPE2): Remove AC_LIBOBJ invocation.
46486         * modules/pipe2 (Makefile.am): Compile pipe2.c always.
46487         Reported by Paolo Bonzini.
46488
46489 2009-08-23  Bruno Haible  <bruno@clisp.org>
46490
46491         * lib/pipe2.c (pipe2): Move #ifs inside function.
46492
46493 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46494
46495         quotearg: document limitations of quote_these_too
46496         * lib/quotearg.c (quotearg_buffer_restyled): Add comments where
46497         those limitations are created.
46498         * lib/quotearg.h (set_char_quoting): Document that digits and
46499         letters that are special after backslash are not permitted.
46500         (quotearg_char): Cross-reference set_char_quoting documentation.
46501
46502 2009-08-23  Joel E. Denny  <jdenny@clemson.edu>
46503
46504         quotearg: implement custom_quoting_style
46505         * lib/quotearg.c: (struct quoting_options): Add left_quote and
46506         right_quote fields.
46507         (set_custom_quoting): New public function.
46508         (quotearg_buffer_restyled): Add left_quote and right_quote
46509         arguments, handle them very much like locale quoting, and update
46510         all uses.
46511         (quotearg_n_custom): New public function.
46512         (quotearg_n_custom_mem): New public function.
46513         (quotearg_custom): New public function.
46514         (quotearg_custom_mem): New public function.
46515         * lib/quotearg.h: Prototype and document new public functions.
46516         (enum quoting_style): For escape_quoting_style and
46517         clocale_quoting_style, comment that QA_SPLIT_TRIGRAPHS is
46518         ignored even though they're otherwise like c_quoting_style.
46519         Add custom_quoting_style member and document with comparison to
46520         clocale_quoting_style.
46521         * tests/test-quotearg.c (custom_quotes): New array.
46522         (custom_results): New array.
46523         (main): Extend to test custom quoting.
46524
46525 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46526
46527         quotearg: fix right quote escaping when it's in quote_these_too
46528         * lib/quotearg.c (quotearg_buffer_restyled): Upon seeing a right
46529         quote, be sure to prepend only one backslash.
46530         * tests/test-quotearg.c (use_quote_double_quotes): New function.
46531         (main): Test it.
46532
46533 2009-08-22  Joel E. Denny  <jdenny@clemson.edu>
46534
46535         quotearg-tests: test escaping of embedded locale quotes
46536         * tests/test-quotearg.c (struct result_strings): Add member for
46537         new input.
46538         (LQ_ENC, RQ_ENC, RQ_ESC): New macros.
46539         (inputs): Add new input.
46540         (results_g): Add expected results.
46541         (flag_results): Likewise.
46542         (locale_results): Likewise.
46543         (compare_strings): Check those.
46544
46545 2009-08-23  Bruno Haible  <bruno@clisp.org>
46546
46547         Tests for module 'dup3'.
46548         * modules/dup3-tests: New file.
46549         * tests/test-dup3.c: New file.
46550
46551         New module 'dup3'.
46552         * lib/unistd.in.h (dup3): New declaration.
46553         * lib/dup3.c: New file.
46554         * m4/dup3.m4: New file.
46555         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_DUP3 and
46556         HAVE_DUP3.
46557         * modules/unistd (Makefile.am): Substitute GNULIB_DUP3 and HAVE_DUP3.
46558         * modules/dup3: New file.
46559         * doc/glibc-functions/dup3.texi: Mention the new module.
46560
46561 2009-08-23  Bruno Haible  <bruno@clisp.org>
46562
46563         Tweak the dup2 test.
46564         * tests/test-dup2.c (main): Create the test file empty. Verify that an
46565         out-of-range fd yields EBADF. Verify that after writing to /dev/null,
46566         the test file is still empty. Fix argument order of lseek.
46567
46568 2009-08-23  Bruno Haible  <bruno@clisp.org>
46569
46570         Avoid test link errors when the modules getopt-gnu, gettext are used.
46571         * modules/getopt-posix-tests (Makefile.am): Define test_getopt_LDADD.
46572         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
46573
46574 2009-08-23  Bruno Haible  <bruno@clisp.org>
46575
46576         Fix getdtablesize() on mingw.
46577         * lib/getdtablesize.c (getdtablesize): Implement differently.
46578         * lib/unistd.in.h (getdtablesize): Improve comment.
46579
46580 2009-08-23  Bruno Haible  <bruno@clisp.org>
46581
46582         New module 'mkostemp'.
46583         Based on Ulrich Drepper's 2007-08-10 change in glibc.
46584         * lib/stdlib.in.h (mksotemp): New declaration.
46585         * lib/mkostemp.c: New file, from glibc with modifications.
46586         * lib/tempname.h (GT_FILE): Remove outdated comment.
46587         (gen_tempname): Add flags argument.
46588         * lib/tempname.c (__GT_BIGFILE): Remove macro.
46589         (__GT_FILE): Map to 1.
46590         (small_open, large_open): Remove macros.
46591         (__gen_tempname): Add flags argument. Remove code for __GT_BIGFILE.
46592         * lib/mkstemp.c (mkstemp): Update.
46593         * lib/mkdtemp.c (mkdtemp): Likewise.
46594         * m4/mkostemp.m4: New file.
46595         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_MKOSTEMP,
46596         HAVE_MKOSTEMP.
46597         * modules/stdlib (Makefile.am): Substitute GNULIB_MKOSTEMP,
46598         HAVE_MKOSTEMP.
46599         * modules/mkostemp: New file, based on modules/mkstemp.
46600         * doc/glibc-functions/mkostemp.texi: Mention the new module.
46601         * NEWS: Mention the change.
46602
46603 2009-08-23  Bruno Haible  <bruno@clisp.org>
46604
46605         * lib/pipe2.c (pipe2): Support O_TEXT, O_BINARY on all platforms.
46606         Reported by Eric Blake.
46607
46608 2009-08-23  Bruno Haible  <bruno@clisp.org>
46609
46610         * lib/pipe2.c (pipe2): Fix test of fcntl's return value.
46611         Reported by Eric Blake.
46612
46613 2009-08-23  Bruno Haible  <bruno@clisp.org>
46614
46615         * modules/fchdir (Depends-on): Use fcntl-h instead of fcntl.
46616         * modules/pipe2 (Depends-on): Likewise.
46617
46618 2009-08-23  Eric Blake  <ebb9@byu.net>
46619
46620         fcntl-h: add O_TTY_INIT support
46621         * lib/fcntl.in.h (O_TTY_INIT): Support another POSIX macro.
46622         * tests/test-fcntl-h.c (o): Test it.
46623         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46624
46625         fcntl-h: rename from fcntl, in preparation for fcntl(2)
46626         * modules/fcntl: Move <fcntl.h> header replacement...
46627         * modules/fcntl-h: ...to new name, so as not to collide with
46628         like-named function.
46629         * tests/test-fcntl.c: Rename...
46630         * tests/test-fcntl-h.c: ...to this.  Test FD_CLOEXEC.
46631         * modules/fcntl-tests: Rename...
46632         * modules/fcntl-h-tests: ...to this.  Update test file name.
46633         * modules/chdir-long (Depends-on): Update clients.
46634         * modules/chdir-safer (Depends-on): Likewise.
46635         * modules/fcntl-safer (Depends-on): Likewise.
46636         * modules/fts (Depends-on): Likewise.
46637         * modules/mkancesdirs (Depends-on): Likewise.
46638         * modules/mkdir-p (Depends-on): Likewise.
46639         * modules/open (Depends-on): Likewise.
46640         * modules/savewd (Depends-on): Likewise.
46641         * MODULES.html.sh (systems lacking POSIX:2008): Update name.
46642         * doc/posix-headers/fcntl.texi (fcntl.h): Update documentation.
46643
46644 2009-08-22  Bruno Haible  <bruno@clisp.org>
46645
46646         * modules/binary-io (License): Relicense under LGPL.
46647         * modules/pipe2 (License): Likewise.
46648
46649 2009-08-22  Bruno Haible  <bruno@clisp.org>
46650
46651         * lib/pipe-filter-ii.c (pipe_filter_ii_execute): Fix test of fcntl's
46652         return value.
46653         * lib/pipe-filter-gi.c (filter_init): Likewise.
46654         Reported by Eric Blake.
46655
46656 2009-08-22  Bruno Haible  <bruno@clisp.org>
46657
46658         * lib/pipe.c (create_pipe): Use pipe2 instead of _pipe.
46659         * modules/pipe (Depends-on): Add pipe2.
46660
46661 2009-08-22  Bruno Haible  <bruno@clisp.org>
46662
46663         Tests for module 'pipe2'.
46664         * modules/pipe2-tests: New file.
46665         * tests/test-pipe2.c: New file.
46666
46667         New module 'pipe2'.
46668         * lib/unistd.in.h (pipe2): New declaration.
46669         * lib/pipe2.c: New file.
46670         * m4/pipe2.m4: New file.
46671         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_PIPE2 and
46672         HAVE_PIPE2.
46673         * modules/unistd (Makefile.am): Substitute GNULIB_PIPE2 and HAVE_PIPE2.
46674         * modules/pipe2: New file.
46675         * doc/glibc-functions/pipe2.texi: Mention the new module.
46676
46677 2009-08-22  Bruno Haible  <bruno@clisp.org>
46678
46679         Reference some new glibc functions.
46680         * doc/glibc-functions/accept4.texi: New file.
46681         * doc/glibc-functions/dup3.texi: New file.
46682         * doc/glibc-functions/mkostemp.texi: New file.
46683         * doc/glibc-functions/pipe2.texi: New file.
46684         * doc/gnulib.texi (Glibc stdlib.h): Refer to mkostemp.
46685         (Glibc sys/socket.h): Refer to accept4.
46686         (Glibc unistd.h): Refer to dup3, pipe2.
46687         Reported by Eric Blake.
46688
46689 2009-08-22  Jim Meyering  <meyering@redhat.com>
46690             Bruno Haible  <bruno@clisp.org>
46691
46692         annotate automake snippets with $(AM_V_GEN) and $(AM_V_at)
46693         This makes it so packages using automake-1.11's silent-rules option
46694         can print e.g., a single "GEN    configmake.h" line, rather than
46695         the 30+ statements that perform the job.  If you want to see the
46696         actual commands, you can still run "make V=1".
46697         * modules/alloca-opt: Add $(AM_V_GEN) and $(AM_V_at) prefixes
46698         so that make output is abbreviated when those variables are defined
46699         appropriately.
46700         * modules/argz: Likewise.
46701         * modules/arpa_inet: Likewise.
46702         * modules/byteswap: Likewise.
46703         * modules/configmake: Likewise.
46704         * modules/dirent: Likewise.
46705         * modules/errno: Likewise.
46706         * modules/fcntl: Likewise.
46707         * modules/float: Likewise.
46708         * modules/fnmatch: Likewise.
46709         * modules/getopt-posix: Likewise.
46710         * modules/glob: Likewise.
46711         * modules/iconv_open: Likewise.
46712         * modules/inttypes: Likewise.
46713         * modules/localcharset: Likewise.
46714         * modules/locale: Likewise.
46715         * modules/math: Likewise.
46716         * modules/netdb: Likewise.
46717         * modules/netinet_in: Likewise.
46718         * modules/poll: Likewise.
46719         * modules/posix_spawnp-tests: Likewise.
46720         * modules/sched: Likewise.
46721         * modules/search: Likewise.
46722         * modules/selinux-h: Likewise.
46723         * modules/signal: Likewise.
46724         * modules/spawn: Likewise.
46725         * modules/stdarg: Likewise.
46726         * modules/stdbool: Likewise.
46727         * modules/stddef: Likewise.
46728         * modules/stdint: Likewise.
46729         * modules/stdio: Likewise.
46730         * modules/stdlib: Likewise.
46731         * modules/string: Likewise.
46732         * modules/strings: Likewise.
46733         * modules/sys_file: Likewise.
46734         * modules/sys_ioctl: Likewise.
46735         * modules/sys_select: Likewise.
46736         * modules/sys_socket: Likewise.
46737         * modules/sys_stat: Likewise.
46738         * modules/sys_time: Likewise.
46739         * modules/sys_times: Likewise.
46740         * modules/sys_utsname: Likewise.
46741         * modules/sys_wait: Likewise.
46742         * modules/sysexits: Likewise.
46743         * modules/time: Likewise.
46744         * modules/unistd: Likewise.
46745         * modules/wchar: Likewise.
46746         * modules/wctype: Likewise.
46747
46748 2009-08-22  Jim Meyering  <meyering@redhat.com>
46749
46750         announce-gen: detect write failure
46751         * build-aux/announce-gen: Add Coda at end.
46752         Remove equivalent-but-more-verbose block at top.
46753
46754 2009-08-19  Akim Demaille  <demaille@gostai.com>
46755
46756         bootstrap: --help to stdout.
46757         * bootstrap (usage): Don't send --help to stderr.
46758         Use a here doc instead of a long string.
46759
46760 2009-08-21  Eric Blake  <ebb9@byu.net>
46761
46762         test-popen-safer: split from test-popen
46763         * tests/test-popen.c (main): Move...
46764         * tests/test-popen.h: ...into new file.
46765         * tests/test-popen-safer2.c: New file.
46766         * modules/popen-tests (Files): Add test-popen.h.
46767         * modules/popen-safer-tests (Files): Add test-popen-safer2.c.
46768         Suggested by Bruno Haible.
46769
46770         test-fcntl-safer: split from test-open
46771         * tests/test-open.c (main): Move...
46772         * tests/test-open.h: ...into new file.
46773         * tests/test-fcntl-safer.c: New file.
46774         * modules/open-tests (Files): Add test-open.h.
46775         * modules/fcntl-safer-tests: New file.
46776         Suggested by Bruno Haible.
46777
46778         test-fopen-safer: split from test-fopen
46779         * tests/test-fopen.c (main): Move...
46780         * tests/test-fopen.h: ...into new file.
46781         * tests/test-fopen-safer.c: New file.
46782         * modules/fopen-tests (Files): Add test-fopen.h.
46783         * modules/fopen-safer-tests: New file.
46784         Suggested by Bruno Haible.
46785
46786 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46787
46788         popen-safer: test O_CLOEXEC at run-time.
46789         * lib/popen-safer.c: Test O_CLOEXEC at run-time.
46790
46791 2009-08-21  Paolo Bonzini  <bonzini@gnu.org>
46792
46793         fcntl: move more flags to the header
46794         * lib/cloexec.c: Do not define FD_CLOEXEC here.
46795         * lib/popen-safer.c: Do not alias O_NOINHERIT to O_CLOEXEC here.
46796         * lib/fcntl.in.h: Do both things here.
46797
46798 2009-08-21  Jim Meyering  <meyering@redhat.com>
46799
46800         consistently remove $@-t before redirecting to it
46801         * modules/argz: Remove $@-t and $@ before redirecting to the former.
46802         * modules/alloca-opt: Likewise.
46803         * modules/byteswap: Likewise.
46804         * modules/fnmatch: Likewise.
46805         * modules/getopt-posix: Likewise.
46806         * modules/glob: Likewise.
46807         * modules/poll: Likewise.
46808         * modules/posix_spawnp-tests: Likewise.
46809         * modules/sys_socket: Likewise.
46810         * modules/sysexits: Likewise.
46811
46812 2009-08-21  Eric Blake  <ebb9@byu.net>
46813
46814         popen: simplify access to original popen
46815         * lib/popen.c (rpl_popen): No need to worry about popen being a
46816         macro.
46817         Reported by Bruno Haible.
46818
46819 2009-08-20  Eric Blake  <ebb9@byu.net>
46820
46821         build: avoid some compiler warnings
46822         * lib/selinux-at.h: Use dir_fd, not dirfd, to avoid shadowing.
46823         * lib/exclude.c (fnmatch_pattern_has_wildcards): Use correct
46824         type.
46825         (new_exclude_segment, excluded_file_pattern_p)
46826         (excluded_file_name_p): Reduce scope.
46827         * lib/vasnprintf.c (decimal_point_char): Avoid warning on
46828         old-style declaration.
46829
46830 2009-08-20  Simon Josefsson  <simon@josefsson.org>
46831
46832         * tests/test-exclude1.sh: Handle Windows EOL.
46833         * tests/test-exclude2.sh: Likewise.
46834         * tests/test-exclude3.sh: Likewise.
46835         * tests/test-exclude4.sh: Likewise.
46836         * tests/test-exclude5.sh: Likewise.
46837         * tests/test-exclude6.sh: Likewise.
46838         * tests/test-exclude7.sh: Likewise.
46839
46840 2009-08-19  Akim Demaille  <demaille@gostai.com>
46841
46842         bootstrap: find sha1sum when named gsha1sum.
46843         * bootstrap (find_tool): New.
46844         ($SHA1SUM): New.
46845         Use it.
46846
46847 2009-08-20  Jim Meyering  <meyering@redhat.com>
46848
46849         maint.mk: _header_without_use: fix a quoting bug and remove a bash'ism
46850         * top/maint.mk (_header_without_use): Use "\\\\", not "\\" in the sed
46851         expression that converts "." in a file name to "\." in the resulting
46852         regexp.  Start with a dummy statement, so that prior shell variable
46853         definitions are expanded portably.  Reported by Simon Josefsson.
46854
46855 2009-08-20  Paolo Bonzini  <bonzini@gnu.org>
46856
46857         Fix polling for writeability of a screen buffer.
46858         * lib/poll.c: Distinguish input and screen buffers for the
46859         Win32 implementation.
46860         * lib/select.c: Likewise.
46861
46862 2009-08-19  Eric Blake  <ebb9@byu.net>
46863
46864         popen-safer: prevent popen from clobbering std descriptors
46865         * modules/popen-safer: New file.
46866         * lib/popen-safer.c: Likewise.
46867         * m4/stdio-safer.m4 (gl_POPEN_SAFER): New macro.
46868         * lib/stdio--.h (popen): Provide override.
46869         * lib/stdio-safer.h (popen_safer): Provide declaration.
46870         * tests/test-popen.c (includes): Partially test this.
46871         * modules/popen-safer-tests: New file, for more tests.
46872         * tests/test-popen-safer.c: Likewise.
46873         * MODULES.html.sh (file stream based Input/Output): Mention it.
46874
46875         tests: test some of the *-safer modules
46876         * modules/fopen-safer (Depends-on): Add fopen.
46877         * modules/fcntl-safer (Depends-on): Add fcntl.
46878         * modules/stdlib-safer (Depends-on): Add stdlib.
46879         (configure.ac): Set indicator.
46880         * modules/unistd-safer (configure.ac): Likewise.
46881         * modules/tmpfile-safer (configure.ac): Likewise.
46882         (Depends-on): Add tmpfile.
46883         * lib/stdio--.h (fopen, tmpfile): Don't override unless module is
46884         active.
46885         * tests/test-fopen.c (includes): Test safer versions when they are
46886         in use.
46887         * tests/test-open.c (includes): Likewise.
46888
46889         popen: fix cygwin 1.5 bug when stdin closed
46890         * doc/posix-functions/popen.texi (popen): Document cygwin bugs.
46891         * modules/popen: New file.
46892         * modules/popen-tests: Likewise.
46893         * tests/test-popen.c: Likewise.
46894         * m4/popen.m4: Likewise.
46895         * lib/popen.c: Likewise.
46896         * lib/stdio.in.h (popen): New declaration.
46897         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add popen.
46898         * modules/stdio (Makefile.am): Likewise.
46899         * MODULES.html.sh (systems lacking POSIX:2008): Mention it.
46900
46901 2009-08-17  Joel E. Denny  <jdenny@clemson.edu>
46902
46903         maint.mk: give full control over update-copyright exclusions
46904         * top/maint.mk (VC_LIST_EXCEPT): Instead of ChangeLog, use
46905         ${VC_LIST_EXCEPT_DEFAULT-ChangeLog} as the default exclusion.
46906         (update-copyright): Don't force inclusion of top-level
46907         ChangeLog.  Don't force exclusion of all COPYING files, but make
46908         them the default exclusion instead.
46909
46910 2009-08-16  Bruno Haible  <bruno@clisp.org>
46911
46912         Fix test failures on Solaris 10.
46913         * tests/uniconv/test-u8-conv-from-enc.c (main): Disable autodetect_jp
46914         tests when Solaris iconv() is used.
46915         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
46916         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
46917         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
46918         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
46919         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
46920
46921 2009-08-16  Bruno Haible  <bruno@clisp.org>
46922
46923         Fix test failures on Solaris 10.
46924         * tests/test-pipe-filter-ii1.sh: Determine the filename of a working
46925         'tr' program and pass it as first argument.
46926         * tests/test-pipe-filter-gi1.sh: Likewise.
46927         * tests/test-pipe-filter-ii1.c (main): Except the filename of a 'tr'
46928         program as first argument.
46929         * tests/test-pipe-filter-gi1.c (main): Likewise.
46930
46931 2009-08-16  Eric Blake  <ebb9@byu.net>
46932
46933         fpurge: fix previous commits
46934         * modules/fpurge (Makefile.am): Make replacement conditional,
46935         partially reverting 2007-04-29 change; missed in previous
46936         attempt.
46937         * m4/fpurge.m4 (gl_FUNC_FPURGE): Also compile fpurge.c when fpurge
46938         is missing.
46939
46940 2009-08-16  Bruno Haible  <bruno@clisp.org>
46941
46942         Clarify fpurge's effect on the file position.
46943         * lib/stdio.in.h (fpurge): Specify the file position after fpurge.
46944         * tests/test-fpurge.c (main): Make a second pass for checking the file
46945         position.
46946
46947 2009-08-16  Bruno Haible  <bruno@clisp.org>
46948
46949         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't compile fpurge.c if only the
46950         declaration of fpurge is missing.
46951         * tests/test-fpurge.c (main): Check that the file has not more contents
46952         than expected. Close the file before removing it.
46953
46954 2009-08-15  Eric Blake  <ebb9@byu.net>
46955
46956         fpurge: don't wrap working cygwin implementation
46957         * lib/fpurge.c (fpurge): Fix comment typo.
46958         * m4/fpurge.m4 (gl_FUNC_FPURGE): Detect BSD bug, allowing cygwin
46959         1.7 to avoid replacement.
46960         * tests/test-fpurge.c (main): Enhance test.
46961
46962 2009-08-15  Eric Blake  <ebb9@byu.net>
46963         and Jim Meyering  <meyering@redhat.com>
46964
46965         test-update-copyright: skip if perl is insufficient
46966         * tests/test-update-copyright.sh: Failure to run maintainer tool
46967         should not cause testsuite failure on cygwin 1.5.
46968
46969 2009-08-14  Eric Blake  <ebb9@byu.net>
46970
46971         doc: mention more functions added in cygwin 1.7.0
46972         * doc/posix-headers/limits.texi (limits.h): Update for recent
46973         cygwin additions.
46974         * doc/posix-headers/wordexp.texi (wordexp.h): Likewise.
46975         * doc/posix-functions/wordexp.texi (wordexp): Likewise.
46976         * doc/posix-functions/wordfree.texi (wordfree): Likewise.
46977         * doc/posix-functions/setlocale.texi (setlocale): Likewise.
46978         * doc/posix-functions/nl_langinfo.texi (nl_langinfo): Likewise.
46979
46980 2009-08-14  Eric Blake  <ebb9@byu.net>
46981
46982         maint.mk: simplify update-copyright rule
46983         * top/maint.mk (update-copyright-local): Delete, and document how
46984         to do it in cfg.mk instead.
46985         (update-copyright-exclude-regexp): Delete, and document how to do
46986         it in .x-update-copyright instead.
46987         (update-copyright): Simplify, thanks to VC_LIST_EXCEPT.  Don't
46988         exclude ChangeLog.
46989
46990 2009-08-14  Bruno Haible  <bruno@clisp.org>
46991
46992         * m4/wchar.m4 (gl_WCHAR_H): Undo invalid optimization in last commit.
46993
46994 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
46995
46996         maint.mk: support update-copyright-env
46997         * top/maint.mk (update-copyright-env): Define place-holder.
46998         (update-copyright): Expand $(update-copyright-env) before
46999         invoking update-copyright.
47000
47001 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
47002
47003         update-copyright: implement forced reformatting
47004         * build-aux/update-copyright: Implement and document
47005         UPDATE_COPYRIGHT_FORCE.
47006         * tests/test-update-copyright.sh: Test it.
47007
47008 2009-08-14  Eric Blake  <ebb9@byu.net>
47009         and Bruno Haible  <bruno@clisp.org>
47010
47011         stddef: fix NetBSD 5.0 NULL bug, rather than working around it
47012         * tests/test-locale.c: Revert previous patch related to NULL.
47013         * tests/test-stdio.c: Likewise.
47014         * tests/test-stdlib.c: Likewise.
47015         * tests/test-string.c: Likewise.
47016         * tests/test-unistd.c: Likewise.
47017         * modules/time-tests (Depends-on): Add verify.
47018         * modules/wchar-tests (Depends-on): Likewise.
47019         * tests/test-time.c: Test for NULL compliance.
47020         * tests/test-wchar.c: Likewise.
47021         * modules/locale (Depends-on): Add stddef.
47022         * modules/stdio (Depends-on): Likewise.
47023         * modules/stdlib (Depends-on): Likewise.
47024         * modules/string (Depends-on): Likewise.
47025         * modules/time (Depends-on): Likewise.
47026         * modules/unistd (Depends-on): Likewise.
47027         * modules/wchar (Depends-on): Likewise.
47028         * lib/locale.in.h (includes): Use <stddef.h> to fix NULL.
47029         * lib/stdlib.in.h (includes): Likewise.
47030         * lib/string.in.h (includes): Likewise.
47031         * lib/time.in.h (includes): Likewise.
47032         * lib/unistd.in.h (includes): Likewise.
47033         * m4/locale_h.m4 (gl_LOCALE_H): Replace locale.h if stddef.h was
47034         replaced.
47035         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
47036         * m4/stddef_h.m4: New file.
47037         * modules/stddef: Likewise.
47038         * lib/stddef.in.h: Likewise.
47039         * modules/stddef-tests: Likewise.
47040         * tests/test-stddef.c: Likewise.
47041         * MODULES.html.sh (Basic types <stddef.h>): Mention new module.
47042         * doc/posix-headers/stddef.texi (stddef.h): Document the bug.
47043         * doc/posix-headers/locale.texi (locale.h): Likewise.
47044         * doc/posix-headers/stdio.texi (stdio.h): Likewise.
47045         * doc/posix-headers/stdlib.texi (stdlib.h): Likewise.
47046         * doc/posix-headers/string.texi (string.h): Likewise.
47047         * doc/posix-headers/time.texi (time.h): Likewise.
47048         * doc/posix-headers/unistd.texi (unistd.h): Likewise.
47049         * doc/posix-headers/wchar.texi (wchar.h): Likewise.
47050
47051 2009-08-14  Eric Blake  <ebb9@byu.net>
47052
47053         doc: improve git diff of texinfo files
47054         * .gitattributes: Add rule for *.texi files, with hint on how to
47055         use it.
47056         Copied from m4, and based on a report by Bruno Haible.
47057
47058 2009-08-14  Bruno Haible  <bruno@clisp.org>
47059
47060         Disable multithread support by default on Cygwin 1.5.x for real.
47061         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): Fix last commit.
47062
47063 2009-08-14  Joel E. Denny  <jdenny@clemson.edu>
47064
47065         update-copyright: much ado about intervals
47066         * build-aux/update-copyright: Implement and document
47067         UPDATE_COPYRIGHT_USE_INTERVALS to control expansion and collapse
47068         of copyright year intervals.
47069         Also, document UPDATE_COPYRIGHT_YEAR.
47070         * tests/test-update-copyright.sh: Test it.
47071
47072         update-copyright: convert 2-digit to 4-digit years
47073         * build-aux/update-copyright: Implement and document.
47074         * tests/test-update-copyright.sh: Update.
47075
47076 2009-08-14  Jim Meyering  <meyering@redhat.com>
47077
47078         test-exclude: avoid coreutils "make check" failure
47079         * tests/test-exclude.c (ARGMATCH_DIE_DECL) [ARGMATCH_DIE_DECL]: Define,
47080         just as in test-argmatch.c.
47081
47082 2009-08-13  Eric Blake  <ebb9@byu.net>
47083
47084         test-dup2: fix bad assumption
47085         * tests/test-dup2.c (main): Tolerate leaked fds from environment.
47086         Reported by Peter Breitenlohner <peb@mppmu.mpg.de>.
47087
47088         test-version-etc: fix CRLF portability issue
47089         * tests/test-version-etc.sh: Use tr, not sed, as not all sed
47090         recognize \r.
47091         * tests/test-argp-version-etc-1.sh: Likewise.
47092
47093         getopt: update client modules
47094         * modules/argp (Depends-on): Use getopt-gnu.
47095         * modules/git-merge-changelog (Depends-on): Likewise.
47096         * modules/long-options (Depends-on): Likewise.
47097         * modules/xstrtol (Depends-on): Likewise.
47098
47099 2009-08-13  Simon Josefsson  <simon@josefsson.org>
47100
47101         * tests/test-version-etc.sh: Don't fail on different
47102         project/version.  Don't fail on CRLF differences.  Rewrite to use
47103         multiple -e instead of multiple sed forks, suggested by Eric Blake
47104         <ebb9@byu.net>.
47105         * tests/test-argp-version-etc-1.sh: Likewise.
47106
47107 2009-08-13  Simon Josefsson  <simon@josefsson.org>
47108
47109         * tests/test-version-etc.sh: Don't fail on different
47110         project/version.
47111
47112 2009-08-12  Bruno Haible  <bruno@clisp.org>
47113
47114         Tests for modules 'getopt-posix', 'getopt-gnu'.
47115         * modules/getopt-posix-tests: New file.
47116         * tests/test-getopt.c: New file.
47117         * tests/test-getopt.h: New file.
47118         * tests/test-getopt_long.h: New file.
47119
47120         New modules 'getopt-posix', 'getopt-gnu'.
47121         * modules/getopt-gnu: New file, renamed from modules/getopt.
47122         * modules/getopt-posix: New file.
47123         * modules/getopt: Turn into an obsolete alias for getopt-gnu.
47124         * m4/getopt.m4 (gl_FUNC_GETOPT_POSIX, gl_FUNC_GETOPT_GNU): New macros.
47125         (gl_GETOPT): Remove macro.
47126         (gl_GETOPT_CHECK_HEADERS): Do some checks only for gl_FUNC_GETOPT_GNU.
47127         Disable the test against BSD systems that declare optreset. Test
47128         against mingw bug. Test against lack of support of optional arguments
47129         on many platforms.
47130         * doc/glibc-headers/getopt.texi: Update module name and list of
47131         relevant platforms.
47132         * doc/posix-functions/getopt.texi: Mention modules 'getopt-posix' and
47133         'getopt-gnu' and more portability problems.
47134         * NEWS: Mention the changes.
47135
47136 2009-08-12  Bruno Haible  <bruno@clisp.org>
47137
47138         Ensure that optarg etc. get declared by <unistd.h>.
47139         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Require
47140         AC_USE_SYSTEM_EXTENSIONS.
47141         * modules/getopt (Depends-on): Add 'extensions'.
47142
47143 2009-08-12  Bruno Haible  <bruno@clisp.org>
47144
47145         Avoid test link errors.
47146         * modules/pipe-filter-ii-tests (Makefile.am): Define
47147         test_pipe_filter_ii1_LDADD and test_pipe_filter_ii2_main_LDADD.
47148         * modules/pipe-filter-gi-tests (Makefile.am): Define
47149         test_pipe_filter_gi1_LDADD and test_pipe_filter_gi2_main_LDADD.
47150         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47151
47152 2009-08-12  Bruno Haible  <bruno@clisp.org>
47153
47154         * m4/getopt.m4 (gl_REPLACE_GETOPT): New macro, was called
47155         gl_GETOPT_SUBSTITUTE before.
47156         (gl_GETOPT): Use it.
47157         * m4/argp.m4 (gl_ARGP): Update.
47158         Reported by Sergey Poznyakoff.
47159
47160         * m4/getopt.m4: Reorder macros.
47161         (gl_GETOPT): Inline gl_GETOPT_SUBSTITUTE.
47162         (gl_GETOPT_SUBSTITUTE): Remove macro.
47163
47164 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47165
47166         Minor improvement in gitlog-to-changelog
47167
47168         * build-aux/gitlog-to-changelog: New option `--format' makes
47169         output format string configurable.
47170
47171 2009-08-12  Sergey Poznyakoff  <gray@gnu.org.ua>
47172
47173         Optimize exclude: use hash tables for non-wildcard patterns.
47174
47175         * lib/exclude.c: Include hash.h and mbuiter.h
47176         (struct exclude_pattern, exclude_segment): New data types.
47177         (struct exclude): Rewrite.
47178         (fnmatch_pattern_has_wildcards): New function.
47179         (new_exclude_segment, free_exclude_segment): New functions.
47180         (excluded_file_pattern_p, excluded_file_name_p): New functions.
47181         (excluded_file_name, add_exclude): Rewrite using new struct exclude.
47182         * lib/exclude.h (is_fnmatch_pattern): New prototype.
47183         * modules/exclude: Depend on hash and mbuiter.
47184
47185         * modules/exclude-tests: New file.
47186         * tests/test-exclude.c: New file.
47187         * tests/test-exclude1.sh: New file.
47188         * tests/test-exclude2.sh: New file.
47189         * tests/test-exclude3.sh: New file.
47190         * tests/test-exclude4.sh: New file.
47191         * tests/test-exclude5.sh: New file.
47192         * tests/test-exclude6.sh: New file.
47193         * tests/test-exclude7.sh: New file.
47194
47195 2009-08-12  Bruno Haible  <bruno@clisp.org>
47196
47197         Ensure that getopt() gets declared by <unistd.h>.
47198         * lib/unistd.in.h: Conditionally include getopt.h.
47199         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Require gl_UNISTD_H_DEFAULTS.
47200         Set GNULIB_UNISTD_H_GETOPT.
47201         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47202         GNULIB_UNISTD_H_GETOPT.
47203         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_GETOPT.
47204
47205 2009-08-12  Bruno Haible  <bruno@clisp.org>
47206
47207         Clarify logic.
47208         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS, gl_GETOPT_IFELSE): Use
47209         gl_replace_getopt instead of GETOPT_H.
47210
47211 2009-08-12  Bruno Haible  <bruno@clisp.org>
47212
47213         * m4/getopt.m4: Add comments.
47214
47215 2009-08-12  Bruno Haible  <bruno@clisp.org>
47216
47217         Disable multithread support by default on Cygwin 1.5.x.
47218         * m4/threadlib.m4 (gl_THREADLIB_EARLY_BODY): On Cygwin 1.5.x and older,
47219         set gl_use_threads=no if not specified otherwise.
47220
47221 2009-08-11  Bruno Haible  <bruno@clisp.org>
47222
47223         Avoid compilation error on NetBSD 5.0.
47224         * tests/test-locale.c: Write sizeof (NULL) instead of sizeof NULL.
47225         * tests/test-stdio.c: Likewise.
47226         * tests/test-stdlib.c: Likewise.
47227         * tests/test-string.c: Likewise.
47228         * tests/test-unistd.c: Likewise.
47229         Reported by Greg Troxel <gdt@ir.bbn.com>
47230         at <https://savannah.gnu.org/support/?106973>.
47231
47232 2009-08-11  Bruno Haible  <bruno@clisp.org>
47233
47234         * modules/dup2-tests (Depends-on): Remove close.
47235
47236         Undo 2009-07-19 commit.
47237         * modules/acl-tests (Depends-on): Remove close.
47238         * modules/binary-io-tests (Depends-on): Likewise.
47239         * modules/closein-tests (Depends-on): Likewise.
47240         * modules/flock-tests (Depends-on): Likewise.
47241         * modules/fsync-tests (Depends-on): Likewise.
47242         * modules/lseek-tests (Depends-on): Likewise.
47243         * modules/pipe-tests (Depends-on): Likewise.
47244         * modules/posix_spawn-tests (Depends-on): Likewise.
47245         * modules/posix_spawnp-tests (Depends-on): Likewise.
47246         * modules/stat-time-tests (Depends-on): Likewise.
47247         * modules/yesno-tests (Depends-on): Likewise.
47248
47249 2009-08-10  Bruno Haible  <bruno@clisp.org>
47250
47251         * lib/vasnprintf.c (DCHAR_SET): Undefine at the end.
47252
47253 2009-08-10  Bruno Haible  <bruno@clisp.org>
47254
47255         Fix a gcc warning.
47256         * lib/write.c (rpl_write): Cast result of _get_osfhandle.
47257
47258 2009-08-10  Bruno Haible  <bruno@clisp.org>
47259
47260         Don't optimize AC_LIBOBJs, as they may appear in different contexts.
47261         * m4/close.m4 (gl_REPLACE_CLOSE): Execute AC_LIBOBJ unconditionally,
47262         not only the first time.
47263         * m4/fclose.m4 (gl_REPLACE_FCLOSE): Likewise.
47264         * m4/open.m4 (gl_REPLACE_OPEN): Likewise.
47265         * m4/strstr.m4 (gl_FUNC_STRSTR): Execute AC_LIBOBJ when REPLACE_STRSTR
47266         is 1, not only the the first time.
47267
47268 2009-08-10  Bruno Haible  <bruno@clisp.org>
47269
47270         Make it possible to use module 'gethostname' without module 'close'.
47271         * lib/unistd.in.h (close): Evoke a link error only if
47272         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
47273         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
47274         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47275         * modules/unistd (Makefile.am): Substitute
47276         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47277         * lib/sys_ioctl.in.h (ioctl): Evoke a link error only if
47278         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS is set.
47279         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H_DEFAULTS): Initialize
47280         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47281         * modules/sys_ioctl (Makefile.am): Substitute
47282         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47283         * modules/socket (configure.ac): On native Windows, set
47284         UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS and
47285         SYS_IOCTL_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS.
47286         Reported by Sam Steingold <sds@gnu.org>.
47287
47288 2009-08-10  Bruno Haible  <bruno@clisp.org>
47289
47290         * m4/close.m4 (gl_FUNC_CLOSE): Add comment.
47291         * modules/ioctl (configure.ac): Likewise.
47292
47293 2009-08-10  Bruno Haible  <bruno@clisp.org>
47294
47295         Avoid collision between gnulib wrapper and libintl wrapper.
47296         * lib/stdio-write.c (printf): Don't define if a printf wrapper is
47297         already defined in intl/printf.c.
47298         (vprintf): Test REPLACE_VPRINTF_POSIX, not REPLACE_VFPRINTF_POSIX.
47299         (vfprintf): Test REPLACE_VFPRINTF_POSIX, not REPLACE_VPRINTF_POSIX.
47300
47301 2009-08-09  Bruno Haible  <bruno@clisp.org>
47302
47303         Make <sys/select.h> really self-contained, also on Solaris 10.
47304         * lib/sys_select.in.h: Include <string.h>.
47305         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Test also against
47306         Solaris 10 problem.
47307         * tests/test-sys_select.c (main): Add check that FD_ZERO can be used.
47308         * doc/posix-headers/sys_select.texi: Mention the Solaris 10 problem.
47309         Reported by Jim Meyering.
47310
47311 2009-08-09  Bruno Haible  <bruno@clisp.org>
47312
47313         Avoid warnings from 'aclocal' that are due to a use of macro name
47314         AM_XGETTEXT_OPTION that is not defined in automake.
47315         * modules/argp (configure.ac): Hide use of AM_XGETTEXT_OPTION from
47316         automake.
47317         * modules/error (configure.ac): Likewise.
47318         * modules/propername (configure.ac): Likewise.
47319         * modules/vasprintf (configure.ac): Likewise.
47320         * modules/verror (configure.ac): Likewise.
47321         * modules/xprintf (configure.ac): Likewise.
47322         * modules/xvasprintf (configure.ac): Likewise.
47323
47324 2009-08-08  Bruno Haible  <bruno@clisp.org>
47325
47326         Avoid compilation error in C++ mode.
47327         * lib/gettimeofday.c (rpl_gettimeofday): Cast timezone argument.
47328         Reported by Sam Steingold <sds@gnu.org>.
47329
47330 2009-08-08  Bruno Haible  <bruno@clisp.org>
47331
47332         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Define HOST_NAME_MAX also
47333         for the various Unix platforms.
47334         * doc/posix-headers/limits.texi: Update platforms list regarding
47335         HOST_NAME_MAX.
47336         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
47337
47338 2009-08-07  Jim Meyering  <meyering@redhat.com>
47339
47340         selinux-at: fix typo in a comment
47341         * lib/selinux-at.h: s/getfileconat/getfilecon/ in a comment.
47342         Spotted by Paolo Bonzini.
47343
47344         selinux-at: remove redundant m4 code, add documentation
47345         * modules/selinux-at (configure.ac): Remove redundant code.
47346         LIB_SELINUX is already set via the dependent module, selinux-h.
47347         (Include): Add quotes around selinux-at.h.
47348         * lib/selinux-at.h: Add documentation.
47349         Reported by Bruno Haible in
47350         http://marc.info/?l=gnulib-bug&m=124958988300749
47351
47352 2009-08-07  Bruno Haible  <bruno@clisp.org>
47353
47354         Avoid link error on MacOS X 10.3 and 10.4.
47355         * lib/argp-ba.c (argp_program_bug_address): Explicitly zero-initialize
47356         on non-ELF systems.
47357         * lib/argp-pv.c (argp_program_version): Likewise.
47358         Reported by Simon Josefsson.
47359
47360 2009-08-07  Simon Josefsson  <simon@josefsson.org>
47361
47362         * tests/test-version-etc.sh: Use $EXEEXT.
47363
47364 2009-08-06  Joel E. Denny  <jdenny@clemson.edu>
47365
47366         update-copyright: update documentation to point to maint.mk
47367         * build-aux/update-copyright: Here.
47368
47369 2009-08-06  Jim Meyering  <meyering@redhat.com>
47370
47371         maint.mk: support update-copyright-local
47372         * top/maint.mk (update-copyright-local): Define place-holder.
47373         (update-copyright): Depend on $(update-copyright-local).
47374
47375 2009-08-06  Jim Meyering  <meyering@redhat.com>
47376
47377         selinux-at: new module
47378         Initially written for coreutils, this module will soon be
47379         used by findutils, too.
47380         * MODULES.html.sh [Misc]: Add selinux-at.
47381         * lib/selinux-at.h: New file, from coreutils.
47382         * lib/selinux-at.c: Likewise.
47383         * modules/selinux-at: Likewise.
47384         (License): Change from LGPL to GPL, since it depends
47385         on the GPL'd openat module.
47386
47387         doc: update README
47388         * README: Remove references to cogito.
47389         Remove cvs-repo-updating instructions from 2007.
47390         Don't imply that CVS is better if you have limited disk space.
47391
47392 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47393
47394         update-copyright: support C-style comments
47395         * build-aux/update-copyright: Implement and document.
47396         * tests/test-update-copyright.sh: Test.
47397
47398 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47399
47400         update-copyright: support omitted "(C)"
47401         * build-aux/update-copyright: Implement and document.  Also,
47402         allow variable whitespace before "(C)".
47403         * tests/test-update-copyright.sh: Test.
47404
47405 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47406
47407         update-copyright: don't trip on non-FSF copyright statements
47408         * build-aux/update-copyright: Fix so that the first correctly
47409         formatted FSF copyright statement is recognized no matter what
47410         appears before it.  Update documentation.
47411         * tests/test-update-copyright.sh: Test that.
47412
47413 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47414
47415         update-copyright: clean up code a little
47416         * build-aux/update-copyright: Append "_re" to the name of any
47417         variable holding a regular expression.
47418         Replace "old" and "new" with "stmt" in variable names.
47419         Do not accept 2-digit UPDATE_COPYRIGHT_YEAR, which was not
47420         handled correctly.
47421         Format code more consistently.
47422
47423 2009-08-05  Joel E. Denny  <jdenny@clemson.edu>
47424
47425         update-copyright-tests: improve portability
47426         * tests/test-update-copyright.sh: Use cmp if diff cannot handle
47427         -u or /dev/null.  Suggested by Jim Meyering and Eric Blake.
47428
47429 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47430
47431         update-copyright: support @copyright{} and &copy;
47432         * build-aux/update-copyright: Implement and document.
47433         * tests/test-update-copyright.sh: Test.
47434
47435 2009-08-04  Jim Meyering  <meyering@redhat.com>
47436
47437         update-copyright-tests: correctly test EOL=\r\n handling
47438         * tests/test-update-copyright.sh: Put \r at the end of some lines
47439         for the dos-eol tests.  Based on a patch by Joel E. Denny.
47440
47441         maint.mk: make update-copyright exclusion list more configurable
47442         * top/maint.mk (update-copyright): Default to excluding COPYING,
47443         but allow an override, in case someone does want to update that file.
47444
47445         maint.mk: don't update copyright date in COPYING
47446         * top/maint.mk (update-copyright): Exclude COPYING.
47447
47448         maint.mk: add a copyright-updating rule
47449         * top/maint.mk (update-copyright): New rule.
47450         Derived from coreutils/Makefile.am.
47451
47452         update-copyright: rename some variables
47453         * build-aux/update-copyright: Rename a few variables for clarity.
47454         Tweak syntax.  List Joel E. Denny as coauthor.
47455
47456 2009-08-03  Joel E. Denny  <jdenny@clemson.edu>
47457
47458         update-copyright: fix bug for 2-digit last year and add tests
47459         * build-aux/update-copyright: Fix bug.
47460         Use UPDATE_COPYRIGHT_YEAR from environment as current year if
47461         specified.
47462         * modules/update-copyright-tests: New
47463         * tests/test-update-copyright.sh: New.
47464
47465 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47466
47467         update-copyright: handle leading tabs in line prefix
47468         * build-aux/update-copyright: Count leading tabs as 8 spaces
47469         when computing margin.  This helps with the formatting of
47470         ChangeLogs, for example.
47471         Fix documentation a little.
47472
47473 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47474
47475         update-copyright: support EOL=\r\n
47476         * build-aux/update-copyright: Implement that.
47477
47478 2009-07-31  Joel E. Denny  <jdenny@clemson.edu>
47479
47480         update-copyright: automatically format copyright statements
47481         * build-aux/update-copyright: Implement that.
47482         Also, be a little more predictable and safer by always failing
47483         when the full copyright format is not perfectly recognized as an
47484         unbroken whole.  Discussed at
47485         <http://lists.gnu.org/archive/html/bug-gnulib/2009-07/msg00131.html>.
47486         Rewrite documentation.
47487
47488 2009-08-03  Bruno Haible  <bruno@clisp.org>
47489
47490         * m4/iconv.m4 (AM_ICONV): Fix displayed message with autoconf-2.64.
47491
47492 2009-08-02  Bruno Haible  <bruno@clisp.org>
47493
47494         Tests for module 'uname'.
47495         * modules/uname-tests: New file.
47496         * tests/test-uname.c: New file.
47497
47498         New module 'uname'.
47499         * lib/uname.c: New file.
47500         * m4/uname.m4: New file.
47501         * modules/uname: New file.
47502         * doc/posix-functions/uname.texi: Mention the new module.
47503
47504 2009-08-02  Bruno Haible  <bruno@clisp.org>
47505
47506         Tests for module 'sys_utsname'.
47507         * modules/sys_utsname-tests: New file.
47508         * tests/test-sys_utsname.c: New file.
47509
47510         New module 'sys_utsname'.
47511         * lib/sys_utsname.in.h: New file, based on glibc's <sys/utsname.h>.
47512         * m4/sys_utsname_h.m4: New file.
47513         * modules/sys_utsname: New file.
47514         * doc/posix-headers/sys_utsname.texi: Mention the new module.
47515
47516 2009-08-02  Bruno Haible  <bruno@clisp.org>
47517
47518         Implicitly initialize the sockets library.
47519         * lib/gethostname.c: Include sockets.h.
47520         (rpl_gethostname): Invoke gl_sockets_startup.
47521         * lib/socket.c: Include sockets.h.
47522         (rpl_socket): Invoke gl_sockets_startup.
47523         * modules/gethostname (Depends-on): Add sockets.
47524         * modules/socket (Depends-on): Likewise.
47525         * tests/test-poll.c: Don't include sockets.h.
47526         (main): Don't invoke gl_sockets_startup.
47527         * tests/test-select.c: Don't include sockets.h.
47528         (main): Don't invoke gl_sockets_startup.
47529
47530 2009-08-02  Bruno Haible  <bruno@clisp.org>
47531
47532         Allow multiple calls to gl_sockets_startup.
47533         * lib/sockets.c (initialized_sockets_version): New variable.
47534         (gl_sockets_startup): Do nothing if already called for this or a higher
47535         version.
47536         (gl_sockets_cleanup): Reset initialized_sockets_version.
47537
47538 2009-08-03  Simon Josefsson  <simon@josefsson.org>
47539
47540         * tests/test-argp-version-etc-1.sh: Use EXEEXT.  Don't fail on
47541         different project/version.
47542
47543 2009-08-02  Paolo Bonzini  <bonzini@gnu.org>
47544             Bruno Haible  <bruno@clisp.org>
47545
47546         Tests for module 'pipe-filter-gi'.
47547         * modules/pipe-filter-gi-tests: New file.
47548         * tests/test-pipe-filter-gi1.sh: New file.
47549         * tests/test-pipe-filter-gi1.c: New file.
47550         * tests/test-pipe-filter-gi2.sh: New file.
47551         * tests/test-pipe-filter-gi2-main.c: New file.
47552         * tests/test-pipe-filter-gi2-child.c: New file.
47553
47554         New module 'pipe-filter-gi'.
47555         * lib/pipe-filter-gi.c: New file.
47556         * modules/pipe-filter-gi: New file.
47557
47558 2009-08-02  Bruno Haible  <bruno@clisp.org>
47559             Paolo Bonzini  <bonzini@gnu.org>
47560
47561         Tests for module 'pipe-filter-ii'.
47562         * modules/pipe-filter-ii-tests: New file.
47563         * tests/test-pipe-filter-ii1.sh: New file.
47564         * tests/test-pipe-filter-ii1.c: New file.
47565         * tests/test-pipe-filter-ii2.sh: New file.
47566         * tests/test-pipe-filter-ii2-main.c: New file.
47567         * tests/test-pipe-filter-ii2-child.c: New file.
47568
47569         New module 'pipe-filter-ii'.
47570         * lib/pipe-filter.h: New file.
47571         * lib/pipe-filter-ii.c: New file.
47572         * lib/pipe-filter-aux.h: New file.
47573         * modules/pipe-filter-ii: New file.
47574
47575 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47576
47577         * lib/gc-libgcrypt.c: Change copyright to FSF.
47578         * lib/gc-gnulib.c: Likewise.
47579
47580 2009-08-02  Martin Lambers  <marlam@marlam.de>  (tiny change)
47581
47582         * lib/gethostname.c: Include limits.h.
47583
47584 2009-08-02  Simon Josefsson  <simon@josefsson.org>
47585             Bruno Haible  <bruno@clisp.org>
47586
47587         Ensure HOST_NAME_MAX as part of the gethostname module.
47588         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): On native Windows platforms,
47589         define also HOST_NAME_MAX.
47590         * tests/test-gethostname.c: Include <limits.h>.
47591         (main): Check also HOST_NAME_MAX.
47592         * doc/posix-headers/limits.texi: Document the mingw problem.
47593
47594 2009-08-02  Bruno Haible  <bruno@clisp.org>
47595
47596         * lib/gethostname.c (gethostname): Fix handling of large len argument.
47597         Add comments.
47598
47599 2009-03-31  Simon Josefsson  <simon@josefsson.org>
47600
47601         * lib/gethostname.c: Add Windows wrapper.
47602         * m4/gethostname.m4: Look for gethostname in -lws2_32.
47603         * modules/gethostname: Depend on sys_socket & errno, for also
47604         added lib/w32sock.h.  Add GETHOSTNAME_LIB link directive.
47605         * modules/gethostname-tests: Link to @GETHOSTNAME_LIB@.
47606
47607 2009-07-31  Jim Meyering  <meyering@redhat.com>
47608
47609         getloadavg: fix symbol name in comment
47610         * lib/getloadavg.c: Correct a typo I introduced when adding
47611         comments to Matt's change: s/NLIST_POINTER/N_NAME_POINTER/.
47612         Matt Kraai spotted the problem.
47613
47614 2009-07-29  Matt Kraai  <mkraai@beckman.com>
47615
47616         getloadavg: check whether n_name is a pointer, for QNX 6.4.1
47617         * lib/getloadavg.c (getloadavg): Use the strcpy-into-nlist.n_name
47618         code also if ! defined N_NAME_POINTER.
47619         * m4/getloadavg.m4 (gl_GETLOADAVG): Add a link-test for N_NAME_POINTER.
47620         This is required on QNX 6.4.1, where /usr/include/nlist.h exists,
47621         but the n_name member is a 12-byte array.
47622
47623 2009-07-29  Joel E. Denny  <jdenny@clemson.edu>
47624
47625         update-copyright: generalize comment handling
47626         * build-aux/update-copyright: Handle copyright statements
47627         within more comment styles.
47628         Document usage.
47629         Report any file with an external copyright holder or parse failure.
47630
47631 2009-07-29  Jim Meyering  <meyering@redhat.com>
47632
47633         mktime: correct setting of REPLACE_MKTIME
47634         * m4/mktime.m4 (gl_FUNC_MKTIME): Set REPLACE_MKTIME=0, when required.
47635
47636         update-copyright: new module
47637         * modules/update-copyright: New file.
47638         * build-aux/update-copyright: New file.
47639         * MODULES.html.sh (maint+release support): Add update-copyright.
47640
47641 2009-07-27  Bruno Haible  <bruno@clisp.org>
47642
47643         Fix compilation error when <ctime> is used and mktime is replaced.
47644         * lib/time.in.h (mktime): New declaration.
47645         * m4/mktime.m4 (gl_FUNC_MKTIME): Require gl_HEADER_TIME_H_DEFAULTS. Set
47646         REPLACE_MKTIME instead of defining mktime in config.h.
47647         * m4/time_h.m4 (gl_HEADER_TIME_H_DEFAULTS): Initialize REPLACE_MKTIME.
47648         * modules/time (Makefile.am): Substitute REPLACE_MKTIME.
47649         Reported by Ross McFarland <rwmcfa1@neces.com>.
47650
47651 2009-07-27  Bruno Haible  <bruno@clisp.org>
47652
47653         * lib/math.in.h (cosl, logl, sinl): Undefine before declaring it.
47654         Reported by Matt Kraai <mkraai@beckman.com>.
47655
47656 2009-07-25  Jim Meyering  <meyering@redhat.com>
47657
47658         maint.mk: avoid warnings about missing files
47659         * top/maint.mk (PREV_VERSION): Suppress stderr, to hide a
47660         diagnostic when .prev-version does not exist.
47661         (_cfg_mk): Define, so it can be empty when cfg.mk does not exist.
47662         (syntax-check-rules): Use $(_cfg_mk) to avoid a diagnostic about
47663         nonexistent cfg.mk.
47664         Suggestions from Simon Josefsson.
47665
47666 2009-07-25  Bruno Haible  <bruno@clisp.org>
47667
47668         * lib/math.in.h (cosl, logl, sinl): Don't declare if they are already
47669         defined as macros. Needed on QNX 6.4.1.
47670         Reported by Matt Kraai <mkraai@beckman.com>.
47671
47672 2009-07-23  Jim Meyering  <meyering@redhat.com>
47673
47674         maint.mk: invoke "make dist" with a working value of XZ_OPT
47675         * top/maint.mk (vc-dist): Use no "-" in the value of XZ_OPT.
47676
47677 2009-07-22  Matt Kraai  <mkraai@beckman.com>  (tiny change)
47678
47679         Make fseeko.c compile on QNX.
47680         * lib/fseeko.c (rpl_fseeko): Use the numerical value of _MWRITE.
47681
47682 2009-07-22  Peter Simons  <simons@cryp.to>
47683
47684         C++: wrap md2,md5,sha1,etc. function declarations in extern "C" scope
47685         * lib/md2.h [__cplusplus]: Wrap declarations in extern "C" scope.
47686         * lib/md4.h: Likewise.
47687         * lib/md5.h: Likewise.
47688         * lib/sha1.h: Likewise.
47689         * lib/sha256.h: Likewise.
47690         * lib/sha512.h: Likewise.
47691
47692         tests-sha1: don't assign literal string to 'char *' variable
47693         * tests/test-sha1.c (main): Declare locals with "const" to match
47694         attributes of the right hand side.
47695
47696 2009-07-21  Eric Blake  <ebb9@byu.net>
47697
47698         dup2: fix more mingw problems
47699         * lib/dup2.c (rpl_dup2) [_WIN32]: Avoid hanging when duplicating
47700         fd to itself.
47701         * doc/posix-functions/dup2.texi (dup2): Document the bug.
47702         * lib/unistd.in.h (dup2) [REPLACE_FCHDIR]: Avoid name collision.
47703         * lib/fchdir.c (dup2): Manage preprocessor macros correctly.
47704         (rpl_dup2_fchdir): Rename from rpl_dup2, and let dup2 module take
47705         care of mingw bugs.
47706
47707 2009-07-21  Jim Meyering  <meyering@redhat.com>
47708
47709         vc-list-files: avoid failure when /bin/sh is dash
47710         * build-aux/vc-list-files: Avoid a shell portability problem with dash.
47711         On some Debian based systems, /bin/sh is a symlink to dash, and running
47712         this command would omit the "/" following each 'tests' prefix:
47713           dash -x build-aux/vc-list-files -C . tests
47714         That is because bash and dash work differently:
47715           $ for i in bash dash; do $i -c 'a=odd; a=ok b=$a; echo '$i' $b'; done
47716           bash ok
47717           dash odd
47718
47719 2009-07-21  Eric Blake  <ebb9@byu.net>
47720
47721         dup2-tests: test previous patch
47722         * modules/dup2-tests: New file.
47723         * tests/test-dup2.c: Likewise.
47724         * tests/test-open.c (main): Avoid unspecified behavior.
47725         * tests/test-pipe.c (child_main): Use dup2 semantics to simplify
47726         test.
47727
47728         dup2: work around mingw and cygwin 1.5 bug
47729         * m4/dup2.m4 (gl_FUNC_DUP2): Detect mingw bug.
47730         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add witness.
47731         * modules/unistd (Makefile.am): Substitute it.
47732         * lib/unistd.in.h (dup2): Declare the replacement.
47733         * lib/dup2.c (dup2) [REPLACE_DUP2]: Implement it.
47734         * doc/posix-functions/dup2.texi (dup2): Document the bugs.
47735         * lib/fchdir.c (rpl_dup2): Don't collide with mingw replacement.
47736         * modules/execute (Depends-on): Add dup2.
47737         * modules/fseterr (Depends-on): Likewise.
47738         * modules/pipe (Depends-on): Likewise.
47739         * modules/posix_spawn-internal (Depends-on): Likewise.
47740
47741 2009-07-21  Bruno Haible  <bruno@clisp.org>
47742
47743         * modules/.gitattributes: New file.
47744
47745 2009-07-20  Bruno Haible  <bruno@clisp.org>
47746
47747         * tests/test-pipe.c (BACKUP_STDERR_FILENO): New macro.
47748         (main): Use it.
47749
47750 2009-07-20  Eric Blake  <ebb9@byu.net>
47751
47752         test-pipe: make a bit more robust.
47753         * tests/test-pipe.c (myerr): Allow error messages regardless of
47754         what we do to stderr.
47755         (test_pipe): Rearrange to avoid deadlock.
47756         (child_main): Try a larger read, to ensure we avoided deadlock.
47757         * lib/pipe.c (create_pipe) [_WIN32]: Fix comment.
47758         * lib/pipe.h (create_pipe_bidi): Document potential for deadlock
47759         if misused.
47760
47761 2009-07-19  Jim Meyering  <meyering@redhat.com>
47762
47763         fts: avoid false-positive cycle-detection
47764         * lib/fts.c (fts_read): Reinitialize cycle-detection data structures
47765         for each new command line argument.
47766
47767 2009-07-19  Bruno Haible  <bruno@clisp.org>
47768
47769         Fix build error on mingw with the modules sys_select and unistd.
47770         * modules/acl-tests (Depends-on): Add close.
47771         * modules/binary-io-tests (Depends-on): Likewise.
47772         * modules/closein-tests (Depends-on): Likewise.
47773         * modules/flock-tests (Depends-on): Likewise.
47774         * modules/fsync-tests (Depends-on): Likewise.
47775         * modules/lseek-tests (Depends-on): Likewise.
47776         * modules/pipe-tests (Depends-on): Likewise.
47777         * modules/posix_spawn-tests (Depends-on): Likewise.
47778         * modules/posix_spawnp-tests (Depends-on): Likewise.
47779         * modules/stat-time-tests (Depends-on): Likewise.
47780         * modules/yesno-tests (Depends-on): Likewise.
47781
47782 2009-07-19  Bruno Haible  <bruno@clisp.org>
47783
47784         Unify conditionals.
47785         * lib/pipe.h: Detect native Win32 by looking at _WIN32 and __WIN32__
47786         macros, not at the compiler macros.
47787         * lib/pipe.c: Likewise.
47788         * lib/execute.c: Likewise.
47789         * lib/spawni.c: Likewise.
47790
47791 2009-07-19  Bruno Haible  <bruno@clisp.org>
47792
47793         Fix handling of closed stdin/stdout/stderr on mingw.
47794         * lib/w32spawn.h: Include unistd.h.
47795         (dup_noinherit): Return -1 if the old handle is invalid. Allocate new
47796         file descriptor with O_NOINHERIT flag.
47797         (fd_safer_noinherit): New function, based on fd-safer.c.
47798         (dup_safer_noinherit): New function, based on dup-safer.c.
47799         (undup_safer_noinherit): New function.
47800         * lib/execute.c (execute) [WIN32]: Use dup_safer_noinherit instead of
47801         dup_noinherit. Use undup_safer_noinherit instead of dup2 and close.
47802         * lib/pipe.c (create_pipe) [WIN32]: Likewise. Use fd_safer_noinherit
47803         instead of fd_safer.
47804         * tests/test-pipe.c: Include <windows.h>.
47805         (child_main) [WIN32]: Test the handle of STDERR_FILENO, not its close()
47806         result.
47807
47808         * tests/test-pipe.c (child_main, parent_main): New functions, extracted
47809         from main.
47810         (test_pipe): Pass an extra argument for disambiguation.
47811         (main): Invoke parent_main or child_main.
47812
47813         * tests/test-pipe.c (test_pipe): Pass slave_process = true argument
47814         consistently.
47815
47816 2009-07-18  Eric Blake  <ebb9@byu.net>
47817
47818         test-pipe: fix mingw build
47819         * tests/test-pipe.c (main): Avoid fcntl on mingw.
47820
47821 2009-07-18  Bruno Haible  <bruno@clisp.org>
47822
47823         * modules/pipe-tests (Makefile.am): Fix typo.
47824
47825 2009-07-18  Eric Blake  <ebb9@byu.net>
47826
47827         error: fix mingw build
47828         * lib/error.c (error, error_at_line): Avoid fcntl on mingw.
47829         Reported by Bruno Haible.
47830
47831         error: avoid undefined use of stdout
47832         * lib/error.c (error, error_at_line): Check that fd 1 is open
47833         before flushing stdout.  Avoids a crash on cygwin when libsigsegv
47834         is handling faults and the close_stdout module wants to report the
47835         detection of closed stdout as an error.
47836
47837 2009-07-17  Eric Blake  <ebb9@byu.net>
47838
47839         pipe: be robust in face of closed fds
47840         * lib/pipe.c (create_pipe): Closed standard descriptors in parent
47841         should cause child to misbehave.
47842         * modules/pipe-tests: New module.
47843         * tests/test-pipe.c: New file.
47844         * tests/test-pipe.sh: New file.
47845         Reported by Akim Demaille.
47846
47847 2009-07-14  Bruno Haible  <bruno@clisp.org>
47848
47849         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Guess it works on glibc systems.
47850         Reported by anonymous kc.
47851
47852 2009-07-07  Jim Meyering  <meyering@redhat.com>
47853
47854         maint.mk: don't look for translatable strings in *.m4 or *.mk
47855         * top/maint.mk (sc_po_check): Skip *.m4 and *.mk files,
47856         when searching for translatable strings.
47857
47858 2009-07-05  Jim Meyering  <meyering@redhat.com>
47859
47860         remove superfluous parentheses in STREQ definition
47861         * tests/test-argv-iter.c (STREQ): Remove redundant parentheses.
47862         * lib/getugroups.c (STREQ): Likewise.
47863         * lib/fnmatch.c (STREQ): Likewise.
47864         Spotted by Bruno Haible.
47865
47866 2009-07-04  Jim Meyering  <meyering@redhat.com>
47867
47868         argv-iter: new module
47869         * MODULES.html.sh: Add argv-iter.
47870         * lib/argv-iter.c, lib/argv-iter.h: New files.
47871         * modules/argv-iter: New file.
47872         * modules/argv-iter-tests: New file.
47873         * tests/test-argv-iter.c: Test it.
47874
47875 2009-07-04  Bruno Haible  <bruno@clisp.org>
47876
47877         Fix assertion.
47878         * lib/git-merge-changelog.c (compute_mapping): In the case where file1
47879         contains more exact copies of a given entry than file2, leave the extra
47880         copies unpaired rather than aborting.
47881         Reported by Eric Blake.
47882
47883 2009-07-02  Bruno Haible  <bruno@clisp.org>
47884
47885         Speedup git-merge-changelog for git cherry-pick.
47886         * lib/git-merge-changelog.c (struct entries_mapping): New type.
47887         (entries_mapping_get): New function, extracted from compute_mapping.
47888         (entries_mapping_reverse_get): New function.
47889         (compute_mapping): Add a 'full' argument. Return the result in a
47890         'struct entries_mapping'.
47891         (main): Update. Access the mappings through entries_mapping_get.
47892         Reported by Eric Blake.
47893
47894 2009-07-02  Bruno Haible  <bruno@clisp.org>
47895
47896         * lib/git-merge-changelog.c (compute_mapping): Fix determination of
47897         best_i.
47898
47899 2009-07-02  Bruno Haible  <bruno@clisp.org>
47900
47901         Speed up approximate search for matching ChangeLog entries.
47902         * lib/git-merge-changelog.c (entry_fstrcmp): Add a lower_bound
47903         argument. Call fstrcmp_bounded instead of fstrcmp.
47904         (compute_mapping, try_split_merged_entry, main): Update callers.
47905
47906 2009-07-02  Bruno Haible  <bruno@clisp.org>
47907
47908         * lib/git-merge-changelog.c (main): Add comment about git cherry-pick.
47909
47910 2009-06-30  Bruno Haible  <bruno@clisp.org>
47911
47912         Reduce the number of uc_is_cased calls.
47913         * lib/unicase.h (casing_suffix_context_t): Add
47914         'first_char_except_ignorable' field.
47915         * lib/unicase/context.h (SCC_FINAL_SIGMA_MASK): Remove macro.
47916         (SCC_MORE_ABOVE_MASK, SCC_BEFORE_DOT_MASK): Update.
47917         * lib/unicase/empty-suffix-context.c (unicase_empty_suffix_context):
47918         Update initializer.
47919         * lib/unicase/u-casemap.h (FUNC): Don't invoke uc_is_cased on
47920         case-ignorable characters.
47921         * lib/unicase/u-ct-totitle.h (FUNC): Likewise.
47922         * lib/unicase/u-suffix-context.h (FUNC2): Don't call uc_is_cased here.
47923         * modules/unicase/u8-suffix-context (Depends-on): Remove unicase/cased.
47924         * modules/unicase/u16-suffix-context (Depends-on): Likewise.
47925         * modules/unicase/u32-suffix-context (Depends-on): Likewise.
47926
47927 2009-06-30  Bruno Haible  <bruno@clisp.org>
47928
47929         Tests for module 'unicase/ignorable'.
47930         * modules/unicase/ignorable-tests: New file.
47931         * tests/unicase/test-ignorable.c: New file, generated by
47932         gen-uni-tables.
47933
47934         Tests for module 'unicase/cased'.
47935         * modules/unicase/cased-tests: New file.
47936         * tests/unicase/test-cased.c: New file, generated by gen-uni-tables.
47937         * tests/unicase/test-predicate-part1.h: New file, derived from
47938         tests/unictype/test-predicate-part1.h.
47939         * tests/unicase/test-predicate-part2.h: New file, same as
47940         tests/unictype/test-predicate-part2.h.
47941
47942         Fix evaluation of "Before C" condition of FINAL_SIGMA.
47943         * lib/gen-uni-tables.c (is_cased, is_case_ignorable): New functions.
47944         (output_casing_properties): New function.
47945         (main): Call it.
47946         * lib/unicase/cased.h: New file, generated by gen-uni-tables.
47947         * lib/unicase/cased.c: Include unictype/bitmap.h.
47948         (uc_is_cased): Define through a bitmap lookup.
47949         * lib/unicase/ignorable.h: New file, generated by gen-uni-tables.
47950         * lib/unicase/ignorable.c: Include unictype/bitmap.h.
47951         (uc_is_case_ignorable): Define through a bitmap lookup.
47952         * modules/unicase/cased (Files): Add lib/unicase/cased.h,
47953         lib/unictype/bitmap.h.
47954         (Depends-on): Add inline. Clean up.
47955         * modules/unicase/ignorable (Files): Add lib/unicase/ignorable.h,
47956         lib/unictype/bitmap.h.
47957         (Depends-on): Add inline. Clean up.
47958         * tests/unicase/test-u8-tolower.c (main): Add more tests of FINAL_SIGMA
47959         recognition.
47960         * tests/unicase/test-u16-tolower.c (main): Likewise.
47961         * tests/unicase/test-u32-tolower.c (main): Likewise.
47962
47963 2009-06-30  Bruno Haible  <bruno@clisp.org>
47964
47965         * lib/unicase/u8-casemap.c: Don't include uniwbrk.h.
47966         * lib/unicase/u16-casemap.c: Likewise.
47967         * lib/unicase/u32-casemap.c: Likewise.
47968
47969 2009-06-29  Bruno Haible  <bruno@clisp.org>
47970
47971         Define u32_casefold as a wrapper around u32_ct_casefold.
47972         * lib/unicase/u32-casefold.c: Update.
47973         * modules/unicase/u32-casefold (Depends-on): Add
47974         unicase/u32-ct-casefold, unicase/empty-prefix-context,
47975         unicase/empty-suffix-context. Clean up.
47976
47977         Define u16_casefold as a wrapper around u16_ct_casefold.
47978         * lib/unicase/u16-casefold.c: Update.
47979         * modules/unicase/u16-casefold (Depends-on): Add
47980         unicase/u16-ct-casefold, unicase/empty-prefix-context,
47981         unicase/empty-suffix-context. Clean up.
47982
47983         Define u8_casefold as a wrapper around u8_ct_casefold.
47984         * lib/unicase/u-casefold.h (FUNC): Delegate to U_CT_CASEFOLD.
47985         * lib/unicase/u8-casefold.c: Update.
47986         * modules/unicase/u8-casefold (Depends-on): Add unicase/u8-ct-casefold,
47987         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47988
47989         Define u32_totitle as a wrapper around u32_ct_totitle.
47990         * lib/unicase/u32-totitle.c: Update.
47991         * modules/unicase/u32-totitle (Depends-on): Add unicase/u32-ct-totitle,
47992         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47993
47994         Define u16_totitle as a wrapper around u16_ct_totitle.
47995         * lib/unicase/u16-totitle.c: Update.
47996         * modules/unicase/u16-totitle (Depends-on): Add unicase/u16-ct-totitle,
47997         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
47998
47999         Define u8_totitle as a wrapper around u8_ct_totitle.
48000         * lib/unicase/u-totitle.h (is_cased, is_case_ignorable): Remove
48001         functions.
48002         (FUNC): Delegate to U_CT_TOTITLE.
48003         * lib/unicase/u8-totitle.c: Update.
48004         * modules/unicase/u8-totitle (Depends-on): Add unicase/u8-ct-totitle,
48005         unicase/empty-prefix-context, unicase/empty-suffix-context. Clean up.
48006
48007         * lib/unicase/u32-tolower.c (u32_tolower): Update u32_casemap
48008         invocation.
48009         * modules/unicase/u32-tolower (Depends-on): Add
48010         unicase/empty-prefix-context, unicase/empty-suffix-context.
48011
48012         * lib/unicase/u16-tolower.c (u16_tolower): Update u16_casemap
48013         invocation.
48014         * modules/unicase/u16-tolower (Depends-on): Add
48015         unicase/empty-prefix-context, unicase/empty-suffix-context.
48016
48017         * lib/unicase/u8-tolower.c (u8_tolower): Update u8_casemap invocation.
48018         * modules/unicase/u8-tolower (Depends-on): Add
48019         unicase/empty-prefix-context, unicase/empty-suffix-context.
48020
48021         * lib/unicase/u32-toupper.c (u32_toupper): Update u32_casemap
48022         invocation.
48023         * modules/unicase/u32-toupper (Depends-on): Add
48024         unicase/empty-prefix-context, unicase/empty-suffix-context.
48025
48026         * lib/unicase/u16-toupper.c (u16_toupper): Update u16_casemap
48027         invocation.
48028         * modules/unicase/u16-toupper (Depends-on): Add
48029         unicase/empty-prefix-context, unicase/empty-suffix-context.
48030
48031         * lib/unicase/u8-toupper.c (u8_toupper): Update u8_casemap invocation.
48032         * modules/unicase/u8-toupper (Depends-on): Add
48033         unicase/empty-prefix-context, unicase/empty-suffix-context.
48034
48035         New module 'unicase/u32-ct-casefold'.
48036         * lib/unicase/u32-ct-casefold.c: New file.
48037         * modules/unicase/u32-ct-casefold: New file.
48038
48039         New module 'unicase/u16-ct-casefold'.
48040         * lib/unicase/u16-ct-casefold.c: New file.
48041         * modules/unicase/u16-ct-casefold: New file.
48042
48043         New module 'unicase/u8-ct-casefold'.
48044         * lib/unicase/u8-ct-casefold.c: New file.
48045         * lib/unicase/u-ct-casefold.h: New file, derived from
48046         lib/unicase/u-casefold.h.
48047         * modules/unicase/u8-ct-casefold: New file.
48048
48049         New module 'unicase/u32-ct-totitle'.
48050         * lib/unicase/u32-ct-totitle.c: New file.
48051         * modules/unicase/u32-ct-totitle: New file.
48052
48053         New module 'unicase/u16-ct-totitle'.
48054         * lib/unicase/u16-ct-totitle.c: New file.
48055         * modules/unicase/u16-ct-totitle: New file.
48056
48057         New module 'unicase/u8-ct-totitle'.
48058         * lib/unicase/u8-ct-totitle.c: New file.
48059         * lib/unicase/u-ct-totitle.h: New file, derived from
48060         lib/unicase/u-totitle.h.
48061         * modules/unicase/u8-ct-totitle: New file.
48062
48063         New module 'unicase/u32-ct-tolower'.
48064         * lib/unicase/u32-ct-tolower.c: New file.
48065         * modules/unicase/u32-ct-tolower: New file.
48066
48067         New module 'unicase/u16-ct-tolower'.
48068         * lib/unicase/u16-ct-tolower.c: New file.
48069         * modules/unicase/u16-ct-tolower: New file.
48070
48071         New module 'unicase/u8-ct-tolower'.
48072         * lib/unicase/u8-ct-tolower.c: New file.
48073         * modules/unicase/u8-ct-tolower: New file.
48074
48075         New module 'unicase/u32-ct-toupper'.
48076         * lib/unicase/u32-ct-toupper.c: New file.
48077         * modules/unicase/u32-ct-toupper: New file.
48078
48079         New module 'unicase/u16-ct-toupper'.
48080         * lib/unicase/u16-ct-toupper.c: New file.
48081         * modules/unicase/u16-ct-toupper: New file.
48082
48083         New module 'unicase/u8-ct-toupper'.
48084         * lib/unicase/u8-ct-toupper.c: New file.
48085         * modules/unicase/u8-ct-toupper: New file.
48086
48087         Add context arguments to u*_casemap functions.
48088         * lib/unicase/unicasemap.h: Include unicase.h.
48089         (u8_casemap, u16_casemap, u32_casemap): Add prefix_context and
48090         suffix_context arguments.
48091         * lib/unicase/u-casemap.h (is_cased, is_case_ignorable): Remove
48092         functions.
48093         (FUNC): Add prefix_context and suffix_context arguments. Use
48094         uc_is_cased and uc_is_case_ignorable.
48095         * lib/unicase/u8-casemap.c: Include caseprop.h and context.h.
48096         * lib/unicase/u16-casemap.c: Likewise.
48097         * lib/unicase/u32-casemap.c: Likewise.
48098         * modules/unicase/u8-casemap (Files): Add lib/unicase/context.h.
48099         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
48100         * modules/unicase/u16-casemap (Files): Add lib/unicase/context.h.
48101         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
48102         * modules/unicase/u32-casemap (Files): Add lib/unicase/context.h.
48103         (Depends-on): Add unicase/cased, unicase/ignorable. Clean up.
48104
48105         New module 'unicase/u32-suffix-context'.
48106         * lib/unicase/u32-suffix-context.c: New file.
48107         * modules/unicase/u32-suffix-context: New file.
48108
48109         New module 'unicase/u16-suffix-context'.
48110         * lib/unicase/u16-suffix-context.c: New file.
48111         * modules/unicase/u16-suffix-context: New file.
48112
48113         New module 'unicase/u8-suffix-context'.
48114         * lib/unicase/u8-suffix-context.c: New file.
48115         * lib/unicase/u-suffix-context.h: New file.
48116         * modules/unicase/u8-suffix-context: New file.
48117
48118         New module 'unicase/empty-suffix-context'.
48119         * lib/unicase/empty-suffix-context.c: New file.
48120         * modules/unicase/empty-suffix-context: New file.
48121
48122         New module 'unicase/u32-prefix-context'.
48123         * lib/unicase/u32-prefix-context.c: New file.
48124         * modules/unicase/u32-prefix-context: New file.
48125
48126         New module 'unicase/u16-prefix-context'.
48127         * lib/unicase/u16-prefix-context.c: New file.
48128         * modules/unicase/u16-prefix-context: New file.
48129
48130         New module 'unicase/u8-prefix-context'.
48131         * lib/unicase/u8-prefix-context.c: New file.
48132         * lib/unicase/u-prefix-context.h: New file.
48133         * lib/unicase/context.h: New file.
48134         * modules/unicase/u8-prefix-context: New file.
48135
48136         New module 'unicase/empty-prefix-context'.
48137         * lib/unicase/empty-prefix-context.c: New file.
48138         * modules/unicase/empty-prefix-context: New file.
48139
48140         New module 'unicase/ignorable'.
48141         * lib/unicase/ignorable.c: New file.
48142         * modules/unicase/ignorable: New file.
48143
48144         New module 'unicase/cased'.
48145         * lib/unicase/caseprop.h: New file.
48146         * lib/unicase/cased.c: New file.
48147         * modules/unicase/cased: New file.
48148
48149         New functions for case mapping of substrings.
48150         * lib/unicase.h (casing_prefix_context_t): New type.
48151         (unicase_empty_prefix_context): New variable.
48152         (u8_casing_prefix_context, u16_casing_prefix_context,
48153         u32_casing_prefix_context, u8_casing_prefixes_context,
48154         u16_casing_prefixes_context, u32_casing_prefixes_context): New
48155         declarations.
48156         (casing_suffix_context_t): New type.
48157         (unicase_empty_suffix_context): New variable.
48158         (u8_casing_suffix_context, u16_casing_suffix_context,
48159         u32_casing_suffix_context, u8_casing_suffixes_context,
48160         u16_casing_suffixes_context, u32_casing_suffixes_context,
48161         u8_ct_toupper, u16_ct_toupper, u32_ct_toupper, u8_ct_tolower,
48162         u16_ct_tolower, u32_ct_tolower, u8_ct_totitle, u16_ct_totitle,
48163         u32_ct_totitle, u8_ct_casefold, u16_ct_casefold, u32_ct_casefold): New
48164         declarations.
48165
48166 2009-06-28  Jim Meyering  <meyering@redhat.com>
48167
48168         boostrap: indent only with spaces
48169         * build-aux/bootstrap: Indent only with spaces, never TABs.
48170
48171         bootstrap: split long lines
48172         * build-aux/bootstrap: Keep line length < 80.
48173
48174         bootstrap: sync from coreutils
48175         * build-aux/bootstrap: Honor variables like $ACLOCAL, etc.,
48176         just as autoreconf does.  Verify a list of prerequisite
48177         package-name,version-number pairs if defined in bootstrap.conf.
48178         Refer to README-prereq, if prerequisites are not satisfied.
48179
48180 2009-06-27  Eric Blake  <ebb9@byu.net>
48181
48182         tests: add test for bogus NULL definition
48183         * tests/test-stdio.c: Ensure POSIX 2008 requirement on NULL.
48184         * tests/test-stdlib.c: Likewise.
48185         * tests/test-string.c: Likewise.
48186         * tests/test-locale.c: Likewise.
48187         * tests/test-unistd.c: Likewise.
48188         * modules/stdio-tests (Depends-on): Add verify.
48189         * modules/stdlib-tests (Depends-on): Likewise.
48190         * modules/string-tests (Depends-on): Likewise.
48191         * modules/locale-tests (Depends-on): Likewise.
48192         * modules/unistd-tests (Depends-on): Likewise.
48193
48194 2009-06-27  Paolo Bonzini  <bonzini@gnu.org>
48195
48196         * m4/selinux-context-h (gl_HEADERS_SELINUX_CONTEXT_H): Remove
48197         self-explaining comment.
48198         * m4/selinux-selinux-h: Update serial.
48199         (gl_LIBSELINUX): New macro, adding a warning for missing development
48200         packages to code extracted from...
48201         (gl_HEADERS_SELINUX_SELINUX_H): ... this one.  Require gl_LIBSELINUX.
48202         Add warning for missing development packages here, too.
48203
48204 2009-06-26  Paolo Bonzini  <bonzini@gnu.org>
48205
48206         * build-aux/bootstrap: Do not use GIT_CONFIG_LOCAL.
48207
48208 2009-06-25  Eric Blake  <ebb9@byu.net>
48209
48210         version-etc: fix regression
48211         * lib/version-etc.h (ATTRIBUTE_SENTINEL): Define for new enough
48212         gcc.
48213         (version_etc): Use it, to catch bugs with trailing NULL.
48214         * lib/version-etc.c (version_etc_arn): Delete unused argument.
48215         (version_etc_va): Fix logic bug.
48216         * modules/version-etc-tests: Add test.
48217         * tests/test-version-etc.c: New file.
48218         * tests/test-version-etc.sh: Likewise.
48219
48220 2009-06-25  Sam Steingold  <sds@gnu.org>
48221
48222         * mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): Include <stdlib.h>, for the
48223         mbtowc declaration.
48224
48225 2009-06-25  Eric Blake  <ebb9@byu.net>
48226
48227         fpurge: migrate into <stdio.h>
48228         * lib/fpurge.h: Delete...
48229         * lib/stdio.in.h (fpurge): ...and declare here, instead.
48230         * lib/fpurge.c (fpurge): Change declaring header.
48231         * modules/fpurge (Files): Drop deleted file.
48232         (Depends-on): Add stdio.
48233         (configure.ac): Set witness.
48234         * modules/stdio (Makefile.am): Support fpurge macros.
48235         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
48236         * m4/fpurge.m4 (gl_FUNC_FPURGE): Set appropriate variables.
48237         * lib/fflush.c: Update client.
48238         * tests/test-fpurge.c: Likewise.
48239         * NEWS: Mention the change.
48240
48241 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48242
48243         * lib/argp-version-etc.c (program_authors): Add const
48244         qualifier.
48245         * lib/version-etc.c: Fix typos in the comments.
48246         * modules/argp-version-etc: Depends on version-etc.
48247
48248 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48249
48250         argp-version-etc: new module.
48251
48252         * lib/argp-version-etc.c: New file.
48253         * lib/argp-version-etc.h: New file.
48254         * modules/argp-version-etc: New file.
48255         * modules/argp-version-etc-tests: New file.
48256         * tests/test-argp-version-etc.c: New test.
48257         * tests/test-argp-version-etc-1.sh: New test.
48258
48259 2009-06-25  Sergey Poznyakoff  <gray@gnu.org.ua>
48260
48261         Provide additional interfaces and documentation for version-etc
48262         module.
48263
48264         * lib/version-etc.c (version_etc_arn, version_etc_ar): New
48265         interfaces.
48266         * lib/version-etc.h (version_etc_arn, version_etc_ar): New
48267         prototypes.
48268
48269 2009-06-24  Bruno Haible  <bruno@clisp.org>
48270
48271         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Fix description of
48272         HAVE_LIB${NAME} macro.
48273         Reported by Sam Steingold <sds@gnu.org>.
48274
48275 2009-06-23  Simon Josefsson  <simon@josefsson.org>
48276
48277         * modules/hash-tests (test_hash_LDADD): Link to libintl when
48278         needed.
48279
48280 2009-06-21  Bruno Haible  <bruno@clisp.org>
48281
48282         Make two consecutive identical invocations of AC_LIB_HAVE_LINKFLAGS
48283         work.
48284         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Reset HAVE_LIB${NAME}
48285         together with LIB${NAME}, LTLIB${NAME}.
48286         Reported by Sam Steingold <sds@gnu.org>.
48287
48288 2009-06-20  Jim Meyering  <meyering@redhat.com>
48289
48290         tests: make sc_require_test_exit_idiom more generic
48291         * top/maint.mk (Exit_witness_file): New overridable variable.
48292         (sc_require_test_exit_idiom): Don't hard-code tests/test-lib.sh.
48293         Relax test for /^Exit \$fail$$/ to just /^Exit ./.
48294
48295 2009-06-19  Jim Meyering  <meyering@redhat.com>
48296
48297         hash: reverse order of src/dst parameters in an internal interface
48298         * lib/hash.c (transfer_entries): Reverse order of parameters to
48299         put DST before SRC.  Adjust callers.
48300
48301         tests: test-hash: avoid wholesale duplication
48302         * tests/test-hash.c (main): Don't copy/paste a 60-line loop.
48303         Instead, use a loop and add a single conditional.
48304
48305         tests: test-hash: allow seed selection via a command line argument
48306         * tests/test-hash.c (get_seed): New function.
48307         (main): Use it.
48308
48309 2009-06-19  Eric Blake  <ebb9@byu.net>
48310
48311         hash: avoid memory leak on allocation failure
48312         * lib/hash.c: (hash_rehash): Avoid memory leak on allocation
48313         failure.  Factor repeated algorithm...
48314         (transfer_entries): ...into new helper routine.
48315         (hash_delete): React to hash_rehash return value.
48316
48317         hash: reduce memory pressure in hash_rehash no-op case
48318         * lib/hash.c (next_prime): Avoid overflow.
48319         (hash_initialize): Factor bucket size computation...
48320         (compute_bucket_size): ...into new helper function.
48321         (hash_rehash): Use new function and open coding to reduce memory
48322         pressure, and avoid a memory leak in USE_OBSTACK code.
48323         Reported by Jim Meyering.
48324
48325 2009-06-18  Eric Blake  <ebb9@byu.net>
48326
48327         hash: make rotation more obvious
48328         * modules/hash (Depends-on): Add bitrotate and stdint.
48329         * lib/bitrotate.h (rotl_sz, rotr_sz): New functions.
48330         * lib/hash.c (headers): Drop limits.h.  Add stdint.h.
48331         (SIZE_MAX): Rely on headers for definition.
48332         (hash_string) [USE_DIFF_HASH]: Use rotl_sz.
48333         (raw_hasher): Use rotr_sz.
48334         Suggested by Jim Meyering.
48335
48336         hash: fix memory leak in last patch
48337         * lib/hash.c (hash_rehash): Avoid memory leak.
48338
48339         hash: avoid no-op rehashing
48340         * lib/hash.c (hash_rehash): Recognize useless rehash attempts.
48341
48342         hash: provide default callback functions
48343         * lib/hash.c (raw_hasher, raw_comparator): New functions.
48344         (hash_initialize): Use them as defaults.
48345         * tests/test-hash.c (main): Test this.
48346
48347         hash: minor optimization
48348         * lib/hash.c (hash_lookup, hash_find_entry): Avoid function call
48349         when possible.
48350         (hash_initialize): Document this promise.
48351         (hash_do_for_each, hash_clear, hash_free): Use C89 syntax.
48352         * tests/test-hash.c (hash_compare_strings): Test this.
48353
48354 2009-06-18  Bruno Haible  <bruno@clisp.org>
48355
48356         * m4/strstr.m4 (gl_FUNC_STRSTR): Skip linear time test if strstr is
48357         going to be replaced anyway.
48358
48359 2009-06-18  Bruno Haible  <bruno@clisp.org>
48360
48361         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Invoke AC_LIBOBJ only
48362         in one place.
48363         (gl_FUNC_STRCASESTR): Skip linear time test if strcasestr is going to
48364         be replaced anyway.
48365
48366 2009-06-18  Eric Blake  <ebb9@byu.net>
48367
48368         hash: check for resize before insertion
48369         * lib/hash.c (hash_insert): Check whether bucket usage exceeds
48370         threshold before insertion, so that a pathological hash_rehash
48371         that fills every bucket can still trigger another rehash.
48372
48373 2009-06-18  Jim Meyering  <meyering@redhat.com>
48374
48375         hash-tests: add a loop around the small tests
48376         * tests/test-hash.c (main): Repeat small tests with selected
48377         small initial table sizes.
48378
48379 2009-06-17  Eric Blake  <ebb9@byu.net>
48380
48381         hash: minor cleanups
48382         * lib/hash.h (hash_entry): Make opaque, by moving...
48383         * lib/hash.c (hash_entry): ...here.
48384         (hash_insert): Clarify restrictions on what can be inserted.
48385         (hash_get_next): Clarify when it is safe to remove an element
48386         during traversal.
48387         (check_tuning): Skip verification when tuning is known safe.
48388         (hash_initialize): Clarify restrictions on tuning.
48389
48390 2009-06-17  Jim Meyering  <jim@meyering.net>
48391         and Eric Blake  <ebb9@byu.net>
48392
48393         hash-tests: new module
48394         * modules/hash-tests: New file.
48395         * tests/test-hash.c: New file.
48396
48397 2009-06-17  Eric Blake  <ebb9@byu.net>
48398
48399         strstr-simple: document new module
48400         * MODULES.html.sh: Document new module.
48401
48402         strstr, strcasestr: replace on platforms with broken memchr
48403         * modules/strstr: Split into...
48404         * modules/strstr-simple: ...new module that does not care about
48405         performance, but does care about glibc bug.
48406         * m4/strstr.m4 (gl_FUNC_STRSTR): Split...
48407         (gl_FUNC_STRSTR_SIMPLE): ...into new macro, which replaces strstr
48408         if platform memchr is broken, per Debian bug 521737.
48409         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): React to broken
48410         memchr.
48411         * m4/memchr.m4 (gl_FUNC_MEMCHR): Only expand once.
48412         * doc/posix-functions/strstr.texi (strstr): Document the fix.
48413         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
48414         * modules/mountlist (Depends-on): Add strstr-simple.
48415         * modules/gen-uni-tables (Depends-on): Likewise.
48416         * modules/argz (Depends-on): Add strstr.
48417
48418 2009-06-17  Bruno Haible  <bruno@clisp.org>
48419
48420         * modules/posix_spawn-internal (Depends-on): Add errno.
48421
48422 2009-06-17  Bruno Haible  <bruno@clisp.org>
48423
48424         Define missing ESTALE on Interix 3.5.
48425         * lib/errno.in.h (ESTALE): Assign a value if missing.
48426         * lib/strerror.c (rpl_strerror): Handle missing ESTALE and ECANCELED.
48427         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Also test whether ESTALE is
48428         missing.
48429         * doc/posix-headers/errno.texi: Mention the Interix bug.
48430         Reported by Jay Krell <jay.krell@cornell.edu> via Eric Blake.
48431
48432 2009-06-15  Eric Blake  <ebb9@byu.net>
48433
48434         memchr, memchr2: add valgrind exception
48435         * lib/memchr.valgrind: New file.
48436         * lib/memchr2.valgrind: New file.
48437         * modules/memchr (Files): Distribute valgrind file.
48438         * modules/memchr2 (Files): Likewise.
48439
48440         docs: memchr is no longer obsolete
48441         * MODULES.html.sh: Move memchr from obsolete to string.h section.
48442         * lib/string.in.h (memchr): Simplify logic.
48443
48444 2009-06-14  Jim Meyering  <meyering@redhat.com>
48445
48446         link-follow: fix the "checking..." message to not mention trailing slash
48447         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): This test has
48448         never considered trailing slashes.
48449
48450 2009-06-14  Bruno Haible  <bruno@clisp.org>
48451
48452         * m4/memchr.m4: Mention also the bug on IA-64.
48453         * doc/posix-functions/memchr.texi: Likewise.
48454
48455 2009-06-12  Eric Blake  <ebb9@byu.net>
48456
48457         memchr: detect broken x86_64 and alpha implementations
48458         * modules/memchr-tests (Depends-on): Move mmap detection...
48459         * modules/memchr (Depends-on): ...here.
48460         (configure.ac): Set indicator.
48461         * lib/string.in.h (memchr): Declare replacement.
48462         * modules/string (Makefile.am): Trigger replacement.
48463         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
48464         * m4/memchr.m4 (gl_FUNC_MEMCHR): Use mmap to detect platform
48465         bugs.
48466         * doc/posix-functions/memchr.texi (memchr): Document the bug.
48467         * modules/getpagesize (License): Relax license.
48468
48469 2009-06-11  Bruno Haible  <bruno@clisp.org>
48470
48471         * lib/idpriv.h: Add more references.
48472
48473 2009-06-08  Bruno Haible  <bruno@clisp.org>
48474
48475         Tests for module 'idpriv-droptemp'.
48476         * modules/idpriv-droptemp-tests: New file.
48477         * tests/test-idpriv-droptemp.sh: New file.
48478         * tests/test-idpriv-droptemp.su.sh: New file.
48479         * tests/test-idpriv-droptemp.c: New file.
48480
48481         New module 'idpriv-droptemp'.
48482         * lib/idpriv-droptemp.c: New file.
48483         * modules/idpriv-droptemp: New file.
48484
48485 2009-06-08  Bruno Haible  <bruno@clisp.org>
48486
48487         Tests for module 'idpriv-drop'.
48488         * modules/idpriv-drop-tests: New file.
48489         * tests/test-idpriv-drop.sh: New file.
48490         * tests/test-idpriv-drop.su.sh: New file.
48491         * tests/test-idpriv-drop.c: New file.
48492
48493         New module 'idpriv-drop'.
48494         * lib/idpriv.h: New file.
48495         * lib-idpriv-drop.c: New file.
48496         * m4/idpriv.m4: New file.
48497         * modules/idpriv-drop: New file.
48498
48499 2009-06-08  Bruno Haible  <bruno@clisp.org>
48500
48501         * modules/unistdio/u8-vasnprintf (Depends-on): Add memchr.
48502         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
48503         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
48504         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
48505         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
48506         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
48507         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
48508
48509 2009-06-08  Eric Blake  <ebb9@byu.net>
48510
48511         test-strstr: use memory fence, when possible
48512         * tests/test-strstr.c (main): Use memory fence, in order to be
48513         more likely to trigger Debian bug 521737.
48514         * modules/strstr-tests (Files): Pull in additional files.
48515
48516         memchr: no longer obsolete, for wider field testing
48517         * modules/memchr (Status, Notice): Delete, this module is no
48518         longer obsolete.
48519         * modules/vasnprintf (Depends-on): Add memchr.
48520
48521 2009-06-07  Jim Meyering  <meyering@redhat.com>
48522
48523         hash: declare some functions with the warn_unused_result attribute
48524         * lib/hash.h (__attribute__, ATTRIBUTE_WUR): Define.
48525
48526 2009-06-07  Bruno Haible  <bruno@clisp.org>
48527
48528         * tests/test-alignof.c: Don't test int64_t if it does not exist.
48529         Reported by Eric Blake.
48530
48531 2009-06-06  Eric Blake  <ebb9@byu.net>
48532
48533         test-alignof: fix typo with long double
48534         * tests/test-alignof.c (CHECK): Use longdouble typedef to avoid
48535         compiler error.
48536
48537 2009-06-06  Neil Jerram  <neil@ossau.uklinux.net>  (tiny change)
48538
48539         Escape non-texinfo { and }s.
48540         * doc/ld-output-def.texi (Visual Studio Compatibility): Fix
48541         markup error.
48542
48543 2009-06-04  Jim Meyering  <meyering@redhat.com>
48544
48545         gitlog-to-changelog: don't infloop on an empty commit log
48546         * build-aux/gitlog-to-changelog: Warn about an empty log message.
48547         Reported by Boris Petersen <transacid@centerim.org>.
48548
48549 2009-06-03  Mike Frysinger  <vapier@gentoo.org>
48550
48551         version-etc: extend for packagers
48552         Add three new configure options, intended for packagers:
48553           --with-packager="packager name"
48554           --with-packager-version="packager-specific version"
48555           --with-packager-bug-reports="packager bug reporting"
48556         An example with coreutils:
48557           $ ./configure \
48558             --with-packager=Gentoo \
48559             --with-packager-bug-report=http://bugs.gentoo.org/ \
48560             --with-packager-version="patchset 1.6"
48561           $ ./src/ls --version | head -n2
48562           ls (GNU coreutils) 7.1-dirty
48563           Packaged by Gentoo (patchset 1.6)
48564         Note that the bug reporting info via --help doesn't show up because
48565         coreutils uses its own custom emit_bug_reporting_address() implementation
48566         in src/system.h.  If it didn't, it'd look like:
48567           $ ./src/ls --help | tail -n4
48568           Report bugs to <bug-coreutils@gnu.org>.
48569           Report Gentoo bugs to <http://bugs.gentoo.org/>.
48570           GNU coreutils home page: <http://www.gnu.org/software/coreutils/>.
48571           General help using GNU software: <http://www.gnu.org/gethelp/>.
48572         * lib/version-etc.c: Print new information, if provided.
48573         * m4/version-etc.m4: New file.
48574         * modules/version-etc (Files): Add m4/version-etc.m4.
48575         (configure.ac): Add gl_VERSION_ETC.
48576
48577 2009-05-31  Bruno Haible  <bruno@clisp.org>
48578
48579         * tests/test-alignof.c: Include <stdint.h>. Check also 'long double'
48580         and 'int64_t'.
48581         * modules/alignof-tests (Dependencies): Add stdint.
48582         Reported by Eric Blake.
48583
48584 2009-05-31  Bruno Haible  <bruno@clisp.org>
48585
48586         * lib/alignof.h (alignof_slot, alignof_type, alignof): Document
48587         restriction due to compiler bugs.
48588         Reported by Eric Blake.
48589
48590 2009-05-31  Simon Josefsson  <simon@josefsson.org>
48591             Bruno Haible  <bruno@clisp.org>
48592
48593         Fix test-alignof failure.
48594         * lib/alignof.h (alignof_slot): New macro.
48595         (alignof_type): New macro, with the same semantics as the previous
48596         'alignof'.
48597         (alignof): Alias to alignof_slot.
48598         * tests/test-alignof.c (CHECK): Check alignof_slot, not alignof. Also
48599         check that the results are usable as constant expressions.
48600
48601 2009-05-31  Bruno Haible  <bruno@clisp.org>
48602
48603         * tests/zerosize-ptr.h (zerosize_ptr): Specify more details.
48604         * tests/test-memchr.c (main): Check that memchr does not read past the
48605         first occurrence of the byte.
48606         * tests/test-strstr.c (main): Update comment.
48607         Suggested by Eric Blake.
48608
48609 2009-05-30  Bruno Haible  <bruno@clisp.org>
48610
48611         * doc/ld-output-def.texi (Visual Studio Compatibility): Explain in more
48612         detail how to use dumpbin.
48613         Reported by David Byron <dbyron@dbyron.com>.
48614
48615 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48616
48617         * tests/test-parse-duration.sh: Don't use non-portable 'read -u3'.
48618
48619 2009-06-02  Simon Josefsson  <simon@josefsson.org>
48620
48621         * m4/manywarnings.m4: Add GCC 4.4 warnings.
48622
48623 2009-05-28  Bruno Haible  <bruno@clisp.org>
48624
48625         * gnulib-tool (func_import): Don't do HAVE_CONFIG_H replacements on
48626         build-aux/ files.
48627
48628 2009-05-28  Simon Josefsson  <simon@josefsson.org>
48629
48630         * gnulib-tool (func_import): Transform license on build-aux/ files too.
48631
48632 2009-05-27  Simon Josefsson  <simon@josefsson.org>
48633
48634         * gnulib-tool (sed_transform_main_lib_file)
48635         (sed_transform_testsrelated_lib_file): : Don't use non-POSIX
48636         regexps.
48637
48638 2009-05-26  Simon Josefsson  <simon@josefsson.org>
48639
48640         * tests/test-strstr.c: Add another self-test.
48641         * tests/test-strstr.c: Rewrite to use malloc/strcpy instead of
48642         strdup.  Suggested by Eric Blake  <ebb9@byu.net>.
48643
48644 2009-05-23  Bruno Haible  <bruno@clisp.org>
48645
48646         * doc/havelib.texi (AC_LIB_HAVE_LINKFLAGS): Update for 2009-04-26
48647         change.
48648
48649 2009-05-21  Bruno Haible  <bruno@clisp.org>
48650
48651         Simplify use of mode_t varargs.
48652         * lib/open.c (open): Use PROMOTED_MODE_T instead of a conditional that
48653         uses 'mode_t' or 'int'.
48654         * lib/openat.c (openat): Likewise.
48655         * lib/open-safer.c (open_safer): Likewise.
48656         * m4/mode_t.m4: New file.
48657         * m4/open.m4 (gl_PREREQ_OPEN): Require gl_PROMOTED_TYPE_MODE_T.
48658         * m4/openat.m4 (gl_PREREQ_OPENAT): Likewise.
48659         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Likewise.
48660         * modules/open (Files): Add m4/mode_t.m4.
48661         * modules/openat (Files): Likewise.
48662         * modules/fcntl-safer (Files): Likewise.
48663         Suggested by Eric Blake.
48664
48665 2009-05-21  Pádraig Brady  <P@draigbrady.com>
48666
48667         * doc/glibc-functions/fallocate.texi: New file.
48668         * doc/gnulib.texi: Include it.
48669
48670 2009-05-21  Eric Blake  <ebb9@byu.net>
48671             Bruno Haible  <bruno@clisp.org>
48672
48673         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Remove redundant m4_quote
48674         invocations.
48675         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
48676
48677 2009-05-21  Eric Blake  <ebb9@byu.net>
48678             Bruno Haible  <bruno@clisp.org>
48679
48680         Second attempt to work around an AIX 5.3, 6.1 compiler bug with
48681         include_next. Fix of 2008-11-20 commit.
48682         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Also set
48683         NEXT_AS_FIRST_DIRECTIVE_FOO_H.
48684         * lib/math.in.h: Use NEXT_AS_FIRST_DIRECTIVE_MATH_H instead of
48685         NEXT_MATH_H.
48686         * modules/math (Makefile.am): Substitute NEXT_AS_FIRST_DIRECTIVE_MATH_H
48687         instead of NEXT_MATH_H.
48688
48689 2009-05-21  Bruno Haible  <bruno@clisp.org>
48690
48691         Avoid redefinition warnings for SIZE_MAX.
48692         * m4/size_max.m4 (gl_SIZE_MAX): Avoid redefining SIZE_MAX in config.h.
48693         Reported by Simon Josefsson.
48694
48695 2009-05-21  Bruno Haible  <bruno@clisp.org>
48696
48697         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_CACHE_CHECK instead of
48698         AC_CACHE_VAL.
48699
48700 2009-05-20  Bruno Haible  <bruno@clisp.org>
48701
48702         Make zeroptr.h work on mingw.
48703         * tests/zerosize-ptr.h: Test for the presence of <sys/mman.h> and
48704         mprotect.
48705         * modules/memchr-tests (configure.ac): Also test for sys/mman.h.
48706         * modules/memchr2-tests (configure.ac): Likewise.
48707         * modules/memcmp-tests (configure.ac): Likewise.
48708         * modules/memmem-tests (configure.ac): Likewise.
48709         * modules/memrchr-tests (configure.ac): Likewise.
48710         Reported by Simon Josefsson.
48711
48712 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48713
48714         * tests/test-glob.c: Include string.h for strcmp prototype.
48715
48716 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48717
48718         * modules/getdelim (Depends-on): Add explicit stdint, although it
48719         was implicitly already pulled in via realloc-posix.
48720         * lib/getdelim.c: Get SIZE_MAX from stdint.h.
48721
48722 2009-05-20  Simon Josefsson  <simon@josefsson.org>
48723
48724         MinGW and IRIX does not have sa_family_t type.  Reported by "Tom
48725         G. Christensen" <tgc@jupiterrise.com>.
48726         * m4/sys_socket_h.m4: Check for sa_family_t.
48727         * lib/sys_socket.in.h: Typedef sa_family_t when needed.
48728         * modules/sys_socket: Substitute HAVE_SA_FAMILY_T.
48729         * tests/test-sys_socket.c: Check that sa_family_t works.
48730
48731 2009-05-18  Eric Blake  <ebb9@byu.net>
48732
48733         maint.mk: allow gnulib_dir in VPATH build
48734         * top/maint.mk (gnulib_dir): Make relative to $(srcdir).
48735
48736 2009-05-15  Jim Meyering  <meyering@redhat.com>
48737
48738         maint.mk: Give gnulib_dir a default definition.
48739         * top/maint.mk (gnulib_dir): Define to 'gnulib', by default.
48740         Thus, most packages no longer need to specify this variable in cfg.mk
48741
48742 2009-05-14  Tom Prince  <tom.prince@ualberta.net>  (tiny change)
48743
48744         rename.m4: fix typos that would make non-mingw cross-configure fail
48745         * m4/rename.m4 (gl_FUNC_RENAME): Fix typos.
48746
48747 2009-05-13  Eric Blake  <ebb9@byu.net>
48748
48749         mmap-anon: avoid out-of-order autoconf expansion
48750         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Use correct
48751         SYSTEM_EXTENSIONS macro to silence warnings from autoconf 2.63b.
48752         * modules/memchr-tests (Depends-on): Add extensions.
48753         * modules/memchr2-tests (Depends-on): Add extensions.
48754         * modules/memcmp-tests (Depends-on): Add extensions.
48755         * modules/memmem-tests (Depends-on): Add extensions.
48756         * modules/memrchr-tests (Depends-on): Add extensions.
48757
48758 2009-05-13  Bruno Haible  <bruno@clisp.org>
48759
48760         Make some tests ISO C 99 compliant.
48761         * tests/zerosize-ptr.h: New file.
48762         * tests/test-memchr.c: Include zerosize-ptr.h.
48763         (main): Use a zero-size object pointer instead of NULL.
48764         * tests/test-memchr2.c: Include zerosize-ptr.h.
48765         (main): Use a zero-size object pointer instead of NULL.
48766         * tests/test-memcmp.c: Include zerosize-ptr.h.
48767         (main): Use a zero-size object pointer instead of NULL.
48768         * tests/test-memmem.c: Include zerosize-ptr.h.
48769         (main): Use a zero-size object pointer instead of NULL.
48770         * tests/test-memrchr.c: Include zerosize-ptr.h.
48771         (main): Use a zero-size object pointer instead of NULL.
48772         * modules/memchr-tests (Files): Add tests/zerosize-ptr.h,
48773         m4/mmap-anon.m4.
48774         (Depends-on): Add getpagesize.
48775         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48776         * modules/memchr2-tests (Files): Add tests/zerosize-ptr.h,
48777         m4/mmap-anon.m4.
48778         (Depends-on): Add getpagesize.
48779         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48780         * modules/memcmp-tests (Files): Add tests/zerosize-ptr.h,
48781         m4/mmap-anon.m4.
48782         (Depends-on): Add getpagesize.
48783         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48784         * modules/memmem-tests (Files): Add tests/zerosize-ptr.h,
48785         m4/mmap-anon.m4.
48786         (Depends-on): Add getpagesize.
48787         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48788         * modules/memrchr-tests (Files): Add tests/zerosize-ptr.h,
48789         m4/mmap-anon.m4.
48790         (Depends-on): Add getpagesize.
48791         (configure.ac): Invoke gl_FUNC_MMAP_ANON. Check for mprotect.
48792
48793 2009-05-12  Bruno Haible  <bruno@clisp.org>
48794
48795         Tests for module 'alignof'.
48796         * modules/alignof-tests: New file.
48797         * tests/test-alignof.c: New file.
48798
48799 2009-05-12  Bruno Haible  <bruno@clisp.org>
48800
48801         Fix alignof macro.
48802         * lib/alignof.h (alignof): Remove special cases for AIX and HP-UX
48803         vendor compilers that are always correct.
48804
48805 2009-05-12  Bruno Haible  <bruno@clisp.org>
48806
48807         Make the MAP_ANONYMOUS detection work on HP-UX 11.
48808         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check whether mmap exists, but
48809         not whether its fully works.
48810
48811 2009-05-12  Bruno Haible  <bruno@clisp.org>
48812
48813         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Add comments.
48814
48815 2009-05-12  Jim Meyering  <meyering@redhat.com>
48816
48817         * top/maint.mk: Adjust backslash alignment.
48818
48819 2009-05-11  Simon Josefsson  <simon@josefsson.org>
48820
48821         * top/maint.mk: Make $(srcdir)/build-aux configurable.
48822
48823 2009-05-11  Eric Blake  <ebb9@byu.net>
48824
48825         argp: avoid undefined behavior
48826         * lib/argp-fmtstream.c (weak_alias): Pass correct types to ctype
48827         macros.
48828
48829 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48830
48831         * tests/test-vc-list-files-git.sh: Do git config of user.email and
48832         user.name to prevent git commit from complaining.
48833
48834 2009-05-10  Bruno Haible  <bruno@clisp.org>
48835
48836         * gnulib-tool (func_import, func_create_testdir, copy-file): Change
48837         sed_rewrite_old_files, sed_rewrite_new_files, sed_rewrite_files so that
48838         it rewrites every file name only once.
48839         Reported by Simon Josefsson. Helped by Ralf Wildenhues.
48840
48841 2009-05-08  Bruno Haible  <bruno@clisp.org>
48842
48843         * lib/sys_socket.in.h (_SS_PADSIZE): Use a conditional expression
48844         instead of 'max'.
48845
48846 2009-05-08  Simon Josefsson  <simon@josefsson.org>
48847
48848         * m4/sys_socket_h.m4: Test for ws2tcpip.h earlier, needed for
48849         sockaddr_storage test.
48850
48851 2009-05-07  Simon Josefsson  <simon@josefsson.org>
48852
48853         * modules/sys_socket (Makefile.am): Substitute
48854         HAVE_STRUCT_SOCKADDR_STORAGE.  Depend on alignof.
48855         * m4/sys_socket_h.m4: Check for sockaddr_storage.
48856         * lib/sys_socket.in.h (sockaddr_storage): Define when needed.
48857         * tests/test-sys_socket.c: Check sockaddr_storage.
48858
48859 2009-05-08  Bruno Haible  <bruno@clisp.org>
48860
48861         New module 'alignof'.
48862         * lib/alignof.h: New file.
48863         * modules/alignof: New file.
48864
48865 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48866             Bruno Haible  <bruno@clisp.org>
48867
48868         Fix test-file-has-acl on FreeBSD.
48869         * tests/test-file-has-acl.sh: Also test a directory. On FreeBSD, the
48870         mask is implicitly added.
48871         * tests/test-file-has-acl.c: Include <signal.h>.
48872         (main): Terminate the test after 5 seconds.
48873         * modules/acl-tests (configure.ac): Check for alarm function.
48874
48875 2009-05-04  Bruno Haible  <bruno@clisp.org>
48876
48877         Exploit new semantics of AC_DEFUN_ONCE available since 2009-01-26.
48878         * m4/errno_h.m4 (gl_HEADER_ERRNO_H): Remove outdated comment.
48879         * modules/errno (configure.ac): Drop AC_REQUIRE.
48880         * m4/multiarch.m4 (gl_MULTIARCH): Remove outdated comment.
48881         * modules/multiarch (configure.ac): Drop AC_REQUIRE.
48882
48883 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48884
48885         * modules/glob-tests: New module.
48886         * tests/test-glob.c: Add.
48887
48888 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48889
48890         * modules/fnmatch-tests: New module.
48891         * tests/test-fnmatch.c: Add.
48892
48893 2009-05-04  Eric Blake  <ebb9@byu.net>
48894
48895         maint: make the new no-submodule-changes rule VPATH-safe
48896         * top/maint.mk (no-submodule-changes): Don't assume a srcdir build.
48897
48898 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48899             Bruno Haible  <bruno@clisp.org>
48900
48901         acl: Fix infinite loop on FreeBSD.
48902         * lib/acl_entries.c (acl_entries) [Linux, FreeBSD]: Fix interpretation
48903         of return value from acl_get_entry.
48904         * lib/file-has-acl.c (acl_access_nontrivial) [Linux, FreeBSD]:
48905         Likewise.
48906
48907 2009-05-03  Bruno Haible  <bruno@clisp.org>
48908
48909         * lib/acl-internal.h (acl_entries): Clarify return value.
48910         * lib/acl_entries.c (acl_entries): Likewise.
48911
48912 2009-05-04  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48913
48914         Bug fix in acl module.
48915         * lib/set-mode-acl.c: Use correct struct with ACL_SETACL.
48916
48917 2009-05-03  Bruno Haible  <bruno@clisp.org>
48918
48919         Create gperf-generated file in the source dir, not in the build dir.
48920         * modules/iconv_open (iconv_open-aix.h, iconv_open-hpux.h,
48921         iconv_open-irix.h, iconv_open-osf.h): Create file in the source tree.
48922         * modules/unicase/locale-language (unicase/locale-languages.h):
48923         Likewise.
48924         * modules/unicase/special-casing (unicase/special-casing-table.h):
48925         Likewise.
48926         * modules/unictype/property-byname (unictype/pr_byname.h): Likewise.
48927         * modules/unictype/scripts (unictype/scripts_byname.h): Likewise.
48928         * modules/uninorm/composition (uninorm/composition-table.h): Likewise.
48929         Reported by Ralf Wildenhues.
48930
48931 2009-05-03  Bruno Haible  <bruno@clisp.org>
48932
48933         * modules/fnmatch (Description, configure.ac): Taken from
48934         fnmatch-posix.
48935         * modules/fnmatch-posix: Turn into a symbolic reference to the
48936         'fnmatch' module, and deprecate.
48937         * doc/posix-functions/fnmatch.texi: Mention the fnmatch module.
48938
48939 2009-05-03  Bruno Haible  <bruno@clisp.org>
48940
48941         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF,
48942         gl_PREREQ_VASNPRINTF_LONG_DOUBLE): Define through AC_DEFUN_ONCE.
48943         Reported by Ralf Wildenhues.
48944
48945 2009-05-04  Simon Josefsson  <simon@josefsson.org>
48946
48947         * m4/fnmatch.m4: Fix fnmatch re-define.
48948
48949 2009-04-27  David Bartley  <dtbartle@csclub.uwaterloo.ca>
48950
48951         priv-set: new module and tests; adapt write-any-file
48952         * lib/priv-set.c: New file.
48953         * lib/priv-set.h: New file.
48954         * lib/unlinkdir.c: Make cannot_unlink_dir thread-safe.
48955         * lib/write-any-file.c: Simplify by using priv-set module.
48956         * m4/priv-set.m4: New file.
48957         * modules/priv-set: New file.
48958         * modules/unlinkdir: Add dependency on priv-set module.
48959         * modules/write-any-file: Likewise.
48960
48961         Tests for module 'priv-set'.
48962         * modules/priv-set-tests: New file.
48963         * tests/test-priv-set.c: New file.
48964
48965 2009-05-03  Jim Meyering  <meyering@redhat.com>
48966             Bruno Haible  <bruno@clisp.org>
48967
48968         * lib/propername.c (proper_name_utf8): Ignore no-op translations;
48969         use the converted UTF-8 variant of the name instead.
48970
48971 2009-05-03  Jim Meyering  <meyering@redhat.com>
48972
48973         tests: tighten some getdate tests
48974         * tests/test-getdate.c (main): Tighten tests: require equality,
48975         not just greater than.  Set TZ envvar to UTC0.
48976
48977 2009-05-03  Giuseppe Scrivano  <gscrivano@gnu.org>
48978
48979         getdate: correctly interpret "next monday" when run on a Monday
48980         * lib/getdate.y (get_date): Correct the calculation of tm_mday so
48981         that e.g., "next tues" (when run on a tuesday) results in a date
48982         that is one week in the future, and not today's date.
48983         I.e., add a week when the wday is the same as the current one.
48984         Reported by Tom Broadhurst in http://savannah.gnu.org/bugs/?25406,
48985         and earlier by Martin Bernreuther and Jan Minář.
48986         * tests/test-getdate.c (main): Check that "next DAY" is always in
48987         the future and that "last DAY" is always in the past.
48988
48989 2009-05-02  Jim Meyering  <meyering@redhat.com>
48990
48991         build: ensure that a release build fails when a submodule is unclean
48992         * top/maint.mk (no-submodule-changes): New rule.
48993         (alpha beta major): Depend on it.
48994
48995 2009-05-02  Bruno Haible  <bruno@clisp.org>
48996
48997         Remove incompatibility between modules fnmatch-posix and fnmatch-gnu.
48998         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Use a
48999         shell variable gl_fnmatch_required to detect which variant is
49000         requested.
49001         (_AC_FUNC_FNMATCH_IF, _AC_LIBOBJ_FNMATCH): Remove macros. Inlined into
49002         gl_FUNC_FNMATCH_POSIX.
49003         * gnulib-tool (func_create_testdir, func_create_megatestdir): Don't
49004         exclude fnmatch-posix.
49005
49006 2009-05-02  Bruno Haible  <bruno@clisp.org>
49007
49008         Relicense mbsrtowcs and strnlen1 under LGPLv2+.
49009         * modules/mbsrtowcs (License): Change to LGPLv2+.
49010         * modules/strnlen1 (License): Likewise.
49011         Reported by Simon Josefsson.
49012
49013 2009-05-02  Bruno Haible  <bruno@clisp.org>
49014
49015         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Say "guessing no" instead of
49016         "cross".
49017         (gl_FUNC_FNMATCH_POSIX, gl_FUNC_FNMATCH_GNU): Update. Don't assume that
49018         gnulib-tool was called with option --source-base=lib.
49019
49020 2009-05-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49021
49022         Use automake *-local hooks without commands, for extensibility.
49023         * modules/localcharset (Makefile.am): Rename install-exec-local
49024         rule to install-exec-localcharset, and make it a prerequisite of
49025         install-exec-local.  Likewise, rename the uninstall-local rule to
49026         uninstall-localcharset, and make it a prerequisite of the former.
49027
49028 2009-05-01  Bruno Haible  <bruno@clisp.org>
49029
49030         * lib/wchar.in.h (wcsnrtombs): Define if REPLACE_WCSNRTOMBS is 1.
49031         * m4/wcsnrtombs.m4 (gl_FUNC_WCSRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
49032         set REPLACE_WCSNRTOMBS if mbstate_t must be replaced.
49033         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCSNRTOMBS.
49034         * modules/wchar (Makefile.am): Substitute REPLACE_WCSNRTOMBS.
49035         * modules/wcsnrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
49036         m4/locale-zh.m4, m4/codeset.m4.
49037
49038         * m4/wcsrtombs.m4 (gl_FUNC_WCSNRTOMBS): Invoke gl_MBSTATE_T_BROKEN, and
49039         set REPLACE_WCSRTOMBS if mbstate_t must be replaced.
49040         * modules/wcsrtombs (Files): Add m4/mbrtowc.m4, m4/locale-ja.m4,
49041         m4/locale-zh.m4.
49042
49043         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Invoke gl_MBSTATE_T_BROKEN, and set
49044         REPLACE_WCRTOMB if mbstate_t must be replaced.
49045         * modules/wcrtomb (Files): Add m4/mbrtowc.m4.
49046         Reported by Jens Rehsack <rehsack@googlemail.com> via Eric Blake.
49047
49048 2009-05-01  Bruno Haible  <bruno@clisp.org>
49049
49050         Avoid compiler warnings when redefining macros defined by <libintl.h>.
49051         * lib/gettext.h [!ENABLE_NLS] (gettext, dgettext, dcgettext, ngettext,
49052         dngettext, dcngettext, textdomain, bindtextdomain,
49053         bind_textdomain_codeset): Undefine before redefining.
49054
49055 2009-04-30  Bruno Haible  <bruno@clisp.org>
49056
49057         Fix bug introduced on 2009-04-25.
49058         * lib/math.in.h (gl_signbitf_OPTIMIZED_MACRO,
49059         gl_signbitd_OPTIMIZED_MACRO, gl_signbitl_OPTIMIZED_MACRO): New macros.
49060         * lib/signbitf.c (gl_signbitd): Undefine if gl_signbitf_OPTIMIZED_MACRO
49061         is defined.
49062         * lib/signbitd.c (gl_signbitd): Undefine if gl_signbitd_OPTIMIZED_MACRO
49063         is defined.
49064         * lib/signbitl.c (gl_signbitd): Undefine if gl_signbitl_OPTIMIZED_MACRO
49065         is defined.
49066         Reported by Elbert_Pol <elbert.pol@gmail.com>.
49067
49068 2009-04-28  Bruno Haible  <bruno@clisp.org>
49069
49070         Comment tweaks.
49071         * lib/unistr.h (u*_cmp2): Clarify what memcmp2 is.
49072         * lib/uninorm.h (u*_normxfrm): Fix description of return value.
49073         * lib/unicase.h (u*_casexfrm): Likewise.
49074         Reported by Paolo Bonzini.
49075
49076 2009-04-28  Bruno Haible  <bruno@clisp.org>
49077
49078         Fix a compilation error.
49079         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Fix initializer.
49080         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
49081         Reported by Jim Meyering.
49082
49083 2009-04-27  Bruno Haible  <bruno@clisp.org>
49084
49085         New module 'libunistring'.
49086         * modules/libunistring: New file.
49087         * m4/libunistring.m4: New file.
49088         * MODULES.html.sh (Unicode string functions): Add it.
49089
49090 2009-04-27  Eric Blake  <ebb9@byu.net>
49091
49092         maint.mk: allow package-specific header to provide <config.h>
49093         * top/maint.mk (sc_require_config_h): New variable.
49094         (sc_require_config_h, sc_require_config_h_first): Use it.
49095
49096 2009-04-27  Simon Josefsson  <simon@josefsson.org>
49097
49098         * top/maint.mk (sc_avoid_if_before_free): Except
49099         useless-if-before-free script.
49100
49101 2009-04-27  Eric Blake  <ebb9@byu.net>
49102
49103         maintainer-makefile: depend on all required helper scripts
49104         * modules/maintainer-makefile (Depends-on): Add vc-list-files and
49105         useless-if-before-free.
49106         * top/maint.mk (VC_LIST, sc_avoid_if_before_free): Use local
49107         version, rather than assuming gnulib checkout is available.
49108         Reported by Simen Josefsson.
49109
49110 2009-04-26  Bruno Haible  <bruno@clisp.org>
49111
49112         Make the lib vs. lib64 recognition work on openSUSE 11 with "gcc -m32".
49113         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): Ignore paths that end in
49114         "../" or "..".
49115
49116 2009-04-26  Bruno Haible  <bruno@clisp.org>
49117
49118         * m4/lib-link.m4 (AC_LIB_HAVE_LINKFLAGS): Accept a fifth argument.
49119         * m4/libsigsegv.m4 (gl_LIBSIGSEGV): Simplify by using
49120         AC_LIB_HAVE_LINKFLAGS.
49121
49122 2009-04-26  Bruno Haible  <bruno@clisp.org>
49123
49124         Simplify calling convention of u*_conv_from_encoding.
49125         * lib/uniconv.h (u8_conv_from_encoding, u16_conv_from_encoding,
49126         u32_conv_from_encoding): Expect a resultbuf argument and return the
49127         result directly as a pointer.
49128         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Likewise.
49129         * lib/uniconv/u-conv-from-enc.h (FUNC): Likewise.
49130         * lib/uniconv/u-strconv-from-enc.h (FUNC): Update.
49131         * lib/unicase/ulc-casecmp.c (ulc_u8_casefold): Update.
49132         * lib/unicase/ulc-casexfrm.c (ulc_casexfrm): Update.
49133         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
49134         Update.
49135         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Update.
49136         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Update.
49137         * lib/vasnprintf.c (VASNPRINTF): Update.
49138         * tests/uniconv/test-u8-conv-from-enc.c (main): Update.
49139         * tests/uniconv/test-u16-conv-from-enc.c (main): Update.
49140         * tests/uniconv/test-u32-conv-from-enc.c (main): Update.
49141         * NEWS: Mention the change.
49142
49143 2009-04-26  Bruno Haible  <bruno@clisp.org>
49144
49145         Simplify calling convention of u*_conv_to_encoding.
49146         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
49147         u32_conv_to_encoding): Expect a resultbuf argument and return the
49148         result directly as a pointer.
49149         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
49150         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Preserve errno while
49151         freeing scaled_offsets if mem_iconveha failed.
49152         * lib/unicase/u-casexfrm.h (FUNC): Update.
49153         * lib/uninorm/u-normxfrm.h (FUNC): Update.
49154         * lib/vasnprintf.c (VASNPRINTF): Update.
49155         * tests/uniconv/test-u8-conv-to-enc.c (main): Update.
49156         * tests/uniconv/test-u16-conv-to-enc.c (main): Update.
49157         * tests/uniconv/test-u32-conv-to-enc.c (main): Update.
49158         * NEWS: Mention the change.
49159
49160 2009-04-26  Bruno Haible  <bruno@clisp.org>
49161
49162         Avoid test failures on AIX and OSF/1.
49163         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Avoid calling
49164         malloc(0).
49165         * lib/uniconv/u8-conv-to-enc.c (u8_conv_to_encoding): Likewise.
49166         * lib/unilbrk/ulc-possible-linebreaks.c (ulc_possible_linebreaks):
49167         Likewise.
49168         * lib/unilbrk/ulc-width-linebreaks.c (ulc_width_linebreaks): Likewise.
49169         * lib/uniwbrk/ulc-wordbreaks.c (ulc_wordbreaks): Likewise.
49170         * lib/uniconv/u-conv-to-enc.h (FUNC): Likewise. Fix memory leak.
49171         * lib/unistr/u-cpy-alloc.h (FUNC): Call malloc(1) instead of malloc(0).
49172         * doc/posix-functions/malloc.texi: Document the portability problem
49173         related to malloc(0).
49174
49175 2009-04-26  Bruno Haible  <bruno@clisp.org>
49176
49177         * modules/unistr/u8-cpy-alloc (Depends-on): Add malloc-posix.
49178         * modules/unistr/u16-cpy-alloc (Depends-on): Likewise.
49179         * modules/unistr/u32-cpy-alloc (Depends-on): Likewise.
49180
49181 2009-04-25  Bruno Haible  <bruno@clisp.org>
49182
49183         Avoid link error when creating a namespace clean library.
49184         * lib/math.in.h (gl_signbitf, gl_signbitd, gl_signbitl): Don't define
49185         as macro with arguments if already defined as an alias.
49186         * lib/signbitf.c (gl_signbitf): Don't undefine.
49187         * lib/signbitd.c (gl_signbitd): Don't undefine.
49188         * lib/signbitl.c (gl_signbitl): Don't undefine.
49189
49190 2009-04-25  Jim Meyering  <meyering@redhat.com>
49191
49192         vc-list-files: fix another quoting bug
49193         * build-aux/vc-list-files: Avoid sed backslash expansion
49194         of pathological directory names.
49195
49196 2009-04-25  Eric Blake  <ebb9@byu.net>
49197
49198         vc-list-files: fix shell quoting error
49199         * build-aux/vc-list-files: Protect against $ in $dir.  Normalize
49200         timestamp.
49201
49202 2009-04-25  Jim Meyering  <meyering@redhat.com>
49203
49204         vc-list-files: restore lost functionality with subdir argument
49205         * build-aux/vc-list-files: When given a non-"." sub-directory
49206         argument, substitute the $dir/ prefix back onto each resulting name.
49207         Otherwise, coreutils' root_tests check would fail.
49208
49209 2009-04-24  Eric Blake  <ebb9@byu.net>
49210
49211         vc-list-files: ignore git symlinks
49212         * build-aux/vc-list-files (.git): Use ls-tree and a filter, rather
49213         than ls-files, to ignore git symlinks.
49214
49215         maint.mk: import improvements from m4
49216         * top/maint.mk (VC-tag): Use signing key from cfg.mk.
49217         (move_if_change): Delete unused macro.
49218         (news-date-check, vc-diff-check): Support VPATH builds.
49219         (announcement): Likewise.  Split --bootstrap-tools list...
49220         (boostrap-tools): ...into separate list, which can be overridden
49221         in cfg.mk.
49222         (sc_avoid_if_before_free): Point to $(gnulib_dir), rather than
49223         requiring dependency on useless-if-before-free module.
49224         (VC_LIST, VC_LIST_EXCEPT): Likewise for vc-list-files module.
49225         Support VPATH builds.
49226
49227 2009-04-24  Jim Meyering  <meyering@redhat.com>
49228
49229         maint.mk: remove coreutils-specific rules and variables
49230         * top/maint.mk (bin, taint-distcheck, coreutils-path-check, t): Remove.
49231         (fake_home, install-transform-check, my-instcheck, pfx, TMPDIR): Remove.
49232         (t_prefix, t_taint, tp, warn_cflags, write_loser, my-distcheck): Remove.
49233
49234         maint.mk: remove obsolete rule
49235         * top/maint.mk (rel-check): Remove rule.
49236         (WGET, WGETFLAGS): Remove now-unused variables.
49237
49238 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49239
49240         * top/maint.mk (makefile-check): Renamed to sc_makefile_check for
49241         consistency.
49242
49243         * modules/vc-list-files-tests (TESTS_ENVIRONMENT): Use
49244         '$(PATH_SEPARATOR)' instead of ':'.
49245
49246 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49247
49248         * lib/getopt1.c (main): Use 'const' for static array.
49249
49250 2009-04-24  Simon Josefsson  <simon@josefsson.org>
49251
49252         * top/maint.mk: Sync with coreutils.
49253         * NEWS: Explain incompatibilities.
49254
49255 2009-04-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
49256             Bruno Haible  <bruno@clisp.org>
49257
49258         Fix cross-compilation results.
49259         * m4/btowc.m4 (gl_FUNC_BTOWC): Use no-op statement, rather than empty
49260         statement, as third argument of AC_TRY_RUN.
49261         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE, gl_MBRTOWC_SANITYCHECK,
49262         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL):
49263         Likewise.
49264         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): Likewise.
49265         * m4/wcsrtombs.m4 (gl_WCSRTOMBS_TERMINATION, gl_WCSRTOMBS_NULL):
49266         Likewise.
49267         * m4/wctob.m4 (gl_FUNC_WCTOB): Likewise.
49268         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Likewise. Update for AIX 4.3.
49269         * doc/posix-functions/wcrtomb.texi: Mention the bug on AIX 4.3.
49270
49271 2009-04-20  Bruno Haible  <bruno@clisp.org>
49272
49273         Avoid test failure on mingw.
49274         * tests/uniwidth/test-uc_width2.sh: Convert newlines in output.
49275
49276 2009-04-20  Bruno Haible  <bruno@clisp.org>
49277
49278         Avoid compilation error on mingw.
49279         * modules/localename-tests (Depends-on): Add locale.
49280
49281 2009-04-19  Bruno Haible  <bruno@clisp.org>
49282
49283         Support for building a shared library on Windows platforms.
49284         * tests/uninorm/test-nfc.c (n): Don't define if WOE32DLL.
49285         (main): Test the presence of UNINORM_NFC here.
49286         * tests/uninorm/test-nfd.c (n): Don't define if WOE32DLL.
49287         (main): Test the presence of UNINORM_NFD here.
49288         * tests/uninorm/test-nfkc.c (n): Don't define if WOE32DLL.
49289         (main): Test the presence of UNINORM_NFKC here.
49290         * tests/uninorm/test-nfkd.c (n): Don't define if WOE32DLL.
49291         (main): Test the presence of UNINORM_NFKD here.
49292
49293 2009-04-19  Bruno Haible  <bruno@clisp.org>
49294
49295         Avoid a compiler warning.
49296         * tests/uninorm/test-u32-normalize-big.c (read_normalization_test_file):
49297         Change type of variable 'sequence'.
49298
49299 2009-04-19  Bruno Haible  <bruno@clisp.org>
49300
49301         * modules/configmake (Makefile.am): When the contents of configmake.h
49302         does not change, arrange to preserve its modification time.
49303
49304 2009-04-17  Simon Josefsson  <simon@josefsson.org>
49305
49306         * top/maint.mk (PO_DOMAIN): New variable, allows overriding of
49307         gettext domain.
49308
49309 2009-04-16  Jim Meyering  <meyering@redhat.com>
49310
49311         useless-if-before-free: improve conversion code
49312         * build-aux/useless-if-before-free: Adjust code-in-comment to match
49313         "...!= 0" as well as "...!= NULL".  emacs has one of the former.
49314
49315 2009-04-14  Bruno Haible  <bruno@clisp.org>
49316
49317         * modules/fcntl (Depends-on): Add extensions.
49318         * m4/fcntl_h.m4 (gl_FCNTL_H): Add a comment.
49319
49320 2009-04-12  Ben Pfaff  <blp@gnu.org>
49321
49322         Make fcntl module detect O_NOATIME, O_NOFOLLOW on GNU/Linux.
49323         * m4/fcntl_h.m4 (gl_FCNTL_H): Require AC_USE_SYSTEM_EXTENSIONS.
49324
49325 2009-03-20  Ben Pfaff  <blp@gnu.org>
49326
49327         Make rename replace existing destinations on Windows.
49328         * m4/rename.m4: Add test for Mingw.
49329         * lib/rename.c: Add rename replacement that uses MoveFileEx with
49330         MOVEFILE_REPLACE_EXISTING to replace existing destination files.
49331         * doc/posix-functions/rename.texi: Document.
49332
49333 2009-04-10  Bruno Haible  <bruno@clisp.org>
49334
49335         New include file "iconveh.h".
49336         * lib/iconveh.h: New file, extracted from lib/striconveh.h.
49337         * lib/striconveh.h: Include it.
49338         (enum iconv_ilseq_handler): Remove definition.
49339         * lib/striconveha.h: Include <stddef.h> and iconveh.h instead of
49340         striconveh.h.
49341         * lib/striconveha.c: Include striconveh.h.
49342         * lib/uniconv.h: Include iconveh.h instead of striconveh.h.
49343         * modules/striconveh (Files): Add lib/iconveh.h.
49344         * modules/uniconv/base (Files): Add lib/iconveh.h. Remove
49345         lib/striconveh.h.
49346
49347 2009-04-10  Bruno Haible  <bruno@clisp.org>
49348
49349         * lib/uniconv.h: Update comment.
49350
49351 2009-04-10  Bruno Haible  <bruno@clisp.org>
49352
49353         * lib/unistr/u8-mbtouc-aux.c: Inside libunistring, define the function
49354         always.
49355         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
49356         * lib/unistr/u16-mbtouc-aux.c: Likewise.
49357         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
49358         * lib/unistr/u8-mbtouc.c: Inside libunistring, include
49359         "unistring-notinline.h", so that the function gets defined always.
49360         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
49361         * lib/unistr/u8-uctomb.c: Likewise.
49362         * lib/unistr/u16-mbtouc.c: Likewise.
49363         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
49364         * lib/unistr/u16-uctomb.c: Likewise.
49365         * lib/unistr/u32-mbtouc.c: Likewise.
49366         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
49367         * lib/unistr/u32-uctomb.c: Likewise.
49368
49369 2009-04-10  Bruno Haible  <bruno@clisp.org>
49370
49371         Mark 'utime' obsolete.
49372         * modules/utime (Status, Notice): New sections.
49373         Suggested by Jim Meyering.
49374
49375         Fix cross-compile guess for utime test.
49376         * m4/utime.m4 (AC_FUNC_UTIME_NULL): Add definition from newest unstable
49377         autoconf.
49378         * doc/posix-functions/utime.texi: Give more precisions.
49379         Reported by Jan <ipif@ymail.com>.
49380
49381 2009-04-09  Kamil Dudka  <kdudka@redhat.com>
49382
49383         filevercmp: correct today's change
49384         * lib/filevercmp.c: Also handle coreutils' test inputs.
49385         * tests/test-filevercmp.c: Add inputs from one of coreutils' test scripts.
49386
49387         Fix regression in 'filevercmp' module. Thanks Sven Joachim
49388         for reporting it.
49389         * lib/filevercmp.c: Special handle for "", "." and "..".
49390         * tests/test-filevercmp.c: Enlarge the set suite.
49391
49392 2009-04-07  Jim Meyering  <meyering@redhat.com>
49393
49394         useless-if-before-free: show how to remove braced useless free, too
49395         * build-aux/useless-if-before-free: still only in a comment, though.
49396
49397 2009-04-07  Reuben Thomas  <rrt@sc3d.org>
49398
49399         maint.mk: import changes to syntax-check macros from coreutils
49400         * top/maint.mk (_prohibit_regexp, _header_without_use): Define.
49401         Use them in the relevant macros.
49402
49403 2009-04-06  Bruno Haible  <bruno@clisp.org>
49404
49405         Fix unportable use of bit-fields.
49406         * lib/unicase/special-casing.h (struct special_casing_rule): Change the
49407         bit-field type from 'int' to 'signed int'. Otherwise Solaris cc,
49408         AIX xlc, and OSF/1 cc interpret it as 'unsigned int'.
49409
49410 2009-04-06  Bruno Haible  <bruno@clisp.org>
49411
49412         Avoid test failures on AIX and OSF/1.
49413         * tests/unicase/test-u8-casefold.c (check): Account for the possibility
49414         that malloc(0) = NULL.
49415         * tests/unicase/test-u8-tolower.c (check): Likewise.
49416         * tests/unicase/test-u8-totitle.c (check): Likewise.
49417         * tests/unicase/test-u8-toupper.c (check): Likewise.
49418         * tests/unicase/test-u16-casefold.c (check): Likewise.
49419         * tests/unicase/test-u16-tolower.c (check): Likewise.
49420         * tests/unicase/test-u16-totitle.c (check): Likewise.
49421         * tests/unicase/test-u16-toupper.c (check): Likewise.
49422         * tests/unicase/test-u32-casefold.c (check): Likewise.
49423         * tests/unicase/test-u32-tolower.c (check): Likewise.
49424         * tests/unicase/test-u32-totitle.c (check): Likewise.
49425         * tests/unicase/test-u32-toupper.c (check): Likewise.
49426         * tests/uninorm/test-u8-nfc.c (check): Likewise.
49427         * tests/uninorm/test-u8-nfd.c (check): Likewise.
49428         * tests/uninorm/test-u8-nfkc.c (check): Likewise.
49429         * tests/uninorm/test-u8-nfkd.c (check): Likewise.
49430         * tests/uninorm/test-u16-nfc.c (check): Likewise.
49431         * tests/uninorm/test-u16-nfd.c (check): Likewise.
49432         * tests/uninorm/test-u16-nfkc.c (check): Likewise.
49433         * tests/uninorm/test-u16-nfkd.c (check): Likewise.
49434         * tests/uninorm/test-u32-nfc.c (check): Likewise.
49435         * tests/uninorm/test-u32-nfd.c (check): Likewise.
49436         * tests/uninorm/test-u32-nfkc.c (check): Likewise.
49437         * tests/uninorm/test-u32-nfkd.c (check): Likewise.
49438
49439 2009-04-05  Bruno Haible  <bruno@clisp.org>
49440
49441         Work around an autoconf limitation.
49442         * gnulib-tool (func_emit_lib_Makefile_am): Omit the "Reproduce by"
49443         comment line if it would be longer than 3 KB.
49444
49445 2009-04-05  Bruno Haible  <bruno@clisp.org>
49446
49447         Avoid test failure with libiconv-1.13.
49448         * tests/test-striconveh.c (main): Allow result of libiconv 1.13 as one
49449         of the expected test results.
49450
49451 2009-04-05  Bruno Haible  <bruno@clisp.org>
49452
49453         * gnulib-tool (func_emit_lib_Makefile_am): Don't add the library to
49454         noinst_LTLIBRARIES if the Makefile.am in the same directory specifies
49455         that it should be installed.
49456
49457 2009-04-05  Bruno Haible  <bruno@clisp.org>
49458
49459         * gnulib-tool: New option --copy-file.
49460         (func_usage): Document it.
49461         (func_dest_tmpfilename): Moved out of func_import.
49462         (func_add_file, func_update_file): New functions, extracted from
49463         func_import.
49464         (func_import): Update.
49465
49466 2009-04-05  Karl Berry  <karl@gnu.org>
49467
49468         * README: prominently mention gnulib-tool.
49469         Rearrange sections so getting the code is near the top.
49470
49471 2009-04-05  Bruno Haible  <bruno@clisp.org>
49472
49473         * lib/unicase.h: Mention u*_cmp2.
49474         * lib/unicase/u-casecmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49475         * lib/unicase/u8-casecmp.c: Use u8_cmp2 instead of u8_cmp.
49476         * lib/unicase/ulc-casecmp.c: Likewise.
49477         * lib/unicase/u16-casecmp.c: Use u16_cmp2 instead of u16_cmp.
49478         * lib/unicase/u32-casecmp.c: Use u32_cmp2 instead of u32_cmp.
49479         * modules/unicase/u8-casecmp (Depends-on): Add unistr/u8-cmp2, remove
49480         unistr/u8-cmp.
49481         * modules/unicase/ulc-casecmp (Depends-on): Likewise.
49482         * modules/unicase/u16-casecmp (Depends-on): Add unistr/u16-cmp2, remove
49483         unistr/u16-cmp.
49484         * modules/unicase/u32-casecmp (Depends-on): Add unistr/u32-cmp2, remove
49485         unistr/u32-cmp.
49486
49487         * lib/uninorm.h: Mention u*_cmp2.
49488         * lib/uninorm/u-normcmp.h (FUNC): Invoke U_CMP2 instead of U_CMP.
49489         * lib/uninorm/u8-normcmp.c: Use u8_cmp2 instead of u8_cmp.
49490         * lib/uninorm/u16-normcmp.c: Use u16_cmp2 instead of u16_cmp.
49491         * lib/uninorm/u32-normcmp.c: Use u32_cmp2 instead of u32_cmp.
49492         * modules/uninorm/u8-normcmp (Depends-on): Add unistr/u8-cmp2, remove
49493         unistr/u8-cmp.
49494         * modules/uninorm/u16-normcmp (Depends-on): Add unistr/u16-cmp2, remove
49495         unistr/u16-cmp.
49496         * modules/uninorm/u32-normcmp (Depends-on): Add unistr/u32-cmp2, remove
49497         unistr/u32-cmp.
49498
49499         New module 'unistr/u32-cmp2'.
49500         * lib/unistr/u32-cmp2.c: New file.
49501         * modules/unistr/u32-cmp2: New file.
49502
49503         New module 'unistr/u16-cmp2'.
49504         * lib/unistr/u16-cmp2.c: New file.
49505         * modules/unistr/u16-cmp2: New file.
49506
49507         New module 'unistr/u8-cmp2'.
49508         * lib/unistr.h (u8_cmp2, u16_cmp2, u32_cmp2): New declarations.
49509         * lib/unistr/u8-cmp2.c: New file.
49510         * lib/unistr/u-cmp2.h: New file.
49511         * modules/unistr/u8-cmp2: New file.
49512
49513 2009-04-05  Bruno Haible  <bruno@clisp.org>
49514
49515         * lib/unictype.h (uc_property_is_valid): New macro.
49516         * tests/unictype/test-pr_byname.c (main): Use it.
49517
49518         * lib/unistr.h: Doc fixes.
49519         * lib/uniconv.h: Doc fixes.
49520         * lib/unictype.h: Doc fixes.
49521
49522 2009-04-03  Paul Eggert  <eggert@cs.ucla.edu>
49523
49524         Port coreutils 7.2 to Solaris 8.
49525
49526         * modules/arpa_inet (arpa/inet.h): Depend on arpa_inet.in.h.
49527         * m4/inet_ntop.m4 (gl_INET_NTOP): Search for inet_ntop in -lnsl,
49528         for Solaris 8.  This is a bit of a hack, as it means it's the
49529         caller's responsibility to add -lnsl if needed, but most likely it
49530         won't be needed since only getaddrinfo uses this and getaddrinfo
49531         isn't needed on Solaris 8.
49532
49533         * modules/fnmatch (Depends-on): Add mbsrtowcs, to fix a porting
49534         problem to Solaris 8 encountered with coreutils 7.2, which
49535         resulted in a message "fnmatch.c:292: warning: passing argument 4
49536         of 'mbsrtowcs' from incompatible pointer type".  Also, add mbsinit
49537         at the suggestion of Bruno Haible, since fnmatch uses mbsinit.
49538
49539 2009-04-03  Simon Josefsson  <simon@josefsson.org>
49540
49541         * m4/ld-version-script.m4: Add FIXME comment.
49542
49543 2009-04-02  Simon Josefsson  <simon@josefsson.org>
49544
49545         * doc/ld-output-def.texi: Use DLL_VERSION instead of confusing
49546         SOVERSION variable.
49547
49548 2009-04-02  Bruno Haible  <bruno@clisp.org>
49549
49550         * Makefile (info, html, dvi, pdf): Combine the rules.
49551         Suggested by Jim Meyering.
49552
49553 2009-04-01  Bruno Haible  <bruno@clisp.org>
49554
49555         * Makefile (info, html, dvi, pdf): New targets.
49556         Reported by Reuben Thomas <rrt@sc3d.org>.
49557
49558 2009-04-01  Bruno Haible  <bruno@clisp.org>
49559
49560         * doc/gnulib-tool.texi (Invoking gnulib-tool): Document how gnulib-tool
49561         can be put into PATH.
49562         Reported by Reuben Thomas <rrt@sc3d.org>. Suggested by Karl Berry.
49563
49564 2009-04-01  Bruno Haible  <bruno@clisp.org>
49565
49566         * doc/lib-symbol-visibility.texi: Follow texinfo style conventions.
49567
49568 2009-04-01  Bruno Haible  <bruno@clisp.org>
49569
49570         Rename module 'visibility'.
49571         * modules/lib-symbol-visibility: Renamed from modules/visibility.
49572         * doc/lib-symbol-visibility.texi: Renamed from visibility.texi.
49573         * doc/gnulib.texi: Update.
49574         * MODULES.html.sh (Misc): Update.
49575         * NEWS: Mention the change.
49576
49577 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49578
49579         * modules/lib-msvc-compat: New module.  Thanks to Bruno Haible
49580         <bruno@clisp.org>, Ralf Wildenhues <Ralf.Wildenhues@gmx.de>, and
49581         Eric Blake <ebb9@byu.net> for review.
49582         * MODULES.html.sh: Add lib-msvc-compat.
49583         * doc/gnulib.texi: Link to new section.
49584         * m4/ld-output-def.m4: New file.
49585         * doc/ld-output-def.texi: New file.
49586
49587 2009-04-01  Simon Josefsson  <simon@josefsson.org>
49588
49589         Rename ld-version-script to lib-symbol-versions.  Suggested by
49590         Bruno Haible <bruno@clisp.org>.
49591         * modules/ld-version-script: Renamed to lib-symbol-versions.
49592         * doc/ld-version-script.texi: Fix module name.
49593         * MODULES.html.sh: Add lib-symbol-versions.
49594
49595 2009-03-31  Simon Josefsson  <simon@josefsson.org>
49596
49597         * modules/u64-tests: New file.
49598         * tests/test-u64.c: New file.
49599
49600 2009-03-04  Simon Josefsson  <simon@josefsson.org>
49601
49602         * MODULES.html.sh: Mention u64.
49603         * modules/u64: New module.
49604         * modules/crypto/sha512: Depend on u64 module instead of providing
49605         u64.h.
49606
49607 2009-03-27  Eric Blake  <ebb9@byu.net>
49608
49609         test-strerror: make debugging EAI_SYSTEM easier
49610         * modules/getaddrinfo-tests (Depends-on): Add strerror.
49611         * test-getaddrinfo.c (simple) [ENABLE_DEBUGGING]: Report errno if
49612         failure was EAI_SYSTEM.
49613
49614 2009-03-25  Bruno Haible  <bruno@clisp.org>
49615
49616         Fix a problem with --enable-relocatable on Solaris 7.
49617         * modules/relocatable-prog-wrapper (Depends-on): Add environ. Needed
49618         since 2008-02-24.
49619
49620 2009-03-25  Eric Blake  <ebb9@byu.net>
49621
49622         test-sockets: avoid gcc warning
49623         * tests/test-sockets.c (main): Silence compiler warning.
49624
49625 2009-03-25  Paul Eggert  <eggert@cs.ucla.edu>
49626
49627         New modules nproc, pthread, contributed by Glen Lenker.
49628
49629         * MODULES.html.sh: Add pthread, nproc.
49630         * lib/nproc.c: New file.
49631         * lib/nproc.h: New file.
49632         * lib/pthread.in.h: New file.
49633         * m4/pthread.m4: New file.
49634         * modules/nproc: New file.
49635         * modules/pthread: New file.
49636
49637 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49638
49639         * modules/unicase/locale-language-tests (test_locale_language_LDADD):
49640         New variable.
49641
49642 2009-03-24  Kamil Dudka  <kdudka@redhat.com>
49643
49644         filevercmp: handle simple~ and numbered.~3~ backup suffixes
49645         * lib/filevercmp.c: Handle simple~ and numbered.~3~ backup suffixes.
49646         * tests/test-filevercmp.c: Add tests for backup suffixes.
49647
49648 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49649
49650         * modules/stdlib (Depends-on): Add stdint, needed when defining
49651         struct random_data on, for example, HP-UX 10.20.  Reported by
49652         Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
49653
49654 2009-03-24  Simon Josefsson  <simon@josefsson.org>
49655
49656         * lib/readline.c (readline): Call fflush on stdout after printing
49657         prompt.
49658
49659 2009-03-20  Bruno Haible  <bruno@clisp.org>
49660
49661         Remove dependency from 'close' module to -lws2_32 on native Windows.
49662         * lib/close-hook.h: New file.
49663         * lib/close-hook.c: New file.
49664         * lib/close.c: Include close-hook.h. Don't include <sys/socket.h>,
49665         w32sock.h.
49666         (_gl_close_fd_maybe_socket): Remove function.
49667         (rpl_close): Invoke execute_all_close_hooks instead of
49668         _gl_close_fd_maybe_socket.
49669         * lib/sockets.c: Include close-hook.h, w32sock.h.
49670         (close_fd_maybe_socket): New function, essentially from lib/close.c.
49671         (close_sockets_hook): New variable.
49672         (gl_sockets_startup): Register close_fd_maybe_socket as a hook.
49673         (gl_sockets_cleanup): Unregister it.
49674         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): Remove macro.
49675         * m4/close.m4 (gl_REPLACE_CLOSE): Undo 2009-02-05 change.
49676         * modules/close-hook: New file.
49677         * modules/close (Files): Remove lib/w32sock.h.
49678         (Depends-on): Add close-hook.
49679         (Link): Remove section.
49680         * modules/sockets (Files): Add lib/w32sock.h.
49681         (Depends-on): Add close-hook.
49682         * modules/sys_socket (configure.ac): Remove gl_MODULE_INDICATOR
49683         invocation.
49684         * NEWS: Mention that LIB_CLOSE is gone.
49685
49686 2009-03-23  Eric Blake  <ebb9@byu.net>
49687
49688         signal-tests: test previous patch
49689         * tests/test-signal.c: New file.
49690         * modules/signal-tests: Likewise.
49691
49692         signal.h: always support 'volatile sig_atomic_t'
49693         * m4/signal_h.m4 (gl_SIGNAL_H): Check for AIX limitation.
49694         (gl_SIGNAL_H_DEFAULTS): Add a default.
49695         * modules/signal (Makefile.am): Substitute if needed.
49696         * lib/signal.in.h (sig_atomic_t): Redefine if needed, so that
49697         users can blindly add volatile.
49698         * doc/posix-headers/signal.texi (signal.h): Document it.
49699         Reported by Matthew Woehlke.
49700
49701 2009-03-23  Jim Meyering  <meyering@redhat.com>
49702
49703         pathmax: PATH_MAX: use pathconf only when available
49704         * lib/pathmax.h (PATH_MAX): Select the pathconf-using definition
49705         only if HAVE_PATHCONF is defined.  Patch by Sylvain Beucler.
49706         * m4/pathmax.m4 (gl_PATHMAX): Check for pathconf.
49707         This avoids a link failure in a PSP cross-compilation environment
49708         described in http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/17048
49709
49710         * lib/vasnprintf.c (divide): Fix typo in comment.
49711
49712 2009-03-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49713
49714         * gnulib-tool (func_filter_filelist): Fix comment.
49715
49716 2009-03-20  Bruno Haible  <bruno@clisp.org>
49717
49718         Make sockets.h self-contained.
49719         * lib/sockets.c: Include sockets.h first.
49720         * lib/sockets.h: Include <sys/socket.h> before using the SOCKET type.
49721
49722 2009-03-19  Eric Blake  <ebb9@byu.net>
49723
49724         doc: mention more functions added in cygwin 1.7.0
49725         * doc/posix-functions/log2.texi: Mention recent cygwin 1.7.0
49726         addition.
49727         * doc/posix-functions/log2f.texi: Likewise.
49728
49729 2009-03-19  Jim Meyering  <meyering@redhat.com>
49730
49731         fsusage: avoid syntax error due to statement-before-declaration
49732         * lib/fsusage.c (get_fs_usage): Put warning-avoidance statement
49733         after all declarations.  Reported by Matthew Woehlke in
49734         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/16231
49735
49736 2009-03-18  Eric Blake  <ebb9@byu.net>
49737
49738         build-aux/compile: sync from automake
49739         * build-aux/compile: New file, from automake.
49740         * config/srclist.txt: Mention build-aux/compile.
49741
49742 2009-03-17  Bruno Haible  <bruno@clisp.org>
49743
49744         * lib/git-merge-changelog.c: Fix typo in comment.
49745         Reported by Reuben Thomas <rrt@sc3d.org>.
49746
49747 2009-03-17  Reuben Thomas  <rrt@sc3d.org>
49748
49749         * m4/regex.m4: update and improve help for
49750         --without-included-regex.
49751
49752 2009-03-17  Simon Josefsson  <simon@josefsson.org>
49753
49754         * modules/isnanl-nolibm-tests (Files): Add tests/nan.h to avoid
49755         failure on missing include files.
49756
49757 2009-03-17  Eric Blake  <ebb9@byu.net>
49758
49759         doc: mention more functions added in cygwin 1.7.0
49760         * doc/posix-functions/fwprintf.texi: Mention recent cygwin 1.7.0
49761         addition.
49762         * doc/posix-functions/fwscanf.texi: Likewise.
49763         * doc/posix-functions/swprintf.texi: Likewise.
49764         * doc/posix-functions/swscanf.texi: Likewise.
49765         * doc/posix-functions/vfwprintf.texi: Likewise.
49766         * doc/posix-functions/vfwscanf.texi: Likewise.
49767         * doc/posix-functions/vswprintf.texi: Likewise.
49768         * doc/posix-functions/vswscanf.texi: Likewise.
49769         * doc/posix-functions/vwprintf.texi: Likewise.
49770         * doc/posix-functions/vwscanf.texi: Likewise.
49771         * doc/posix-functions/wcscasecmp.texi: Likewise.
49772         * doc/posix-functions/wcsdup.texi: Likewise.
49773         * doc/posix-functions/wcsftime.texi: Likewise.
49774         * doc/posix-functions/wcsncasecmp.texi: Likewise.
49775         * doc/posix-functions/wprintf.texi: Likewise.
49776         * doc/posix-functions/wscanf.texi: Likewise.
49777         * doc/glibc-functions/gethostbyname2.texi: Likewise.
49778
49779 2009-03-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
49780
49781         maint.mk: really add $(AM_MAKEFLAGS)
49782         * top/maint.mk (init-coverage, build-coverage): `$(AM_MAKEFLAGS)'
49783         was inadvertently omitted in the last commit.
49784         Spotted by Bruno Haible.
49785
49786         maint.mk: use $(MAKE) $(AM_MAKEFLAGS) not make
49787         * top/maint.mk (init-coverage, build-coverage): Use `$(MAKE)
49788         $(AM_MAKEFLAGS)' rather than plain `make'.
49789
49790         gnulib-tool: execute $MAKE not make
49791         * gnulib-tool: Default $MAKE to 'make'.
49792         (func_create_testdir, func_create_megatestdir): Use $MAKE rather
49793         than make.  Initialize $MAKE in the do-autobuild script.
49794
49795         gnulib-tool: use $MAKE not make in generated files
49796         * gnulib-tool (func_create_megatestdir): Use $MAKE rather than
49797         make, in generated files.  Initialize $MAKE in the do-autobuild
49798         script.
49799
49800         * top/GNUmakefile (_have-git-version-gen): Fix typo.
49801
49802         GNUmakefile: disable parallelism only for multiple, recursive targets
49803         * top/GNUmakefile (ALL_RECURSIVE_TARGETS): New macro; allow user
49804         additions in the Makefile.
49805         (AM_RECURSIVE_TARGETS): New macro, override only if not provided
49806         by Automake.
49807         (.NOTPARALLEL): Only disable parallel builds if multiple targets
49808         are listed on the command line and at least one of them is
49809         listed in $(ALL_RECURSIVE_TARGETS).
49810
49811 2009-03-14  Bruno Haible  <bruno@clisp.org>
49812
49813         * modules/unilbrk/u8-possible-linebreaks (Depends-on): Replace
49814         utf8-ucs4-unsafe with unistr/u8-mbtouc-unsafe.
49815         * modules/unilbrk/u8-width-linebreaks (Depends-on): Likewise.
49816         * modules/unilbrk/u16-possible-linebreaks (Depends-on): Replace
49817         utf16-ucs4-unsafe with unistr/u16-mbtouc-unsafe.
49818         * modules/unilbrk/u16-width-linebreaks (Depends-on): Likewise.
49819         * modules/unistr/u8-chr (Depends-on): Replace ucs4-utf8 with
49820         unistr/u8-uctomb.
49821         * modules/unistr/u8-strchr (Depends-on): Likewise.
49822         * modules/unistr/u8-strrchr (Depends-on): Likewise.
49823         * modules/unistr/u16-chr (Depends-on): Replace ucs4-utf16 with
49824         unistr/u16-uctomb.
49825         * modules/unistr/u16-strchr (Depends-on): Likewise.
49826         * modules/unistr/u16-strrchr (Depends-on): Likewise.
49827
49828 2009-03-12  Bruno Haible  <bruno@clisp.org>
49829
49830         Work around select() bug on Interix 3.5.
49831         * lib/sys_select.in.h (select): Also replace if REPLACE_SELECT is 1.
49832         * lib/select.c (rpl_select): Add an implementation for Unix platforms.
49833         * m4/select.m4: New file.
49834         * m4/sys_select_h.m4 (gl_SYS_SELECT_H_DEFAULTS): Initialize REPLACE_SELECT.
49835         * modules/sys_select (Makefile.am): Substitute REPLACE_SELECT.
49836         * modules/select (Files): Add m4/select.m4.
49837         (configure.ac): Move conditional to m4/select.m4. Invoke gl_FUNC_SELECT.
49838         * modules/nanosleep (Depends-on): Add select.
49839         * modules/poll (Depends-on): Likewise.
49840         * doc/posix-functions/select.texi: Mention the Interix bug.
49841         Reported by Markus Duft <mduft@gentoo.org>.
49842
49843         * lib/select.c: Renamed from lib/winsock-select.c.
49844         * modules/select (Files): Add lib/select.c, remove
49845         lib/winsock-select.c.
49846         (configure.ac): Update.
49847
49848 2009-03-12  Jim Meyering  <meyering@redhat.com>
49849
49850         avoid gcc warnings about unused macro definitions
49851         * lib/readtokens.c (STREQ): Remove unused definition.
49852         * lib/xmalloc.c (SIZE_MAX): Likewise.
49853         * lib/openat-die.c (N_): Likewise.
49854         * lib/mountlist.c (SIZE_MAX): Remove definition.
49855         Instead, include <stdint.h>.
49856         * lib/readutmp.c: Likewise.
49857         * modules/readutmp (Depends-on): Add stdint.
49858         * modules/mountlist (Depends-on): Add stdint.
49859         * lib/userspec.c (ISDIGIT): Move definition into #if block where used.
49860
49861 2009-03-10  Bruno Haible  <bruno@clisp.org>
49862
49863         Tests for module 'mbmemcasecoll'.
49864         * modules/mbmemcasecoll-tests: New file.
49865         * tests/test-mbmemcasecoll1.sh: New file.
49866         * tests/test-mbmemcasecoll2.sh: New file.
49867         * tests/test-mbmemcasecoll3.sh: New file.
49868         * tests/test-mbmemcasecoll.c: New file.
49869
49870         New module 'mbmemcasecoll'.
49871         * lib/mbmemcasecoll.h: New file.
49872         * lib/mbmemcasecoll.c: New file.
49873         * modules/mbmemcasecoll: New file.
49874
49875         * tests/test-mbmemcasecmp.h: New file, extracted from
49876         tests/test-mbmemcasecmp.c.
49877         * tests/test-mbmemcasecmp.c: Include test-mbmemcasecmp.h.
49878         (test_ascii, test_iso_8859_1, test_utf_8): Remove functions.
49879         (main): Update.
49880         * modules/mbmemcasecmp-tests (Files): Add tests/test-mbmemcasecmp.h.
49881
49882 2009-03-09  Bruno Haible  <bruno@clisp.org>
49883
49884         Tests for module 'mbmemcasecmp'.
49885         * modules/mbmemcasecmp-tests: New file.
49886         * tests/test-mbmemcasecmp1.sh: New file.
49887         * tests/test-mbmemcasecmp2.sh: New file.
49888         * tests/test-mbmemcasecmp3.sh: New file.
49889         * tests/test-mbmemcasecmp.c: New file.
49890
49891         New module 'mbmemcasecmp'.
49892         * lib/mbmemcasecmp.h: New file.
49893         * lib/mbmemcasecmp.c: New file.
49894         * modules/mbmemcasecmp: New file.
49895
49896 2009-03-09  Bruno Haible  <bruno@clisp.org>
49897
49898         Tests for module 'unicase/ulc-casecoll'.
49899         * modules/unicase/ulc-casecoll-tests: New file.
49900         * tests/unicase/test-ulc-casecoll1.sh: New file.
49901         * tests/unicase/test-ulc-casecoll2.sh: New file.
49902         * tests/unicase/test-ulc-casecoll.c: New file.
49903
49904         New module 'unicase/ulc-casecoll'.
49905         * lib/unicase.h (ulc_casecoll): New declaration.
49906         * lib/unicase/ulc-casecoll.c: New file.
49907         * modules/unicase/ulc-casecoll: New file.
49908
49909         New module 'unicase/ulc-casexfrm'.
49910         * lib/unicase.h (ulc_casexfrm): New declaration.
49911         * lib/unicase/ulc-casexfrm.c: New file.
49912         * modules/unicase/ulc-casexfrm: New file.
49913
49914 2009-03-09  Bruno Haible  <bruno@clisp.org>
49915
49916         Followup to 2008-12-22 commit: Remove unnecessary AC_FUNC_MBRTOWC
49917         invocations.
49918
49919         * m4/mbscasecmp.m4: Remove file.
49920         * modules/mbscasecmp (Files): Remove it and m4/mbrtowc.m4
49921         (configure.ac): Remove gl_FUNC_MBSCASECMP invocation.
49922
49923         * m4/mbscasestr.m4: Remove file.
49924         * modules/mbscasestr (Files): Remove it and m4/mbrtowc.m4
49925         (configure.ac): Remove gl_FUNC_MBSCASESTR invocation.
49926
49927         * m4/mbschr.m4: Remove file.
49928         * modules/mbschr (Files): Remove it and m4/mbrtowc.m4
49929         (configure.ac): Remove gl_FUNC_MBSCHR invocation.
49930
49931         * m4/mbscspn.m4: Remove file.
49932         * modules/mbscspn (Files): Remove it and m4/mbrtowc.m4
49933         (configure.ac): Remove gl_FUNC_MBSCSPN invocation.
49934
49935         * m4/mbslen.m4: Remove file.
49936         * modules/mbslen (Files): Remove it and m4/mbrtowc.m4
49937         (configure.ac): Remove gl_FUNC_MBSLEN invocation.
49938
49939         * m4/mbsncasecmp.m4: Remove file.
49940         * modules/mbsncasecmp (Files): Remove it and m4/mbrtowc.m4
49941         (configure.ac): Remove gl_FUNC_MBSNCASECMP invocation.
49942
49943         * m4/mbsnlen.m4: Remove file.
49944         * modules/mbsnlen (Files): Remove it and m4/mbrtowc.m4
49945         (configure.ac): Remove gl_FUNC_MBSNLEN invocation.
49946
49947         * m4/mbspbrk.m4: Remove file.
49948         * modules/mbspbrk (Files): Remove it and m4/mbrtowc.m4
49949         (configure.ac): Remove gl_FUNC_MBSPBRK invocation.
49950
49951         * m4/mbspcasecmp.m4: Remove file.
49952         * modules/mbspcasecmp (Files): Remove it and m4/mbrtowc.m4
49953         (configure.ac): Remove gl_FUNC_MBSPCASECMP invocation.
49954
49955         * m4/mbsrchr.m4: Remove file.
49956         * modules/mbsrchr (Files): Remove it and m4/mbrtowc.m4
49957         (configure.ac): Remove gl_FUNC_MBSRCHR invocation.
49958
49959         * m4/mbssep.m4: Remove file.
49960         * modules/mbssep (Files): Remove it and m4/mbrtowc.m4
49961         (configure.ac): Remove gl_FUNC_MBSSEP invocation.
49962
49963         * m4/mbsspn.m4: Remove file.
49964         * modules/mbsspn (Files): Remove it and m4/mbrtowc.m4
49965         (configure.ac): Remove gl_FUNC_MBSSPN invocation.
49966
49967         * m4/mbsstr.m4: Remove file.
49968         * modules/mbsstr (Files): Remove it and m4/mbrtowc.m4
49969         (configure.ac): Remove gl_FUNC_MBSSTR invocation.
49970
49971         * m4/mbstok_r.m4: Remove file.
49972         * modules/mbstok_r (Files): Remove it and m4/mbrtowc.m4
49973         (configure.ac): Remove gl_FUNC_MBSTOK_R invocation.
49974
49975         * m4/mbswidth.m4 (gl_MBSWIDTH): Remove AC_FUNC_MBRTOWC invocation.
49976
49977         * m4/quotearg.m4 (gl_QUOTEARG): Remove mbsinit test and
49978         AC_TYPE_MBSTATE_T, AC_FUNC_MBRTOWC invocations.
49979
49980         * modules/trim (configure.ac): Remove AC_FUNC_MBRTOWC invocation.
49981
49982 2009-03-08  Bruno Haible  <bruno@clisp.org>
49983
49984         Tests for module 'unicase/ulc-casecmp'.
49985         * modules/unicase/ulc-casecmp-tests: New file.
49986         * tests/unicase/test-ulc-casecmp1.sh: New file.
49987         * tests/unicase/test-ulc-casecmp2.sh: New file.
49988         * tests/unicase/test-ulc-casecmp.c: New file.
49989
49990         New module 'unicase/ulc-casecmp'.
49991         * lib/unicase.h (ulc_casecmp): New declaration.
49992         * lib/unicase/ulc-casecmp.c: New file.
49993         * lib/unicase/u-casecmp.h (FUNC): Change argument types to
49994         'const SRC_UNIT *'.
49995         * lib/unicase/u8-casecmp.c (SRC_UNIT): Define like UNIT.
49996         * lib/unicase/u16-casecmp.c (SRC_UNIT): Likewise.
49997         * lib/unicase/u32-casecmp.c (SRC_UNIT): Likewise.
49998         * modules/unicase/ulc-casecmp: New file.
49999
50000         Tests for module 'unicase/u32-is-cased'.
50001         * modules/unicase/u32-is-cased-tests: New file.
50002         * tests/unicase/test-u32-is-cased.c: New file.
50003
50004         Tests for module 'unicase/u16-is-cased'.
50005         * modules/unicase/u16-is-cased-tests: New file.
50006         * tests/unicase/test-u16-is-cased.c: New file.
50007
50008         Tests for module 'unicase/u8-is-cased'.
50009         * modules/unicase/u8-is-cased-tests: New file.
50010         * tests/unicase/test-u8-is-cased.c: New file.
50011         * tests/unicase/test-is-cased.h: New file.
50012
50013         New module 'unicase/u32-is-cased'.
50014         * lib/unicase/u32-is-cased.c: New file.
50015         * modules/unicase/u32-is-cased: New file.
50016
50017         New module 'unicase/u16-is-cased'.
50018         * lib/unicase/u16-is-cased.c: New file.
50019         * modules/unicase/u16-is-cased: New file.
50020
50021         New module 'unicase/u8-is-cased'.
50022         * lib/unicase/u8-is-cased.c: New file.
50023         * lib/unicase/u-is-cased.h: New file.
50024         * modules/unicase/u8-is-cased: New file.
50025
50026         Tests for module 'unicase/u32-is-casefolded'.
50027         * modules/unicase/u32-is-casefolded-tests: New file.
50028         * tests/unicase/test-u32-is-casefolded.c: New file.
50029
50030         Tests for module 'unicase/u16-is-casefolded'.
50031         * modules/unicase/u16-is-casefolded-tests: New file.
50032         * tests/unicase/test-u16-is-casefolded.c: New file.
50033
50034         Tests for module 'unicase/u8-is-casefolded'.
50035         * modules/unicase/u8-is-casefolded-tests: New file.
50036         * tests/unicase/test-u8-is-casefolded.c: New file.
50037         * tests/unicase/test-is-casefolded.h: New file.
50038
50039         New module 'unicase/u32-is-casefolded'.
50040         * lib/unicase/u32-is-casefolded.c: New file.
50041         * modules/unicase/u32-is-casefolded: New file.
50042
50043         New module 'unicase/u16-is-casefolded'.
50044         * lib/unicase/u16-is-casefolded.c: New file.
50045         * modules/unicase/u16-is-casefolded: New file.
50046
50047         New module 'unicase/u8-is-casefolded'.
50048         * lib/unicase/u8-is-casefolded.c: New file.
50049         * modules/unicase/u8-is-casefolded: New file.
50050
50051         Tests for module 'unicase/u32-is-titlecase'.
50052         * modules/unicase/u32-is-titlecase-tests: New file.
50053         * tests/unicase/test-u32-is-titlecase.c: New file.
50054
50055         Tests for module 'unicase/u16-is-titlecase'.
50056         * modules/unicase/u16-is-titlecase-tests: New file.
50057         * tests/unicase/test-u16-is-titlecase.c: New file.
50058
50059         Tests for module 'unicase/u8-is-titlecase'.
50060         * modules/unicase/u8-is-titlecase-tests: New file.
50061         * tests/unicase/test-u8-is-titlecase.c: New file.
50062         * tests/unicase/test-is-titlecase.h: New file.
50063
50064         New module 'unicase/u32-is-titlecase'.
50065         * lib/unicase/u32-is-titlecase.c: New file.
50066         * modules/unicase/u32-is-titlecase: New file.
50067
50068         New module 'unicase/u16-is-titlecase'.
50069         * lib/unicase/u16-is-titlecase.c: New file.
50070         * modules/unicase/u16-is-titlecase: New file.
50071
50072         New module 'unicase/u8-is-titlecase'.
50073         * lib/unicase/u8-is-titlecase.c: New file.
50074         * modules/unicase/u8-is-titlecase: New file.
50075
50076         Tests for module 'unicase/u32-is-lowercase'.
50077         * modules/unicase/u32-is-lowercase-tests: New file.
50078         * tests/unicase/test-u32-is-lowercase.c: New file.
50079
50080         Tests for module 'unicase/u16-is-lowercase'.
50081         * modules/unicase/u16-is-lowercase-tests: New file.
50082         * tests/unicase/test-u16-is-lowercase.c: New file.
50083
50084         Tests for module 'unicase/u8-is-lowercase'.
50085         * modules/unicase/u8-is-lowercase-tests: New file.
50086         * tests/unicase/test-u8-is-lowercase.c: New file.
50087         * tests/unicase/test-is-lowercase.h: New file.
50088
50089         New module 'unicase/u32-is-lowercase'.
50090         * lib/unicase/u32-is-lowercase.c: New file.
50091         * modules/unicase/u32-is-lowercase: New file.
50092
50093         New module 'unicase/u16-is-lowercase'.
50094         * lib/unicase/u16-is-lowercase.c: New file.
50095         * modules/unicase/u16-is-lowercase: New file.
50096
50097         New module 'unicase/u8-is-lowercase'.
50098         * lib/unicase/u8-is-lowercase.c: New file.
50099         * modules/unicase/u8-is-lowercase: New file.
50100
50101         Tests for module 'unicase/u32-is-uppercase'.
50102         * modules/unicase/u32-is-uppercase-tests: New file.
50103         * tests/unicase/test-u32-is-uppercase.c: New file.
50104
50105         Tests for module 'unicase/u16-is-uppercase'.
50106         * modules/unicase/u16-is-uppercase-tests: New file.
50107         * tests/unicase/test-u16-is-uppercase.c: New file.
50108
50109         Tests for module 'unicase/u8-is-uppercase'.
50110         * modules/unicase/u8-is-uppercase-tests: New file.
50111         * tests/unicase/test-u8-is-uppercase.c: New file.
50112         * tests/unicase/test-is-uppercase.h: New file.
50113
50114         New module 'unicase/u32-is-uppercase'.
50115         * lib/unicase/u32-is-uppercase.c: New file.
50116         * modules/unicase/u32-is-uppercase: New file.
50117
50118         New module 'unicase/u16-is-uppercase'.
50119         * lib/unicase/u16-is-uppercase.c: New file.
50120         * modules/unicase/u16-is-uppercase: New file.
50121
50122         New module 'unicase/u8-is-uppercase'.
50123         * lib/unicase/u8-is-uppercase.c: New file.
50124         * modules/unicase/u8-is-uppercase: New file.
50125
50126         New module 'unicase/u32-is-invariant'.
50127         * lib/unicase/u32-is-invariant.c: New file.
50128         * modules/unicase/u32-is-invariant: New file.
50129
50130         New module 'unicase/u16-is-invariant'.
50131         * lib/unicase/u16-is-invariant.c: New file.
50132         * modules/unicase/u16-is-invariant: New file.
50133
50134         New module 'unicase/u8-is-invariant'.
50135         * lib/unicase/u8-is-invariant.c: New file.
50136         * lib/unicase/invariant.h: New file.
50137         * lib/unicase/u-is-invariant.h: New file.
50138         * modules/unicase/u8-is-invariant: New file.
50139
50140         Tests for module 'unicase/u32-casecoll'.
50141         * modules/unicase/u32-casecoll-tests: New file.
50142         * tests/unicase/test-u32-casecoll.c: New file.
50143
50144         Tests for module 'unicase/u16-casecoll'.
50145         * modules/unicase/u16-casecoll-tests: New file.
50146         * tests/unicase/test-u16-casecoll.c: New file.
50147
50148         Tests for module 'unicase/u8-casecoll'.
50149         * modules/unicase/u8-casecoll-tests: New file.
50150         * tests/unicase/test-u8-casecoll.c: New file.
50151
50152         New module 'unicase/u32-casecoll'.
50153         * lib/unicase/u32-casecoll.c: New file.
50154         * modules/unicase/u32-casecoll: New file.
50155
50156         New module 'unicase/u16-casecoll'.
50157         * lib/unicase/u16-casecoll.c: New file.
50158         * modules/unicase/u16-casecoll: New file.
50159
50160         New module 'unicase/u8-casecoll'.
50161         * lib/unicase/u8-casecoll.c: New file.
50162         * lib/unicase/u-casecoll.h: New file.
50163         * modules/unicase/u8-casecoll: New file.
50164
50165         New module 'unicase/u32-casexfrm'.
50166         * lib/unicase/u32-casexfrm.c: New file.
50167         * modules/unicase/u32-casexfrm: New file.
50168
50169         New module 'unicase/u16-casexfrm'.
50170         * lib/unicase/u16-casexfrm.c: New file.
50171         * modules/unicase/u16-casexfrm: New file.
50172
50173         New module 'unicase/u8-casexfrm'.
50174         * lib/unicase/u8-casexfrm.c: New file.
50175         * lib/unicase/u-casexfrm.h: New file.
50176         * modules/unicase/u8-casexfrm: New file.
50177
50178         Tests for module 'unicase/u32-casecmp'.
50179         * modules/unicase/u32-casecmp-tests: New file.
50180         * tests/unicase/test-u32-casecmp.c: New file.
50181
50182         Tests for module 'unicase/u16-casecmp'.
50183         * modules/unicase/u16-casecmp-tests: New file.
50184         * tests/unicase/test-u16-casecmp.c: New file.
50185
50186         Tests for module 'unicase/u8-casecmp'.
50187         * modules/unicase/u8-casecmp-tests: New file.
50188         * tests/unicase/test-u8-casecmp.c: New file.
50189         * tests/unicase/test-casecmp.h: New file.
50190
50191         New module 'unicase/u32-casecmp'.
50192         * lib/unicase/u32-casecmp.c: New file.
50193         * modules/unicase/u32-casecmp: New file.
50194
50195         New module 'unicase/u16-casecmp'.
50196         * lib/unicase/u16-casecmp.c: New file.
50197         * modules/unicase/u16-casecmp: New file.
50198
50199         New module 'unicase/u8-casecmp'.
50200         * lib/unicase/u8-casecmp.c: New file.
50201         * lib/unicase/u-casecmp.h: New file.
50202         * modules/unicase/u8-casecmp: New file.
50203
50204         Tests for module 'unicase/u32-casefold'.
50205         * modules/unicase/u32-casefold-tests: New file.
50206         * tests/unicase/test-u32-casefold.c: New file.
50207
50208         Tests for module 'unicase/u16-casefold'.
50209         * modules/unicase/u16-casefold-tests: New file.
50210         * tests/unicase/test-u16-casefold.c: New file.
50211
50212         Tests for module 'unicase/u8-casefold'.
50213         * modules/unicase/u8-casefold-tests: New file.
50214         * tests/unicase/test-u8-casefold.c: New file.
50215
50216         New module 'unicase/u32-casefold'.
50217         * lib/unicase/u32-casefold.c: New file.
50218         * modules/unicase/u32-casefold: New file.
50219
50220         New module 'unicase/u16-casefold'.
50221         * lib/unicase/u16-casefold.c: New file.
50222         * modules/unicase/u16-casefold: New file.
50223
50224         New module 'unicase/u8-casefold'.
50225         * lib/unicase/u8-casefold.c: New file.
50226         * lib/unicase/u-casefold.h: New file.
50227         * modules/unicase/u8-casefold: New file.
50228
50229         New module 'unicase/tocasefold'.
50230         * lib/unicase/casefold.h: New file.
50231         * lib/unicase/tocasefold.c: New file.
50232         * lib/unicase/tocasefold.h: New file, generated by gen-uni-tables.c.
50233         * modules/unicase/tocasefold: New file.
50234
50235         Tests for module 'unicase/u32-totitle'.
50236         * modules/unicase/u32-totitle-tests: New file.
50237         * tests/unicase/test-u32-totitle.c: New file.
50238
50239         Tests for module 'unicase/u16-totitle'.
50240         * modules/unicase/u16-totitle-tests: New file.
50241         * tests/unicase/test-u16-totitle.c: New file.
50242
50243         Tests for module 'unicase/u8-totitle'.
50244         * modules/unicase/u8-totitle-tests: New file.
50245         * tests/unicase/test-u8-totitle.c: New file.
50246
50247         New module 'unicase/u32-totitle'.
50248         * lib/unicase/u32-totitle.c: New file.
50249         * modules/unicase/u32-totitle: New file.
50250
50251         New module 'unicase/u16-totitle'.
50252         * lib/unicase/u16-totitle.c: New file.
50253         * modules/unicase/u16-totitle: New file.
50254
50255         New module 'unicase/u8-totitle'.
50256         * lib/unicase/u8-totitle.c: New file.
50257         * lib/unicase/u-totitle.h: New file.
50258         * modules/unicase/u8-totitle: New file.
50259
50260         Tests for module 'unicase/u32-tolower'.
50261         * modules/unicase/u32-tolower-tests: New file.
50262         * tests/unicase/test-u32-tolower.c: New file.
50263
50264         Tests for module 'unicase/u16-tolower'.
50265         * modules/unicase/u16-tolower-tests: New file.
50266         * tests/unicase/test-u16-tolower.c: New file.
50267
50268         Tests for module 'unicase/u8-tolower'.
50269         * modules/unicase/u8-tolower-tests: New file.
50270         * tests/unicase/test-u8-tolower.c: New file.
50271
50272         New module 'unicase/u32-tolower'.
50273         * lib/unicase/u32-tolower.c: New file.
50274         * modules/unicase/u32-tolower: New file.
50275
50276         New module 'unicase/u16-tolower'.
50277         * lib/unicase/u16-tolower.c: New file.
50278         * modules/unicase/u16-tolower: New file.
50279
50280         New module 'unicase/u8-tolower'.
50281         * lib/unicase/u8-tolower.c: New file.
50282         * modules/unicase/u8-tolower: New file.
50283
50284         Tests for module 'unicase/u32-toupper'.
50285         * modules/unicase/u32-toupper-tests: New file.
50286         * tests/unicase/test-u32-toupper.c: New file.
50287
50288         Tests for module 'unicase/u16-toupper'.
50289         * modules/unicase/u16-toupper-tests: New file.
50290         * tests/unicase/test-u16-toupper.c: New file.
50291
50292         Tests for module 'unicase/u8-toupper'.
50293         * modules/unicase/u8-toupper-tests: New file.
50294         * tests/unicase/test-u8-toupper.c: New file.
50295
50296         New module 'unicase/u32-toupper'.
50297         * lib/unicase/u32-toupper.c: New file.
50298         * modules/unicase/u32-toupper: New file.
50299
50300         New module 'unicase/u16-toupper'.
50301         * lib/unicase/u16-toupper.c: New file.
50302         * modules/unicase/u16-toupper: New file.
50303
50304         New module 'unicase/u8-toupper'.
50305         * lib/unicase/u8-toupper.c: New file.
50306         * modules/unicase/u8-toupper: New file.
50307
50308         New module 'unicase/u32-casemap'.
50309         * lib/unicase/u32-casemap.c: New file.
50310         * modules/unicase/u32-casemap: New file.
50311
50312         New module 'unicase/u16-casemap'.
50313         * lib/unicase/u16-casemap.c: New file.
50314         * modules/unicase/u16-casemap: New file.
50315
50316         New module 'unicase/u8-casemap'.
50317         * lib/unicase/unicasemap.h: New file.
50318         * lib/unicase/u8-casemap.c: New file.
50319         * lib/unicase/u-casemap.h: New file.
50320         * modules/unicase/u8-casemap: New file.
50321
50322         New module 'unicase/special-casing'.
50323         * lib/unicase/special-casing.h: New file.
50324         * lib/unicase/special-casing.c: New file.
50325         * lib/unicase/special-casing-table.gperf: New file, generated by
50326         gen-uni-tables.c.
50327         * modules/unicase/special-casing: New file.
50328
50329         Tests for module 'unicase/locale-language'.
50330         * modules/unicase/locale-language-tests: New file.
50331         * tests/unicase/test-locale-language.sh: New file.
50332         * tests/unicase/test-locale-language.c: New file.
50333
50334         New module 'unicase/locale-language'.
50335         * lib/unicase/locale-language.c: New file.
50336         * lib/unicase/locale-languages.gperf: New file.
50337         * modules/unicase/locale-language: New file.
50338
50339         Generate more tables for case conversion and case folding.
50340         * lib/gen-uni-tables.c (SCC_*): New enum items.
50341         (struct special_casing_rule): New type.
50342         (casing_rules, num_casing_rules, allocated_casing_rules): New
50343         variables.
50344         (add_casing_rule, fill_casing_rules): New functions.
50345         (struct casefold_rule): New type.
50346         (casefolding_rules, num_casefolding_rules,
50347         allocated_casefolding_rules): New variables.
50348         (fill_casefolding_rules): New function.
50349         (unicode_casefold): New variable.
50350         (to_casefold, redistribute_casefolding_rules, compare_casing_rules,
50351         sort_casing_rules, output_casing_rules): New functions.
50352         (main): Accept to more arguments: SpecialCasing.txt and
50353         CaseFolding.txt. Invoke fill_casing_rules, fill_casefolding_rules,
50354         redistribute_casefolding_rules, sort_casing_rules, output_casing_rules.
50355         Output mapping for casefolding.
50356
50357         * lib/unicase.h: Include stdbool.h, uninorm.h.
50358         (u8_toupper, u16_toupper, u32_toupper, u8_tolower, u16_tolower,
50359         u32_tolower, u8_totitle, u16_totitle, u32_totitle): Add nf argument.
50360         (u8_casefold, u16_casefold, u32_casefold): Add iso639_language and nf
50361         arguments.
50362         (u8_casecmp, u16_casecmp, u32_casecmp): Add iso639_language, nf,
50363         resultp arguments.
50364         (u8_casexfrm, u16_casexfrm, u32_casexfrm): New declarations.
50365         (u8_casecoll, u16_casecoll, u32_casecoll): Add iso639_language, nf,
50366         resultp arguments.
50367         (u8_is_uppercase, u16_is_uppercase, u32_is_uppercase, u8_is_lowercase,
50368         u16_is_lowercase, u32_is_lowercase, u8_is_titlecase, u16_is_titlecase,
50369         u32_is_titlecase, u8_is_casefolded, u16_is_casefolded,
50370         u32_is_casefolded, u8_is_cased, u16_is_cased, u32_is_cased): New
50371         declarations.
50372         * modules/unicase/base (Depends-on): Add uninorm/base, stdbool.
50373
50374 2009-03-08  Bruno Haible  <bruno@clisp.org>
50375
50376         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50377         u16_normcoll, u32_normcoll): Rename argument 'result' to 'resultp'.
50378         * lib/uninorm/u-normcmp.h (FUNC): Likewise.
50379         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50380
50381 2009-03-07  Bruno Haible  <bruno@clisp.org>
50382
50383         Adjust u*_normcmp, u*_normcoll API.
50384         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp, u8_normcoll,
50385         u16_normcoll, u32_normcoll): Change failure conventions.
50386         * lib/uninorm/u-normcmp.h (FUNC): Upon failure, store the error code in
50387         errno and return -1.
50388         * lib/uninorm/u-normcoll.h (FUNC): Likewise.
50389
50390 2009-03-07  Bruno Haible  <bruno@clisp.org>
50391
50392         Tests for module 'uninorm/u32-normcoll'.
50393         * modules/uninorm/u32-normcoll-tests: New file.
50394         * tests/uninorm/test-u32-normcoll.c: New file.
50395
50396         Tests for module 'uninorm/u16-normcoll'.
50397         * modules/uninorm/u16-normcoll-tests: New file.
50398         * tests/uninorm/test-u16-normcoll.c: New file.
50399
50400         Tests for module 'uninorm/u8-normcoll'.
50401         * modules/uninorm/u8-normcoll-tests: New file.
50402         * tests/uninorm/test-u8-normcoll.c: New file.
50403
50404 2009-03-07  Bruno Haible  <bruno@clisp.org>
50405
50406         * tests/uninorm/test-u32-normcmp.h: New file, extracted from
50407         tests/uninorm/test-u32-normcmp.c.
50408         * tests/uninorm/test-u32-normcmp.c: Include it.
50409         (test_nonascii): New function, extracted from main. Add some more
50410         tests.
50411         (main): Invoke test_ascii and test_nonascii.
50412         * modules/uninorm/u32-normcmp-tests (Files): Add
50413         tests/uninorm/test-u32-normcmp.h.
50414         (Depends-on): Remove uninorm/u32-normcmp.
50415
50416         * tests/uninorm/test-u16-normcmp.h: New file, extracted from
50417         tests/uninorm/test-u16-normcmp.c.
50418         * tests/uninorm/test-u16-normcmp.c: Include it.
50419         (test_nonascii): New function, extracted from main. Add some more
50420         tests.
50421         (main): Invoke test_ascii and test_nonascii.
50422         * modules/uninorm/u16-normcmp-tests (Files): Add
50423         tests/uninorm/test-u16-normcmp.h.
50424         (Depends-on): Remove uninorm/u16-normcmp.
50425
50426         * tests/uninorm/test-u8-normcmp.h: New file, extracted from
50427         tests/uninorm/test-u8-normcmp.c.
50428         * tests/uninorm/test-u8-normcmp.c: Include it.
50429         (test_nonascii): New function, extracted from main. Add some more
50430         tests.
50431         (main): Invoke test_ascii and test_nonascii.
50432         * modules/uninorm/u8-normcmp-tests (Files): Add
50433         tests/uninorm/test-u8-normcmp.h.
50434         (Depends-on): Remove uninorm/u8-normcmp.
50435
50436 2009-03-07  Bruno Haible  <bruno@clisp.org>
50437
50438         New module 'uninorm/u32-normcoll'.
50439         * lib/uninorm/u32-normcoll.c: New file.
50440         * modules/uninorm/u32-normcoll: New file.
50441
50442         New module 'uninorm/u16-normcoll'.
50443         * lib/uninorm/u16-normcoll.c: New file.
50444         * modules/uninorm/u16-normcoll: New file.
50445
50446         New module 'uninorm/u8-normcoll'.
50447         * lib/uninorm.h (u8_normcoll, u16_normcoll, u32_normcoll): New
50448         declarations.
50449         * lib/uninorm/u8-normcoll.c: New file.
50450         * lib/uninorm/u-normcoll.h: New file.
50451         * modules/uninorm/u8-normcoll: New file.
50452
50453         New module 'uninorm/u32-normxfrm'.
50454         * lib/uninorm/u32-normxfrm.c: New file.
50455         * modules/uninorm/u32-normxfrm: New file.
50456
50457         New module 'uninorm/u16-normxfrm'.
50458         * lib/uninorm/u16-normxfrm.c: New file.
50459         * modules/uninorm/u16-normxfrm: New file.
50460
50461         New module 'uninorm/u8-normxfrm'.
50462         * lib/uninorm.h (u8_normxfrm, u16_normxfrm, u32_normxfrm): New
50463         declarations.
50464         * lib/uninorm/u8-normxfrm.c: New file.
50465         * lib/uninorm/u-normxfrm.h: New file.
50466         * modules/uninorm/u8-normxfrm: New file.
50467
50468 2009-03-07  Bruno Haible  <bruno@clisp.org>
50469
50470         * modules/uninorm/u8-normcmp (Depends-on): Add uninorm/base.
50471         * modules/uninorm/u16-normcmp (Depends-on): Likewise.
50472         * modules/uninorm/u32-normcmp (Depends-on): Likewise.
50473
50474 2009-03-07  Bruno Haible  <bruno@clisp.org>
50475
50476         New module 'memxfrm'.
50477         * lib/memxfrm.h: New file.
50478         * lib/memxfrm.c: New file.
50479         * modules/memxfrm: New file.
50480
50481 2009-03-07  Bruno Haible  <bruno@clisp.org>
50482
50483         New module 'memcmp2'.
50484         * lib/memcmp2.h: New file.
50485         * lib/memcmp2.c: New file.
50486         * modules/memcmp2: New file.
50487
50488 2009-03-07  Bruno Haible  <bruno@clisp.org>
50489
50490         Tests for module 'uninorm/decomposing-form'.
50491         * modules/uninorm/decomposing-form-tests: New file.
50492         * tests/uninorm/test-decomposing-form.c: New file.
50493
50494         New module 'uninorm/decomposing-form'.
50495         * lib/uninorm.h (uninorm_decomposing_form): New declaration.
50496         * lib/uninorm/normalize-internal.h (struct unicode_normalization_form):
50497         Add 'decomposing_variant' field.
50498         * lib/uninorm/decomposing-form.c: New file.
50499         * lib/uninorm/nfc.c (uninorm_nfc): Update.
50500         * lib/uninorm/nfd.c (uninorm_nfd): Update.
50501         * lib/uninorm/nfkc.c (uninorm_nfkc): Update.
50502         * lib/uninorm/nfkd.c (uninorm_nfkd): Update.
50503         * modules/uninorm/decomposing-form: New file.
50504         * modules/uninorm/nfc (Depends-on): Add uninorm/nfd.
50505         * modules/uninorm/nfkc (Depends-on): Add uninorm/nfkd.
50506
50507 2009-03-07  Bruno Haible  <bruno@clisp.org>
50508
50509         * lib/uninorm/u-normcmp.h (FUNC): Use stack=allocated buffers for small
50510         strings.
50511
50512 2009-03-06  Bruno Haible  <bruno@clisp.org>
50513
50514         Tests for module 'uninorm/u32-normcmp'.
50515         * tests/uninorm/test-u32-normcmp.c: New file.
50516         * modules/uninorm/u32-normcmp-tests: New file.
50517
50518         Tests for module 'uninorm/u16-normcmp'.
50519         * tests/uninorm/test-u16-normcmp.c: New file.
50520         * modules/uninorm/u16-normcmp-tests: New file.
50521
50522         Tests for module 'uninorm/u8-normcmp'.
50523         * tests/uninorm/test-u8-normcmp.c: New file.
50524         * modules/uninorm/u8-normcmp-tests: New file.
50525
50526         New module 'uninorm/u32-normcmp'.
50527         * lib/uninorm/u32-normcmp.c: New file.
50528         * modules/uninorm/u32-normcmp: New file.
50529
50530         New module 'uninorm/u16-normcmp'.
50531         * lib/uninorm/u16-normcmp.c: New file.
50532         * modules/uninorm/u16-normcmp: New file.
50533
50534         New module 'uninorm/u8-normcmp'.
50535         * lib/uninorm.h (u8_normcmp, u16_normcmp, u32_normcmp): New
50536         declarations.
50537         * lib/uninorm/u8-normcmp.c: New file.
50538         * lib/uninorm/u-normcmp.h: New file.
50539         * modules/uninorm/u8-normcmp: New file.
50540
50541 2009-03-06  Bruno Haible  <bruno@clisp.org>
50542
50543         * lib/w32spawn.h (dup_noinherit): Add cast, to avoid gcc warning.
50544         Reported by Eric Blake.
50545
50546 2009-03-06  Eric Blake  <ebb9@byu.net>
50547             Bruno Haible  <bruno@clisp.org>
50548
50549         * lib/spawni.c (__spawni) [WIN32_NATIVE]: Define as a stub.
50550         * modules/posix_spawn-tests (configure.ac): Define POSIX_SPAWN_PORTED
50551         condition.
50552         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50553         * modules/posix_spawnp-tests (configure.ac): Define POSIX_SPAWN_PORTED
50554         condition.
50555         (Makefile.am): Do nothing if POSIX_SPAWN_PORTED is false.
50556
50557 2009-03-06  Eric Blake  <ebb9@byu.net>
50558
50559         * lib/execute.c (execute) [WIN32_NATIVE]: Cast arguments of spawnvpe,
50560         to avoid compiler warnings.
50561         * lib/pipe.c (create_pipe) [WIN32_NATIVE]: Likewise.
50562
50563 2009-03-05  Bruno Haible  <bruno@clisp.org>
50564
50565         * tests/test-ftell.c (main): Disable test beyond end of file on
50566         FreeMiNT.
50567         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50568
50569 2009-03-05  Kamil Dudka  <kdudka@redhat.com>
50570
50571         * lib/filevercmp.c: Move hidden files up in ordering.
50572         * tests/test-filevercmp.c: Add tests for hidden files.
50573
50574 2009-03-04  Bruno Haible  <bruno@clisp.org>
50575
50576         * modules/visibility (Makefile.am): Augment AM_CFLAGS.
50577         * gnulib-tool (func_emit_lib_Makefile_am): Emit initialization of
50578         AM_CFLAGS.
50579         Reported by Simon Josefsson.
50580
50581 2009-03-03  Bruno Haible  <bruno@clisp.org>
50582
50583         * doc/visibility.texi: Recommend to use HAVE_VISIBILITY as a C macro.
50584         Reported by Simon Josefsson.
50585
50586         * doc/ld-version-script.texi: Update node reference.
50587
50588 2009-03-03  Bruno Haible  <bruno@clisp.org>
50589
50590         * modules/visibility (License): Change to 'unlimited'.
50591         Suggested by Simon Josefsson.
50592
50593 2009-03-03  Jim Meyering  <meyering@redhat.com>
50594
50595         unlinkdir: cannot_unlink_dir may modify process state
50596         * lib/unlinkdir.c (cannot_unlink_dir): Add a comment warning that
50597         it's neither thread-safe nor appropriate for use in a library.
50598
50599 2009-03-03  Eric Blake  <ebb9@byu.net>
50600
50601         test-closein: silence test under Darwin
50602         * tests/test-closein.sh: Ignore stderr from cat, since we don't
50603         care if it dies from EPIPE or EBADF.
50604
50605 2009-03-03  Bruno Haible  <bruno@clisp.org>
50606
50607         * doc/gnulib.texi: Include visibility.texi and ld-version-script.texi
50608         earlier.
50609         * doc/visibility.texi: Fix @node and @section.
50610
50611 2009-03-03  Simon Josefsson  <simon@josefsson.org>
50612
50613         * doc/gnulib.texi: Link to sections for ld version script and
50614         visibility.
50615         * doc/visibility.texi: Add @node and @section.
50616         * modules/ld-version-script: New module.
50617         * m4/ld-version-script.m4: New file.
50618         * doc/ld-version-script.texi: New file.
50619
50620 2009-03-02  David Lutterkort  <lutter@redhat.com>
50621
50622         * lib/safe-alloc.h (__GNUC_PREREQ): New macro.
50623         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50624
50625 2009-03-02  Bruno Haible  <bruno@clisp.org>
50626
50627         * doc/visibility.texi: Mention libtool's -export-symbols option.
50628
50629 2009-03-02  Jim Meyering  <meyering@redhat.com>
50630
50631         announce-gen: new option: --no-print-checksums
50632         * build-aux/announce-gen (usage): Describe it.
50633         (print_checksums): Print a newline here, not in the [*] footnote.
50634         (main): Honor it.
50635
50636 2009-03-01  Bruno Haible  <bruno@clisp.org>
50637
50638         Use socklen_t in the native Windows replacements prototypes.
50639         * lib/sys_socket.in.h (rpl_getsockopt, rpl_setsockopt): Use socklen_t
50640         instead of 'int'.
50641         * lib/getsockopt.c (rpl_getsockopt): Likewise.
50642         * lib/setsockopt.c (rpl_setsockopt): Likewise.
50643         * modules/getsockopt (Depends-on): Add socklen.
50644         * modules/setsockopt (Depends-on): Add socklen.
50645
50646 2009-03-01  Bruno Haible  <bruno@clisp.org>
50647
50648         * gnulib-tool (sed): Do alias as "sed --posix" if sed's version is at
50649         least 4.2.
50650
50651 2009-03-01  Eric Blake  <ebb9@byu.net>
50652             Bruno Haible  <bruno@clisp.org>
50653
50654         * lib/wait-process.h (wait_subprocess): Describe effect of termsigp on
50655         error messages.
50656         * lib/wait-process.c (wait_subprocess): Omit error message about
50657         deadly signal sent to the child of termsigp != NULL.
50658
50659 2009-03-01  Eric Blake  <ebb9@byu.net>
50660
50661         * lib/wait-process.c (wait_subprocess): Remove unnecessary cast.
50662
50663 2009-03-01  Bruno Haible  <bruno@clisp.org>
50664
50665         Avoid a gcc warning.
50666         * tests/test-sched.c (b): Make global.
50667         Reported by Eric Blake.
50668
50669 2009-01-19  Martin Lambers  <marlam@marlam.de>
50670
50671         Provide POSIX semantics for socket timeout options on W32.
50672         * lib/setsockopt.c: Convert struct timeval to milliseconds on W32.
50673         * lib/getsockopt.c: Convert milliseconds to struct timeval on W32.
50674         * modules/setsockopt: Depend on sys_time module for struct timeval.
50675         * modules/getsockopt: Depend on sys_time module for struct timeval.
50676
50677 2009-03-01  Simon Josefsson  <simon@josefsson.org>
50678
50679         * lib/gai_strerror.c (values): Use EAI_INPROGRESS instead of
50680         __USE_GNU, for consistency with netdb.in.h.
50681         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50682
50683 2009-03-01  Bruno Haible  <bruno@clisp.org>
50684
50685         More support for FreeMiNT.
50686         * lib/fseeko.c (rpl_fseeko): Complete last commit.
50687         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50688
50689 2009-03-01  Bruno Haible  <bruno@clisp.org>
50690
50691         More support for FreeMiNT.
50692         * lib/fpurge.c (fpurge): Correct last commit.
50693         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50694
50695 2009-03-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
50696
50697         Fix unportable awk script in vc-list-files.
50698         * build-aux/vc-list-files: In the replacement awk script, use
50699         substr with a second argument of 1, not zero.
50700         Report by Simon Josefsson.
50701
50702 2009-02-28  Bruno Haible  <bruno@clisp.org>
50703
50704         More support for FreeMiNT.
50705         * lib/freading.c (freading) [__MINT__]: Use new macros that were added
50706         to FreeMiNT today.
50707         * lib/fwriting.c (fwriting): Likewise.
50708         Based on patch by Alan Hourihane <alanh@fairlite.co.uk>.
50709
50710 2009-02-28  Bruno Haible  <bruno@clisp.org>
50711
50712         * tests/test-freadseek.c (main): Disable test beyond end of file on
50713         FreeMiNT.
50714         * tests/test-ftello.c (main): Likewise.
50715         Patch by Alan Hourihane <alanh@fairlite.co.uk>.
50716
50717 2009-02-28  Bruno Haible  <bruno@clisp.org>
50718
50719         Add tentative support for FreeMiNT.
50720         * lib/fbufmode.c (fbufmode) [__MINT__]: Add conditional code.
50721         * lib/fpurge.c (fpurge): Likewise.
50722         * lib/freadable.c (freadable): Likewise.
50723         * lib/freading.c (freading): Likewise.
50724         * lib/freadptr.c (freadptr): Likewise.
50725         * lib/freadseek.c (freadptrinc): Likewise.
50726         * lib/fseeko.c (rpl_fseeko): Likewise.
50727         * lib/fseterr.c (fseterr): Likewise.
50728         * lib/fwritable.c (fwritable): Likewise.
50729         * lib/fwriting.c (fwriting): Likewise.
50730         * lib/freadahead.c (freadahead): Likewise, based on code by Alan
50731         Hourihane.
50732         Reported by Alan Hourihane <alanh@fairlite.co.uk>.
50733
50734 2009-02-28  Bruno Haible  <bruno@clisp.org>
50735
50736         * lib/wait-process.h (wait_subprocess): Clarify restriction regarding
50737         SIGCHLD.
50738         Reported by Jim Meyering.
50739
50740 2009-02-28  Bruno Haible  <bruno@clisp.org>
50741
50742         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Separate the two first tests.
50743         Mention the results of these tests on various platforms.
50744         * doc/posix-functions/fprintf.texi: Mention platforms in canonical
50745         order.
50746         * doc/posix-functions/printf.texi: Likewise.
50747         * doc/posix-functions/snprintf.texi: Likewise.
50748         * doc/posix-functions/sprintf.texi: Likewise.
50749         * doc/posix-functions/vfprintf.texi: Likewise.
50750         * doc/posix-functions/vprintf.texi: Likewise.
50751         * doc/posix-functions/vsnprintf.texi: Likewise.
50752         * doc/posix-functions/vsprintf.texi: Likewise.
50753         * doc/glibc-functions/obstack_printf.texi: Likewise.
50754         * doc/glibc-functions/obstack_vprintf.texi: Likewise.
50755
50756 2009-02-28  Bruno Haible  <bruno@clisp.org>
50757
50758         * build-aux/po/Makefile.in.in: Update from GNU gettext 0.17.
50759         Reported by Loïc Minier <lool@dooz.org>.
50760
50761 2009-02-27  Bruno Haible  <bruno@clisp.org>
50762
50763         * gnulib-tool (func_import): Make the sed expression used to create the
50764         sed script for updating the .gitignore file POSIX compliant.
50765         Reported by Eric Blake.
50766
50767 2009-02-27  Bruno Haible  <bruno@clisp.org>
50768
50769         * gnulib-tool (sed): Don't alias as "sed --posix".
50770         Reported by Eric Blake.
50771
50772 2009-02-27  Bruno Haible  <bruno@clisp.org>
50773
50774         Avoid test link errors.
50775         * modules/uninorm/nfc-tests (test_u32_nfc_big_LDADD): New variable.
50776         * modules/uninorm/nfd-tests (test_u32_nfd_big_LDADD): New variable.
50777         * modules/uninorm/nfkc-tests (test_u32_nfkc_big_LDADD): New variable.
50778         * modules/uninorm/nfkd-tests (test_u32_nfkd_big_LDADD): New variable.
50779         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
50780
50781 2009-02-27  Bruno Haible  <bruno@clisp.org>
50782
50783         Avoid spurious "(cached)" in configure output.
50784         * m4/gnulib-common.m4 (gl_CACHE_VAL_SILENT): New macro.
50785         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Use it instead of AC_CACHE_VAL.
50786         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
50787         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
50788         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
50789         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Likewise.
50790         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
50791         * m4/stdarg.m4 (gl_STDARG_H): Likewise.
50792         Reported by Eric Blake.
50793
50794 2009-02-27  Eric Blake  <ebb9@byu.net>
50795
50796         printf: fix regression in previous patch
50797         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Fix compilation error.
50798
50799 2009-02-27  Bruno Haible  <bruno@clisp.org>
50800
50801         * lib/inttypes.in.h: Test merely whether _LP64 is defined, not its
50802         value.
50803         * lib/stdint.in.h: Likewise.
50804         Suggested by Eric Blake. Reported by Peter Bray <pdb_ml@yahoo.com.au>.
50805
50806 2009-02-27  Eric Blake  <ebb9@byu.net>
50807
50808         doc: mention more functions added in cygwin 1.7.0
50809         * doc/posix-functions/mbsnrtowcs.texi: Mention recent cygwin 1.7.0
50810         addition.
50811         * doc/posix-functions/open_wmemstream.texi: Likewise.
50812         * doc/posix-functions/wcsnlen.texi: Likewise.
50813         * doc/posix-functions/wcsnrtombs.texi: Likewise.
50814         * doc/posix-functions/wcstod.texi: Likewise.
50815         * doc/posix-functions/wcstof.texi: Likewise.
50816         * doc/posix-functions/wcstoimax.texi: Likewise.
50817         * doc/posix-functions/wcstok.texi: Likewise.
50818         * doc/posix-functions/wcstoumax.texi: Likewise.
50819
50820         Detect bug in cygwin 1.5.x *printf on 1-character %ls.
50821         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Enhance filter.
50822         * doc/posix-functions/fprintf.texi: Update.
50823         * doc/posix-functions/printf.texi: Update.
50824         * doc/posix-functions/snprintf.texi: Update.
50825         * doc/posix-functions/sprintf.texi: Update.
50826         * doc/posix-functions/vfprintf.texi: Update.
50827         * doc/posix-functions/vprintf.texi: Update.
50828         * doc/posix-functions/vsnprintf.texi: Update.
50829         * doc/posix-functions/vsprintf.texi: Update.
50830         * doc/glibc-functions/obstack_printf.texi: Update.
50831         * doc/glibc-functions/obstack_vprintf.texi: Update.
50832
50833 2009-02-26  Eric Blake  <ebb9@byu.net>
50834
50835         avoid gcc 3.4.3 bug on long double NaN on Irix 6.5
50836         * tests/nan.h (NaNl): Rewrite as function on Irix, to avoid
50837         compilation bug by using runtime conversion.
50838         * m4/isfinite.m4 (gl_ISFINITE): Likewise.
50839         * m4/isnanl.m4 (gl_FUNC_ISNANL): Likewise.
50840         * modules/ceill-tests (Files): Use nan.h.
50841         * modules/floorl-tests (Files): Likewise.
50842         * modules/frexpl-tests (Files): Likewise.
50843         * modules/isnanl-tests (Files): Likewise.
50844         * modules/ldexpl-tests (Files): Likewise.
50845         * modules/roundl-tests (Files): Likewise.
50846         * modules/truncl-tests (Files): Likewise.
50847         * tests/test-ceill.c (main): Use a working NaN.
50848         * tests/test-floorl.c (main): Likewise.
50849         * tests/test-frexpl.c (main): Likewise.
50850         * tests/test-isnan.c (test_long_double): Likewise.
50851         * tests/test-isnanl.h (main): Likewise.
50852         * tests/test-ldexpl.h (main): Likewise.
50853         * tests/test-roundl.h (main): Likewise.
50854         * tests/test-truncl.h (main): Likewise.
50855         See http://lists.gnu.org/archive/html/bug-gnulib/2009-02/msg00190.html.
50856
50857 2009-02-26  Eric Blake  <ebb9@byu.net>
50858             Bruno Haible  <bruno@clisp.org>
50859
50860         Work around a *printf bug with %ls on Solaris.
50861         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): Also test whether, when a
50862         precision is specified, sprintf stops converting the wide string
50863         argument when the number of bytes that have been produced by this
50864         conversion equals or exceeds the precision.
50865         * doc/posix-functions/fprintf.texi: Update.
50866         * doc/posix-functions/printf.texi: Update.
50867         * doc/posix-functions/snprintf.texi: Update.
50868         * doc/posix-functions/sprintf.texi: Update.
50869         * doc/posix-functions/vfprintf.texi: Update.
50870         * doc/posix-functions/vprintf.texi: Update.
50871         * doc/posix-functions/vsnprintf.texi: Update.
50872         * doc/posix-functions/vsprintf.texi: Update.
50873         * doc/glibc-functions/obstack_printf.texi: Update.
50874         * doc/glibc-functions/obstack_vprintf.texi: Update.
50875
50876 2009-02-26  Eric Blake  <ebb9@byu.net>
50877
50878         stdlib: favor compiler check of random.h
50879         * m4/stdlib_h.m4 (gl_STDLIB_H): Skip preprocessor check.  Needed
50880         to avoid an ObjC random.h installed by Swarm.
50881
50882 2009-02-26  Bruno Haible  <bruno@clisp.org>
50883
50884         Work around *printf bug with %g directive and 0.0 on HP-UX 10.20.
50885         * m4/printf.m4 (gl_PRINTF_INFINITE): Also test for %g output of -0.0.
50886         Reported by Gary V. Vaughan <gary@gnu.org>.
50887
50888 2009-02-26  Bruno Haible  <bruno@clisp.org>
50889
50890         Fix *printf behaviour regarding the %ls directive.
50891         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_LS): New macro.
50892         * lib/vasnprintf.c (local_wcslen, VASNPRINTF): Handle
50893         NEED_PRINTF_DIRECTIVE_LS.
50894         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_LS): New macro.
50895         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
50896         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
50897         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS and test its result. Invoke
50898         gl_PREREQ_VASNPRINTF_DIRECTIVE_LS.
50899         * m4/dprintf-posix.m4 (gl_FUNC_DPRINTF_POSIX): Likewise.
50900         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
50901         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
50902         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
50903         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
50904         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
50905         * m4/vdprintf-posix.m4 (gl_FUNC_VDPRINTF_POSIX): Likewise.
50906         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
50907         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
50908         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
50909         * doc/posix-functions/fprintf.texi: Update.
50910         * doc/posix-functions/printf.texi: Update.
50911         * doc/posix-functions/snprintf.texi: Update.
50912         * doc/posix-functions/sprintf.texi: Update.
50913         * doc/posix-functions/vfprintf.texi: Update.
50914         * doc/posix-functions/vprintf.texi: Update.
50915         * doc/posix-functions/vsnprintf.texi: Update.
50916         * doc/posix-functions/vsprintf.texi: Update.
50917         * doc/glibc-functions/obstack_printf.texi: Update.
50918         * doc/glibc-functions/obstack_vprintf.texi: Update.
50919         Reported by Eric Blake.
50920
50921 2009-02-25  Bruno Haible  <bruno@clisp.org>
50922
50923         * m4/mbrtowc.m4 (gl_MBRTOWC_NUL_RETVAL): Update guess for Solaris 8
50924         with known value.
50925         Reported by Gary V. Vaughan <gary@gnu.org>.
50926
50927 2009-02-25  Bruno Haible  <bruno@clisp.org>
50928
50929         Work around mbrtowc bug in zh_CN.GB18030 locale on Solaris 8.
50930         * m4/mbrtowc.m4 (gl_MBRTOWC_SANITYCHECK): New macro.
50931         (gl_MBSTATE_T_BROKEN): Invoke it. Replace mbstate_t when it says "no".
50932         * doc/posix-functions/mbrtowc.texi: Document the Solaris 8 bug.
50933         Reported by Gary V. Vaughan <gary@gnu.org>.
50934
50935 2009-02-25  Bruno Haible  <bruno@clisp.org>
50936
50937         Work around broken INT8_MAX, UINT8_MAX etc. values on HP-UX 11.23.
50938         * m4/stdint.m4 (gl_STDINT_H): Also check whether the expansions of
50939         INT8_MAX, UINT8_MAX etc. contain casts to elementary types.
50940         * doc/posix-headers/stdint.texi: Mention the HP-UX bug.
50941         Reported by Gary V. Vaughan <gary@gnu.org>.
50942
50943 2009-02-25  Eric Blake  <ebb9@byu.net>
50944
50945         tests: skip fseek/ftell tests if ungetc is broken
50946         * m4/ungetc.m4: New file.
50947         * modules/fseek-tests: Split test, so ungetc dependency is
50948         separate from rest of test.
50949         * modules/fseeko-tests: Likewise.
50950         * modules/ftell-tests: Likewise.
50951         * modules/ftello-tests: Likewise.
50952         * tests/test-fseek.c (main): Isolate ungetc dependency.
50953         * tests/test-fseeko.c (main): Likewise.
50954         * tests/test-ftell.c (main): Likewise.
50955         * tests/test-ftello.c (main): Likewise.
50956         * tests/test-fseek2.sh: New file.
50957         * tests/test-fseeko2.sh: Likewise.
50958         * tests/test-ftell2.sh: Likewise.
50959         * tests/test-ftello2.sh: Likewise.
50960
50961 2009-02-25  Ondřej Vašík  <ovasik@redhat.com>
50962
50963         test-getaddrinfo: fix usage of skip return code 77
50964         * tests/test-gettaddrinfo.c: Return skip code 77 only
50965         for first occurrence of skip (4x77 is not 77)
50966
50967 2009-02-25  Gary V. Vaughan  <gary@gnu.org>
50968
50969         strtod: avoid C99 decl-after-statement
50970         * m4/strtod.m4 (gl_FUNC_STRTOD): Rearrange declaration.
50971
50972 2009-02-24  Eric Blake  <ebb9@byu.net>
50973
50974         strtod: detect HP-UX 11.31 bug
50975         * m4/strtod.m4 (gl_FUNC_STRTOD): Detect errno handling bug.
50976         Reported by Gary V. Vaughan.
50977
50978 2009-02-23  Bruno Haible  <bruno@clisp.org>
50979
50980         Fix invalid read past end of memory block.
50981         * lib/vasnprintf.c (DCHAR_SET): Define.
50982         (local_wcslen): Define only when needed.
50983         (local_strnlen, local_wcsnlen): New functions.
50984         (VASNPRINTF) [!USE_SNPRINTF && HAVE_WCHAR_T]: Implement the %s and %ls
50985         directives that involve a conversion ourselves.
50986         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for strnlen,
50987         wcsnlen, mbrtowc, wcrtomb.
50988         * tests/test-vasnprintf-posix.c (test_function): Add tests for %.*s.
50989         * tests/test-vasprintf-posix.c (test_function): Likewise.
50990         * tests/test-snprintf-posix.h (test_function): Likewise.
50991         * tests/test-sprintf-posix.h (test_function): Likewise.
50992         Reported by Ben Pfaff <blp@cs.stanford.edu>.
50993
50994 2009-02-22  Bruno Haible  <bruno@clisp.org>
50995
50996         Implement new clarified decomposition of Hangul syllables.
50997         * lib/uninorm/decomposition.c (uc_decomposition): For Hangul syllables
50998         of type LTV, return only a pairwise decomposition.
50999         * lib/uninorm/canonical-decomposition.c (uc_canonical_decomposition):
51000         Likewise.
51001         * tests/uninorm/test-decomposition.c (main): Updated expected result.
51002         * tests/uninorm/test-canonical-decomposition.c (main): Likewise.
51003         * tests/uninorm/test-compat-decomposition.c (main): Likewise.
51004
51005 2009-02-22  Bruno Haible  <bruno@clisp.org>
51006
51007         * lib/uninorm/u-normalize-internal.h (FUNC): At the end, handle
51008         zero-length results and shrink excess allocated memory.
51009         * tests/uninorm/test-u8-nfc.c (test_u8_nfc): Check empty string result.
51010         * tests/uninorm/test-u8-nfd.c (test_u8_nfd): Likewise.
51011         * tests/uninorm/test-u8-nfkc.c (test_u8_nfkc): Likewise.
51012         * tests/uninorm/test-u8-nfkd.c (test_u8_nfkd): Likewise.
51013         * tests/uninorm/test-u16-nfc.c (test_u16_nfc): Likewise.
51014         * tests/uninorm/test-u16-nfd.c (test_u16_nfd): Likewise.
51015         * tests/uninorm/test-u16-nfkc.c (test_u16_nfkc): Likewise.
51016         * tests/uninorm/test-u16-nfkd.c (test_u16_nfkd): Likewise.
51017         * tests/uninorm/test-u32-nfc.c (test_u32_nfc): Likewise.
51018         * tests/uninorm/test-u32-nfd.c (test_u32_nfd): Likewise.
51019         * tests/uninorm/test-u32-nfkc.c (test_u32_nfkc): Likewise.
51020         * tests/uninorm/test-u32-nfkd.c (test_u32_nfkd): Likewise.
51021
51022 2009-02-21  Bruno Haible  <bruno@clisp.org>
51023
51024         * doc/gnulib.texi: Include safe-alloc.texi earlier.
51025         * doc/safe-alloc.texi: Terminate sentences with a period. Use two
51026         spaces after a period. Put a space between a macro name and its
51027         argument list. Trivial rewordings.
51028         * lib/safe-alloc.c: Include safe-alloc.h right after config.h.
51029         * tests/test-safe-alloc.c: Likewise. Include stdlib.h.
51030         (main): Return 0 explicitly.
51031
51032 2009-02-21  Bruno Haible  <bruno@clisp.org>
51033
51034         Tests for module 'uninorm/filter'.
51035         * tests/uninorm/test-uninorm-filter-nfc.c: New file.
51036         * modules/uninorm/filter-tests: New file.
51037
51038         New module 'uninorm/filter'.
51039         * lib/uninorm.h (uninorm_filter_create, uninorm_filter_write,
51040         uninorm_filter_flush, uninorm_filter_free): New declarations.
51041         * lib/uninorm/uninorm-filter.c: New file.
51042         * modules/uninorm/filter: New file.
51043
51044 2009-02-21  Bruno Haible  <bruno@clisp.org>
51045
51046         Tests for module 'uninorm/nfkc'.
51047         * tests/uninorm/test-nfkc.c: New file.
51048         * tests/uninorm/test-u8-nfkc.c: New file.
51049         * tests/uninorm/test-u16-nfkc.c: New file.
51050         * tests/uninorm/test-u32-nfkc.c: New file.
51051         * tests/uninorm/test-u32-nfkc-big.sh: New file.
51052         * tests/uninorm/test-u32-nfkc-big.c: New file.
51053         * modules/uninorm/nfkc-tests: New file.
51054
51055         New module 'uninorm/nfkc'.
51056         * lib/uninorm/nfkc.c: New file.
51057         * modules/uninorm/nfkc: New file.
51058
51059         Tests for module 'uninorm/nfkd'.
51060         * tests/uninorm/test-nfkd.c: New file.
51061         * tests/uninorm/test-u8-nfkd.c: New file.
51062         * tests/uninorm/test-u16-nfkd.c: New file.
51063         * tests/uninorm/test-u32-nfkd.c: New file.
51064         * tests/uninorm/test-u32-nfkd-big.sh: New file.
51065         * tests/uninorm/test-u32-nfkd-big.c: New file.
51066         * modules/uninorm/nfkd-tests: New file.
51067
51068         New module 'uninorm/nfkd'.
51069         * lib/uninorm/nfkd.c: New file.
51070         * modules/uninorm/nfkd: New file.
51071
51072         Tests for module 'uninorm/nfc'.
51073         * tests/uninorm/test-nfc.c: New file.
51074         * tests/uninorm/test-u8-nfc.c: New file.
51075         * tests/uninorm/test-u16-nfc.c: New file.
51076         * tests/uninorm/test-u32-nfc.c: New file.
51077         * tests/uninorm/test-u32-nfc-big.sh: New file.
51078         * tests/uninorm/test-u32-nfc-big.c: New file.
51079         * modules/uninorm/nfc-tests: New file.
51080
51081         New module 'uninorm/nfc'.
51082         * lib/uninorm/nfc.c: New file.
51083         * modules/uninorm/nfc: New file.
51084
51085         Tests for module 'uninorm/nfd'.
51086         * tests/uninorm/test-nfd.c: New file.
51087         * tests/uninorm/test-u8-nfd.c: New file.
51088         * tests/uninorm/test-u16-nfd.c: New file.
51089         * tests/uninorm/test-u32-nfd.c: New file.
51090         * tests/uninorm/test-u32-nfd-big.sh: New file.
51091         * tests/uninorm/test-u32-nfd-big.c: New file.
51092         * tests/uninorm/test-u32-normalize-big.h: New file.
51093         * tests/uninorm/test-u32-normalize-big.c: New file.
51094         * tests/uninorm/NormalizationTest.txt: New file, created from
51095         Unicode 5.1.0 NormalizationTest.txt.
51096         * modules/uninorm/nfd-tests: New file.
51097
51098         New module 'uninorm/nfd'.
51099         * lib/uninorm/nfd.c: New file.
51100         * modules/uninorm/nfd: New file.
51101
51102         New module 'uninorm/u32-normalize'.
51103         * lib/uninorm/u32-normalize.c: New file.
51104         * modules/uninorm/u32-normalize: New file.
51105
51106         New module 'uninorm/u16-normalize'.
51107         * lib/uninorm/u16-normalize.c: New file.
51108         * modules/uninorm/u16-normalize: New file.
51109
51110         New module 'uninorm/u8-normalize'.
51111         * lib/uninorm/u8-normalize.c: New file.
51112         * lib/uninorm/normalize-internal.h: New file.
51113         * lib/uninorm/u-normalize-internal.h: New file.
51114         * modules/uninorm/u8-normalize: New file.
51115
51116         New module 'uninorm/decompose-internal'.
51117         * lib/uninorm/decompose-internal.c: New file.
51118         * modules/uninorm/decompose-internal: New file.
51119
51120         Tests for module 'uninorm/composition'.
51121         * tests/uninorm/test-composition.c: New file.
51122         * modules/uninorm/composition-tests: New file.
51123
51124         New module 'uninorm/composition'.
51125         * lib/uninorm/composition.c: New file.
51126         * lib/uninorm/composition-table.gperf: New file, generated by
51127         gen-uni-tables.
51128         * modules/uninorm/composition: New file.
51129
51130         Tests for module 'uninorm/compat-decomposition'.
51131         * tests/uninorm/test-compat-decomposition.c: New file.
51132         * modules/uninorm/compat-decomposition-tests: New file.
51133
51134         New module 'uninorm/compat-decomposition'.
51135         * lib/uninorm/decompose-internal.h: New file.
51136         * lib/uninorm/compat-decomposition.c: New file.
51137         * modules/uninorm/compat-decomposition: New file.
51138
51139         Tests for module 'uninorm/canonical-decomposition'.
51140         * tests/uninorm/test-canonical-decomposition.c: New file.
51141         * modules/uninorm/canonical-decomposition-tests: New file.
51142
51143         New module 'uninorm/canonical-decomposition'.
51144         * lib/uninorm/canonical-decomposition.c: New file.
51145         * modules/uninorm/canonical-decomposition: New file.
51146
51147         Tests for module 'uninorm/decomposition'.
51148         * tests/uninorm/test-decomposition.c: New file.
51149         * modules/uninorm/decomposition-tests: New file.
51150
51151         New module 'uninorm/decomposition'.
51152         * lib/uninorm/decomposition.c: New file.
51153         * modules/uninorm/decomposition: New file.
51154
51155         New module 'uninorm/decomposition-table'.
51156         * lib/uninorm/decomposition-table.h: New file.
51157         * lib/uninorm/decomposition-table.c: New file.
51158         * lib/uninorm/decomposition-table1.h: New file, generated by
51159         gen-uni-tables.
51160         * lib/uninorm/decomposition-table2.h: New file, generated by
51161         gen-uni-tables.
51162         * modules/uninorm/decomposition-table: New file.
51163
51164         * lib/gen-uni-tables.c (MAX_DECOMP_LENGTH): New macro.
51165         (UC_DECOMP_*): New enumeration items.
51166         (get_decomposition): New function.
51167         (struct decomp_table): New type.
51168         (output_decomposition, output_decomposition_tables): New functions.
51169         (unicode_composition_exclusions): New variable.
51170         (fill_composition_exclusions, debug_output_composition_tables): New
51171         functions.
51172         (main): Accept one more argument. Invoke fill_composition_exclusions.
51173         Output decomposition and composition tables.
51174
51175         New module 'uninorm/base'.
51176         * lib/uninorm.h: New file.
51177         * lib/unictype.h: Update comment.
51178         * modules/uninorm/base: New file.
51179
51180 2009-02-21  David Lutterkort  <lutter@redhat.com>
51181
51182         Tests for module 'safe-alloc'.
51183         * tests/test-safe-alloc.c: New file.
51184         * modules/safe-alloc-tests: New file.
51185
51186         New module 'safe-alloc'.
51187         * lib/safe-alloc.h: New file.
51188         * lib/safe-alloc.c: New file.
51189         * m4/safe-alloc.m4: New file.
51190         * modules/safe-alloc: New file.
51191         * doc/safe-alloc.texi: New file.
51192         * doc/gnulib.texi: Include it.
51193         * MODULES.html.sh (Memory management functions <stdlib.h>): Add
51194         safe-alloc.
51195
51196 2009-02-18  Bruno Haible  <bruno@clisp.org>
51197
51198         Fix link error on non-glibc systems.
51199         * modules/uniwbrk/ulc-wordbreaks-tests (test_ulc_wordbreaks_LDADD): New
51200         variable.
51201         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
51202
51203 2009-02-18  Jim Meyering  <meyering@redhat.com>
51204
51205         fts: avoid used-uninitialized error due to recent change
51206         * lib/fts.c (fts_read): Guard uses of the new member,
51207         parent->fts_n_dirs_remaining, since it's not relevant for
51208         the parent of a directory specified on the command-line.
51209
51210 2009-02-17  James Youngman  <jay@gnu.org>
51211             Bruno Haible  <bruno@clisp.org>
51212
51213         * m4/include_next.m4: Reformulate comment.
51214
51215 2009-02-16  Jim Meyering  <meyering@redhat.com>
51216
51217         fts: add #if guards so that the fts_lgpl module still builds
51218         * lib/fts.c: Guard just-added hash-table-using parts with
51219         #if GNULIB_FTS, so as not to break builds of the fts_lgpl module.
51220         Reported by Simon Josefsson.
51221
51222 2009-02-15  Bruno Haible  <bruno@clisp.org>
51223
51224         * modules/array-mergesort-tests: New file.
51225         * tests/test-array-mergesort.c: New file.
51226
51227         New module 'array-mergesort'.
51228         * modules/array-mergesort: New file.
51229         * lib/array-mergesort.h: New file.
51230
51231 2009-02-15  Bruno Haible  <bruno@clisp.org>
51232
51233         Fix 2009-02-07 commit.
51234         * lib/gen-uni-tables.c (output_predicate, output_category,
51235         output_combclass, output_bidi_category, output_decimal_digit,
51236         output_digit, output_numeric, output_mirror, output_scripts,
51237         output_ident_category, output_simple_mapping): Fix format directives.
51238         (output_lbp, output_wbp): Don't convert -1 to a size_t implicitly.
51239
51240 2009-02-15  Albert Chin-A-Young  <china@thewrittenword.com>
51241
51242         * m4/include_next.m4: Update comment about IBM C 9.0/10.1 bug, now that
51243         fixes are available from IBM.
51244
51245 2009-02-13  Jim Meyering  <meyering@redhat.com>
51246
51247         fts: arrange not to stat non-directories in more cases
51248         This makes GNU find (when it doesn't need to stat each file)
51249         *much* more efficient at traversing reiserfs file systems.
51250         * lib/fts_.h (struct ftsent) [fts_n_dirs_remaining]: New member.
51251         (struct FTS) [fts_leaf_optimization_works_ht]: Add member.
51252         * lib/fts.c (fts_close): Free ->fts_leaf_optimization_works_ht.
51253         (S_MAGIC_REISERFS, S_MAGIC_PROC): Define.
51254         (leaf_optimization_applies): New function.
51255         (LCO_hash, LCO_compare): New helper functions.
51256         (link_count_optimize_ok): New function.
51257         (fts_stat): Initialize new member (if dir).
51258         (fts_read): Decrement parent's fts_n_dirs_remaining count if
51259         we've just stat'ed a directory.  Skip the stat call when possible.
51260         ---
51261         Note this AFS-related exchange:
51262         http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=143111
51263         and note find's pioctl call in find/fstype.c.
51264         But that is necessary only if you want to enable the
51265         optimization for AFS, and for now, I don't.
51266
51267         fts: move a function definition "up" (no semantic change)
51268         * lib/fts.c (dirent_inode_sort_may_be_useful): Move definition
51269         "up" to precede upcoming use of a related function.
51270
51271 2009-02-11  Jim Meyering  <meyering@redhat.com>
51272
51273         fts: correct internal computation of nlinks (optimization-related)
51274         * lib/fts.c (fts_build): ISSET(FTS_NOSTAT) has no bearing on
51275         whether the current entry is a directory, so don't test it.
51276
51277 2009-02-10  Bruno Haible  <bruno@clisp.org>
51278
51279         Tests for module 'uniwbrk/ulc-wordbreaks'.
51280         * modules/uniwbrk/ulc-wordbreaks-tests: New file.
51281         * tests/uniwbrk/test-ulc-wordbreaks.sh: New file.
51282         * tests/uniwbrk/test-ulc-wordbreaks.c: New file.
51283
51284         Tests for module 'uniwbrk/u32-wordbreaks'.
51285         * modules/uniwbrk/u32-wordbreaks-tests: New file.
51286         * tests/uniwbrk/test-u32-wordbreaks.c: New file.
51287
51288         Tests for module 'uniwbrk/u16-wordbreaks'.
51289         * modules/uniwbrk/u16-wordbreaks-tests: New file.
51290         * tests/uniwbrk/test-u16-wordbreaks.c: New file.
51291
51292         Tests for module 'uniwbrk/u8-wordbreaks'.
51293         * modules/uniwbrk/u8-wordbreaks-tests: New file.
51294         * tests/uniwbrk/test-u8-wordbreaks.c: New file.
51295
51296 2009-02-10  Bruno Haible  <bruno@clisp.org>
51297
51298         * modules/uniwbrk/u8-wordbreaks (Depends-on): Add uniwbrk/wordbreak
51299         property.
51300         * modules/uniwbrk/u16-wordbreaks (Depends-on): Likewise.
51301         * modules/uniwbrk/u32-wordbreaks (Depends-on): Likewise.
51302         * modules/uniwbrk/ulc-wordbreaks (Depends-on): Add localcharset.
51303
51304 2009-02-10  Simon Josefsson  <simon@josefsson.org>
51305
51306         * m4/sockets.m4: Call AC_C_INLINE since sockets.h now can use
51307         inline keywords.  Reported by Bruno Haible <bruno@clisp.org>.
51308
51309 2009-02-10  Bruno Haible  <bruno@clisp.org>
51310
51311         * lib/unilbrk/lbrktables.h: Renamed from lib/unilbrk/tables.h.
51312         * lib/unilbrk/lbrktables.c: Renamed from lib/unilbrk/tables.c.
51313         * modules/unilbrk/tables (Files, Makefile.am, Include): Update.
51314         * lib/unilbrk/u8-possible-linebreaks.c: Update.
51315         * lib/unilbrk/u16-possible-linebreaks.c: Likewise.
51316         * lib/unilbrk/u32-possible-linebreaks.c: Likewise.
51317
51318 2009-02-09  Simon Josefsson  <simon@josefsson.org>
51319
51320         * lib/sockets.h (gl_fd_to_handle): New function.
51321
51322         * tests/test-sockets.c: Call gl_fd_to_handle.
51323
51324 2009-02-09  Bruno Haible  <bruno@clisp.org>
51325
51326         * doc/havelib.texi: Document the conventions on bi-arch systems.
51327
51328 2009-02-08  Bruno Haible  <bruno@clisp.org>
51329
51330         Document the AC_LIB_LINKFLAGS macro.
51331         * doc/havelib.texi: New file, mostly written on 2005-05-24.
51332         * doc/gnulib.texi: Include it.
51333
51334 2009-02-08  Bruno Haible  <bruno@clisp.org>
51335
51336         Fix wrong order of sections, compared to TOC.
51337         * doc/gnulib.texi: Include relocatable-maint.texi after the
51338         "Regular expressions" node, not before.
51339
51340 2009-02-08  Bruno Haible  <bruno@clisp.org>
51341
51342         Tests for module 'unicase/totitle'.
51343         * modules/unicase/totitle-tests: New file.
51344
51345         Tests for module 'unicase/tolower'.
51346         * modules/unicase/tolower-tests: New file.
51347
51348         Tests for module 'unicase/toupper'.
51349         * modules/unicase/toupper-tests: New file.
51350         * tests/unicase/test-mapping-part1.h: New file.
51351         * tests/unicase/test-mapping-part2.h: New file.
51352
51353         New module 'unicase/totitle'.
51354         * modules/unicase/totitle: New file.
51355         * lib/unicase/totitle.c: New file.
51356
51357         New module 'unicase/tolower'.
51358         * modules/unicase/tolower: New file.
51359         * lib/unicase/tolower.c: New file.
51360
51361         New module 'unicase/toupper'.
51362         * modules/unicase/toupper: New file.
51363         * lib/unicase/toupper.c: New file.
51364         * lib/unicase/simple-mapping.h: New file.
51365
51366         * lib/gen-uni-tables.c (output_simple_mapping_test): New function.
51367         (mapping_table): New structure.
51368         (output_simple_mapping): New function.
51369         (main): Invoke output_simple_mapping_test and output_simple_mapping.
51370         * modules/gen-uni-tables (Description): Update.
51371         * lib/unicase/toupper.h: New file, automatically generated by
51372         gen-uni-tables.
51373         * lib/unicase/tolower.h: New file, automatically generated by
51374         gen-uni-tables.
51375         * lib/unicase/totitle.h: New file, automatically generated by
51376         gen-uni-tables.
51377         * tests/unicase/test-uc_toupper.c: New file, automatically generated by
51378         gen-uni-tables.
51379         * tests/unicase/test-uc_tolower.c: New file, automatically generated by
51380         gen-uni-tables.
51381         * tests/unicase/test-uc_totitle.c: New file, automatically generated by
51382         gen-uni-tables.
51383
51384         New module 'unicase/base'.
51385         * modules/unicase/base: New file.
51386         * lib/unicase.h: New file.
51387
51388 2009-02-08  Bruno Haible  <bruno@clisp.org>
51389
51390         New module 'uniwbrk/ulc-wordbreaks'.
51391         * modules/uniwbrk/ulc-wordbreaks: New file.
51392         * lib/uniwbrk/ulc-wordbreaks.c: New file.
51393
51394         New module 'uniwbrk/u32-wordbreaks'.
51395         * modules/uniwbrk/u32-wordbreaks: New file.
51396         * lib/uniwbrk/u32-wordbreaks.c: New file.
51397
51398         New module 'uniwbrk/u16-wordbreaks'.
51399         * modules/uniwbrk/u16-wordbreaks: New file.
51400         * lib/uniwbrk/u16-wordbreaks.c: New file.
51401
51402         New module 'uniwbrk/u8-wordbreaks'.
51403         * modules/uniwbrk/u8-wordbreaks: New file.
51404         * lib/uniwbrk/u8-wordbreaks.c: New file.
51405         * lib/uniwbrk/u-wordbreaks.h: New file.
51406
51407         New module 'uniwbrk/table'.
51408         * modules/uniwbrk/table: New file.
51409         * lib/uniwbrk/wbrktable.h: New file.
51410         * lib/uniwbrk/wbrktable.c: New file.
51411
51412         New module 'uniwbrk/wordbreak-property'.
51413         * modules/uniwbrk/wordbreak-property: New file.
51414         * lib/uniwbrk/wordbreak-property.c: New file.
51415
51416         * lib/gen-uni-tables.c (WBP_*): New enum items.
51417         (get_wbp, debug_output_wbp, debug_output_wbrk_tables): New functions.
51418         (unicode_org_wbp): New variable.
51419         (fill_org_wbp, debug_output_org_wbp, debug_output_org_wbrk_tables):
51420         New functions.
51421         (wbp_table): New structure.
51422         (output_wbp, output_wbrk_tables): New functions.
51423         (main): Accept additional argument. Invoke fill_org_wbp,
51424         debug_output_wbrk_tables, debug_output_org_wbrk_tables,
51425         output_wbrk_tables.
51426         * modules/gen-uni-tables (Description): Update.
51427         * lib/uniwbrk/wbrkprop.h: New file, automatically generated by
51428         gen-uni-tables.
51429
51430         New module 'uniwbrk/base'.
51431         * modules/uniwbrk/base: New file.
51432         * lib/uniwbrk.h: New file.
51433
51434 2009-02-08  Bruno Haible  <bruno@clisp.org>
51435
51436         Update to Unicode 5.1.0.
51437         * lib/gen-uni-tables.c (is_property_alphabetic): Include
51438         U+2185..U+2188.
51439         (is_property_default_ignorable_code_point): Don't include characters
51440         of category Cc or Cs and not-a-characters.
51441         (get_lbp): Assume REVISION_22. Special handling of U+0609, U+060A,
51442         U+0D79, U+109E, U+109F, U+A60C.
51443         * lib/unictype/bidi_of.h: Regenerated.
51444         * lib/unictype/blocks.h: Regenerated.
51445         * lib/unictype/categ_C.h: Regenerated.
51446         * lib/unictype/categ_Cf.h: Regenerated.
51447         * lib/unictype/categ_Cn.h: Regenerated.
51448         * lib/unictype/categ_L.h: Regenerated.
51449         * lib/unictype/categ_Ll.h: Regenerated.
51450         * lib/unictype/categ_Lm.h: Regenerated.
51451         * lib/unictype/categ_Lo.h: Regenerated.
51452         * lib/unictype/categ_Lu.h: Regenerated.
51453         * lib/unictype/categ_M.h: Regenerated.
51454         * lib/unictype/categ_Mc.h: Regenerated.
51455         * lib/unictype/categ_Me.h: Regenerated.
51456         * lib/unictype/categ_Mn.h: Regenerated.
51457         * lib/unictype/categ_N.h: Regenerated.
51458         * lib/unictype/categ_Nd.h: Regenerated.
51459         * lib/unictype/categ_Nl.h: Regenerated.
51460         * lib/unictype/categ_No.h: Regenerated.
51461         * lib/unictype/categ_P.h: Regenerated.
51462         * lib/unictype/categ_Pd.h: Regenerated.
51463         * lib/unictype/categ_Pe.h: Regenerated.
51464         * lib/unictype/categ_Pf.h: Regenerated.
51465         * lib/unictype/categ_Pi.h: Regenerated.
51466         * lib/unictype/categ_Po.h: Regenerated.
51467         * lib/unictype/categ_Ps.h: Regenerated.
51468         * lib/unictype/categ_S.h: Regenerated.
51469         * lib/unictype/categ_Sk.h: Regenerated.
51470         * lib/unictype/categ_Sm.h: Regenerated.
51471         * lib/unictype/categ_So.h: Regenerated.
51472         * lib/unictype/categ_of.h: Regenerated.
51473         * lib/unictype/combining.h: Regenerated.
51474         * lib/unictype/ctype_alnum.h: Regenerated.
51475         * lib/unictype/ctype_alpha.h: Regenerated.
51476         * lib/unictype/ctype_graph.h: Regenerated.
51477         * lib/unictype/ctype_lower.h: Regenerated.
51478         * lib/unictype/ctype_print.h: Regenerated.
51479         * lib/unictype/ctype_punct.h: Regenerated.
51480         * lib/unictype/ctype_upper.h: Regenerated.
51481         * lib/unictype/decdigit.h: Regenerated.
51482         * lib/unictype/digit.h: Regenerated.
51483         * lib/unictype/mirror.h: Regenerated.
51484         * lib/unictype/numeric.h: Regenerated.
51485         * lib/unictype/pr_alphabetic.h: Regenerated.
51486         * lib/unictype/pr_bidi_arabic_digit.h: Regenerated.
51487         * lib/unictype/pr_bidi_arabic_right_to_left.h: Regenerated.
51488         * lib/unictype/pr_bidi_boundary_neutral.h: Regenerated.
51489         * lib/unictype/pr_bidi_eur_num_terminator.h: Regenerated.
51490         * lib/unictype/pr_bidi_left_to_right.h: Regenerated.
51491         * lib/unictype/pr_bidi_non_spacing_mark.h: Regenerated.
51492         * lib/unictype/pr_bidi_other_neutral.h: Regenerated.
51493         * lib/unictype/pr_combining.h: Regenerated.
51494         * lib/unictype/pr_dash.h: Regenerated.
51495         * lib/unictype/pr_decimal_digit.h: Regenerated.
51496         * lib/unictype/pr_default_ignorable_code_point.h: Regenerated.
51497         * lib/unictype/pr_deprecated.h: Regenerated.
51498         * lib/unictype/pr_diacritic.h: Regenerated.
51499         * lib/unictype/pr_extender.h: Regenerated.
51500         * lib/unictype/pr_format_control.h: Regenerated.
51501         * lib/unictype/pr_grapheme_base.h: Regenerated.
51502         * lib/unictype/pr_grapheme_extend.h: Regenerated.
51503         * lib/unictype/pr_grapheme_link.h: Regenerated.
51504         * lib/unictype/pr_id_continue.h: Regenerated.
51505         * lib/unictype/pr_id_start.h: Regenerated.
51506         * lib/unictype/pr_ideographic.h: Regenerated.
51507         * lib/unictype/pr_ignorable_control.h: Regenerated.
51508         * lib/unictype/pr_lowercase.h: Regenerated.
51509         * lib/unictype/pr_math.h: Regenerated.
51510         * lib/unictype/pr_numeric.h: Regenerated.
51511         * lib/unictype/pr_other_alphabetic.h: Regenerated.
51512         * lib/unictype/pr_other_default_ignorable_code_point.h: Regenerated.
51513         * lib/unictype/pr_other_grapheme_extend.h: Regenerated.
51514         * lib/unictype/pr_other_id_continue.h: Regenerated.
51515         * lib/unictype/pr_other_lowercase.h: Regenerated.
51516         * lib/unictype/pr_other_math.h: Regenerated.
51517         * lib/unictype/pr_punctuation.h: Regenerated.
51518         * lib/unictype/pr_sentence_terminal.h: Regenerated.
51519         * lib/unictype/pr_soft_dotted.h: Regenerated.
51520         * lib/unictype/pr_terminal_punctuation.h: Regenerated.
51521         * lib/unictype/pr_unassigned_code_value.h: Regenerated.
51522         * lib/unictype/pr_unified_ideograph.h: Regenerated.
51523         * lib/unictype/pr_uppercase.h: Regenerated.
51524         * lib/unictype/pr_xid_continue.h: Regenerated.
51525         * lib/unictype/pr_xid_start.h: Regenerated.
51526         * lib/unictype/pr_zero_width.h: Regenerated.
51527         * lib/unictype/scripts.h: Regenerated.
51528         * lib/unictype/scripts_byname.gperf: Regenerated.
51529         * lib/unictype/sy_java_ident.h: Regenerated.
51530         * lib/unilbrk/lbrkprop1.h: Regenerated.
51531         * lib/unilbrk/lbrkprop2.h: Regenerated.
51532         * tests/unictype/test-categ_C.c: Regenerated.
51533         * tests/unictype/test-categ_Cf.c: Regenerated.
51534         * tests/unictype/test-categ_Cn.c: Regenerated.
51535         * tests/unictype/test-categ_L.c: Regenerated.
51536         * tests/unictype/test-categ_Ll.c: Regenerated.
51537         * tests/unictype/test-categ_Lm.c: Regenerated.
51538         * tests/unictype/test-categ_Lo.c: Regenerated.
51539         * tests/unictype/test-categ_Lu.c: Regenerated.
51540         * tests/unictype/test-categ_M.c: Regenerated.
51541         * tests/unictype/test-categ_Mc.c: Regenerated.
51542         * tests/unictype/test-categ_Me.c: Regenerated.
51543         * tests/unictype/test-categ_Mn.c: Regenerated.
51544         * tests/unictype/test-categ_N.c: Regenerated.
51545         * tests/unictype/test-categ_Nd.c: Regenerated.
51546         * tests/unictype/test-categ_Nl.c: Regenerated.
51547         * tests/unictype/test-categ_No.c: Regenerated.
51548         * tests/unictype/test-categ_P.c: Regenerated.
51549         * tests/unictype/test-categ_Pd.c: Regenerated.
51550         * tests/unictype/test-categ_Pe.c: Regenerated.
51551         * tests/unictype/test-categ_Pf.c: Regenerated.
51552         * tests/unictype/test-categ_Pi.c: Regenerated.
51553         * tests/unictype/test-categ_Po.c: Regenerated.
51554         * tests/unictype/test-categ_Ps.c: Regenerated.
51555         * tests/unictype/test-categ_S.c: Regenerated.
51556         * tests/unictype/test-categ_Sk.c: Regenerated.
51557         * tests/unictype/test-categ_Sm.c: Regenerated.
51558         * tests/unictype/test-categ_So.c: Regenerated.
51559         * tests/unictype/test-ctype_alnum.c: Regenerated.
51560         * tests/unictype/test-ctype_alpha.c: Regenerated.
51561         * tests/unictype/test-ctype_graph.c: Regenerated.
51562         * tests/unictype/test-ctype_lower.c: Regenerated.
51563         * tests/unictype/test-ctype_print.c: Regenerated.
51564         * tests/unictype/test-ctype_punct.c: Regenerated.
51565         * tests/unictype/test-ctype_upper.c: Regenerated.
51566         * tests/unictype/test-decdigit.h: Regenerated.
51567         * tests/unictype/test-digit.h: Regenerated.
51568         * tests/unictype/test-numeric.h: Regenerated.
51569         * tests/unictype/test-pr_alphabetic.c: Regenerated.
51570         * tests/unictype/test-pr_bidi_arabic_digit.c: Regenerated.
51571         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Regenerated.
51572         * tests/unictype/test-pr_bidi_boundary_neutral.c: Regenerated.
51573         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Regenerated.
51574         * tests/unictype/test-pr_bidi_left_to_right.c: Regenerated.
51575         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Regenerated.
51576         * tests/unictype/test-pr_bidi_other_neutral.c: Regenerated.
51577         * tests/unictype/test-pr_combining.c: Regenerated.
51578         * tests/unictype/test-pr_dash.c: Regenerated.
51579         * tests/unictype/test-pr_decimal_digit.c: Regenerated.
51580         * tests/unictype/test-pr_default_ignorable_code_point.c: Regenerated.
51581         * tests/unictype/test-pr_deprecated.c: Regenerated.
51582         * tests/unictype/test-pr_diacritic.c: Regenerated.
51583         * tests/unictype/test-pr_extender.c: Regenerated.
51584         * tests/unictype/test-pr_format_control.c: Regenerated.
51585         * tests/unictype/test-pr_grapheme_base.c: Regenerated.
51586         * tests/unictype/test-pr_grapheme_extend.c: Regenerated.
51587         * tests/unictype/test-pr_grapheme_link.c: Regenerated.
51588         * tests/unictype/test-pr_id_continue.c: Regenerated.
51589         * tests/unictype/test-pr_id_start.c: Regenerated.
51590         * tests/unictype/test-pr_ideographic.c: Regenerated.
51591         * tests/unictype/test-pr_ignorable_control.c: Regenerated.
51592         * tests/unictype/test-pr_lowercase.c: Regenerated.
51593         * tests/unictype/test-pr_math.c: Regenerated.
51594         * tests/unictype/test-pr_numeric.c: Regenerated.
51595         * tests/unictype/test-pr_other_alphabetic.c: Regenerated.
51596         * tests/unictype/test-pr_other_default_ignorable_code_point.c:
51597         Regenerated.
51598         * tests/unictype/test-pr_other_grapheme_extend.c: Regenerated.
51599         * tests/unictype/test-pr_other_id_continue.c: Regenerated.
51600         * tests/unictype/test-pr_other_lowercase.c: Regenerated.
51601         * tests/unictype/test-pr_other_math.c: Regenerated.
51602         * tests/unictype/test-pr_punctuation.c: Regenerated.
51603         * tests/unictype/test-pr_sentence_terminal.c: Regenerated.
51604         * tests/unictype/test-pr_soft_dotted.c: Regenerated.
51605         * tests/unictype/test-pr_terminal_punctuation.c: Regenerated.
51606         * tests/unictype/test-pr_unassigned_code_value.c: Regenerated.
51607         * tests/unictype/test-pr_unified_ideograph.c: Regenerated.
51608         * tests/unictype/test-pr_uppercase.c: Regenerated.
51609         * tests/unictype/test-pr_xid_continue.c: Regenerated.
51610         * tests/unictype/test-pr_xid_start.c: Regenerated.
51611         * tests/unictype/test-pr_zero_width.c: Regenerated.
51612
51613         Update to Unicode 5.1.0.
51614         * lib/uniwidth/width.c (nonspacing_table_data): Add U+0487,
51615         U+0616..U+061A, U+0A51, U+0A75, U+0B44, U+0B62..U+0B63, U+0C62..U+0C63,
51616         U+0D44, U+0D62..U+0D63, U+1033..U+1035, U+103A, U+103D..U+103E,
51617         U+105E..U+1060, U+1071..U+1074, U+1082, U+1085..U+1086, U+108D,
51618         U+1B80..U+1B81, U+1BA2..U+1BA5, U+1BA8..U+1BA9, U+1C2C..U+1C33,
51619         U+1C36..U+1C37, U+1DCB..U+1DE6, U+2064, U+20F0, U+2DE0..U+2DFF,
51620         U+A66F..U+A672, U+A67C..U+A67D, U+A8C4, U+A926..U+A92D, U+A947..U+A951,
51621         U+AA29..U+AA2E, U+AA31..U+AA32, U+AA35..U+AA36, U+AA43, U+AA4C,
51622         U+FE24..U+FE26, U+101FD. Remove U+1929..U+192B.
51623         (nonspacing_table_ind): Update.
51624         * tests/uniwidth/test-uc_width2.sh: Update expected result.
51625
51626         Update to Unicode 5.1.0.
51627         * lib/uniname/gen-uninames.lisp (main): Add the range 0x1Fxxx to the
51628         code transform.
51629         * lib/uniname/uniname.c (unicode_character_name,
51630         unicode_name_character): Add the range 0x1Fxxx to the code transform.
51631         * lib/uniname/uninames.h: Regenerated.
51632         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.1.0.
51633
51634 2009-02-07  Bruno Haible  <bruno@clisp.org>
51635
51636         Merge gen-ctype and gen-lbrk into a single program.
51637         * lib/gen-uni-tables.c: New file, incorporating
51638         lib/unictype/gen-ctype.c and lib/unilbrk/gen-lbrk.c.
51639         Add directory prefixes to the names of the generated files.
51640         * lib/unictype/gen-ctype.c: Remove file.
51641         * lib/unilbrk/gen-lbrk.c: Remove file.
51642         * modules/gen-uni-tables: New file.
51643         * modules/unictype/gen-ctype: Remove file.
51644         * modules/unilbrk/gen-lbrk: Remove file.
51645
51646 2009-02-07  Bruno Haible  <bruno@clisp.org>
51647
51648         * lib/unistr.h (u8_strcoll, u16_strcoll, u32_strcoll): New declations.
51649
51650         New module 'unistr/u32-strcoll'.
51651         * modules/unistr/u32-strcoll: New file.
51652         * lib/unistr/u32-strcoll.c: New file.
51653
51654         New module 'unistr/u16-strcoll'.
51655         * modules/unistr/u16-strcoll: New file.
51656         * lib/unistr/u16-strcoll.c: New file.
51657
51658         New module 'unistr/u8-strcoll'.
51659         * modules/unistr/u8-strcoll: New file.
51660         * lib/unistr/u8-strcoll.c: New file.
51661         * lib/unistr/u-strcoll.h: New file.
51662
51663 2009-02-07  Bruno Haible  <bruno@clisp.org>
51664
51665         * test-mbrtowc4.sh (LOCALE_ZH_CN): Fix default value.
51666         * test-mbsnrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51667         * test-mbsrtowcs4.sh (LOCALE_ZH_CN): Likewise.
51668         * test-wcrtomb.sh (LOCALE_ZH_CN): Likewise.
51669         * test-wcsnrtombs4.sh (LOCALE_ZH_CN): Likewise.
51670         * test-wcsrtombs4.sh (LOCALE_ZH_CN): Likewise.
51671
51672 2009-02-07  Bruno Haible  <bruno@clisp.org>
51673
51674         Make 64-bit clean.
51675         * lib/unictype/gen-ctype.c (output_predicate, output_category,
51676         output_combclass, output_bidi_category, output_decimal_digit,
51677         output_digit, output_numeric, output_mirror, output_scripts,
51678         output_ident_category): Use proper width specifier in format strings.
51679
51680 2009-02-07  Bruno Haible  <bruno@clisp.org>
51681
51682         * doc/posix-functions/dirfd.texi: Clarify situation on mingw. Document
51683         failure behaviour.
51684
51685 2009-02-07  Jim Meyering  <meyering@redhat.com>
51686
51687         regex: avoid compilation failure with upcoming gcc-4.4
51688         * lib/regex_internal.h: Revert e48d8b47fb3eee81d341b71c3e006efe9e3433a7
51689         [workaround for PGC prior to 6.1-2].  Otherwise, we'd get this:
51690         "... error: integer overflow in preprocessor expression".
51691
51692 2009-02-05  Ben Pfaff  <blp@gnu.org>
51693
51694         Fix link errors on Windows when close module is used.
51695         * modules/close: Add $(LIB_CLOSE) to Link section.
51696         * m4/close.m4 (gl_REPLACE_CLOSE): Substitute -lws2_32 into
51697         $(LIB_CLOSE) on Windows.
51698
51699 2009-02-05  Jim Meyering  <meyering@redhat.com>
51700
51701         still avoid unused-parameter warnings, but do it cleanly
51702         * lib/fsusage.c (UNUSED_PARAM): Remove definition.
51703         (get_fs_usage): Cast to void instead.
51704         * lib/mountlist.c (UNUSED_PARAM): Remove definition.
51705         (dev_from_mount_options, read_file_system_list): Cast to void.
51706         Prompted by Bruno Haible.
51707
51708 2009-02-04  Jim Meyering  <meyering@redhat.com>
51709
51710         fsusage.c: correct copyright year
51711         * lib/fsusage.c: Reflect year in which the change is pushed into
51712
51713         avoid misc. warnings
51714         * lib/fsusage.c (UNUSED_PARAM): Define.
51715         (get_fs_usage): Mark parameter "disk" as unused.
51716         * lib/getugroups.c (getgrent): Use "void" in prototype.
51717         * lib/mountlist.c: Mark unused parameters.
51718         (read_file_system_list): Declare a local with "const".
51719         * lib/nanosleep.c (getnow): Declare static.
51720         * lib/strftime.c: Include strftime.h, for declaration of nstrftime.
51721
51722         dirfd: set errno upon failure
51723         * lib/dirfd.c: Include <errno.h>.
51724         Set errno to ENOTSUP when returning -1.
51725         * modules/dirfd (Depends-on): Add errno.
51726         Suggested by John Kodis <kodis@comcast.net>.
51727
51728 2009-02-01  Bruno Haible  <bruno@clisp.org>
51729
51730         Don't assume sizeof (long) >= sizeof (void *).
51731         * lib/memcmp.c: Include stdint.h.
51732         (memcmp_bytes): Change argument types to op_t. Change type of srcp1,
51733         srcp2 to 'const byte *'.
51734         (memcmp_common_alignment, memcmp_not_common_alignment): Change argument
51735         types to uintptr_t.
51736         (rpl_memcmp): Change type of srcp1, srcp2 to 'uintptr_t'.
51737         * modules/memcmp (Depends-on): Add stdint.
51738         Reported by Ozkan Sezer <sezeroz@gmail.com>.
51739
51740 2009-01-30  Eric Blake  <ebb9@byu.net>
51741
51742         fix more require-before-expand issues
51743         * m4/pmccabe2html.m4 (gl_PMCCABE2HTML): Require, rather than
51744         expand, AC_PROG_AWK.
51745         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): Use AC_DEFUN_ONCE.
51746
51747 2009-01-28  Eric Blake  <ebb9@byu.net>
51748
51749         version-etc: use consistent URL formatting
51750         * lib/version-etc.c (emit_bug_reporting_address, version_etc_va):
51751         Improve formatting.  Use fputs for string without %.
51752
51753 2009-01-28  Jim Meyering  <meyering@redhat.com>
51754
51755         00gnulib.m4: add m4 quotes in shell comment to avoid autoconf warning
51756         * m4/00gnulib.m4 (AC_DEFUN_ONCE): Add quotes to avoid an
51757         "underquoted definition of NAME" from autoconf-2.59.
51758
51759 2009-01-28  Bruno Haible  <bruno@clisp.org>
51760
51761         * doc/gnulib.texi: Add "Obsolete modules" to index.
51762
51763 2009-01-28  Jim Meyering  <meyering@redhat.com>
51764
51765         useless-if-before-free: recognize more variants
51766         * build-aux/useless-if-before-free: Also recognize e.g.,
51767         if (NULL != p) free (p);
51768
51769 2009-01-27  Mark McLoughlin  <markmc@redhat.com>
51770
51771         test-getaddrinfo: skip (don't fail) this test when there's no network
51772         * tests/test-getaddrinfo.c: Skip test upon failure with EAI_AGAIN,
51773         on the presumption that it means you lack network access.
51774
51775 2009-01-26  Jim Meyering  <meyering@redhat.com>
51776
51777         fflush: avoid warnings on modern systems
51778         * lib/fflush.c (rpl_fflush): Move declarations of locals,
51779         pos and result, into scopes where they're used.
51780
51781 2009-01-26  Eric Blake  <ebb9@byu.net>
51782
51783         Silence warning reintroduced by recent extensions patch.
51784         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS)
51785         (gl_USE_SYSTEM_EXTENSIONS): Use AC_DEFUN_ONCE to silence newer
51786         autoconf.
51787
51788         Backport improved autoconf semantics of AC_DEFUN_ONCE.
51789         * m4/00gnulib.m4: New file.
51790         * gnulib-tool (func_get_filelist): Always use it.
51791         * m4/gnulib-common.m4 (gl_COMMON): Force the file to be used.
51792         Reported by Bruno Haible, with suggestions from Paolo Bonzini.
51793
51794 2009-01-25  Bruno Haible  <bruno@clisp.org>
51795
51796         Make test-quotearg work on MacOS X and AIX.
51797         * tests/test-quotearg.sh: New file.
51798         * tests/locale/fr/LC_MESSAGES/test-quotearg.po: New file.
51799         * tests/locale/fr/LC_MESSAGES/test-quotearg.mo: New file.
51800         * tests/test-quotearg.c: Include <locale.h> and gettext.h. Don't
51801         include <libintl.h>.
51802         (fake_locale): Remove variable.
51803         (gettext, dgettext, dcgettext): Remove functions.
51804         (main): Instead of setting a fake locale, set a real locale. Call
51805         textdomain and bindtextdomain.
51806         * modules/quotearg-tests (Files): Add the new files.
51807         (Depends-on): Add gettext, setenv, unsetenv.
51808         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
51809         (Makefile.am): Add test-quotearg.sh to TESTS, remove test-quotearg.
51810         Augment TESTS_ENVIRONMENT.
51811
51812 2009-01-25  Bruno Haible  <bruno@clisp.org>
51813
51814         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove special code that hid the
51815         fr_FR.ISO8859-1 locale on MacOS X.
51816         * m4/locale-ja.m4 (gt_LOCALE_JA): Remove special code that hid the
51817         ja_JP.eucJP locale on MacOS X.
51818         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Remove special code that hid the
51819         zh_CN.GB18030 locale on MacOS X.
51820
51821 2009-01-25  Bruno Haible  <bruno@clisp.org>
51822
51823         Avoid link errors on MacOS X 10.3.
51824         * lib/mbsrtowcs-state.c (_gl_mbsrtowcs_state): Add initializer.
51825         * lib/wcsrtombs-state.c (_gl_wcsrtombs_state): Likewise.
51826
51827 2009-01-25  Bruno Haible  <bruno@clisp.org>
51828
51829         * lib/pipe.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51830         * m4/pipe.m4 (gl_PIPE): Remove tests for vfork() based code.
51831         * modules/pipe (Files): Remove m4/posix_spawn.m4.
51832         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51833         posix_spawn_file_actions_addclose, posix_spawn_file_actions_adddup2,
51834         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51835         posix_spawnattr_init, posix_spawnattr_setsigmask,
51836         posix_spawnattr_setflags, posix_spawnattr_destroy.
51837
51838         * lib/execute.c: On Unix, assume HAVE_POSIX_SPAWN and use posix_spawnp.
51839         * m4/execute.m4 (gl_EXECUTE): Remove tests for vfork() based code.
51840         * modules/execute (Files): Remove m4/posix_spawn.m4.
51841         (Depends-on): Add spawn, posix_spawnp, posix_spawn_file_actions_init,
51842         posix_spawn_file_actions_addopen, posix_spawn_file_actions_destroy,
51843         posix_spawnattr_init, posix_spawnattr_setsigmask,
51844         posix_spawnattr_setflags, posix_spawnattr_destroy.
51845
51846 2009-01-25  Bruno Haible  <bruno@clisp.org>
51847
51848         * lib/glthread/threadlib.c: Include <stdlib.h>.
51849
51850 2009-01-25  Bruno Haible  <bruno@clisp.org>
51851
51852         * lib/glthread/threadlib.c (dummy): New declaration.
51853
51854 2009-01-25  Bruno Haible  <bruno@clisp.org>
51855
51856         * lib/mbrtowc.c (mbrtowc): Distinguish invalid and incomplete
51857         multibyte characters also for the GB18030 encoding. Don't crash when
51858         the encoding is unknown and nstate = 0. Needed on OSF/1 5.1.
51859
51860 2009-01-25  Bruno Haible  <bruno@clisp.org>
51861
51862         Avoid redefining 'struct random_data' on OSF/1 5.1.
51863         * lib/stdlib.in.h: Include <random.h> if it exists.
51864         * m4/stdlib_h.m4 (gl_STDLIB_H): Test whether <random.h> exists. Set
51865         HAVE_RANDOM_H. Include <random.h> when testing whether
51866         'struct random_data' exists.
51867         * modules/stdlib (Makefile.am): Substitute HAVE_RANDOM_H.
51868
51869 2009-01-25  Bruno Haible  <bruno@clisp.org>
51870
51871         Don't install charset.alias on MacOS X >= 10.3.
51872         * lib/localcharset.c (DARWIN7): New macro.
51873         (get_charset_aliases): Hardcode the result for Darwin7.
51874         * modules/localcharset (install-exec-local): Don't install
51875         charset.alias on MacOS X >= 10.3, if the file does not yet exist.
51876
51877 2009-01-25  Bruno Haible  <bruno@clisp.org>
51878
51879         Don't install charset.alias on mingw and Cygwin.
51880         * modules/localcharset (install-exec-local): Don't install
51881         charset.alias on mingw and Cygwin, if the file does not yet exist.
51882         The result for these platforms is hardcoded in localcharset.c.
51883
51884 2009-01-25  Bruno Haible  <bruno@clisp.org>
51885
51886         Make it possible again to use AC_GNU_SOURCE together with gnulib.
51887         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_GNU_SOURCE
51888         before requiring AC_USE_SYSTEM_EXTENSIONS.
51889
51890 2009-01-25  Jim Meyering  <meyering@redhat.com>
51891
51892         c-strtod: avoid warnings
51893         * lib/c-strtod.c (C_STRTOD): Cast nptr to (char *) to avoid
51894         "assignment discards qualifiers from pointer target type" warnings.
51895
51896 2009-01-24  Bruno Haible  <bruno@clisp.org>
51897
51898         Add support for non-UTF-8 locales on MacOS X.
51899         * lib/config.charset: Add CP1131, ARMSCII-8, PT154 to the list of
51900         canonical encodings. For Darwin 7 and newer, don't map traditional
51901         encodings to UTF-8.
51902         Reported by Vincent Lefevre <vincent@vinc17.org>
51903         at <http://savannah.gnu.org/bugs/?25235>.
51904
51905 2009-01-24  Bruno Haible  <bruno@clisp.org>
51906
51907         * doc/gnulib.texi (Obsolete modules): New section.
51908         Reported by Mike Frysinger <vapier@gentoo.org>.
51909
51910 2009-01-24  Bruno Haible  <bruno@clisp.org>
51911
51912         * doc/Makefile (%.pdf): Clarify where to find texmf.cnf.
51913         (%.dvi): New rule.
51914
51915 2009-01-24  Bruno Haible  <bruno@clisp.org>
51916
51917         * lib/c-strtod.h (c_strtod, c_strtold): Adjust specification.
51918         Reported by Eric Blake.
51919
51920 2009-01-24  Bruno Haible  <bruno@clisp.org>
51921
51922         * lib/c-stack.c (segv_handler): If !HAVE_XSI_STACK_OVERFLOW_HEURISTIC,
51923         set signo = 0 also if info->si_code <= 0. Needed on HP-UX 11.11.
51924         Reported by Gary V. Vaughan <gary@gnu.org>.
51925
51926 2009-01-24  Bruno Haible  <bruno@clisp.org>
51927
51928         * lib/c-strtod.h (c_strtod, c_strtold): Add specification.
51929
51930 2009-01-23  Bruno Haible  <bruno@clisp.org>
51931
51932         Make c-strtod, c-strtold usable in libraries.
51933         * lib/c-strtod.c: Include string.h instead of xalloc.h.
51934         (C_STRTOD): Call strdup instead of xstrdup.
51935         * modules/c-strtod (Depends-on): Add strdup-posix, remove xalloc.
51936         * modules/c-strtold (Depends-on): Likewise.
51937         * doc/c-strtod.texi: Remove the sentence mentioning xalloc_die.
51938         * NEWS: Mention the change.
51939         Reported by Michael Gold <mgold@ncf.ca>.
51940
51941 2009-01-23  Jim Meyering  <meyering@redhat.com>
51942
51943         c-strtod: when ENDPTR is non-NULL, set *ENDPTR in new failure path
51944         * lib/c-strtod.c (C_STRTOD) [LC_ALL_MASKC]: Ensure that when
51945         ENDPTR is non-NULL, *ENDPTR is set to NPTR upon failure.
51946
51947 2009-01-23  Simon Josefsson  <simon@josefsson.org>
51948
51949         * lib/version-etc.c: Add emit_bug_reporting_address, inspired by
51950         GNU CoreUtils.
51951         * lib/version-etc.h: Add prototype for emit_bug_reporting_address.
51952         * modules/version-etc (Description): Update.
51953
51954 2009-01-22  Bruno Haible  <bruno@clisp.org>
51955
51956         Cache the C locale object.
51957         * lib/c-strtod.c (c_locale_cache): New variable.
51958         (c_locale): New function.
51959         (C_STRTOD): Use it, and don't call freelocale.
51960         * m4/c-strtod.m4 (gl_C_STRTOD, gl_C_STRTOLD): Require AC_C_INLINE.
51961         Suggested by Paolo Bonzini.
51962
51963 2009-01-21  Bruno Haible  <bruno@clisp.org>
51964
51965         * lib/getloadavg.c (getloadavg): Check c_strtod result against error
51966         conditions other than overflow.
51967
51968 2009-01-21  Bruno Haible  <bruno@clisp.org>
51969
51970         * lib/c-strtod.c: Include errno.h.
51971         (C_STRTOD): Check against NULL return from newlocale. Preserve errno
51972         value from STRTOD_L and STRTOD.
51973
51974 2009-01-21  Bruno Haible  <bruno@clisp.org>
51975         and Jim Meyering  <meyering@redhat.com>
51976
51977         nanosleep: skip configure test (fail it) for apple universal builds
51978         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_MULTIARCH. In Apple
51979         universal builds, assume that nanosleep does not work.
51980         * modules/nanosleep (Depends-on): Add multiarch.
51981
51982         mktime: skip configure test (fail it) for apple universal builds
51983         * m4/mktime.m4 (AC_FUNC_MKTIME): Require gl_MULTIARCH. In Apple
51984         universal builds, assume that mktime does not work.
51985         * modules/mktime (Depends-on): Add multiarch.
51986
51987 2009-01-21  Eric Blake  <ebb9@byu.net>
51988
51989         multiarch: avoid expand-before-require warning
51990         * modules/multiarch (configure.ac): Require, rather than expand,
51991         gl_MULTIARCH.
51992         * m4/multiarch.m4 (gl_MULTIARCH_BODY): Merge...
51993         (gl_MULTIARCH): ...into this macro, and use AC_DEFUN_ONCE to
51994         enforce that all clients require it.  Partial reversion of
51995         2008-12-29 patch.
51996
51997         error: avoid expand-before-require warning
51998         * modules/errno (configure.ac): Require, rather than expand,
51999         gl_HEADER_ERRNO_H.
52000         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Merge...
52001         (gl_HEADER_ERRNO_H): ...into this macro, and use AC_DEFUN_ONCE to
52002         enforce that all clients require it.
52003
52004         gnulib-tool: avoid warnings from using obsolete AC_GNU_SOURCE
52005         * gnulib-tool (func_dest_tmpfilename, func_create_testdir): Using
52006         obsolete AC_GNU_SOURCE causes out-of-order expansion; avoid it,
52007         and rely solely on gl_USE_SYSTEM_EXTENSIONS.
52008
52009 2009-01-21  Paolo Bonzini  <bonzini@gnu.org>
52010
52011         Revert:
52012         2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
52013
52014         regex: do not depend on obsolete modules.
52015         * modules/regex: Remove memcmp and memmove.
52016
52017 2009-01-20  Bruno Haible  <bruno@clisp.org>
52018
52019         Make the 'link' module link on Windows NT 4.
52020         * lib/link.c (_WIN32_WINNT): Don't define.
52021         (CreateHardLinkFuncType): New type.
52022         (CreateHardLinkFunc, initialized): New variables.
52023         (initialize): New function.
52024         (link): Invoke CreateHardLink indirectly through the function pointer.
52025
52026 2009-01-20  Bruno Haible  <bruno@clisp.org>
52027
52028         Fix compilation failure on mingw.
52029         * tests/test-link.c (main): Don't assume that EOPNOTSUPP exists.
52030
52031 2009-01-20  Michael Gold  <mgold@ncf.ca>  (tiny change)
52032
52033         * doc/c-strtod.texi: Mention a couple of restrictions.
52034
52035 2009-01-20  Jim Meyering  <meyering@redhat.com>
52036
52037         gettimeofday: move more declarations out of functions
52038         * lib/gettimeofday.c: Move extern declarations of tzset and
52039         gmtime out of containing functions.  Prompted by Bruno Haible.
52040
52041 2009-01-20  Paolo Bonzini  <bonzini@gnu.org>
52042
52043         regex: do not depend on obsolete modules.
52044         * modules/regex: Remove memcmp and memmove.
52045
52046 2009-01-19  Bruno Haible  <bruno@clisp.org>
52047
52048         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
52049         * modules/uniconv/u16-conv-from-enc (configure.ac): Require
52050         gl_BIGENDIAN, not AC_C_BIGENDIAN.
52051         * modules/uniconv/u16-conv-to-enc (configure.ac): Likewise.
52052         * modules/uniconv/u16-strconv-to-enc (configure.ac): Likewise.
52053
52054 2009-01-19  Bruno Haible  <bruno@clisp.org>
52055
52056         * tests/test-link.c: Include <errno.h>.
52057         (main): Exit with code 77 when a hard link cannot be created due to
52058         the file system.
52059         * tests/test-link.sh: Skip test when a hard link cannot be created due
52060         to the file system.
52061         Suggested by Eric Blake.
52062
52063 2009-01-19  Martin Lambers  <marlam@marlam.de>
52064
52065         * modules/link-tests: New file.
52066         * tests/test-link.sh: New file.
52067         * tests/test-link.c: New file.
52068
52069 2009-01-19  Eric Blake  <ebb9@byu.net>
52070
52071         doc: mention another function added in cygwin 1.7.0
52072         * doc/glibc-functions/glob_pattern_p.texi (glob_pattern_p):
52073         Another new function in cygwin 1.7.
52074
52075 2009-01-19  Bruno Haible  <bruno@clisp.org>
52076
52077         Don't use AC_REQUIRE([AC_C_BIGENDIAN]).
52078         * m4/gnulib-common.m4 (gl_BIGENDIAN): New macro.
52079         * m4/exponentl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require
52080         gl_BIGENDIAN, not AC_C_BIGENDIAN.
52081         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): Likewise.
52082         * m4/isinf.m4 (gl_ISINFL_WORKS): Likewise.
52083         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Likewise.
52084         * m4/md4.m4 (gl_MD4): Likewise.
52085         * m4/md5.m4 (gl_MD5): Likewise.
52086         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Likewise.
52087         * m4/sha1.m4 (gl_SHA1): Likewise.
52088         * m4/sha256.m4 (gl_SHA256): Likewise.
52089         * m4/sha512.m4 (gl_SHA512): Likewise.
52090
52091 2009-01-19  Bruno Haible  <bruno@clisp.org>
52092
52093         * modules/uniname/uniname-tests (Depends-on): Add progname.
52094         * tests/uniname/test-uninames.c: Include progname.h.
52095         (main): Call set_program_name.
52096
52097         * modules/unistdio/u8-vsprintf-tests (Depends-on): Add progname.
52098         * tests/unistdio/test-u8-vsprintf1.c: Include progname.h.
52099         (main): Call set_program_name.
52100
52101         * modules/unistdio/u8-vsnprintf-tests (Depends-on): Add progname.
52102         * tests/unistdio/test-u8-vsnprintf1.c: Include progname.h.
52103         (main): Call set_program_name.
52104
52105         * modules/unistdio/u16-vsprintf-tests (Depends-on): Add progname.
52106         * tests/unistdio/test-u16-vsprintf1.c: Include progname.h.
52107         (main): Call set_program_name.
52108
52109         * modules/unistdio/u16-vsnprintf-tests (Depends-on): Add progname.
52110         * tests/unistdio/test-u16-vsnprintf1.c: Include progname.h.
52111         (main): Call set_program_name.
52112
52113         * modules/unistdio/u32-vsprintf-tests (Depends-on): Add progname.
52114         * tests/unistdio/test-u32-vsprintf1.c: Include progname.h.
52115         (main): Call set_program_name.
52116
52117         * modules/unistdio/u32-vsnprintf-tests (Depends-on): Add progname.
52118         * tests/unistdio/test-u32-vsnprintf1.c: Include progname.h.
52119         (main): Call set_program_name.
52120
52121         * modules/unistdio/ulc-vsprintf-tests (Depends-on): Add progname.
52122         * tests/unistdio/test-ulc-vsprintf1.c: Include progname.h.
52123         (main): Call set_program_name.
52124
52125         * modules/unistdio/ulc-vsnprintf-tests (Depends-on): Add progname.
52126         * tests/unistdio/test-ulc-vsnprintf1.c: Include progname.h.
52127         (main): Call set_program_name.
52128
52129 2009-01-19  Eric Blake  <ebb9@byu.net>
52130
52131         test-unistd: test previous patch
52132         * tests/test-unistd.c: Test *_FILENO macros.
52133
52134         unistd: guarantee STDIN_FILENO here, for OS/2 EMX
52135         * lib/unistd.in.h (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
52136         Guarantee a definition.
52137         * doc/posix-headers/unistd.texi (unistd.h): Document the bug.
52138         * modules/unistd-safer (Depends-on): Add dependency on unistd.
52139         * lib/c-stack.c (STDERR_FILENO): Rely on <unistd.h>.
52140         * lib/dup-safer.c (STDERR_FILENO): Likewise.
52141         * lib/execute.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
52142         Likewise.
52143         * lib/fd-safer.c (STDIN_FILENO, STDERR_FILENO): Likewise.
52144         * lib/fopen-safer.c (STDERR_FILENO): Likewise.
52145         * lib/pipe.c (STDIN_FILENO, STDOUT_FILENO, STDERR_FILENO):
52146         Likewise.
52147         * lib/tmpfile-safer.c (STDERR_FILENO): Likewise.
52148         * tests/test-posix_spawn1.c (STDIN_FILENO, STDOUT_FILENO)
52149         (STDERR_FILENO): Likewise.
52150         * tests/test-posix_spawn2.c (STDIN_FILENO, STDOUT_FILENO)
52151         (STDERR_FILENO): Likewise.
52152         * tests/test-posix_spawn3.c (STDIN_FILENO, STDOUT_FILENO)
52153         (STDERR_FILENO): Likewise.
52154         Reported by Elbert Pol.
52155
52156 2009-01-19  Eric Blake  <ebb9@byu.net>
52157
52158         doc: mention more functions added in cygwin 1.7.0
52159         * doc/posix-functions/abort.texi (abort): Update wording related
52160         to cygwin.
52161         * doc/posix-functions/daylight.texi (daylight): Likewise.
52162         * doc/posix-functions/optarg.texi (optarg): Likewise.
52163         * doc/posix-functions/optarg.texi (opterr): Likewise.
52164         * doc/posix-functions/optarg.texi (optind): Likewise.
52165         * doc/posix-functions/optarg.texi (optopt): Likewise.
52166         * doc/posix-functions/wprintf.texi (wprintf): Cygwin wprintf never
52167         worked in 1.5.x, and was withdrawn in 1.7.
52168         * doc/posix-functions/vwprintf.texi (vwprintf): Likewise.
52169         * doc/posix-functions/fprintf.texi (fprintf): Tighten mention of
52170         cygwin versions.
52171         * doc/posix-functions/perror.texi (perror): Likewise.
52172         * doc/posix-functions/printf.texi (printf): Likewise.
52173         * doc/posix-functions/snprintf.texi (snprintf): Likewise.
52174         * doc/posix-functions/sprintf.texi (sprintf): Likewise.
52175         * doc/posix-functions/vfprintf.texi (vfprintf): Likewise.
52176         * doc/posix-functions/vprintf.texi (vprintf): Likewise.
52177         * doc/posix-functions/vsnprintf.texi (vsnprintf): Likewise.
52178         * doc/posix-functions/vsprintf.texi (vsprintf): Likewise.
52179         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
52180         Likewise.
52181         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
52182         Likewise.
52183         * doc/glibc-functions/cfmakeraw.texi (cfmakeraw): Cygwin 1.7 adds
52184         this function.
52185         * doc/glibc-functions/in6addr_any.texi (in6addr_any): Likewise.
52186         * doc/glibc-functions/in6addr_loopback.texi (in6addr_loopback):
52187         Likewise.
52188         * doc/glibc-functions/updwtmpx.texi (updwtmpx): Likewise.
52189         * doc/posix-functions/_Exit_C99.texi (_Exit): Likewise.
52190         * doc/posix-functions/confstr.texi (confstr): Likewise.
52191         * doc/posix-functions/dprintf.texi (dprintf): Likewise.
52192         * doc/posix-functions/fgetwc.texi (fgetwc): Likewise.
52193         * doc/posix-functions/fgetws.texi (fgetws): Likewise.
52194         * doc/posix-functions/fputwc.texi (fputwc): Likewise.
52195         * doc/posix-functions/fputws.texi (fputws): Likewise.
52196         * doc/posix-functions/fwide.texi (fwide): Likewise.
52197         * doc/posix-functions/getwc.texi (getwc): Likewise.
52198         * doc/posix-functions/getwchar.texi (getwchar): Likewise.
52199         * doc/posix-functions/putwc.texi (putwc): Likewise.
52200         * doc/posix-functions/putwchar.texi (putwchar): Likewise.
52201         * doc/posix-functions/sigignore.texi (sigignore): Likewise.
52202         * doc/posix-functions/ungetwc.texi (ungetwc): Likewise.
52203         * doc/posix-functions/vdprintf.texi (vdprintf): Likewise.
52204         * doc/posix-functions/wcpcpy.texi (wcpcpy): Likewise.
52205         * doc/posix-functions/wcpncpy.texi (wcpncpy): Likewise.
52206         * doc/posix-functions/wcstol.texi (wcstol): Likewise.
52207         * doc/posix-functions/wcstoll.texi (wcstoll): Likewise.
52208         * doc/posix-functions/wcstoul.texi (wcstoul): Likewise.
52209         * doc/posix-functions/wcstoull.texi (wcstoull): Likewise.
52210         * doc/posix-functions/wcsxfrm.texi (wcsxfrm): Likewise.
52211
52212 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
52213
52214         ioctl: avoid warning: no previous prototype for 'rpl_ioctl'
52215         * lib/ioctl.c: Include <sys/ioctl.h>.
52216
52217 2009-01-19  Simon Josefsson  <simon@josefsson.org>
52218
52219         * modules/getdate-tests (Depends-on): Add progname.
52220         * tests/test-getdate.c: Use progname module, to avoid link errors
52221         on non-glibc systems.
52222
52223 2009-01-18  Simon Josefsson  <simon@josefsson.org>
52224
52225         * modules/filenamecat-tests (Depends-on): Add progname.
52226         * modules/fstrcmp-tests (Depends-on): Likewise.
52227
52228         * tests/test-filenamecat.c: Use progname module, to avoid link
52229         errors on non-glibc systems.
52230         * tests/test-fstrcmp.c: Likewise.
52231
52232 2009-01-19  Daniel P. Berrange  <berrange@redhat.com>
52233
52234         gettimeofday: avoid warning: nested extern declaration of 'localtime'
52235         * lib/gettimeofday.c: Move extern declaration out of function.
52236
52237 2009-01-18  Bruno Haible  <bruno@clisp.org>
52238
52239         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mblen and mbrlen.
52240         * lib/strftime.c (HAVE_MBLEN, HAVE_MBRLEN): Remove macros.
52241         (MULTIBYTE_IS_FORMAT_SAFE): Define to 1 on all platforms except OSF/1.
52242
52243 2009-01-18  Bruno Haible  <bruno@clisp.org>
52244
52245         * lib/strftime.c (MEMPCPY): Remove unused macro.
52246         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't test for mempcpy.
52247
52248 2009-01-18  Martin Lambers  <marlam@marlam.de>
52249
52250         New module 'link'.
52251         * lib/unistd.in.h (link): New declaration.
52252         * lib/link.c: New file.
52253         * m4/link.m4: New file.
52254         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_LINK,
52255         HAVE_LINK.
52256         * modules/unistd (Makefile.am): Substitute GNULIB_LINK, HAVE_LINK.
52257         * modules/link: New file.
52258         * doc/posix-functions/link.texi: Mention the new module.
52259
52260 2009-01-18  Bruno Haible  <bruno@clisp.org>
52261
52262         * tests/test-avltree_list.c (main): Call set_program_name.
52263         * tests/test-avltree_oset.c (main): Likewise.
52264         * tests/test-obstack-printf.c: Include progname.h.
52265         (main): Call set_program_name.
52266         * tests/test-quotearg.c: Include progname.h.
52267         (main): Call set_program_name.
52268         * tests/test-xmemdup0.c: Include progname.h.
52269         (main): Call set_program_name.
52270
52271 2009-01-18  Bruno Haible  <bruno@clisp.org>
52272
52273         New module 'alphasort'.
52274         * lib/dirent.in.h (alphasort): New declaration.
52275         * lib/alphasort.c: New file, from glibc with modifications.
52276         * m4/alphasort.m4: New file.
52277         * modules/alphasort: New file.
52278         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_ALPHASORT,
52279         HAVE_ALPHASORT.
52280         * modules/dirent (Makefile.am): Substitute GNULIB_ALPHASORT,
52281         HAVE_ALPHASORT.
52282         * doc/posix-functions/alphasort.texi: Mention the new module and the
52283         portability problems.
52284
52285 2009-01-18  Bruno Haible  <bruno@clisp.org>
52286
52287         New module 'scandir'.
52288         * lib/dirent.in.h (scandir): New declaration.
52289         * lib/scandir.c: New file, from glibc with modifications.
52290         * m4/scandir.m4: New file.
52291         * modules/scandir: New file.
52292         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_SCANDIR,
52293         HAVE_SCANDIR.
52294         * modules/dirent (Makefile.am): Substitute GNULIB_SCANDIR,
52295         HAVE_SCANDIR.
52296         * doc/posix-functions/scandir.texi: Mention the new module and the
52297         portability problems.
52298
52299 2009-01-17  Bruno Haible  <bruno@clisp.org>
52300
52301         * gnulib-tool (func_remove_prefix): Escape all dots in the prefix.
52302         Update documentation.
52303         (func_remove_suffix): Escape all dots in the suffix. Update
52304         documentation.
52305         (func_filter_filelist): Update documentation.
52306         Reported by Ralf Wildenhues.
52307
52308 2009-01-17  Bruno Haible  <bruno@clisp.org>
52309
52310         * modules/dprintf-posix-tests: New file.
52311         * tests/test-dprintf-posix.sh: New file.
52312         * tests/test-dprintf-posix.c: New file.
52313
52314         New modules 'dprintf', 'dprintf-posix'.
52315         * lib/stdio.in.h (dprintf): New declaration.
52316         * lib/dprintf.c: New file.
52317         * m4/dprintf.m4: New file.
52318         * m4/dprintf-posix.m4: New file.
52319         * modules/dprintf: New file.
52320         * modules/dprintf-posix: New file.
52321         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_DPRINTF,
52322         HAVE_DPRINTF, REPLACE_DPRINTF.
52323         * modules/stdio (Makefile.am): Substitute also GNULIB_DPRINTF,
52324         HAVE_DPRINTF, REPLACE_DPRINTF.
52325         * doc/posix-functions/dprintf.texi: Mention the new modules.
52326
52327 2009-01-17  Bruno Haible  <bruno@clisp.org>
52328
52329         * modules/vdprintf-posix-tests: New file.
52330         * tests/test-vdprintf-posix.sh: New file.
52331         * tests/test-vdprintf-posix.c: New file.
52332
52333         New modules 'vdprintf', 'vdprintf-posix'.
52334         * lib/stdio.in.h (vdprintf): New declaration.
52335         * lib/vdprintf.c: New file.
52336         * m4/vdprintf.m4: New file.
52337         * m4/vdprintf-posix.m4: New file.
52338         * modules/vdprintf: New file.
52339         * modules/vdprintf-posix: New file.
52340         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_VDPRINTF,
52341         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52342         * modules/stdio (Makefile.am): Substitute also GNULIB_VDPRINTF,
52343         HAVE_VDPRINTF, REPLACE_VDPRINTF.
52344         * doc/posix-functions/vdprintf.texi: Mention the new modules.
52345
52346 2009-01-17  Bruno Haible  <bruno@clisp.org>
52347
52348         Fix replacement of fopen on mingw.
52349         * m4/fopen.m4 (gl_FUNC_FOPEN): Define FOPEN_TRAILING_SLASH_BUG also on
52350         mingw.
52351
52352 2009-01-17  Bruno Haible  <bruno@clisp.org>
52353
52354         Fix compilation error on HP-UX 11.00, present since 2008-09-24.
52355         * lib/fopen.c: Include <sys/types.h> and <sys/types.h>.
52356
52357 2009-01-17  Bruno Haible  <bruno@clisp.org>
52358
52359         Avoid test-fflush2.sh failure on mingw.
52360         * tests/test-fflush2.c: Include binary-io.h.
52361         (main): Put standard input into binary mode.
52362         * modules/fflush-tests (Depends-on): Add binary-io.
52363
52364 2009-01-17  Bruno Haible  <bruno@clisp.org>
52365
52366         * lib/wchar.in.h: In another particular situation, include only the
52367         system's <wchar.h> file.
52368         (_GL_ALREADY_INCLUDING_WCHAR_H): New macro.
52369         Reported by Albert Chin-A-Young <china@thewrittenword.com>
52370         and Thomas Guyot-Sionnest <dermoth@aei.ca>.
52371
52372 2009-01-17  Bruno Haible  <bruno@clisp.org>
52373
52374         Support for stripping executables in --enable-relocatable.
52375         * build-aux/install-reloc: Expect one more argument, or an environment
52376         variable RELOC_STRIP_PROG. If set, strip the destination program and
52377         its wrapper.
52378         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV, set
52379         RELOC_STRIP_PROG.
52380         * doc/relocatable-maint.texi (Supporting Relocation): Mention the need
52381         to set RELOCATABLE_STRIP.
52382         * NEWS: Mention the new Makefile requirement.
52383
52384 2009-01-17  Bruno Haible  <bruno@clisp.org>
52385
52386         * build-aux/install-reloc: Remove debugging information left over by
52387         C compiler on MacOS X.
52388
52389 2009-01-17  Bruno Haible  <bruno@clisp.org>
52390
52391         Update use of _NSGetExecutablePath after API change in MacOS X 10.4.
52392         * lib/progreloc.c (find_executable): Fix type of pointer passed to
52393         _NSGetExecutablePath.
52394
52395 2009-01-16  Jim Meyering  <meyering@redhat.com>
52396
52397         strerror: avoid warnings about discarding "const"
52398         * lib/strerror.c (rpl_strerror): Instead of returning a const
52399         string from each and every "case", use a variable, and add a single
52400         cast after the switch.
52401
52402 2009-01-16  Albert Chin-A-Young <china@thewrittenword.com>
52403
52404         * lib/arpa_inet.in.h: Add extern "C" block for C++.
52405
52406 2009-01-16  Bruno Haible  <bruno@clisp.org>
52407
52408         * m4/printf.m4 (gl_SNPRINTF_SIZE1, gl_VSNPRINTF_ZEROSIZE_C99): Use an
52409         array initializer syntax that also works in C++ mode.
52410         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52411
52412 2009-01-16  Jim Meyering  <meyering@redhat.com>
52413
52414         poll: suppress a warning
52415         * lib/poll.c: Use #pragma GCC diagnostic ignored "-Wtype-limits"
52416         to ignore "...unsigned expression < 0 is always false" warnings.
52417
52418 2009-01-16  Daniel P. Berrange  <berrange@redhat.com>
52419
52420         poll: remove declarations of unused variables
52421         * lib/poll.c (poll) [WIN32_NATIVE]: Remove declarations of unused
52422         sockbuf and optlen.
52423
52424 2009-01-15  Bruno Haible  <bruno@clisp.org>
52425
52426         Make fflush-after-ungetc POSIX compliant on BSD systems.
52427         * lib/fflush.c (clear_ungetc_buffer_preserving_position): New function.
52428         (clear_ungetc_buffer): Implement also for other systems.
52429         (rpl_fflush): On glibc systems, invoke
52430         clear_ungetc_buffer_preserving_position. Otherwise, invoke
52431         clear_ungetc_buffer after fetching the stream's position, not before.
52432
52433 2009-01-15  Bruno Haible  <bruno@clisp.org>
52434
52435         Make fflush-after-ungetc POSIX compliant on glibc systems.
52436         * m4/fflush.m4 (gl_FUNC_FFLUSH): Test also the behaviour of fflush
52437         after ungetc.
52438         * lib/fflush.c (clear_ungetc_buffer): Implement for glibc systems.
52439         (rpl_fflush): On glibc systems, simply call the system's fflush
52440         function after clearing the ungetc buffer.
52441         * lib/fseeko.c (rpl_fseeko): Don't try to lseek past the end of file.
52442         Instead, lseek only to the end of file, then use the system's fseeko
52443         for the rest. On glibc systems, reset the EOF indicator bit.
52444
52445 2009-01-15  Jim Meyering  <meyering@redhat.com>
52446
52447         openmp.m4: revert quote-adding change, for portability to older autoconf
52448         * m4/openmp.m4: Remove the quotes added on 2009-01-14.
52449         This reverts part of 42d1eda5dcce2d68deab7a642e7f29bcd7144a0d.
52450         Simon Josefsson noticed the problem when using autoconf-2.61.
52451
52452 2009-01-15  Bruno Haible  <bruno@clisp.org>
52453
52454         * tests/test-fflush2.sh: Invoke test-fflush2 twice.
52455         * tests/test-fflush2.c (ASSERT): Always fail.
52456         (main): Add two tests for fflush() after ungetc(), taking into account
52457         the Austin Group's clarification.
52458         Suggested by Eric Blake.
52459
52460 2009-01-15  Albert Chin-A-Young  <china@thewrittenword.com>
52461
52462         mktime.m4: remove K&R-style function prototypes
52463         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove K&R-style function prototypes
52464         for the Sun C++ compiler.
52465
52466 2009-01-14  Bruno Haible  <bruno@clisp.org>
52467
52468         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_WCHAR_H): New macro, defined
52469         while including <wchar.h>.
52470         * lib/wchar.in.h: In two particular situations on HP-UX, include only
52471         the system's <wchar.h> file.
52472         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
52473
52474 2009-01-14  Bruno Haible  <bruno@clisp.org>
52475
52476         * m4/csharp.m4: Don't mention gettext on the serial number line.
52477         * m4/csharpexec.m4: Likewise.
52478         * m4/eaccess.m4: Likewise.
52479         * m4/javaexec.m4: Likewise.
52480         * m4/sig_atomic_t.m4: Likewise.
52481         * m4/tmpdir.m4: Likewise.
52482         * m4/intldir.m4: Bump gettext version.
52483         * m4/lib-ld.m4: Likewise.
52484
52485 2009-01-14  Bruno Haible  <bruno@clisp.org>
52486
52487         * lib/progname.c (set_program_name): Add more comments.
52488         Reported by Sergey Poznyakoff <gray@gnu.org.ua>.
52489
52490 2009-01-14  Simon Josefsson  <simon@josefsson.org>
52491
52492         * lib/sys_stat.in.h: Include sys/types.h for nlink_t on systems
52493         were sys/stat.h does not define it.
52494
52495 2009-01-14  Jim Meyering  <meyering@redhat.com>
52496
52497         many *.m4 files: improve m4 quoting
52498         99% of this change was performed by running the following commands:
52499         git ls-files | grep '\.m4$' | xargs perl -pi \
52500           -e 's/(AC_\w+\()([^[()]+?)([,)])/$1\[$2]$3/g;' \
52501           -e 's/(AC_\w+\((?:\[[^,]+?\], ){1})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52502           -e 's/(AC_\w+\((?:\[[^,]+?\], ){2})([^,[()]+?)([,)])/$1\[$2]$3/g;' \
52503           -e 's/(AC_\w+\((?:\[[^,]+?\], ){3})([^,[()]+?)([,)])/$1\[$2]$3/g'
52504         perl -pi -e 's/\[\.\.\.\]/.../' m4/onceonly.m4
52505         The remainder were to add Copyright dates, increment serial numbers,
52506         undo some changes in comments, exclude m4/intl.m4, and add quotes
52507         around the "1" in ",1" where the unusual spacing prohibited the
52508         above regexps from doing the job.  For more details, see
52509         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16175>.
52510         * m4/acl.m4: Modified.
52511         * m4/afs.m4: Likewise.
52512         * m4/alloca.m4: Likewise.
52513         * m4/argp.m4: Likewise.
52514         * m4/argz.m4: Likewise.
52515         * m4/atexit.m4: Likewise.
52516         * m4/bison-i18n.m4: Likewise.
52517         * m4/bison.m4: Likewise.
52518         * m4/byteswap.m4: Likewise.
52519         * m4/c-stack.m4: Likewise.
52520         * m4/c-strtod.m4: Likewise.
52521         * m4/calloc.m4: Likewise.
52522         * m4/canonicalize-lgpl.m4: Likewise.
52523         * m4/chown.m4: Likewise.
52524         * m4/clock_time.m4: Likewise.
52525         * m4/codeset.m4: Likewise.
52526         * m4/copy-file.m4: Likewise.
52527         * m4/csharp.m4: Likewise.
52528         * m4/csharpcomp.m4: Likewise.
52529         * m4/csharpexec.m4: Likewise.
52530         * m4/d-ino.m4: Likewise.
52531         * m4/d-type.m4: Likewise.
52532         * m4/dirfd.m4: Likewise.
52533         * m4/double-slash-root.m4: Likewise.
52534         * m4/eaccess.m4: Likewise.
52535         * m4/eealloc.m4: Likewise.
52536         * m4/environ.m4: Likewise.
52537         * m4/errno_h.m4: Likewise.
52538         * m4/euidaccess.m4: Likewise.
52539         * m4/execute.m4: Likewise.
52540         * m4/fatal-signal.m4: Likewise.
52541         * m4/fchdir.m4: Likewise.
52542         * m4/fcntl_h.m4: Likewise.
52543         * m4/fileblocks.m4: Likewise.
52544         * m4/filenamecat.m4: Likewise.
52545         * m4/findprog.m4: Likewise.
52546         * m4/flexmember.m4: Likewise.
52547         * m4/fnmatch.m4: Likewise.
52548         * m4/fopen.m4: Likewise.
52549         * m4/fpending.m4: Likewise.
52550         * m4/fprintf-posix.m4: Likewise.
52551         * m4/free.m4: Likewise.
52552         * m4/frexp.m4: Likewise.
52553         * m4/frexpl.m4: Likewise.
52554         * m4/fsusage.m4: Likewise.
52555         * m4/ftruncate.m4: Likewise.
52556         * m4/gc-camellia.m4: Likewise.
52557         * m4/gc-random.m4: Likewise.
52558         * m4/gc.m4: Likewise.
52559         * m4/getaddrinfo.m4: Likewise.
52560         * m4/getcwd-abort-bug.m4: Likewise.
52561         * m4/getcwd-path-max.m4: Likewise.
52562         * m4/getdate.m4: Likewise.
52563         * m4/getdomainname.m4: Likewise.
52564         * m4/getgroups.m4: Likewise.
52565         * m4/gethostname.m4: Likewise.
52566         * m4/gethrxtime.m4: Likewise.
52567         * m4/getline.m4: Likewise.
52568         * m4/getloadavg.m4: Likewise.
52569         * m4/getndelim2.m4: Likewise.
52570         * m4/getpass.m4: Likewise.
52571         * m4/gettext.m4: Likewise.
52572         * m4/gettime.m4: Likewise.
52573         * m4/gettimeofday.m4: Likewise.
52574         * m4/gnulib-common.m4: Likewise.
52575         * m4/group-member.m4: Likewise.
52576         * m4/host-os.m4: Likewise.
52577         * m4/iconv.m4: Likewise.
52578         * m4/iconv_open.m4: Likewise.
52579         * m4/inet_ntop.m4: Likewise.
52580         * m4/inet_pton.m4: Likewise.
52581         * m4/inline.m4: Likewise.
52582         * m4/intldir.m4: Likewise.
52583         * m4/intlmacosx.m4: Likewise.
52584         * m4/intmax.m4: Likewise.
52585         * m4/intmax_t.m4: Likewise.
52586         * m4/inttypes.m4: Likewise.
52587         * m4/inttypes_h.m4: Likewise.
52588         * m4/inttypes-pri.m4: Likewise.
52589         * m4/isapipe.m4: Likewise.
52590         * m4/isnand.m4: Likewise.
52591         * m4/isnanf.m4: Likewise.
52592         * m4/isnanl.m4: Likewise.
52593         * m4/javacomp.m4: Likewise.
52594         * m4/javaexec.m4: Likewise.
52595         * m4/jm-winsz1.m4: Likewise.
52596         * m4/jm-winsz2.m4: Likewise.
52597         * m4/lchown.m4: Likewise.
52598         * m4/lcmessage.m4: Likewise.
52599         * m4/ldexpl.m4: Likewise.
52600         * m4/lib-ld.m4: Likewise.
52601         * m4/lib-link.m4: Likewise.
52602         * m4/libsigsegv.m4: Likewise.
52603         * m4/link-follow.m4: Likewise.
52604         * m4/localcharset.m4: Likewise.
52605         * m4/locale-fr.m4: Likewise.
52606         * m4/locale-ja.m4: Likewise.
52607         * m4/locale-tr.m4: Likewise.
52608         * m4/locale-zh.m4: Likewise.
52609         * m4/lock.m4: Likewise.
52610         * m4/longlong.m4: Likewise.
52611         * m4/ls-mntd-fs.m4: Likewise.
52612         * m4/lstat.m4: Likewise.
52613         * m4/malloc.m4: Likewise.
52614         * m4/mathl.m4: Likewise.
52615         * m4/mbrtowc.m4: Likewise.
52616         * m4/mbstate_t.m4: Likewise.
52617         * m4/mbswidth.m4: Likewise.
52618         * m4/memchr.m4: Likewise.
52619         * m4/memcmp.m4: Likewise.
52620         * m4/memcpy.m4: Likewise.
52621         * m4/memmem.m4: Likewise.
52622         * m4/memmove.m4: Likewise.
52623         * m4/mempcpy.m4: Likewise.
52624         * m4/memrchr.m4: Likewise.
52625         * m4/memset.m4: Likewise.
52626         * m4/minmax.m4: Likewise.
52627         * m4/mkdir-slash.m4: Likewise.
52628         * m4/mkdtemp.m4: Likewise.
52629         * m4/mktime.m4: Likewise.
52630         * m4/mmap-anon.m4: Likewise.
52631         * m4/mountlist.m4: Likewise.
52632         * m4/nanosleep.m4: Likewise.
52633         * m4/nls.m4: Likewise.
52634         * m4/nocrash.m4: Likewise.
52635         * m4/open.m4: Likewise.
52636         * m4/openat.m4: Likewise.
52637         * m4/openmp.m4: Likewise.
52638         * m4/pathmax.m4: Likewise.
52639         * m4/perl.m4: Likewise.
52640         * m4/physmem.m4: Likewise.
52641         * m4/pipe.m4: Likewise.
52642         * m4/po.m4: Likewise.
52643         * m4/poll.m4: Likewise.
52644         * m4/posixtm.m4: Likewise.
52645         * m4/posixver.m4: Likewise.
52646         * m4/printf-frexp.m4: Likewise.
52647         * m4/printf-frexpl.m4: Likewise.
52648         * m4/printf-posix.m4: Likewise.
52649         * m4/printf-posix-rpl.m4: Likewise.
52650         * m4/printf.m4: Likewise.
52651         * m4/progtest.m4: Likewise.
52652         * m4/putenv.m4: Likewise.
52653         * m4/readline.m4: Likewise.
52654         * m4/readlink.m4: Likewise.
52655         * m4/readutmp.m4: Likewise.
52656         * m4/realloc.m4: Likewise.
52657         * m4/regex.m4: Likewise.
52658         * m4/relocatable.m4: Likewise.
52659         * m4/relocatable-lib.m4: Likewise.
52660         * m4/rename-dest-slash.m4: Likewise.
52661         * m4/rename.m4: Likewise.
52662         * m4/rmdir-errno.m4: Likewise.
52663         * m4/rmdir.m4: Likewise.
52664         * m4/roundf.m4: Likewise.
52665         * m4/roundl.m4: Likewise.
52666         * m4/rpmatch.m4: Likewise.
52667         * m4/save-cwd.m4: Likewise.
52668         * m4/selinux-selinux-h.m4: Likewise.
52669         * m4/setenv.m4: Likewise.
52670         * m4/settime.m4: Likewise.
52671         * m4/sig2str.m4: Likewise.
52672         * m4/sig_atomic_t.m4: Likewise.
52673         * m4/signalblocking.m4: Likewise.
52674         * m4/signbit.m4: Likewise.
52675         * m4/sigpipe.m4: Likewise.
52676         * m4/sockets.m4: Likewise.
52677         * m4/sockpfaf.m4: Likewise.
52678         * m4/st_dm_mode.m4: Likewise.
52679         * m4/stat-time.m4: Likewise.
52680         * m4/stdbool.m4: Likewise.
52681         * m4/stdint.m4: Likewise.
52682         * m4/stdint_h.m4: Likewise.
52683         * m4/stpcpy.m4: Likewise.
52684         * m4/stpncpy.m4: Likewise.
52685         * m4/strcase.m4: Likewise.
52686         * m4/strchrnul.m4: Likewise.
52687         * m4/strcspn.m4: Likewise.
52688         * m4/strdup.m4: Likewise.
52689         * m4/strftime.m4: Likewise.
52690         * m4/strndup.m4: Likewise.
52691         * m4/strnlen.m4: Likewise.
52692         * m4/strpbrk.m4: Likewise.
52693         * m4/strptime.m4: Likewise.
52694         * m4/strsep.m4: Likewise.
52695         * m4/strtod.m4: Likewise.
52696         * m4/strtoimax.m4: Likewise.
52697         * m4/strtok_r.m4: Likewise.
52698         * m4/strtol.m4: Likewise.
52699         * m4/strtoll.m4: Likewise.
52700         * m4/strtoul.m4: Likewise.
52701         * m4/strtoull.m4: Likewise.
52702         * m4/strtoumax.m4: Likewise.
52703         * m4/strverscmp.m4: Likewise.
52704         * m4/threadlib.m4: Likewise.
52705         * m4/timegm.m4: Likewise.
52706         * m4/tm_gmtoff.m4: Likewise.
52707         * m4/tmpdir.m4: Likewise.
52708         * m4/tmpfile.m4: Likewise.
52709         * m4/tzset.m4: Likewise.
52710         * m4/uintmax_t.m4: Likewise.
52711         * m4/unlinkdir.m4: Likewise.
52712         * m4/unlocked-io.m4: Likewise.
52713         * m4/uptime.m4: Likewise.
52714         * m4/userspec.m4: Likewise.
52715         * m4/utimbuf.m4: Likewise.
52716         * m4/utime.m4: Likewise.
52717         * m4/utimes-null.m4: Likewise.
52718         * m4/utimes.m4: Likewise.
52719         * m4/vararrays.m4: Likewise.
52720         * m4/vasnprintf.m4: Likewise.
52721         * m4/vfprintf-posix.m4: Likewise.
52722         * m4/vprintf-posix.m4: Likewise.
52723         * m4/wait-process.m4: Likewise.
52724         * m4/wchar_t.m4: Likewise.
52725         * m4/wint_t.m4: Likewise.
52726         * m4/write-any-file.m4: Likewise.
52727         * m4/yield.m4: Likewise.
52728
52729 2009-01-13  Bruno Haible  <bruno@clisp.org>
52730
52731         Avoid test-copy-file.sh failures when ACL support insufficient.
52732         * modules/copy-file-tests (Makefile.am): Pass USE_ACL in
52733         TESTS_ENVIRONMENT.
52734         * tests/test-copy-file.sh: Skip the ACL comparisons if USE_ACL is 0.
52735         Reported by Jim Meyering.
52736
52737 2009-01-13  Bruno Haible  <bruno@clisp.org>
52738
52739         * modules/unistdio/u-printf-args (Files): Add m4/stdint_h.m4 and
52740         m4/inttypes_h.m4, needed by m4/intmax_t.m4.
52741         * modules/unistdio/u8-printf-parse (Files): Likewise.
52742         * modules/unistdio/u32-printf-parse (Files): Likewise.
52743         * modules/unistdio/ulc-printf-parse (Files): Likewise.
52744
52745 2009-01-13  Simon Josefsson  <simon@josefsson.org>
52746
52747         * modules/unistdio/u16-printf-parse (Files): Add m4/stdint_h.m4
52748         and m4/inttypes_h.m4 too.
52749
52750 2009-01-12  Eric Blake  <ebb9@byu.net>
52751
52752         tests: IRIX 6.2 cc can't compile -0.0 into .data
52753         * tests/test-ceill.c (minus_zero): Compute -0.0L at runtime,
52754         rather than at compile-time.
52755         * tests/test-floorl.c (minus_zero): Likewise.
52756         * tests/test-frexpl.c (minus_zero): Likewise.
52757         * tests/test-isnan.c (minus_zerol): Likewise.
52758         * tests/test-isnanl.h (minus_zero): Likewise.
52759         * tests/test-ldexpl.c (minus_zero): Likewise.
52760         * tests/test-roundl.c (minus_zero): Likewise.
52761         * tests/test-signbit.c (minus_zerol): Likewise.
52762         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
52763         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
52764         * tests/test-truncl.c (minus_zero): Likewise.
52765         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
52766         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
52767         Reported by Tom G. Christensen and Nelson H. F. Beebe.
52768
52769 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52770
52771         regex: fix glibc bug 9697
52772         * lib/regcomp.c (re_compile_fastmap_iter): Rewrite COMPLEX_BRACKET
52773         handling.
52774
52775 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52776
52777         regex: fix glibc bug 697
52778         * lib/regexec.c (prune_impossible_nodes): Handle sifted_states[0]
52779         being NULL also if there are no backreferences.
52780
52781 2009-01-09  Paolo Bonzini  <bonzini@gnu.org>
52782
52783         regex: merge glibc changes
52784         * lib/regcomp.c (re_compile_fastmap_iter): Use __mbrtowc.
52785         * lib/regex_internal.c (build_wcs_buffer, build_wcs_upper_buffer,
52786         re_string_skip_chars, re_string_reconstruct): Likewise.
52787         * lib/regex_internal.h [!_LIBC] (__mbrtowc): New #define.
52788
52789 2009-01-07  Jim Meyering  <meyering@redhat.com>
52790
52791         poll: filter through cppi
52792         * lib/poll.c: Indent cpp directives to reflect nesting.
52793
52794 2009-01-07  Daniel P. Berrange  <berrange@redhat.com>
52795
52796         poll: don't return uninitialized
52797         * lib/poll.c (poll) [WIN32_NATIVE]: Initialize "rc".
52798
52799 2009-01-06  Jeremy Olexa <darkside@gentoo.org>  (tiny change)
52800
52801         avoid compile failure on AIX 6.1
52802         * lib/getloadavg.c [HAVE_LIBPERFSTAT]: Include <sys/protosw.h>.
52803         Details in http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/15465
52804
52805 2009-01-04  Jim Meyering  <meyering@redhat.com>
52806
52807         remove duplicate inclusion of <stdio.h>
52808         * tests/test-fprintf-posix.c: Likewise.
52809         * tests/test-printf-posix.c: Likewise.
52810         * tests/test-snprintf-posix.c: Likewise.
52811         * tests/test-sprintf-posix.c: Likewise.
52812         * tests/test-vasprintf-posix.c: Likewise.
52813         * tests/test-vfprintf-posix.c: Likewise.
52814         * tests/test-vprintf-posix.c: Likewise.
52815         * tests/test-vsnprintf-posix.c: Likewise.
52816         * tests/test-vsprintf-posix.c: Likewise.
52817
52818 2009-01-03  Jim Meyering  <meyering@redhat.com>
52819
52820         gnulib-tool: fix sed-based filtering
52821         * gnulib-tool (func_filter_filelist): Remove extra backslash
52822         in sed_fff_filter definition.
52823
52824 2009-01-02  Jim Meyering  <meyering@redhat.com>
52825
52826         strftime: avoid compilation failure on Solaris 2.6
52827         * modules/strftime (Depends-on): Add mbrlen and mbsinit.
52828         * lib/strftime.c [DO_MULTIBYTE]: Include <wchar.h> unconditionally.
52829         Don't #define mbrlen or mbsinit, since now they're guaranteed to
52830         be available.  Reported by Tom G. Christensen.  Details in
52831         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/16180>.
52832
52833 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52834             Bruno Haible  <bruno@clisp.org>
52835
52836         Speed up gnulib-tool by doing more string processing through shell
52837         built-ins.
52838         * gnulib-tool (fast_func_append): New variable.
52839         (func_remove_prefix, func_remove_suffix): New functions.
52840         (fast_func_remove_prefix, fast_func_remove_suffix): New variables.
52841         (func_filter_filelist): New function.
52842         (func_get_dependencies): Use func_remove_suffix instead of sed.
52843         (func_get_automake_snippet): Use func_filter_filelist instead of a
52844         subshell and sed invocation.
52845
52846 2009-01-01  Bruno Haible  <bruno@clisp.org>
52847
52848         Fix a security bug.
52849         * gnulib-tool (func_import, import, update): Don't allow the characters
52850         '"', '$', '`', '\' in macro arguments that become part of commands that
52851         are evaluated.
52852
52853 2009-01-01  Bruno Haible  <bruno@clisp.org>
52854
52855         * gnulib-tool (func_reset_sigpipe): Add more comments.
52856
52857 2009-01-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52858
52859         * gnulib-tool (func_modules_add_dummy, func_emit_lib_Makefile_am,
52860         func_emit_tests_Makefile_am, func_import): Abort loops early if we
52861         already know the answer.
52862
52863 2009-01-01  Jim Meyering  <meyering@redhat.com>
52864
52865         * lib/version-etc.c (version_etc_va): Update copyright year.
52866
52867 2008-12-30  Bruno Haible  <bruno@clisp.org>
52868
52869         * m4/lib-prefix.m4 (AC_LIB_LINKFLAGS_BODY): Don't overwrite
52870         LIB${NAME}_PREFIX when considering the dependencies of lib${name}.
52871         Reported by Charles Wilson <cygwin@cwilson.fastmail.fm>.
52872
52873 2008-12-29  Eric Blake  <ebb9@byu.net>
52874
52875         multiarch: avoid autoconf AC_REQUIRE bug
52876         * m4/multiarch.m4 (gl_MULTIARCH): Split body...
52877         (gl_MULTIARCH_BODY): ...into new macro, to work around bug in Autoconf
52878         2.63 and older.
52879         Reported by Bruno Haible, and analyzed in
52880         http://lists.gnu.org/archive/html/bug-autoconf/2008-12/msg00039.html
52881
52882 2008-12-29  Bruno Haible  <bruno@clisp.org>
52883
52884         * gnulib-tool (func_import): When generating sed-ignore-removed, handle
52885         files in subdirectories correctly.
52886         Reported by Ralf Wildenhues.
52887
52888 2008-12-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
52889
52890         * gnulib-tool (func_update_ignorelist): Use 'join - FILE'
52891         rather than 'join FILE -', for Solaris join.
52892
52893 2008-12-29  Bruno Haible  <bruno@clisp.org>
52894
52895         * m4/codeset.m4 (AM_LANGINFO_CODESET): More systematic m4 argument
52896         quoting.
52897         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
52898         * m4/glibc2.m4 (gt_GLIBC2): Likewise.
52899         * m4/glibc21.m4 (gl_GLIBC21): Likewise.
52900         * m4/iconv.m4 (AM_ICONV_LINK, AM_ICONV): Likewise.
52901         * m4/intdiv0.m4 (gt_INTDIV0): Likewise.
52902         * m4/intlmacosx.m4 (gt_INTL_MACOSX): Likewise.
52903         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Likewise.
52904         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Likewise.
52905         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
52906         * m4/lcmessage.m4 (gt_LC_MESSAGES): Likewise.
52907         * m4/nls.m4 (AM_NLS): Likewise.
52908         * m4/po.m4 (AM_PO_SUBDIRS): Likewise.
52909         * m4/printf-posix.m4 (gt_PRINTF_POSIX): Likewise.
52910         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
52911         * m4/size_max.m4 (gl_SIZE_MAX): Likewise.
52912         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Likewise.
52913         * m4/threadlib.m4 (gl_THREADLIB_BODY): Likewise.
52914         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Likewise.
52915         * m4/visibility.m4 (gl_VISIBILITY): Likewise.
52916         * m4/wchar_t.m4 (gt_TYPE_WCHAR_T): Likewise.
52917         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
52918         * m4/xsize.m4 (gl_XSIZE): Likewise.
52919         Suggested by Jim Meyering.
52920
52921 2008-11-17  Bruce Korb  <bkorb@gnu.org>
52922
52923         * lib/parse-duration.h: non-iso form accepts years, months weeks, too
52924         * lib/parse-duration.c: use a switch instead of cascading if's.
52925
52926 2008-12-29  Eric Blake  <ebb9@byu.net>
52927
52928         wchar.h: supply WEOF on Irix 5.3
52929         * lib/wchar.in.h (wint_t): Also supply WEOF.
52930         * lib/wctype.in.h (wint_t): Likewise.
52931         * doc/posix-headers/wchar.texi (wchar.h): Document the bug.
52932         * doc/posix-headers/wctype.texi (wctype.h): Likewise.
52933         Reported by Tom G. Christensen.
52934
52935 2008-12-26  Bruno Haible  <bruno@clisp.org>
52936
52937         * m4/multiarch.m4 (gl_MULTIARCH): Recognize also the architecture names
52938         i486, i586, i686.
52939
52940 2008-12-26  Bruno Haible  <bruno@clisp.org>
52941
52942         * lib/stdlib.in.h (struct random_data): Fix indentation of comments.
52943
52944 2008-12-26  Bruno Haible  <bruno@clisp.org>
52945
52946         * lib/stdint.in.h: Move the include of <wchar.h> down until after all
52947         the types are defined. Also conditionalize it on __STDC_LIMIT_MACROS,
52948         not __STDC_CONSTANT_MACROS.
52949         Reported by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
52950
52951 2008-12-25  Bruno Haible  <bruno@clisp.org>
52952
52953         Add support for universal builds to vasnprintf.
52954         * m4/printf.m4 (gl_PRINTF_ENOMEM): Require gl_MULTIARCH. In Apple
52955         universal builds, guess no.
52956         * modules/vasnprintf-posix (Depends-on): Add multiarch.
52957         * modules/vasprintf-posix (Depends-on): Likewise.
52958         * modules/fprintf-posix (Depends-on): Likewise.
52959         * modules/vfprintf-posix (Depends-on): Likewise.
52960         * modules/snprintf-posix (Depends-on): Likewise.
52961         * modules/vsnprintf-posix (Depends-on): Likewise.
52962         * modules/sprintf-posix (Depends-on): Likewise.
52963         * modules/vsprintf-posix (Depends-on): Likewise.
52964         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
52965         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
52966         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
52967         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
52968         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
52969         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
52970         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
52971
52972         Add support for universal builds to <inttypes.h>.
52973         * lib/inttypes.in.h (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX,
52974         _SCNu64_PREFIX): In Apple
52975         universal builds, define directly, using _LP64.
52976         * m4/inttypes.m4 (gl_INTTYPES_H): In Apple universal builds, set
52977         INT64_MAX_EQ_LONG_MAX and UINT64_MAX_EQ_ULONG_MAX to -1.
52978         * modules/inttypes (Depends-on): Add multiarch.
52979         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52980
52981         Add support for universal builds to <stdint.h>.
52982         * lib/stdint.in.h (PDFDIFF_MIN, PTRDIFF_MAX, SIZE_MAX): In Apple
52983         universal builds, define directly, using _LP64.
52984         * m4/stdint.m4 (gl_STDINT_TYPE_PROPERTIES): Require gl_MULTIARCH. In
52985         Apple universal builds, don't test for the size and suffix of ptrdiff_t
52986         and size_t.
52987         * modules/stdint (Depends-on): Add multiarch.
52988         (Makefile.am): Substitute APPLE_UNIVERSAL_BUILD.
52989
52990         New module 'multiarch'.
52991         * modules/multiarch: New file.
52992         * m4/multiarch.m4: New file.
52993
52994 2008-12-25  Bruno Haible  <bruno@clisp.org>
52995
52996         * gnulib-tool (func_create_testdir): Avoid failure of mv command.
52997
52998 2008-12-25  Bruno Haible  <bruno@clisp.org>
52999
53000         * modules/btowc (License): Relicense under LGPLv2+.
53001         * modules/mbsinit (License): Likewise.
53002         * modules/mbrtowc (License): Likewise.
53003         * modules/wcrtomb (License): Likewise.
53004         * modules/streq (License): Likewise.
53005         Reported by David Lutterkort <lutter@redhat.com>.
53006
53007 2008-12-23  Bruno Haible  <bruno@clisp.org>
53008
53009         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Fix conditional and comment.
53010
53011 2008-12-23  Bruno Haible  <bruno@clisp.org>
53012
53013         Module getaddrinfo requires linking with $(GETADDRINFO_LIB).
53014         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Put link options into
53015         GETADDRINFO_LIB, not in LIBS.
53016         * modules/getaddrinfo (Link): Set to $(GETADDRINFO_LIB).
53017         * modules/canon-host (Link): Likewise.
53018         * NEWS: Mention the change.
53019         * modules/getaddrinfo-tests (test_getaddrinfo_LDADD): Add the
53020         GETADDRINFO_LIB.
53021
53022 2008-12-22  Bruno Haible  <bruno@clisp.org>
53023
53024         * doc/posix-functions/iswalnum_l.texi: Mention limitation of wchar_t.
53025         * doc/posix-functions/iswalpha_l.texi: Likewise.
53026         * doc/posix-functions/iswblank_l.texi: Likewise.
53027         * doc/posix-functions/iswcntrl_l.texi: Likewise.
53028         * doc/posix-functions/iswctype_l.texi: Likewise.
53029         * doc/posix-functions/iswdigit_l.texi: Likewise.
53030         * doc/posix-functions/iswgraph_l.texi: Likewise.
53031         * doc/posix-functions/iswlower_l.texi: Likewise.
53032         * doc/posix-functions/iswprint_l.texi: Likewise.
53033         * doc/posix-functions/iswpunct_l.texi: Likewise.
53034         * doc/posix-functions/iswspace_l.texi: Likewise.
53035         * doc/posix-functions/iswupper_l.texi: Likewise.
53036         * doc/posix-functions/iswxdigit_l.texi: Likewise.
53037         * doc/posix-functions/mbsnrtowcs.texi: Likewise.
53038         * doc/posix-functions/open_wmemstream.texi: Likewise.
53039         * doc/posix-functions/swscanf.texi: Likewise.
53040         * doc/posix-functions/towctrans_l.texi: Likewise.
53041         * doc/posix-functions/towlower.texi: Likewise.
53042         * doc/posix-functions/towlower_l.texi: Likewise.
53043         * doc/posix-functions/towupper.texi: Likewise.
53044         * doc/posix-functions/towupper_l.texi: Likewise.
53045         * doc/posix-functions/vfwprintf.texi: Likewise.
53046         * doc/posix-functions/vfwscanf.texi: Likewise.
53047         * doc/posix-functions/vswscanf.texi: Likewise.
53048         * doc/posix-functions/vwprintf.texi: Likewise.
53049         * doc/posix-functions/vwscanf.texi: Likewise.
53050         * doc/posix-functions/wcpcpy.texi: Likewise.
53051         * doc/posix-functions/wcpncpy.texi: Likewise.
53052         * doc/posix-functions/wcscasecmp.texi: Likewise.
53053         * doc/posix-functions/wcscasecmp_l.texi: Likewise.
53054         * doc/posix-functions/wcscoll_l.texi: Likewise.
53055         * doc/posix-functions/wcsdup.texi: Likewise.
53056         * doc/posix-functions/wcsncasecmp.texi: Likewise.
53057         * doc/posix-functions/wcsncasecmp_l.texi: Likewise.
53058         * doc/posix-functions/wcsnlen.texi: Likewise.
53059         * doc/posix-functions/wcsnrtombs.texi: Likewise.
53060         * doc/posix-functions/wcsxfrm_l.texi: Likewise.
53061         * doc/posix-functions/wctrans_l.texi: Likewise.
53062         * doc/posix-functions/wctype_l.texi: Likewise.
53063         * doc/glibc-functions/fgetwc_unlocked.texi: Likewise.
53064         * doc/glibc-functions/fgetws_unlocked.texi: Likewise.
53065         * doc/glibc-functions/fputwc_unlocked.texi: Likewise.
53066         * doc/glibc-functions/fputws_unlocked.texi: Likewise.
53067         * doc/glibc-functions/getwc_unlocked.texi: Likewise.
53068         * doc/glibc-functions/getwchar_unlocked.texi: Likewise.
53069         * doc/glibc-functions/putwc_unlocked.texi: Likewise.
53070         * doc/glibc-functions/putwchar_unlocked.texi: Likewise.
53071         * doc/glibc-functions/wcschrnul.texi: Likewise.
53072         * doc/glibc-functions/wcsftime_l.texi: Likewise.
53073         * doc/glibc-functions/wcstod_l.texi: Likewise.
53074         * doc/glibc-functions/wcstof_l.texi: Likewise.
53075         * doc/glibc-functions/wcstol_l.texi: Likewise.
53076         * doc/glibc-functions/wcstold_l.texi: Likewise.
53077         * doc/glibc-functions/wcstoll_l.texi: Likewise.
53078         * doc/glibc-functions/wcstoq.texi: Likewise.
53079         * doc/glibc-functions/wcstoul_l.texi: Likewise.
53080         * doc/glibc-functions/wcstoull_l.texi: Likewise.
53081         * doc/glibc-functions/wcstouq.texi: Likewise.
53082         * doc/glibc-functions/wmempcpy.texi: Likewise.
53083
53084 2008-12-22  Ingo Weinhold  <ingo_weinhold@gmx.de>  (tiny change)
53085             Eric Blake  <ebb9@byu.net>
53086             Paolo Bonzini  <bonzini@gnu.org>
53087             Bruno Haible  <bruno@clisp.org>
53088
53089         Make c-stack work on Haiku.
53090         * lib/c-stack.c (SA_ONSTACK): Define fallback.
53091         (c_stack_action): Use SA_ONSTACK flag.
53092
53093 2008-12-22  Bruno Haible  <bruno@clisp.org>
53094
53095         * m4/locale-fr.m4 (gt_LOCALE_FR_UTF8): Treat Haiku like BeOS.
53096
53097 2008-12-22  Bruno Haible  <bruno@clisp.org>
53098
53099         Work around mbrlen() bugs on AIX, HP-UX, OSF/1, Solaris.
53100         * m4/mbrlen.m4 (gl_FUNC_MBRLEN): Set REPLACE_MBRLEN if mbrtowc is
53101         being overridden.
53102         (gl_MBRLEN_INCOMPLETE_STATE, gl_MBRLEN_RETVAL, gl_MBRLEN_NUL_RETVAL):
53103         New macros.
53104         * lib/wchar.in.h (mbrlen): Override if REPLACE_MBRLEN is set.
53105         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBRLEN.
53106         * modules/wchar (Makefile.am): Substitute REPLACE_MBRLEN.
53107         * doc/posix-functions/mbrlen.texi: Mention the various platform bugs.
53108
53109 2008-12-22  Bruno Haible  <bruno@clisp.org>
53110
53111         * m4/mbrtowc.m4 (gl_MBRTOWC_INCOMPLETE_STATE): Remove unused variable
53112         from test code.
53113
53114 2008-12-22  Eric Blake  <ebb9@byu.net>
53115
53116         Avoid gcc warnings on cygwin.
53117         * lib/regex_internal.c (re_string_reconstruct) [!RE_ENABLE_I18N]:
53118         Avoid unused variable.
53119         * lib/regexec.c (check_arrival_add_next_nodes) [!RE_ENABLE_I18N]:
53120         Likewise.
53121
53122 2008-12-22  Bruno Haible  <bruno@clisp.org>
53123
53124         Remove HAVE_MBRTOWC conditionals.
53125         * lib/mbscasecmp.c: Include mbuiter.h unconditionally.
53126         (mbscasecmp): Assume mbrtowc function.
53127         * lib/mbscasestr.c: Include mbuiter.h unconditionally.
53128         (knuth_morris_pratt_multibyte, mbscasestr): Assume mbrtowc function.
53129         * lib/mbschr.c: Include mbuiter.h unconditionally.
53130         (mbschr): Assume mbrtowc function.
53131         * lib/mbscspn.c: Include mbuiter.h unconditionally.
53132         (mbscspn): Assume mbrtowc function.
53133         * lib/mbslen.c: Include mbuiter.h unconditionally.
53134         (mbslen): Assume mbrtowc function.
53135         * lib/mbsncasecmp.c: Include mbuiter.h unconditionally.
53136         (mbsncasecmp): Assume mbrtowc function.
53137         * lib/mbsnlen.c: Include mbiter.h unconditionally.
53138         (mbsnlen): Assume mbrtowc function.
53139         * lib/mbspbrk.c: Include mbuiter.h unconditionally.
53140         (mbspbrk): Assume mbrtowc function.
53141         * lib/mbspcasecmp.c: Include mbuiter.h unconditionally.
53142         (mbspcasecmp): Assume mbrtowc function.
53143         * lib/mbsrchr.c: Include mbuiter.h unconditionally.
53144         (mbsrchr): Assume mbrtowc function.
53145         * lib/mbssep.c: Include mbuiter.h unconditionally.
53146         (mbssep): Assume mbrtowc function.
53147         * lib/mbsspn.c: Include mbuiter.h unconditionally.
53148         (mbsspn): Assume mbrtowc function.
53149         * lib/mbsstr.c: Include mbuiter.h unconditionally.
53150         (knuth_morris_pratt_multibyte, mbsstr): Assume mbrtowc function.
53151         * lib/mbstok_r.c: Include mbuiter.h unconditionally.
53152         (mbstok_r): Assume mbrtowc function.
53153         * lib/propername.c: Include mbuiter.h unconditionally.
53154         (mbsstr_trimmed_wordbounded): Assume mbrtowc function.
53155         * lib/trim.c: Include mbchar.h, mbiter.h uncondtionally.
53156         (trim2): Assume mbrtowc function.
53157         * lib/mbswidth.c (mbsinit): Remove fallback definition.
53158         (mbsnwidth): Assume mbrtowc function.
53159         * modules/mbswidth (Depends-on): Add mbrtowc, mbsinit.
53160         * lib/quotearg.c (MB_CUR_MAX, mbstate_t, mbrtowc, iswprint): Remove
53161         fallback definitions.
53162         * modules/quotearg (Depends-on): Add mbrtowc, mbsinit.
53163
53164 2008-12-22  Bruno Haible  <bruno@clisp.org>
53165
53166         * doc/posix-functions/mbtowc.texi: Mention a glibc bug.
53167
53168 2008-12-22  Paolo Bonzini  <bonzini@gnu.org>
53169
53170         * modules/regex: Request emulations for the mb*/wc* functions we need.
53171         * m4/regex.m4: Don't look for those functions here.
53172         * lib/regex_internal.h: Do not check HAVE_WCRTOMB and HAVE_MBRTOWC.
53173
53174 2008-12-22  Bruno Haible  <bruno@clisp.org>
53175
53176         * modules/fnmatch (Depends-on): Remove duplicated dependency.
53177
53178 2008-12-21  Bruno Haible  <bruno@clisp.org>
53179
53180         Make mbiter.h, mbuiter.h, mbfile.h usable unconditionally.
53181         * modules/mbiter (Depends-on): Add mbrtowc, mbsinit.
53182         (Include): Remove conditionalization.
53183         * modules/mbuiter (Depends-on): Add mbrtowc, mbsinit.
53184         (Include): Remove conditionalization.
53185         * modules/mbfile (Depends-on): Add mbrtowc, mbsinit.
53186         (Include): Remove conditionalization.
53187         * m4/mbiter.m4 (gl_MBITER): Deprecate the use of AC_FUNC_MBRTOWC.
53188         * m4/mbfile.m4 (gl_MBFILE): Likewise.
53189         * NEWS: Mention the change.
53190         Reported by Alan Hourihane <alanh@fairlite.co.uk>
53191         via Sergey Poznyakoff <gray@gnu.org.ua>.
53192
53193 2008-12-21  Bruno Haible  <bruno@clisp.org>
53194
53195         * MODULES.html.sh (Extended multibyte and wide character utilities
53196         <wchar.h>): Add btowc, wctob, mbsinit, mbrlen, mbrtowc, mbsrtowcs,
53197         wcrtomb, wcsrtombs.
53198         (Support for systems lacking POSIX:2008): Add accept, bind, close,
53199         connect, fclose, getpeername, getsockname, getsockopt, hostent, listen,
53200         mbsnrtowcs, posix_spawn*, recv, recvfrom, sched, select, send, sendto,
53201         setsockopt, shutdown, socket, spawn, sys_wait, wcsnrtombs, write.
53202
53203 2008-12-21  Bruno Haible  <bruno@clisp.org>
53204
53205         * MODULES.html.sh: Change section titles to refer to POSIX:2008.
53206
53207 2008-12-21  Bruno Haible  <bruno@clisp.org>
53208
53209         * modules/wcsnrtombs-tests: New file.
53210         * tests/test-wcsnrtombs1.sh: New file.
53211         * tests/test-wcsnrtombs2.sh: New file.
53212         * tests/test-wcsnrtombs3.sh: New file.
53213         * tests/test-wcsnrtombs4.sh: New file.
53214         * tests/test-wcsnrtombs.c: New file.
53215
53216         New module 'wcsnrtombs'.
53217         * lib/wchar.in.h (wcsnrtombs): New declaration.
53218         * lib/wcsnrtombs.c: New file.
53219         * lib/wcsrtombs-state.c: New file.
53220         * lib/wcsrtombs.c: Refer to _gl_wcsrtombs_state.
53221         (internal_state): Remove variable.
53222         * m4/wcsnrtombs.m4: New file.
53223         * m4/wcsrtombs.m4 (gl_FUNC_WCSRTOMBS): Add wcsrtombs-state.c to the
53224         compilation units.
53225         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSNRTOMBS,
53226         HAVE_WCSNRTOMBS.
53227         * modules/wchar (Makefile.am): Substitute GNULIB_WCSNRTOMBS,
53228         HAVE_WCSNRTOMBS.
53229         * modules/wcsnrtombs: New file.
53230         * modules/wcsrtombs (Files): Add lib/wcsrtombs-state.c.
53231         * doc/posix-functions/wcsnrtombs.texi: Mention the new module.
53232
53233 2008-12-21  Bruno Haible  <bruno@clisp.org>
53234
53235         * modules/wcsrtombs-tests: New file.
53236         * tests/test-wcsrtombs1.sh: New file.
53237         * tests/test-wcsrtombs2.sh: New file.
53238         * tests/test-wcsrtombs3.sh: New file.
53239         * tests/test-wcsrtombs4.sh: New file.
53240         * tests/test-wcsrtombs.c: New file.
53241
53242         New module 'wcsrtombs'.
53243         * lib/wchar.in.h (wcsrtombs): New declaration.
53244         * lib/wcsrtombs.c: New file.
53245         * m4/wcsrtombs.m4: New file.
53246         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCSRTOMBS,
53247         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
53248         * modules/wchar (Makefile.am): Substitute GNULIB_WCSRTOMBS,
53249         HAVE_WCSRTOMBS, REPLACE_WCSRTOMBS.
53250         * modules/wcsrtombs: New file.
53251         * doc/posix-functions/wcsrtombs.texi: Mention the new module and the
53252         bugs.
53253
53254 2008-12-21  Bruno Haible  <bruno@clisp.org>
53255
53256         Work around a wcrtomb() bug on Solaris 10 and OSF/1 5.1.
53257         * lib/wchar.in.h (wcrtomb): Override if REPLACE_WCRTOMB is set.
53258         * m4/wcrtomb.m4 (gl_FUNC_WCRTOMB): Test the return value of wcrtomb
53259         with NULL destination argument in various locales. Set REPLACE_WCRTOMB
53260         if not correct.
53261         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCRTOMB.
53262         * modules/wchar (Makefile.am): Substitute REPLACE_WCRTOMB.
53263         * modules/wcrtomb (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53264         m4/locale-zh.m4, m4/codeset.m4.
53265         * doc/posix-functions/wcrtomb.texi: Document the bug.
53266
53267 2008-12-21  Bruno Haible  <bruno@clisp.org>
53268
53269         Work around a btowc() bug on IRIX 6.5.
53270         * lib/wchar.in.h (btowc): Override if REPLACE_BTOWC is set.
53271         * m4/btowc.m4 (gl_FUNC_BTOWC): Test whether btowc(EOF) is correct. Set
53272         REPLACE_WTOBC if not.
53273         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_BTOWC.
53274         * modules/wchar (Makefile.am): Substitute REPLACE_BTOWC.
53275         * doc/posix-functions/btowc.texi: Mention the IRIX bug.
53276
53277 2008-12-21  Bruno Haible  <bruno@clisp.org>
53278
53279         * modules/wcrtomb-tests: New file.
53280         * tests/test-wcrtomb.sh: New file.
53281         * tests/test-wcrtomb.c: New file.
53282
53283         New module 'wcrtomb'.
53284         * lib/wchar.in.h (wcrtomb): New declaration.
53285         * lib/wcrtomb.c: New file.
53286         * m4/wcrtomb.m4: New file.
53287         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCRTOMB,
53288         HAVE_WCRTOMB.
53289         * modules/wchar (Makefile.am): Substitute GNULIB_WCRTOMB,
53290         HAVE_WCRTOMB.
53291         * modules/wcrtomb: New file.
53292         * doc/posix-functions/wcrtomb.texi: Mention the new module.
53293
53294 2008-12-21  Bruno Haible  <bruno@clisp.org>
53295
53296         * modules/mbrtowc (Files): Add m4/codeset.m4, needed by m4/locale-fr.m4.
53297         * modules/mbsrtowcs (Files): Likewise.
53298         * modules/wctob (Files): Likewise.
53299         * modules/c-strcase-tests (Files): Likewise.
53300         * modules/unistdio/u8-vasnprintf-tests (Files): Likewise.
53301         * modules/unistdio/u16-vasnprintf-tests (Files): Likewise.
53302         * modules/unistdio/u32-vasnprintf-tests (Files): Likewise.
53303         * modules/unistdio/ulc-vasnprintf-tests (Files): Likewise.
53304         * modules/vasnprintf-posix-tests (Files): Likewise.
53305
53306 2008-12-21  William Pursell  <bill.pursell@gmail.com>
53307
53308         gitlog-to-changelog: pass all command-line arguments to git-log
53309         * build-aux/gitlog-to-changelog: When producing a ChangeLog,
53310         it is sometimes convenient to filter the commits in various ways.
53311         gitlog-to-changelog only allows --since to specify a start date,
53312         but git-log itself supports many other filtering mechanisms.
53313         At the moment, I want to filter by branch name.  Rather than
53314         adding a --branch option to gitlog-to-changelog, it seems more
53315         flexible to simply pass all options directly to git-log and let
53316         git do the work.  Notice that this effectively makes --since a
53317         redundant option for gitlog-to-changelog, but removing it would
53318         require current usage to change since calls would then require
53319         an additional '--'.
53320
53321 2008-12-21  Bruno Haible  <bruno@clisp.org>
53322
53323         * modules/mbsnrtowcs-tests: New file.
53324         * tests/test-mbsnrtowcs1.sh: New file.
53325         * tests/test-mbsnrtowcs2.sh: New file.
53326         * tests/test-mbsnrtowcs3.sh: New file.
53327         * tests/test-mbsnrtowcs4.sh: New file.
53328         * tests/test-mbsnrtowcs.c: New file.
53329
53330         New module 'mbsnrtowcs'.
53331         * lib/wchar.in.h (mbsnrtowcs): New declaration.
53332         * lib/mbsnrtowcs.c: New file.
53333         * lib/mbsrtowcs-state.c: New file.
53334         * lib/mbsrtowcs.c: Refer to _gl_mbsrtowcs_state.
53335         (internal_state): Remove variable.
53336         * m4/mbsnrtowcs.m4: New file.
53337         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Add mbsrtowcs-state.c to the
53338         compilation units.
53339         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSNRTOWCS,
53340         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53341         * modules/wchar (Makefile.am): Substitute GNULIB_MBSNRTOWCS,
53342         HAVE_MBSNRTOWCS, REPLACE_MBSNRTOWCS.
53343         * modules/mbsnrtowcs: New file.
53344         * modules/mbsrtowcs (Files): Add lib/mbsrtowcs-state.c.
53345         * doc/posix-functions/mbsnrtowcs.texi: Mention the new module and a
53346         portability problem.
53347
53348 2008-12-21  Bruno Haible  <bruno@clisp.org>
53349
53350         Work around mbsrtowcs bug.
53351         * m4/mbsrtowcs.m4 (gl_MBSRTOWCS_WORKS): New macro.
53352         (gl_FUNC_MBSRTOWCS): Invoke it.
53353         * modules/mbsrtowcs (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53354         m4/locale-zh.m4.
53355         * doc/posix-functions/mbsrtowcs.texi: Document the bug.
53356
53357 2008-12-21  Bruno Haible  <bruno@clisp.org>
53358
53359         * tests/test-mbsrtowcs.c (main): Execute the loop also for unlimited=1.
53360
53361 2008-12-21  Bruno Haible  <bruno@clisp.org>
53362
53363         Update doc for AIX.
53364         * doc/pastposix-functions/wcswcs.texi: Mention that AIX has only a
53365         16-bit wchar_t type.
53366         * doc/posix-functions/btowc.texi: Likewise.
53367         * doc/posix-functions/fgetwc.texi: Likewise.
53368         * doc/posix-functions/fgetws.texi: Likewise.
53369         * doc/posix-functions/fputwc.texi: Likewise.
53370         * doc/posix-functions/fputws.texi: Likewise.
53371         * doc/posix-functions/fwide.texi: Likewise.
53372         * doc/posix-functions/fwprintf.texi: Likewise.
53373         * doc/posix-functions/fwscanf.texi: Likewise.
53374         * doc/posix-functions/getwchar.texi: Likewise.
53375         * doc/posix-functions/getwc.texi: Likewise.
53376         * doc/posix-functions/iswalnum.texi: Likewise.
53377         * doc/posix-functions/iswalpha.texi: Likewise.
53378         * doc/posix-functions/iswblank.texi: Likewise.
53379         * doc/posix-functions/iswcntrl.texi: Likewise.
53380         * doc/posix-functions/iswctype.texi: Likewise.
53381         * doc/posix-functions/iswdigit.texi: Likewise.
53382         * doc/posix-functions/iswgraph.texi: Likewise.
53383         * doc/posix-functions/iswlower.texi: Likewise.
53384         * doc/posix-functions/iswprint.texi: Likewise.
53385         * doc/posix-functions/iswpunct.texi: Likewise.
53386         * doc/posix-functions/iswspace.texi: Likewise.
53387         * doc/posix-functions/iswupper.texi: Likewise.
53388         * doc/posix-functions/iswxdigit.texi: Likewise.
53389         * doc/posix-functions/mbrtowc.texi: Likewise.
53390         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53391         * doc/posix-functions/mbstowcs.texi: Likewise.
53392         * doc/posix-functions/mbtowc.texi: Likewise.
53393         * doc/posix-functions/putwchar.texi: Likewise.
53394         * doc/posix-functions/putwc.texi: Likewise.
53395         * doc/posix-functions/swprintf.texi: Likewise.
53396         * doc/posix-functions/tolower.texi: Likewise.
53397         * doc/posix-functions/toupper.texi: Likewise.
53398         * doc/posix-functions/towctrans.texi: Likewise.
53399         * doc/posix-functions/ungetwc.texi: Likewise.
53400         * doc/posix-functions/vswprintf.texi: Likewise.
53401         * doc/posix-functions/wcrtomb.texi: Likewise.
53402         * doc/posix-functions/wcscat.texi: Likewise.
53403         * doc/posix-functions/wcschr.texi: Likewise.
53404         * doc/posix-functions/wcscmp.texi: Likewise.
53405         * doc/posix-functions/wcscoll.texi: Likewise.
53406         * doc/posix-functions/wcscpy.texi: Likewise.
53407         * doc/posix-functions/wcscspn.texi: Likewise.
53408         * doc/posix-functions/wcsftime.texi: Likewise.
53409         * doc/posix-functions/wcslen.texi: Likewise.
53410         * doc/posix-functions/wcsncat.texi: Likewise.
53411         * doc/posix-functions/wcsncmp.texi: Likewise.
53412         * doc/posix-functions/wcsncpy.texi: Likewise.
53413         * doc/posix-functions/wcspbrk.texi: Likewise.
53414         * doc/posix-functions/wcsrchr.texi: Likewise.
53415         * doc/posix-functions/wcsrtombs.texi: Likewise.
53416         * doc/posix-functions/wcsspn.texi: Likewise.
53417         * doc/posix-functions/wcsstr.texi: Likewise.
53418         * doc/posix-functions/wcstod.texi: Likewise.
53419         * doc/posix-functions/wcstof.texi: Likewise.
53420         * doc/posix-functions/wcstoimax.texi: Likewise.
53421         * doc/posix-functions/wcstok.texi: Likewise.
53422         * doc/posix-functions/wcstold.texi: Likewise.
53423         * doc/posix-functions/wcstoll.texi: Likewise.
53424         * doc/posix-functions/wcstol.texi: Likewise.
53425         * doc/posix-functions/wcstombs.texi: Likewise.
53426         * doc/posix-functions/wcstoull.texi: Likewise.
53427         * doc/posix-functions/wcstoul.texi: Likewise.
53428         * doc/posix-functions/wcstoumax.texi: Likewise.
53429         * doc/posix-functions/wcswidth.texi: Likewise.
53430         * doc/posix-functions/wcsxfrm.texi: Likewise.
53431         * doc/posix-functions/wctob.texi: Likewise.
53432         * doc/posix-functions/wctomb.texi: Likewise.
53433         * doc/posix-functions/wctrans.texi: Likewise.
53434         * doc/posix-functions/wctype.texi: Likewise.
53435         * doc/posix-functions/wcwidth.texi: Likewise.
53436         * doc/posix-functions/wmemchr.texi: Likewise.
53437         * doc/posix-functions/wmemcmp.texi: Likewise.
53438         * doc/posix-functions/wmemcpy.texi: Likewise.
53439         * doc/posix-functions/wmemmove.texi: Likewise.
53440         * doc/posix-functions/wmemset.texi: Likewise.
53441         * doc/posix-functions/wprintf.texi: Likewise.
53442         * doc/posix-functions/wscanf.texi: Likewise.
53443
53444 2008-12-21  Bruno Haible  <bruno@clisp.org>
53445
53446         Update doc for HP-UX 11.11.
53447         * doc/posix-functions/btowc.texi: Clarify that the function is missing
53448         in HP-UX version 11.00, not in all versions of HP-UX 11.
53449         * doc/posix-functions/fwide.texi: Likewise.
53450         * doc/posix-functions/fwprintf.texi: Likewise.
53451         * doc/posix-functions/fwscanf.texi: Likewise.
53452         * doc/posix-functions/inet_ntop.texi: Likewise.
53453         * doc/posix-functions/inet_pton.texi: Likewise.
53454         * doc/posix-functions/mbrlen.texi: Likewise.
53455         * doc/posix-functions/mbrtowc.texi: Likewise.
53456         * doc/posix-functions/mbsinit.texi: Likewise.
53457         * doc/posix-functions/mbsrtowcs.texi: Likewise.
53458         * doc/posix-functions/swprintf.texi: Likewise.
53459         * doc/posix-functions/swscanf.texi: Likewise.
53460         * doc/posix-functions/towctrans.texi: Likewise.
53461         * doc/posix-functions/vfwprintf.texi: Likewise.
53462         * doc/posix-functions/vswprintf.texi: Likewise.
53463         * doc/posix-functions/vwprintf.texi: Likewise.
53464         * doc/posix-functions/wcrtomb.texi: Likewise.
53465         * doc/posix-functions/wcsrtombs.texi: Likewise.
53466         * doc/posix-functions/wcsstr.texi: Likewise.
53467         * doc/posix-functions/wctob.texi: Likewise.
53468         * doc/posix-functions/wctrans.texi: Likewise.
53469         * doc/posix-functions/wmemchr.texi: Likewise.
53470         * doc/posix-functions/wmemcmp.texi: Likewise.
53471         * doc/posix-functions/wmemcpy.texi: Likewise.
53472         * doc/posix-functions/wmemmove.texi: Likewise.
53473         * doc/posix-functions/wmemset.texi: Likewise.
53474         * doc/posix-functions/wprintf.texi: Likewise.
53475         * doc/posix-functions/wscanf.texi: Likewise.
53476
53477 2008-12-21  Bruno Haible  <bruno@clisp.org>
53478
53479         Work around a portability problem.
53480         * tests/test-mbsrtowcs.c (main): Use a temporary conversion state.
53481         * doc/posix-functions/mbsrtowcs.texi: Document the portability problem.
53482
53483 2008-12-20  Bruno Haible  <bruno@clisp.org>
53484
53485         * lib/wchar.in.h (mbsrtowcs): Redefine if REPLACE_MBSRTOWCS is set.
53486         * m4/mbsrtowcs.m4 (gl_FUNC_MBSRTOWCS): Invoke gl_MBSTATE_T_BROKEN. Set
53487         REPLACE_MBSRTOWCS if mbsrtowcs needs to be overridden.
53488         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSRTOWCS.
53489         * modules/wchar (Makefile.am): Substitute REPLACE_MBSRTOWCS.
53490
53491         Work around mbrtowc bugs on AIX, HP-UX, OSF/1, Solaris.
53492         * lib/wchar.in.h (mbstate_t): Redefine also if REPLACE_MBSTATE_T is
53493         set.
53494         (GNULIB_defined_mbstate_t): New macro.
53495         (mbsinit): Redefine if REPLACE_MBSINIT is set.
53496         (mbrtowc): Redefine if REPLACE_MBRTOWC is set.
53497         * lib/mbrtowc.c (rpl_mbrtowc): Add an alternative implementation that
53498         reuses the system's mbrtowc function but works around the bugs.
53499         * m4/mbrtowc.m4 (gl_MBSTATE_T_BROKEN, gl_MBRTOWC_INCOMPLETE_STATE,
53500         gl_MBRTOWC_NULL_ARG, gl_MBRTOWC_RETVAL, gl_MBRTOWC_NUL_RETVAL): New
53501         macros.
53502         (gl_FUNC_MBRTOWC): Invoke them. Set REPLACE_MBRTOWC if mbrtowc needs to
53503         be overridden. Optionally define MBRTOWC_NULL_ARG_BUG,
53504         MBRTOWC_RETVAL_BUG, MBRTOWC_NUL_RETVAL_BUG.
53505         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_MBSTATE_T_BROKEN. Set
53506         REPLACE_MBSINIT if mbsinit needs to be overridden.
53507         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_MBSTATE_T,
53508         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53509         * modules/wchar (Makefile.am): Substitute REPLACE_MBSTATE_T,
53510         REPLACE_MBSINIT, REPLACE_MBRTOWC.
53511         * modules/mbrtowc (Files): Add m4/locale-fr.m4, m4/locale-ja.m4,
53512         m4/locale-zh.m4.
53513         (Depends): Add mbsinit.
53514         * modules/mbsinit (Depends): Add mbrtowc.
53515         * doc/posix-functions/mbrtowc.texi: Mention the various bugs.
53516
53517 2008-12-20  Bruno Haible  <bruno@clisp.org>
53518
53519         * tests/test-mbrtowc.c (main): Change sample string in EUC-JP encoding
53520         so that there are no conversion errors on AIX.
53521         * tests/test-mbsrtowcs.c (main): LIkewise.
53522
53523 2008-12-20  Bruno Haible  <bruno@clisp.org>
53524
53525         Work around wctob bug on Solaris <= 9.
53526         * lib/wchar.in.h (wctob): Redefine if REPLACE_WCTOB is set.
53527         * m4/wctob.m4 (gl_FUNC_WCTOB): Test whether wctob works.
53528         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize REPLACE_WCTOB.
53529         * modules/wchar (Makefile.am): Substitute REPLACE_WCTOB.
53530         * modules/wctob (Files): Add m4/locale-fr.m4.
53531         * doc/posix-functions/wctob.texi: Mention the Solaris bug.
53532
53533 2008-12-20  Bruno Haible  <bruno@clisp.org>
53534
53535         * doc/posix-functions/select.texi: Mention Solaris 2.6 bug with
53536         /dev/null.
53537         * tests/test-select-in.sh: Likewise.
53538         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
53539
53540 2008-12-20  Bruno Haible  <bruno@clisp.org>
53541
53542         Don't pretend that Cygwin has a ja_JP.EUC-JP locale.
53543         * m4/locale-ja.m4 (gt_LOCALE_JA): Add test for MB_CUR_MAX. Needed on
53544         Cygwin 1.5.x.
53545
53546 2008-12-20  Bruno Haible  <bruno@clisp.org>
53547
53548         Ensure mbstate_t is defined on HP-UX 11.11.
53549         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Require
53550         AC_CANONICAL_HOST. On HP-UX, define _XOPEN_SOURCE to 500.
53551         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Require
53552         AC_USE_SYSTEM_EXTENSIONS.
53553         * modules/fnmatch (Depends-on): Add extensions.
53554         * modules/mbrlen (Depends-on): Likewise.
53555         * modules/mbrtowc (Depends-on): Likewise.
53556         * modules/mbsinit (Depends-on): Likewise.
53557         * modules/mbsrtowcs (Depends-on): Likewise.
53558         * modules/mbswidth (Depends-on): Likewise.
53559         * modules/quotearg (Depends-on): Likewise.
53560         * modules/strftime (Depends-on): Likewise.
53561
53562 2008-12-20  Bruno Haible  <bruno@clisp.org>
53563
53564         Ensure wctob is declared on IRIX 6.5.
53565         * lib/wchar.in.h (wctob): Declare also when HAVE_DECL_WCTOB is 0.
53566         * m4/wctob.m4 (gl_FUNC_WCTOB): Set HAVE_DECL_WCTOB instead of
53567         HAVE_WCTOB. Also test whether <wchar.h> declares wctob.
53568         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize HAVE_DECL_WCTOB instead
53569         of HAVE_WCTOB.
53570         * modules/wchar (Makefile.am): Substitute HAVE_DECL_WCTOB instead of
53571         HAVE_WCTOB.
53572         * doc/posix-functions/wctob.texi: Mention missing declaration on IRIX.
53573
53574 2008-12-19  Bruno Haible  <bruno@clisp.org>
53575
53576         * modules/mbsrtowcs-tests: New file.
53577         * tests/test-mbsrtowcs1.sh: New file.
53578         * tests/test-mbsrtowcs2.sh: New file.
53579         * tests/test-mbsrtowcs3.sh: New file.
53580         * tests/test-mbsrtowcs4.sh: New file.
53581         * tests/test-mbsrtowcs.c: New file.
53582
53583         New module 'mbsrtowcs'.
53584         * lib/wchar.in.h (mbsrtowcs): New declaration.
53585         * lib/mbsrtowcs.c: New file.
53586         * m4/mbsrtowcs.m4: New file.
53587         * modules/mbsrtowcs: New file.
53588         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSRTOWCS and
53589         HAVE_MBSRTOWCS.
53590         * modules/wchar (Makefile.am): Substitute GNULIB_MBSRTOWCS and
53591         HAVE_MBSRTOWCS.
53592         * doc/posix-functions/mbsrtowcs.texi: Document the new module.
53593
53594 2008-12-19  Bruno Haible  <bruno@clisp.org>
53595
53596         New module 'mbrlen'.
53597         * lib/wchar.in.h (mbrlen): New declaration.
53598         * lib/mbrlen.c: New file.
53599         * m4/mbrlen.m4: New file.
53600         * modules/mbrlen: New file.
53601         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRLEN and
53602         HAVE_MBRLEN.
53603         * modules/wchar (Makefile.am): Substitute GNULIB_MBRLEN and
53604         HAVE_MBRLEN.
53605         * doc/posix-functions/mbrlen.texi: Document the new module.
53606
53607 2008-12-19  Bruno Haible  <bruno@clisp.org>
53608
53609         * lib/mbrtowc.c: Include verify.h. Verify an assumption.
53610         * modules/mbrtowc (Depends-on): Add verify.
53611         Suggested by Paul Eggert.
53612
53613 2008-12-18  Bruno Haible  <bruno@clisp.org>
53614
53615         * modules/mbsinit-tests: New file.
53616         * tests/test-mbsinit.sh: New file.
53617         * tests/test-mbsinit.c: New file.
53618
53619 2008-12-18  Bruno Haible  <bruno@clisp.org>
53620
53621         * modules/mbrtowc-tests: New file.
53622         * tests/test-mbrtowc1.sh: New file.
53623         * tests/test-mbrtowc2.sh: New file.
53624         * tests/test-mbrtowc3.sh: New file.
53625         * tests/test-mbrtowc4.sh: New file.
53626         * tests/test-mbrtowc.c: New file.
53627
53628         New module 'mbrtowc'.
53629         * lib/wchar.in.h (mbstate_t): Override when the system does not have
53630         mbsinit and mbrtowc.
53631         (mbrtowc): New declaration.
53632         * lib/mbrtowc.c: New file.
53633         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC, gl_PREREQ_MBRTOWC): New macros.
53634         * modules/mbrtowc: New file.
53635         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBRTOWC and
53636         HAVE_MBRTOWC.
53637         * modules/wchar (Makefile.am): Substitute GNULIB_MBRTOWC and
53638         HAVE_MBRTOWC.
53639         * doc/posix-functions/mbrtowc.texi: Document the new module.
53640
53641 2008-12-18  Bruno Haible  <bruno@clisp.org>
53642
53643         New module 'wctob'.
53644         * lib/wchar.in.h (wctob): New declaration.
53645         * lib/wctob.c: New file.
53646         * m4/wctob.m4: New file.
53647         * modules/wctob: New file.
53648         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_WCTOB and
53649         HAVE_WCTOB.
53650         * modules/wchar (Makefile.am): Substitute GNULIB_WCTOB and HAVE_WCTOB.
53651         * doc/posix-functions/wctob.texi: Document the new module.
53652
53653 2008-12-18  Bruno Haible  <bruno@clisp.org>
53654
53655         * m4/mbsinit.m4 (gl_FUNC_MBSINIT): Invoke gl_REPLACE_WCHAR_H.
53656         * m4/btowc.m4 (gl_FUNC_BTOWC): Likewise.
53657
53658 2008-12-18  Simon Josefsson  <simon@josefsson.org>
53659
53660         * lib/flock.c: Use proper #if symbol in check.  Reported by "Tom
53661         G. Christensen" <tgc@jupiterrise.com>.
53662
53663         * lib/flock.c: Need to include errno.h.  Reported by "Tom
53664         G. Christensen" <tgc@jupiterrise.com>.
53665
53666         * lib/flock.c: Need to include string.h.  Reported by "Tom
53667         G. Christensen" <tgc@jupiterrise.com> and Eric Blake
53668         <ebb9@byu.net>.
53669
53670 2008-12-18  Bruno Haible  <bruno@clisp.org>
53671
53672         * m4/locale-ja.m4: New file, from GNU gettext.
53673
53674 2008-12-17  Bruno Haible  <bruno@clisp.org>
53675
53676         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Don't override in autoconf >= 2.60.
53677         Suggested by Eric Blake.
53678
53679 2008-12-17  Bruno Haible  <bruno@clisp.org>
53680
53681         * m4/errno_h.m4 (AC_COMPUTE_INT): Provide fallback definition.
53682
53683 2008-12-17  Bruno Haible  <bruno@clisp.org>
53684
53685         * lib/mbsinit.c: Include verify.h. Verify an assumption.
53686         * modules/mbsinit (Depends-on): Add verify.
53687         Suggested by Paul Eggert.
53688
53689 2008-12-17  Bruno Haible  <bruno@clisp.org>
53690
53691         * m4/mbrtowc.m4 (AC_FUNC_MBRTOWC): Renamed from gl_FUNC_MBRTOWC.
53692         * m4/mbfile.m4 (gl_MBFILE): Use AC_FUNC_MBRTOWC instead of
53693         gl_FUNC_MBRTOWC.
53694         * m4/mbiter.m4 (gl_MBITER): LIkewise.
53695         * m4/mbscasecmp.m4 (gl_PREREQ_MBSCASECMP): Likewise.
53696         * m4/mbscasestr.m4 (gl_PREREQ_MBSCASESTR): Likewise.
53697         * m4/mbschr.m4 (gl_PREREQ_MBSCHR): Likewise.
53698         * m4/mbscspn.m4 (gl_PREREQ_MBSCSPN): Likewise.
53699         * m4/mbslen.m4 (gl_PREREQ_MBSLEN): Likewise.
53700         * m4/mbsncasecmp.m4 (gl_PREREQ_MBSNCASECMP): Likewise.
53701         * m4/mbsnlen.m4 (gl_PREREQ_MBSNLEN): Likewise.
53702         * m4/mbspbrk.m4 (gl_PREREQ_MBSPBRK): Likewise.
53703         * m4/mbspcasecmp.m4 (gl_PREREQ_MBSPCASECMP): Likewise.
53704         * m4/mbsrchr.m4 (gl_PREREQ_MBSRCHR): Likewise.
53705         * m4/mbssep.m4 (gl_PREREQ_MBSSEP): Likewise.
53706         * m4/mbsspn.m4 (gl_PREREQ_MBSSPN): Likewise.
53707         * m4/mbsstr.m4 (gl_PREREQ_MBSSTR): Likewise.
53708         * m4/mbstok_r.m4 (gl_PREREQ_MBSTOK_R): Likewise.
53709         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
53710         * m4/quotearg.m4 (gl_QUOTEARG): Likewise.
53711         * modules/trim (configure.ac): Likewise.
53712
53713 2008-12-17  Bruno Haible  <bruno@clisp.org>
53714
53715         * modules/btowc-tests: New file.
53716         * tests/test-btowc1.sh: New file.
53717         * tests/test-btowc2.sh: New file.
53718         * tests/test-btowc.c: New file.
53719
53720         New module 'btowc'.
53721         * lib/wchar.in.h (btowc): New declaration.
53722         * lib/btowc.c: New file.
53723         * m4/btowc.m4: New file.
53724         * modules/btowc: New file.
53725         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_BTOWC and
53726         HAVE_BTOWC.
53727         * modules/wchar (Makefile.am): Substitute GNULIB_BTOWC and HAVE_BTOWC.
53728         * doc/posix-functions/btowc.texi: Document the new module.
53729
53730 2008-12-17  Bruno Haible  <bruno@clisp.org>
53731
53732         New module 'mbsinit'.
53733         * lib/wchar.in.h (mbsinit): New declaration.
53734         * lib/mbsinit.c: New file.
53735         * m4/mbsinit.m4: New file.
53736         * modules/mbsinit: New file.
53737         * m4/wchar.m4 (gl_WCHAR_H_DEFAULTS): Initialize GNULIB_MBSINIT and
53738         HAVE_MBSINIT.
53739         * modules/wchar (Makefile.am): Substitute GNULIB_MBSINIT and
53740         HAVE_MBSINIT.
53741         * doc/posix-functions/mbsinit.texi: Document the new module.
53742
53743 2008-12-16  Bruno Haible  <bruno@clisp.org>
53744
53745         * lib/unistd.in.h: Add comment.
53746         * tests/test-environ.c: Don't include <stdlib.h>.
53747
53748 2008-12-16  Bruno Haible  <bruno@clisp.org>
53749
53750         * lib/parse-duration.h (parse_duration): Document return value
53751         convention.
53752         * lib/parse-duration.c: Include specification header first. Add
53753         comments.
53754         (_): Remove macro.
53755         (parse_year_month_day, parse_hour_minute_second): Move side effects
53756         outside of strchr call.
53757         (parse_non_iso8601): Move side effects outside of isspace call.
53758         (parse_duration): Don't test errno is res != BAD_TIME. Remove fprintf
53759         call.
53760
53761 2008-12-16  Bruno Haible  <bruno@clisp.org>
53762
53763         * tests/test-parse-duration.sh: Produce no output when the test
53764         succeeds.
53765
53766 2008-12-16  Bruno Haible  <bruno@clisp.org>
53767
53768         * tests/test-parse-duration.sh: Fix quoting of $tmp and $tmpf
53769         expressions.
53770
53771 2008-12-15  Bruno Haible  <bruno@clisp.org>
53772
53773         * doc/glibc-functions/fgetxattr.texi: Tweak wording.
53774         * doc/glibc-functions/flistxattr.texi: Likewise.
53775         * doc/glibc-functions/fopencookie.texi: Likewise.
53776         * doc/glibc-functions/fremovexattr.texi: Likewise.
53777         * doc/glibc-functions/fsetxattr.texi: Likewise.
53778         * doc/glibc-functions/getxattr.texi: Likewise.
53779         * doc/glibc-functions/lgetxattr.texi: Likewise.
53780         * doc/glibc-functions/listxattr.texi: Likewise.
53781         * doc/glibc-functions/llistxattr.texi: Likewise.
53782         * doc/glibc-functions/lremovexattr.texi: Likewise.
53783         * doc/glibc-functions/lsetxattr.texi: Likewise.
53784         * doc/glibc-functions/removexattr.texi: Likewise.
53785         * doc/glibc-functions/setxattr.texi: Likewise.
53786         * doc/posix-functions/open_memstream.texi: Likewise.
53787
53788 2008-12-15  Eric Blake  <ebb9@byu.net>
53789
53790         Update doc for cygwin 1.7.
53791         * doc/posix-functions/faccessat.texi: Cygwin 1.7 added several new
53792         functions.
53793         * doc/posix-functions/fchmodat.texi: Likewise.
53794         * doc/posix-functions/fchownat.texi: Likewise.
53795         * doc/posix-functions/fdopendir.texi: Likewise.
53796         * doc/posix-functions/fmemopen.texi: Likewise.
53797         * doc/posix-functions/freeaddrinfo.texi: Likewise.
53798         * doc/posix-functions/fstatat.texi: Likewise.
53799         * doc/posix-functions/futimens.texi: Likewise.
53800         * doc/posix-functions/gai_strerror.texi: Likewise.
53801         * doc/posix-functions/getaddrinfo.texi: Likewise.
53802         * doc/posix-functions/getnameinfo.texi: Likewise.
53803         * doc/posix-functions/if_freenameindex.texi: Likewise.
53804         * doc/posix-functions/if_indextoname.texi: Likewise.
53805         * doc/posix-functions/if_nameindex.texi: Likewise.
53806         * doc/posix-functions/if_nametoindex.texi: Likewise.
53807         * doc/posix-functions/insque.texi: Likewise.
53808         * doc/posix-functions/linkat.texi: Likewise.
53809         * doc/posix-functions/llrint.texi: Likewise.
53810         * doc/posix-functions/llrintf.texi: Likewise.
53811         * doc/posix-functions/llrintl.texi: Likewise.
53812         * doc/posix-functions/lockf.texi: Likewise.
53813         * doc/posix-functions/lrintl.texi: Likewise.
53814         * doc/posix-functions/mkdirat.texi: Likewise.
53815         * doc/posix-functions/mkfifoat.texi: Likewise.
53816         * doc/posix-functions/mknodat.texi: Likewise.
53817         * doc/posix-functions/mq_close.texi: Likewise.
53818         * doc/posix-functions/mq_getattr.texi: Likewise.
53819         * doc/posix-functions/mq_notify.texi: Likewise.
53820         * doc/posix-functions/mq_open.texi: Likewise.
53821         * doc/posix-functions/mq_receive.texi: Likewise.
53822         * doc/posix-functions/mq_send.texi: Likewise.
53823         * doc/posix-functions/mq_setattr.texi: Likewise.
53824         * doc/posix-functions/mq_timedreceive.texi: Likewise.
53825         * doc/posix-functions/mq_timedsend.texi: Likewise.
53826         * doc/posix-functions/mq_unlink.texi: Likewise.
53827         * doc/posix-functions/open_memstream.texi: Likewise.
53828         * doc/posix-functions/openat.texi: Likewise.
53829         * doc/posix-functions/posix_fadvise.texi: Likewise.
53830         * doc/posix-functions/posix_fallocate.texi: Likewise.
53831         * doc/posix-functions/posix_madvise.texi: Likewise.
53832         * doc/posix-functions/posix_memalign.texi: Likewise.
53833         * doc/posix-functions/posix_openpt.texi: Likewise.
53834         * doc/posix-functions/readlinkat.texi: Likewise.
53835         * doc/posix-functions/remque.texi: Likewise.
53836         * doc/posix-functions/renameat.texi: Likewise.
53837         * doc/posix-functions/rintl.texi: Likewise.
53838         * doc/posix-functions/sem_unlink.texi: Likewise.
53839         * doc/posix-functions/shm_open.texi: Likewise.
53840         * doc/posix-functions/shm_unlink.texi: Likewise.
53841         * doc/posix-functions/signgam.texi: Likewise.
53842         * doc/posix-functions/sigset.texi: Likewise.
53843         * doc/posix-functions/stpcpy.texi: Likewise.
53844         * doc/posix-functions/stpncpy.texi: Likewise.
53845         * doc/posix-functions/strerror.texi: Likewise.
53846         * doc/posix-functions/strtod.texi: Likewise.
53847         * doc/posix-functions/symlinkat.texi: Likewise.
53848         * doc/posix-functions/unlinkat.texi: Likewise.
53849         * doc/posix-functions/utimensat.texi: Likewise.
53850         * doc/glibc-functions/bindresvport.texi: Likewise.
53851         * doc/glibc-functions/dn_expand.texi: Likewise.
53852         * doc/glibc-functions/exp10.texi: Likewise.
53853         * doc/glibc-functions/exp10f.texi: Likewise.
53854         * doc/glibc-functions/fgetxattr.texi: Likewise.
53855         * doc/glibc-functions/flistxattr.texi: Likewise.
53856         * doc/glibc-functions/fopencookie.texi: Likewise.
53857         * doc/glibc-functions/freeifaddrs.texi: Likewise.
53858         * doc/glibc-functions/fremovexattr.texi: Likewise.
53859         * doc/glibc-functions/fsetxattr.texi: Likewise.
53860         * doc/glibc-functions/getifaddrs.texi: Likewise.
53861         * doc/glibc-functions/getxattr.texi: Likewise.
53862         * doc/glibc-functions/lgetxattr.texi: Likewise.
53863         * doc/glibc-functions/listxattr.texi: Likewise.
53864         * doc/glibc-functions/llistxattr.texi: Likewise.
53865         * doc/glibc-functions/lremovexattr.texi: Likewise.
53866         * doc/glibc-functions/lsetxattr.texi: Likewise.
53867         * doc/glibc-functions/pow10.texi: Likewise.
53868         * doc/glibc-functions/pow10f.texi: Likewise.
53869         * doc/glibc-functions/rcmd_af.texi: Likewise.
53870         * doc/glibc-functions/removexattr.texi: Likewise.
53871         * doc/glibc-functions/res_init.texi: Likewise.
53872         * doc/glibc-functions/res_mkquery.texi: Likewise.
53873         * doc/glibc-functions/res_query.texi: Likewise.
53874         * doc/glibc-functions/res_querydomain.texi: Likewise.
53875         * doc/glibc-functions/res_send.texi: Likewise.
53876         * doc/glibc-functions/rresvport_af.texi: Likewise.
53877         * doc/glibc-functions/setxattr.texi: Likewise.
53878         * doc/glibc-functions/strcasestr.texi: Likewise.
53879
53880 2008-12-15  Bruno Haible  <bruno@clisp.org>
53881
53882         Fix compilation error on OSF/1 4.0.
53883         * lib/sys_select.in.h: When invoked from OSF/1 <sys/types.h> or
53884         <sys/time.h>, simply delegate to the system header.
53885         Reported by Daniel Richard G. <oss@teragram.com>.
53886
53887 2008-12-15  Bruno Haible  <bruno@clisp.org>
53888
53889         * doc/posix-functions/openat.texi: Mention the 'openat' module.
53890         * doc/posix-functions/fchmodat.texi: Likewise.
53891         * doc/posix-functions/fchownat.texi: Likewise.
53892         * doc/posix-functions/fdopendir.texi: Likewise.
53893         * doc/posix-functions/fstatat.texi: Likewise.
53894         * doc/posix-functions/mkdirat.texi: Likewise.
53895         * doc/posix-functions/unlinkat.texi: Likewise.
53896
53897 2008-12-14  Bruno Haible  <bruno@clisp.org>
53898
53899         Update doc for POSIX:2008.
53900         * doc/posix-functions/faccessat.texi: New file.
53901         * doc/posix-functions/fchmodat.texi: New file.
53902         * doc/posix-functions/fchownat.texi: New file.
53903         * doc/posix-functions/fdopendir.texi: New file.
53904         * doc/posix-functions/fstatat.texi: New file.
53905         * doc/posix-functions/futimens.texi: New file.
53906         * doc/posix-functions/linkat.texi: New file.
53907         * doc/posix-functions/mkdirat.texi: New file.
53908         * doc/posix-functions/mkfifoat.texi: New file.
53909         * doc/posix-functions/mknodat.texi: New file.
53910         * doc/posix-functions/open_wmemstream.texi: New file.
53911         * doc/posix-functions/openat.texi: New file.
53912         * doc/posix-functions/psiginfo.texi: New file.
53913         * doc/posix-functions/pthread_mutex_consistent.texi: New file.
53914         * doc/posix-functions/pthread_mutexattr_getrobust.texi: New file.
53915         * doc/posix-functions/pthread_mutexattr_setrobust.texi: New file.
53916         * doc/posix-functions/readlinkat.texi: New file.
53917         * doc/posix-functions/renameat.texi: New file.
53918         * doc/posix-functions/strerror_l.texi: New file.
53919         * doc/posix-functions/symlinkat.texi: New file.
53920         * doc/posix-functions/unlinkat.texi: New file.
53921         * doc/posix-functions/utimensat.texi: New file.
53922         * doc/gnulib.texi (Function Substitutes): Add these subsections.
53923
53924 2008-12-14  Bruno Haible  <bruno@clisp.org>
53925
53926         Update doc for POSIX:2008.
53927         * doc/posix-functions/alphasort.texi: Renamed from
53928         doc/glibc-functions/alphasort.texi.
53929         * doc/posix-functions/dirfd.texi: Renamed from
53930         doc/glibc-functions/dirfd.texi.
53931         * doc/posix-functions/dprintf.texi: Renamed from
53932         doc/glibc-functions/dprintf.texi.
53933         * doc/posix-functions/duplocale.texi: Renamed from
53934         doc/glibc-functions/duplocale.texi.
53935         * doc/posix-functions/fexecve.texi: Renamed from
53936         doc/glibc-functions/fexecve.texi.
53937         * doc/posix-functions/fmemopen.texi: Renamed from
53938         doc/glibc-functions/fmemopen.texi.
53939         * doc/posix-functions/freelocale.texi: Renamed from
53940         doc/glibc-functions/freelocale.texi.
53941         * doc/posix-functions/getdate_err.texi: Renamed from
53942         doc/glibc-functions/getdate_err.texi.
53943         * doc/posix-functions/isalnum_l.texi: Renamed from
53944         doc/glibc-functions/isalnum_l.texi.
53945         * doc/posix-functions/isalpha_l.texi: Renamed from
53946         doc/glibc-functions/isalpha_l.texi.
53947         * doc/posix-functions/isblank_l.texi: Renamed from
53948         doc/glibc-functions/isblank_l.texi.
53949         * doc/posix-functions/iscntrl_l.texi: Renamed from
53950         doc/glibc-functions/iscntrl_l.texi.
53951         * doc/posix-functions/isdigit_l.texi: Renamed from
53952         doc/glibc-functions/isdigit_l.texi.
53953         * doc/posix-functions/isgraph_l.texi: Renamed from
53954         doc/glibc-functions/isgraph_l.texi.
53955         * doc/posix-functions/islower_l.texi: Renamed from
53956         doc/glibc-functions/islower_l.texi.
53957         * doc/posix-functions/isprint_l.texi: Renamed from
53958         doc/glibc-functions/isprint_l.texi.
53959         * doc/posix-functions/ispunct_l.texi: Renamed from
53960         doc/glibc-functions/ispunct_l.texi.
53961         * doc/posix-functions/isspace_l.texi: Renamed from
53962         doc/glibc-functions/isspace_l.texi.
53963         * doc/posix-functions/isupper_l.texi: Renamed from
53964         doc/glibc-functions/isupper_l.texi.
53965         * doc/posix-functions/iswalnum_l.texi: Renamed from
53966         doc/glibc-functions/iswalnum_l.texi.
53967         * doc/posix-functions/iswalpha_l.texi: Renamed from
53968         doc/glibc-functions/iswalpha_l.texi.
53969         * doc/posix-functions/iswblank_l.texi: Renamed from
53970         doc/glibc-functions/iswblank_l.texi.
53971         * doc/posix-functions/iswcntrl_l.texi: Renamed from
53972         doc/glibc-functions/iswcntrl_l.texi.
53973         * doc/posix-functions/iswctype_l.texi: Renamed from
53974         doc/glibc-functions/iswctype_l.texi.
53975         * doc/posix-functions/iswdigit_l.texi: Renamed from
53976         doc/glibc-functions/iswdigit_l.texi.
53977         * doc/posix-functions/iswgraph_l.texi: Renamed from
53978         doc/glibc-functions/iswgraph_l.texi.
53979         * doc/posix-functions/iswlower_l.texi: Renamed from
53980         doc/glibc-functions/iswlower_l.texi.
53981         * doc/posix-functions/iswprint_l.texi: Renamed from
53982         doc/glibc-functions/iswprint_l.texi.
53983         * doc/posix-functions/iswpunct_l.texi: Renamed from
53984         doc/glibc-functions/iswpunct_l.texi.
53985         * doc/posix-functions/iswspace_l.texi: Renamed from
53986         doc/glibc-functions/iswspace_l.texi.
53987         * doc/posix-functions/iswupper_l.texi: Renamed from
53988         doc/glibc-functions/iswupper_l.texi.
53989         * doc/posix-functions/iswxdigit_l.texi: Renamed from
53990         doc/glibc-functions/iswxdigit_l.texi.
53991         * doc/posix-functions/isxdigit_l.texi: Renamed from
53992         doc/glibc-functions/isxdigit_l.texi.
53993         * doc/posix-functions/mbsnrtowcs.texi: Renamed from
53994         doc/glibc-functions/mbsnrtowcs.texi.
53995         * doc/posix-functions/mkdtemp.texi: Renamed from
53996         doc/glibc-functions/mkdtemp.texi.
53997         * doc/posix-functions/newlocale.texi: Renamed from
53998         doc/glibc-functions/newlocale.texi.
53999         * doc/posix-functions/nl_langinfo_l.texi: Renamed from
54000         doc/glibc-functions/nl_langinfo_l.texi.
54001         * doc/posix-functions/open_memstream.texi: Renamed from
54002         doc/glibc-functions/open_memstream.texi.
54003         * doc/posix-functions/opterr.texi: Renamed from
54004         doc/glibc-functions/opterr.texi.
54005         * doc/posix-functions/optind.texi: Renamed from
54006         doc/glibc-functions/optind.texi.
54007         * doc/posix-functions/optopt.texi: Renamed from
54008         doc/glibc-functions/optopt.texi.
54009         * doc/posix-functions/psignal.texi: Renamed from
54010         doc/glibc-functions/psignal.texi.
54011         * doc/posix-functions/scandir.texi: Renamed from
54012         doc/glibc-functions/scandir.texi.
54013         * doc/posix-functions/sched_get_priority_min.texi: Renamed from
54014         doc/glibc-functions/sched_get_priority_min.texi.
54015         * doc/posix-functions/signgam.texi: Renamed from
54016         doc/glibc-functions/signgam.texi.
54017         * doc/posix-functions/stpcpy.texi: Renamed from
54018         doc/glibc-functions/stpcpy.texi.
54019         * doc/posix-functions/stpncpy.texi: Renamed from
54020         doc/glibc-functions/stpncpy.texi.
54021         * doc/posix-functions/strcasecmp_l.texi: Renamed from
54022         doc/glibc-functions/strcasecmp_l.texi.
54023         * doc/posix-functions/strcoll_l.texi: Renamed from
54024         doc/glibc-functions/strcoll_l.texi.
54025         * doc/posix-functions/strfmon_l.texi: Renamed from
54026         doc/glibc-functions/strfmon_l.texi.
54027         * doc/posix-functions/strftime_l.texi: Renamed from
54028         doc/glibc-functions/strftime_l.texi.
54029         * doc/posix-functions/strncasecmp_l.texi: Renamed from
54030         doc/glibc-functions/strncasecmp_l.texi.
54031         * doc/posix-functions/strndup.texi: Renamed from
54032         doc/glibc-functions/strndup.texi.
54033         * doc/posix-functions/strnlen.texi: Renamed from
54034         doc/glibc-functions/strnlen.texi.
54035         * doc/posix-functions/strsignal.texi: Renamed from
54036         doc/glibc-functions/strsignal.texi.
54037         * doc/posix-functions/strxfrm_l.texi: Renamed from
54038         doc/glibc-functions/strxfrm_l.texi.
54039         * doc/posix-functions/timer_gettime.texi: Renamed from
54040         doc/glibc-functions/timer_gettime.texi.
54041         * doc/posix-functions/tolower_l.texi: Renamed from
54042         doc/glibc-functions/tolower_l.texi.
54043         * doc/posix-functions/toupper_l.texi: Renamed from
54044         doc/glibc-functions/toupper_l.texi.
54045         * doc/posix-functions/towctrans_l.texi: Renamed from
54046         doc/glibc-functions/towctrans_l.texi.
54047         * doc/posix-functions/towlower_l.texi: Renamed from
54048         doc/glibc-functions/towlower_l.texi.
54049         * doc/posix-functions/towupper_l.texi: Renamed from
54050         doc/glibc-functions/towupper_l.texi.
54051         * doc/posix-functions/uselocale.texi: Renamed from
54052         doc/glibc-functions/uselocale.texi.
54053         * doc/posix-functions/vdprintf.texi: Renamed from
54054         doc/glibc-functions/vdprintf.texi.
54055         * doc/posix-functions/wcpcpy.texi:
54056         Renamed from doc/glibc-functions/wcpcpy.texi.
54057         * doc/posix-functions/wcpncpy.texi: Renamed from
54058         doc/glibc-functions/wcpncpy.texi.
54059         * doc/posix-functions/wcscasecmp.texi: Renamed from
54060         doc/glibc-functions/wcscasecmp.texi.
54061         * doc/posix-functions/wcscasecmp_l.texi: Renamed from
54062         doc/glibc-functions/wcscasecmp_l.texi.
54063         * doc/posix-functions/wcscoll_l.texi: Renamed from
54064         doc/glibc-functions/wcscoll_l.texi.
54065         * doc/posix-functions/wcsdup.texi: Renamed from
54066         doc/glibc-functions/wcsdup.texi.
54067         * doc/posix-functions/wcsncasecmp.texi: Renamed from
54068         doc/glibc-functions/wcsncasecmp.texi.
54069         * doc/posix-functions/wcsncasecmp_l.texi: Renamed from
54070         doc/glibc-functions/wcsncasecmp_l.texi.
54071         * doc/posix-functions/wcsnlen.texi: Renamed from
54072         doc/glibc-functions/wcsnlen.texi.
54073         * doc/posix-functions/wcsnrtombs.texi: Renamed from
54074         doc/glibc-functions/wcsnrtombs.texi.
54075         * doc/posix-functions/wcsxfrm_l.texi: Renamed from
54076         doc/glibc-functions/wcsxfrm_l.texi.
54077         * doc/posix-functions/wctrans_l.texi: Renamed from
54078         doc/glibc-functions/wctrans_l.texi.
54079         * doc/posix-functions/wctype_l.texi: Renamed from
54080         doc/glibc-functions/wctype_l.texi.
54081         * doc/gnulib.texi (Function Substitutes): Add these subsections.
54082         (Glibc ctype.h, Glibc dirent.h, Glibc getopt.h, Glibc math.h,
54083         Glibc sched.h, Glibc signal.h, Glibc stdio.h, Glibc stdlib.h,
54084         Glibc string.h, Glibc time.h, Glibc unistd.h, Glibc wchar.h): Remove
54085         these subsections.
54086         (Glibc langinfo.h, Glibc locale.h, Glibc monetary.h, Glibc wctype.h):
54087         Remove sections.
54088
54089 2008-12-14  Bruno Haible  <bruno@clisp.org>
54090
54091         Update doc for POSIX:2008.
54092         * doc/posix-functions/*.texi: Update URL of POSIX specification.
54093
54094 2008-12-14  Bruno Haible  <bruno@clisp.org>
54095
54096         Update doc for POSIX:2008.
54097         * doc/pastposix-functions/bcmp.texi: Renamed from
54098         doc/posix-functions/bcmp.texi.
54099         * doc/pastposix-functions/bcopy.texi: Renamed from
54100         doc/posix-functions/bcopy.texi.
54101         * doc/pastposix-functions/bsd_signal.texi: Renamed from
54102         doc/posix-functions/bsd_signal.texi.
54103         * doc/pastposix-functions/bzero.texi: Renamed from
54104         doc/posix-functions/bzero.texi.
54105         * doc/pastposix-functions/ecvt.texi: Renamed from
54106         doc/posix-functions/ecvt.texi.
54107         * doc/pastposix-functions/fcvt.texi: Renamed from
54108         doc/posix-functions/fcvt.texi.
54109         * doc/pastposix-functions/ftime.texi: Renamed from
54110         doc/posix-functions/ftime.texi.
54111         * doc/pastposix-functions/gcvt.texi: Renamed from
54112         doc/posix-functions/gcvt.texi.
54113         * doc/pastposix-functions/getcontext.texi: Renamed from
54114         doc/posix-functions/getcontext.texi.
54115         * doc/pastposix-functions/gethostbyaddr.texi: Renamed from
54116         doc/posix-functions/gethostbyaddr.texi.
54117         * doc/pastposix-functions/gethostbyname.texi: Renamed from
54118         doc/posix-functions/gethostbyname.texi.
54119         * doc/pastposix-functions/getwd.texi: Renamed from
54120         doc/posix-functions/getwd.texi.
54121         * doc/pastposix-functions/h_errno.texi: Renamed from
54122         doc/posix-functions/h_errno.texi.
54123         * doc/pastposix-functions/index.texi: Renamed from
54124         doc/posix-functions/index.texi.
54125         * doc/pastposix-functions/makecontext.texi: Renamed from
54126         doc/posix-functions/makecontext.texi.
54127         * doc/pastposix-functions/mktemp.texi: Renamed from
54128         doc/posix-functions/mktemp.texi.
54129         * doc/pastposix-functions/pthread_attr_getstackaddr.texi: Renamed from
54130         doc/posix-functions/pthread_attr_getstackaddr.texi.
54131         * doc/pastposix-functions/pthread_attr_setstackaddr.texi: Renamed from
54132         doc/posix-functions/pthread_attr_setstackaddr.texi.
54133         * doc/pastposix-functions/rindex.texi: Renamed from
54134         doc/posix-functions/rindex.texi.
54135         * doc/pastposix-functions/scalb.texi: Renamed from
54136         doc/posix-functions/scalb.texi.
54137         * doc/pastposix-functions/setcontext.texi: Renamed from
54138         doc/posix-functions/setcontext.texi.
54139         * doc/pastposix-functions/swapcontext.texi: Renamed from
54140         doc/posix-functions/swapcontext.texi.
54141         * doc/pastposix-functions/ualarm.texi: Renamed from
54142         doc/posix-functions/ualarm.texi.
54143         * doc/pastposix-functions/usleep.texi: Renamed from
54144         doc/posix-functions/usleep.texi.
54145         * doc/pastposix-functions/vfork.texi: Renamed from
54146         doc/posix-functions/vfork.texi.
54147         * doc/pastposix-functions/wcswcs.texi: Renamed from
54148         doc/posix-functions/wcswcs.texi.
54149         * doc/gnulib.texi (Legacy Function Substitutes): New chapter.
54150         (Function Substitutes): Update.
54151
54152 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54153
54154         * modules/relocatable-prog-wrapper (Depends-on): Add errno, needed by
54155         m4/strerror.m4.
54156
54157 2008-12-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54158             Bruno Haible  <bruno@clisp.org>
54159
54160         * modules/unilbrk/tables (Depends-on): Add unilbrk/base.
54161
54162 2008-12-13  Bruno Haible  <bruno@clisp.org>
54163
54164         * modules/strtoull (Depends-on): Remove unistd.
54165
54166 2008-12-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54167
54168         * modules/strtoull (Depends-on): Add stdlib.
54169
54170 2008-12-11  Simon Josefsson  <simon@josefsson.org>
54171
54172         * m4/manywarnings.m4 (gl_MANYWARN_ALL_GCC): Add more warnings.
54173
54174 2008-12-10  Jim Meyering  <meyering@redhat.com>
54175
54176         gl_ASSERT: don't say assertions are disabled when they're not
54177         * m4/assert.m4 (gl_ASSERT): Do not make configure report
54178         "checking whether to enable assertions... no", when they are in
54179         fact enabled.  This is solely a bug in the output of configure.
54180         In spite of saying "no", NDEBUG was not defined in that case.
54181         Also, as noted by Eric Blake, leave assertions enabled upon
54182         --enable-assert=INVALID.
54183
54184 2008-12-10  Bruno Haible  <bruno@clisp.org>
54185
54186         Change MODULES.html to refer to POSIX:2008 where possible.
54187         * MODULES.html.sh (POSIX2008_URL): New variable.
54188         (posix_headers): Remove sys/timeb, ucontext.
54189         (posix2001_headers): New variable.
54190         (posix_functions): Remove bcmp, bcopy, bsd_signal, bzero, ecvt, fcvt,
54191         ftime, gcvt, getcontext, gethostbyaddr, gethostbyname, getwd, h_errno,
54192         index, makecontext, mktemp, pthread_attr_getstackaddr,
54193         pthread_attr_setstackaddr, rindex, scalb, setcontext, swapcontext,
54194         ualarm, usleep, vfork, wcswcs. Add the new POSIX:2008 functions.
54195         (posix2001_functions): New variable.
54196         (func_module): Use URLs to POSIX:2008 where possible and to POSIX:2001
54197         otherwise.
54198
54199 2008-12-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54200
54201         add missing include to parse-duration.c
54202         * lib/parse-duration.c: #include "xalloc.h", for xstrdup.
54203         * modules/parse-duration (Depends-on): Add xalloc.
54204
54205         fix sed script reading maint.mk
54206         * top/maint.mk (MYSELF): New macro, define as $(srcdir)/$(ME).
54207         (syntax-check-rules): Use it.
54208
54209 2008-12-09  Bruno Haible  <bruno@clisp.org>
54210
54211         * m4/ldexpl.m4 (gl_FUNC_LDEXPL_WORKS): Add another check, that fails on
54212         MacOS X 10.4/PowerPC.
54213         Reported by Simon Josefsson.
54214
54215 2008-12-08  Jim Meyering  <meyering@redhat.com>
54216
54217         work around mingw's lack of some S_IF definitions
54218         * lib/fts.c (S_IFLNK, S_IFSOCK): Define if not already defined.
54219         Reported by Simon Josefsson.
54220
54221 2008-12-08  Bruno Haible  <bruno@clisp.org>
54222
54223         * m4/signbitl.m4 (gl_SIGNBIT_TEST_PROGRAM): Add a link check of signbit
54224         applied to variables. Needed on MacOS X 10.4/PowerPC.
54225         Reported by Simon Josefsson.
54226
54227 2008-12-08  William Pursell  <bill.pursell@gmail.com>  (tiny change)
54228         and Eric Blake  <ebb9@byu.net>
54229
54230         assert: honor --enable-assert
54231         * m4/assert.m4 (gl_ASSERT): Synchronize with autoconf 2.64, in
54232         order to honor --enable-assert, rather than treating it as a
54233         synonym for --disable-assert.
54234
54235 2008-12-08  Jim Meyering  <meyering@redhat.com>
54236
54237         * lib/posixtm.c: Remove now-useless declaration of mktime.
54238
54239         * build-aux/announce-gen (get_tool_versions): Accept .xz tarballs.
54240
54241 2008-12-07  Bruno Haible  <bruno@clisp.org>
54242
54243         * tests/test-lock.c (test_lock, test_rwlock, test_recursive_lock,
54244         test_once): Mark functions as static.
54245         * tests/test-tls.c (test_tls): Likewise.
54246
54247 2008-12-07  Bruno Haible  <bruno@clisp.org>
54248
54249         * lib/striconveha.h (uniconv_register_autodetect): Renamed from
54250         iconv_register_autodetect.
54251
54252 2008-12-07  Jim Meyering  <meyering@redhat.com>
54253
54254         posixtm.c: avoid a warning
54255         * lib/posixtm.c (posixtime): Don't initialize tm0.
54256         It's no longer needed to placate gcc4's -Wuninitialized,
54257         and the attempt to placate would elicit a new warning.
54258
54259         unicodeio.c: mark unused parameters
54260         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
54261         (fallback_failure_callback): Likewise.
54262
54263 2008-12-07  Bruno Haible  <bruno@clisp.org>
54264
54265         * gnulib-tool (func_create_testdir): When building the tests
54266         subdirectory, ignore the modules gnumakefile and maintainer-makefile.
54267         Reported by Simon Josefsson.
54268
54269 2008-12-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54270
54271         * doc/manywarnings.texi, doc/gnulib-intro.texi: Fix typos.
54272
54273 2008-12-06  Bruno Haible  <bruno@clisp.org>
54274
54275         * lib/c-stack.h (c_stack_action): Clarify possible side effects.
54276         Suggested by Eric Blake.
54277
54278 2008-12-06  Bruno Haible  <bruno@clisp.org>
54279
54280         Fix a c-stack test failure on MacOS X.
54281         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Require
54282         AC_CANONICAL_HOST. Define FAULT_YIELDS_SIGBUS. If set, install a signal
54283         handler for SIGBUS as well.
54284         * lib/c-stack.c (c_stack_action): If FAULT_YIELDS_SIGBUS is set,
54285         install a signal handler for SIGBUS as well.
54286         Reported by Bruce Dugan <bld0401@gmail.com> via Eric Blake.
54287
54288 2008-12-06  Bruno Haible  <bruno@clisp.org>
54289
54290         Advocacy documentation.
54291         * doc/gnulib-intro.texi (Benefits): New section.
54292         * doc/gnulib.texi: Update.
54293
54294 2008-12-06  Bruno Haible  <bruno@clisp.org>
54295
54296         Document the 'manywarnings' module.
54297         * doc/manywarnings.texi: New file.
54298         * doc/gnulib.texi: Include it.
54299
54300 2008-12-05  Eric Blake  <ebb9@byu.net>
54301
54302         tests: silence some gcc warnings
54303         * tests/test-getdate.c (LOG) [!DEBUG]: Mark no-op void.
54304         * tests/uniwidth/test-uc_width2.c (finish_interval): Avoid printf
54305         type mismatches.
54306
54307 2008-12-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
54308             Bruno Haible  <bruno@clisp.org>
54309
54310         * m4/openmp.m4 (AC_OPENMP): Do not define with Autoconf 2.62 or newer.
54311
54312 2008-11-29  Jim Meyering  <meyering@redhat.com>
54313
54314         unicodeio.c: mark unused parameters
54315         * lib/unicodeio.c (exit_failure_callback): Mark unused parameter.
54316         (fallback_failure_callback): Likewise.
54317
54318         fts: fix a thinko
54319         * lib/fts.c (s_ifmt_shift_bits): Remove function.  Not needed after all.
54320         (set_stat_type): Return S_IF*-valued "type" directly.
54321         Prompted by James Youngman's spotting a related bug.
54322         Confirmed by further testing through find.
54323
54324         fts: provide dirent.d_type via FTSENT.fts_statp, when possible
54325         * lib/fts.c (D_TYPE): Define.
54326         (DT_UNKNOWN, DT_BLK, DT_CHR) [HAVE_STRUCT_DIRENT_D_TYPE]: Define.
54327         (DT_DIR, DT_FIFO, DT_LNK, DT_REG, DT_SOCK): Likewise.
54328         (s_ifmt_shift_bits): New function.
54329         (set_stat_type): New function.
54330         (fts_build): When not calling fts_stat, call set_stat_type
54331         to propagate dirent.d_type info to fts_read caller.
54332         * lib/fts_.h (FTSENT) [FTS_DEFER_STAT]: Mention that
54333         fts_statp->st_mode type information may be valid.
54334
54335 2008-11-28  Simon Josefsson  <simon@josefsson.org>
54336
54337         * lib/sys_time.in.h: Add extern "C" block for C++.  Suggested by
54338         Brian Dessent <brian@dessent.net>.  Reported by Sam Steingold
54339         <sds@gnu.org>.
54340
54341 2008-11-20  Bruno Haible  <bruno@clisp.org>
54342
54343         Attempt to work around an AIX 5.3, 6.1 compiler bug with include_next.
54344         * lib/math.in.h: Use INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of
54345         INCLUDE_NEXT.
54346         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also
54347         INCLUDE_NEXT_AS_FIRST_DIRECTIVE.
54348         * modules/math (Makefile.am): Substitute
54349         INCLUDE_NEXT_AS_FIRST_DIRECTIVE instead of INCLUDE_NEXT.
54350         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
54351
54352 2008-11-18  Alexandre Duret-Lutz  <adl@lrde.epita.fr>
54353             Bruno Haible  <bruno@clisp.org>
54354
54355         * lib/stdint.in.h: Define all type macros so that their expansion is
54356         a single typedef'ed token. Fixes a compilation failure in Boost which
54357         does "using ::int8_t;".
54358
54359 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54360
54361         * m4/manywarnings.m4: New file with gl_MANYWARN_COMPLEMENT and
54362         gl_MANYWARN_ALL_GCC.
54363         * m4/warnings.m4: Removed gl_WARN_SUPPORTED and
54364         gl_WARN_COMPLEMENT.  Suggested by Bruno Haible <bruno@clisp.org>.
54365         * modules/manywarnings: New file.
54366         * MODULES.html.sh: Mention manywarnings module.
54367
54368 2008-11-18  Bruno Haible  <bruno@clisp.org>
54369
54370         * doc/gnulib-tool.texi (Unit tests): New section.
54371
54372 2008-11-18  Simon Josefsson  <simon@josefsson.org>
54373
54374         * top/maint.mk (refresh-po): Fix sed regexp to avoid problems with
54375         paths like 'lib/po/foo.po'.
54376
54377 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54378
54379         * m4/warnings.m4: Improve code.  Reported by Ralf Wildenhues
54380         <Ralf.Wildenhues@gmx.de> and Paolo Bonzini <bonzini@gnu.org>.
54381
54382 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54383
54384         * m4/warnings.m4: Use CPPFLAGS to really check whether the
54385         parameter works.
54386
54387 2008-11-17  Simon Josefsson  <simon@josefsson.org>
54388
54389         * m4/warnings.m4: Add gl_WARN_COMPLEMENT and gl_WARN_SUPPORTED.
54390
54391 2008-11-17  Bruce Korb  <bkorb@gnu.org>
54392
54393         * modules/parse-duration-tests: New file.
54394         * tests/test-parse-duration.sh: New file.
54395         * tests/test-parse-duration.c: New file.
54396
54397         New module 'parse-duration'.
54398         * lib/parse-duration.h: New file.
54399         * lib/parse-duration.c: New file.
54400         * modules/parse-duration: New file.
54401
54402 2008-11-17  Bruno Haible  <bruno@clisp.org>
54403
54404         * tests/test-select-out.sh: Comment out the first pipe test.
54405         Reported by Simon Josefsson.
54406
54407 2008-11-17  Bruno Haible  <bruno@clisp.org>
54408
54409         * modules/getaddrinfo (Depends-on): Add servent, hostent.
54410         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_SERVENT and
54411         gl_HOSTENT.
54412
54413 2008-11-17  Bruno Haible  <bruno@clisp.org>
54414
54415         * m4/sockets.m4 (gl_SOCKETS): After trying -lsocket, try also
54416         -lnetwork and -lnet. Needed for Haiku and BeOS.
54417
54418 2008-11-16  Bruno Haible  <bruno@clisp.org>
54419
54420         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix indentation.
54421
54422 2008-11-16  Bruno Haible  <bruno@clisp.org>
54423
54424         Avoid test failure on Haiku.
54425         * tests/test-fsync.c: Include <errno.h>.
54426         (main): Don't require that fsync (0) fails.
54427
54428 2008-11-15  Bruno Haible  <bruno@clisp.org>
54429
54430         New module 'hostent'.
54431         * modules/hostent: New file.
54432         * m4/hostent.m4: New file, based on code in m4/getaddrinfo.m4.
54433
54434 2008-11-15  Bruno Haible  <bruno@clisp.org>
54435
54436         New module 'servent'.
54437         * modules/servent: New file.
54438         * m4/servent.m4: New file, based on code in m4/getaddrinfo.m4.
54439
54440 2008-11-15  Bruno Haible  <bruno@clisp.org>
54441
54442         Avoid generating same test program with two different rules.
54443         * modules/frexp-nolibm-tests (Makefile.am): Rename test program from
54444         test-frexp to test-frexp-nolibm.
54445         * modules/frexpl-nolibm-tests (Makefile.am): Rename test program from
54446         test-frexpl to test-frexpl-nolibm.
54447
54448 2008-11-15  Bruno Haible  <bruno@clisp.org>
54449
54450         * modules/frexpl-tests (Makefile.am): Link test-frexpl with
54451         $(FREXPL_LIBM).
54452
54453 2008-11-15  Bruno Haible  <bruno@clisp.org>
54454
54455         * lib/netdb.in.h: Activate the definitions also when the system's
54456         <netdb.h> has 'struct addrinfo'.
54457         * m4/netdb_h.m4 (gl_HEADER_NETDB): Replace netdb.h also when it lacks
54458         EAI_OVERFLOW or AI_NUMERICSERV.
54459         * doc/posix-headers/netdb.texi: Document the problem.
54460
54461 2008-11-15  Bruno Haible  <bruno@clisp.org>
54462
54463         * tests/test-sched.c: Test also the existence of the SCHED_* macros.
54464
54465         Make the 'sched' module work on platforms where <sched.h> exists but
54466         is incomplete (such as Haiku).
54467         * lib/sched.in.h; Include the system's <sched.h> if it exists.
54468         (SCHED_FIFO, SCHED_RR, SCHED_OTHER): New macros.
54469         * m4/sched_h.m4 (gl_SCHED_H): Test whether <sched.h> exists and also
54470         defines SCHED_FIFO, SCHED_RR, SCHED_OTHER. Set HAVE_SCHED_H,
54471         HAVE_STRUCT_SCHED_PARAM.
54472         * modules/sched (Depends-on): Add include_next.
54473         (Makefile.am): Substitute HAVE_SCHED_H, INCLUDE_NEXT,
54474         PRAGMA_SYSTEM_HEADER, NEXT_SCHED_H, HAVE_STRUCT_SCHED_PARAM.
54475         * doc/posix-headers/sched.texi: Document the issue.
54476
54477 2008-11-13  Jim Meyering  <meyering@redhat.com>
54478
54479         test-argp-2: avoid test failure when PACKAGE_BUGREPORT is defined
54480         * tests/test-argp-2.sh: When PACKAGE_BUGREPORT was defined, this
54481         test would fail due to the difference in the Report bugs to ...
54482         line.  The expected address is empty, "<>", while the actual
54483         would contain e.g., "<bug-tar@gnu.org>".  Filter out any address.
54484
54485 2008-11-12  Bruno Haible  <bruno@clisp.org>
54486
54487         lstat: don't compile lstat.c on systems lacking lstat
54488         * m4/lstat.m4 (gl_FUNC_LSTAT): Don't compile lstat.c on systems
54489         which don't have lstat; this is handled by lib/sys_stat.in.h already.
54490         Reported by Daniel P. Berrange via Jim Meyering.
54491
54492 2008-11-12  Jim Meyering  <meyering@redhat.com>
54493
54494         * lib/unicodeio.c (unicode_to_mb): Correct spelling of u8_uctomb.
54495
54496 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54497
54498         * modules/warnings (configure.ac): Do AC_SUBST([WARN_CFLAGS]) here
54499         instead.
54500
54501 2008-11-12  Bruno Haible  <bruno@clisp.org>
54502
54503         * lib/unicodeio.c: Include unistr.h.
54504         (utf8_wctomb): Remove function.
54505         (unicode_to_mb): Use utf8_uctomb instead of utf8_wctomb.
54506
54507 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54508
54509         * m4/warnings.m4 (gl_WARN_INIT): Remove, suggested by Ralf
54510         Wildenhues <Ralf.Wildenhues@gmx.de> and Bruno Haible
54511         <bruno@clisp.org>.
54512         * modules/warnings (configure.ac): Don't call gl_WARN_INIT.
54513
54514 2008-11-12  Simon Josefsson  <simon@josefsson.org>
54515
54516         * doc/warnings.texi: New file, from Bruno Haible <bruno@clisp.org>.
54517         * doc/gnulib.texi: Add section for warnings.
54518
54519 2008-11-11  Bruno Haible  <bruno@clisp.org>
54520
54521         * lib/sockets.h: Add a comment.
54522
54523 2008-11-11  Karl Berry  <karl@gnu.org>
54524
54525         * config/srclist.txt (fdl.texi): add, syncing from gnustandards.
54526
54527 2008-11-11  Eric Blake  <ebb9@byu.net>
54528
54529         fdl.texi: avoid git symlinks
54530         * doc/fdl.texi: Copy, rather than link, fdl-1.3.texi.
54531
54532 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54533
54534         * m4/warnings.m4 (gl_WARN_ADD): Don't AC_SUBST the empty string.
54535
54536 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54537
54538         * m4/warnings.m4 (gl_WARN_INIT): Substitute WARN_CFLAGS.
54539         (gl_WARN_ADD): Substitute $2 if literal.
54540
54541 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54542
54543         * m4/warning.m4: Remove.
54544
54545 2008-11-11  Paolo Bonzini  <bonzini@gnu.org>
54546
54547         * m4/warnings.m4: Almost complete rewrite. :-)
54548
54549 2008-11-10  Simon Josefsson  <simon@josefsson.org>
54550
54551         * modules/warnings: New module.
54552         * m4/warnings.m4: New file.
54553         * MODULES.html.sh: Mention warnings module.
54554         With review improvements from Paolo Bonzini <bonzini@gnu.org> and
54555         Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
54556
54557 2008-11-10  Eric Blake  <ebb9@byu.net>
54558
54559         fdl.texi: make a symlink to the latest version
54560         * doc/standards.texi: Revert today's earlier change.
54561         * doc/fdl-1.2.texi: Rename from old fdl.texi...
54562         * doc/fdl.texi: ...and replace this with a symlink to the newer
54563         fdl-1.3.texi.
54564
54565 2008-11-10  Bruno Haible  <bruno@clisp.org>
54566
54567         * tests/test-select-fd.c (main): Accept the result file name as fourth
54568         argument.
54569         * tests/test-select-in.sh: Pass t-select-in.tmp as fourth argument.
54570         * tests/test-select-out.sh: Pass t-select-out.tmp as fourth argument.
54571
54572 2008-11-10  Bruno Haible  <bruno@clisp.org>
54573
54574         * lib/netdb.in.h: Use HAVE_STRUCT_ADDRINFO, HAVE_DECL_GETADDRINFO,
54575         HAVE_DECL_FREEADDRINFO, HAVE_DECL_GAI_STRERROR, HAVE_DECL_GETNAMEINFO
54576         as autoconf-substituted macros.
54577         * m4/netdb_h.m4 (gl_NETDB_H_DEFAULTS): Initialize these variables to 1.
54578         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require
54579         gl_NETDB_H_DEFAULTS. Set these variables.
54580         * modules/netdb (Makefile.am): Substitute these variables.
54581
54582 2008-11-10  Eric Blake  <ebb9@byu.net>
54583
54584         standards.texi: include correct file for FDL 1.3
54585         * doc/standards.texi (GNU Free Documentation License): Change
54586         include file to pull in FDL 1.3, not 1.2.
54587
54588         fdl.texi: revert accidental change to license
54589         * doc/fdl.texi: This is FDL 1.2, not 1.3.
54590
54591 2008-11-10  Bruno Haible  <bruno@clisp.org>
54592
54593         * m4/printf.m4 (gl_PRINTF_ENOMEM): Guess yes on Haiku. Use the
54594         cross-compiling guesses also when the native compile gives no result.
54595
54596 2008-11-10  Bruno Haible  <bruno@clisp.org>
54597
54598         * lib/spawni.c (__spawni): Force variable into the stack.
54599
54600 2008-11-10  Bruno Haible  <bruno@clisp.org>
54601
54602         Add support for Haiku.
54603         * lib/fbufmode.c (fbufmode): Test a symbol that is not only defined on
54604         glibc and BeOS, but also on Haiku.
54605         * lib/fpurge.c (fpurge): Likewise.
54606         * lib/freadable.c (freadable): Likewise.
54607         * lib/freadahead.c (freadahead): Likewise.
54608         * lib/freading.c (freading): Likewise.
54609         * lib/freadptr.c (freadptr): Likewise.
54610         * lib/freadseek.c (freadptrinc): Likewise.
54611         * lib/fseeko.c (rpl_fseeko): Likewise.
54612         * lib/fseterr.c (fseterr): Likewise.
54613         * lib/fwritable.c (fwritable): Likewise.
54614         * lib/fwriting.c (fwriting): Likewise.
54615         Reported by Ingo Weinhold <ingo_weinhold@gmx.de>.
54616
54617 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54618
54619         * lib/config.charset: Treat Haiku like BeOS.
54620
54621 2008-11-10  Ingo Weinhold  <ingo_weinhold@gmx.de>
54622
54623         * lib/binary-io.h (O_BINARY, O_TEXT): Treat Haiku like BeOS.
54624         * lib/fcntl.in.h (O_BINARY, O_TEXT): Likewise.
54625
54626 2008-11-08  Bruno Haible  <bruno@clisp.org>
54627
54628         * m4/sys_ioctl_h.m4 (gl_SYS_IOCTL_H): Avoid using AC_CHECK_DECL inside
54629         AC_CACHE_CHECK.
54630
54631 2008-11-08  Bruno Haible  <bruno@clisp.org>
54632
54633         * modules/select-tests (configure.ac): Check for unistd.h, sys/wait.h.
54634
54635 2008-11-08  Bruno Haible  <bruno@clisp.org>
54636
54637         * tests/test-select-fd.c: New file.
54638         * tests/test-select-in.sh: New file.
54639         * tests/test-select-out.sh: New file.
54640         * tests/test-select-stdin.c: New file.
54641         * modules/select-tests (Files): Add the new files.
54642         (Depends-on): Add gettimeofday.
54643         (Makefile.am): Add test-select-in.sh, test-select-out.sh to TESTS.
54644         Set TESTS_ENVIRONMENT. Add test-select-fd, test-select-stdin to
54645         check_PROGRAMS. Define test_select_fd_LDADD, test_select_stdin_LDADD.
54646
54647 2008-11-06  Alexander V. Lukyanov  <lav@netis.ru>
54648             Bruno Haible  <bruno@clisp.org>
54649
54650         * lib/sys_stat.in.h: Enclose function definitions in extern "C".
54651
54652 2008-10-12  Giuseppe Scrivano  <gscrivano@gnu.org>
54653
54654         * build-aux/pmccabe2html: Added support for C++ source files.
54655
54656 2008-11-05  Ben Pfaff  <blp@gnu.org>
54657
54658         Fix lib/close.c build on Windows.
54659         * modules/close (Files): Add lib/w32sock.h.
54660
54661 2008-11-05  Joel E. Denny  <jdenny@ces.clemson.edu>
54662
54663         Accept Bison's NEWS format.
54664         * build-aux/announce-gen (print_news_deltas): Tweak
54665         $re_prefix.
54666
54667 2008-11-04  Bruno Haible  <bruno@clisp.org>
54668
54669         * modules/random_r (Maintainer): Add glibc.
54670
54671 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54672
54673         * doc/alloca-opt.texi: Change license to GFDLv1.3+, as suggested
54674         by karl@freefriends.org (Karl Berry).
54675         * doc/alloca.texi: Likewise.
54676         * doc/c-ctype.texi: Likewise.
54677         * doc/c-strcase.texi: Likewise.
54678         * doc/c-strcaseeq.texi: Likewise.
54679         * doc/c-strcasestr.texi: Likewise.
54680         * doc/c-strstr.texi: Likewise.
54681         * doc/c-strtod.texi: Likewise.
54682         * doc/c-strtold.texi: Likewise.
54683         * doc/ctime.texi: Likewise.
54684         * doc/error.texi: Likewise.
54685         * doc/fdl.texi: Likewise.
54686         * doc/gcd.texi: Likewise.
54687         * doc/getdate.texi: Likewise.
54688         * doc/gnulib-intro.texi: Likewise.
54689         * doc/gnulib-tool.texi: Likewise.
54690         * doc/gnulib.texi: Likewise.
54691         * doc/inet_ntoa.texi: Likewise.
54692         * doc/maintain.texi: Likewise.
54693         * doc/make-stds.texi: Likewise.
54694         * doc/quote.texi: Likewise.
54695         * doc/regexprops-generic.texi: Likewise.
54696         * doc/standards.texi: Likewise.
54697         * doc/verify.texi: Likewise.
54698         * doc/visibility.texi: Likewise.
54699         * doc/gnulib.texi (GNU Free Documentation License): Include
54700         fdl-1.3.texi instead of fdl.texi.
54701
54702 2008-11-04  Simon Josefsson  <simon@josefsson.org>
54703
54704         * doc/fdl-1.3.texi: New file, from
54705         <http://www.gnu.org/licenses/fdl-1.3.texi>.
54706         * modules/fdl-1.3: Add.
54707         * MODULES.html.sh: Add fdl-1.3.
54708
54709 2008-11-03  Bruno Haible  <bruno@clisp.org>
54710
54711         Make determination of absolute name of header file work with AIX xlc.
54712         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Require
54713         AC_CANONICAL_HOST. On AIX, use "$CPP -C" rather than "$CPP" for
54714         preprocessing.
54715         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
54716         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
54717
54718 2008-11-03  Simon Josefsson  <simon@josefsson.org>
54719
54720         * top/maint.mk (COVERAGE_CCOPTS): Use --coverage instead of
54721         -fprofile-arcs -ftest-coverage.  Suggested by Ludovic Courtès
54722         <ludo@gnu.org>.
54723
54724 2008-11-02  Bruno Haible  <bruno@clisp.org>
54725
54726         Mark 'strpbrk' obsolete.
54727         * modules/strpbrk (Status, Notice): New sections.
54728         * modules/strtok_r (Depends-on): Add strpbrk.
54729
54730 2008-11-02  Bruno Haible  <bruno@clisp.org>
54731
54732         Mark 'strdup' obsolete.
54733         * modules/strdup (Status, Notice): New sections.
54734         * modules/findprog (Depends-on): Add strdup.
54735         * modules/getaddrinfo (Depends-on): Likewise.
54736         * modules/localename (Depends-on): Likewise.
54737         * modules/relocatable-lib (Depends-on): Likewise.
54738         * modules/relocatable-lib-lgpl (Depends-on): Likewise.
54739         * modules/relocatable-prog (Depends-on): Likewise.
54740         * modules/trim (Depends-on): Likewise.
54741         * modules/unictype/gen-ctype (Depends-on): Likewise.
54742         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54743
54744 2008-11-02  Bruno Haible  <bruno@clisp.org>
54745
54746         Mark 'strcspn' obsolete.
54747         * modules/strcspn (Status, Notice): New sections.
54748
54749 2008-11-02  Bruno Haible  <bruno@clisp.org>
54750
54751         Mark 'rmdir' obsolete.
54752         * modules/rmdir (Status, Notice): New sections.
54753         * modules/clean-temp (Depends-on): Add rmdir.
54754         * modules/openat (Depends-on): Likewise.
54755
54756 2008-11-02  Bruno Haible  <bruno@clisp.org>
54757
54758         Mark 'raise' obsolete.
54759         * modules/raise (Status, Notice): New sections.
54760         (Include): Specify <signal.h>.
54761         * modules/stdio (Depends-on): Add raise.
54762         * modules/write (Depends-on): Likewise.
54763
54764 2008-11-02  Bruno Haible  <bruno@clisp.org>
54765
54766         Mark 'memset' obsolete.
54767         * modules/memset (Status, Notice): New sections.
54768
54769 2008-11-02  Bruno Haible  <bruno@clisp.org>
54770
54771         Mark 'memmove' obsolete.
54772         * modules/memmove (Status, Notice): New sections.
54773         * modules/argp (Depends-on): Add memmove.
54774         * modules/argz (Depends-on): Likewise.
54775         * modules/canonicalize (Depends-on): Likewise.
54776         * modules/canonicalize-lgpl (Depends-on): Likewise.
54777         * modules/fts (Depends-on): Likewise.
54778         * modules/getcwd (Depends-on): Likewise.
54779         * modules/human (Depends-on): Likewise.
54780         * modules/regex (Depends-on): Likewise.
54781         * modules/striconveh (Depends-on): Likewise.
54782         * modules/trim (Depends-on): Likewise.
54783         * modules/unistr/u8-move (Depends-on): Likewise.
54784         * modules/unistr/u16-move (Depends-on): Likewise.
54785         * modules/unistr/u32-move (Depends-on): Likewise.
54786
54787 2008-11-02  Bruno Haible  <bruno@clisp.org>
54788
54789         Mark 'memcpy' obsolete.
54790         * modules/memcpy (Status, Notice): New sections.
54791
54792 2008-11-02  Bruno Haible  <bruno@clisp.org>
54793
54794         Mark 'memcmp' obsolete.
54795         * modules/memcmp (Status, Notice): New sections.
54796         * modules/argmatch (Depends-on): Add memchr.
54797         * modules/backupfile (Depends-on): Likewise.
54798         * modules/c-strcasestr (Depends-on): Likewise.
54799         * modules/crypto/des (Depends-on): Likewise.
54800         * modules/csharpcomp (Depends-on): Likewise.
54801         * modules/fnmatch (Depends-on): Likewise.
54802         * modules/git-merge-changelog (Depends-on): Likewise.
54803         * modules/isnand (Depends-on): Likewise.
54804         * modules/isnand-nolibm (Depends-on): Likewise.
54805         * modules/isnanf (Depends-on): Likewise.
54806         * modules/isnanf-nolibm (Depends-on): Likewise.
54807         * modules/isnanl (Depends-on): Likewise.
54808         * modules/isnanl-nolibm (Depends-on): Likewise.
54809         * modules/mbchar (Depends-on): Likewise.
54810         * modules/memcoll (Depends-on): Likewise.
54811         * modules/quotearg (Depends-on): Likewise.
54812         * modules/regex (Depends-on): Likewise.
54813         * modules/relocatable-prog (Depends-on): Likewise.
54814         * modules/same (Depends-on): Likewise.
54815         * modules/signbit (Depends-on): Likewise.
54816         * modules/strcasestr-simple (Depends-on): Likewise.
54817         * modules/unictype/gen-ctype (Depends-on): Likewise.
54818         * modules/unilbrk/gen-lbrk (Depends-on): Likewise.
54819         * modules/uniname/uniname (Depends-on): Likewise.
54820         * modules/unistr/u8-cmp (Depends-on): Likewise.
54821
54822 2008-11-02  Bruno Haible  <bruno@clisp.org>
54823
54824         Mark 'memchr' obsolete.
54825         * modules/memchr (Status, Notice): New sections.
54826         * modules/argp (Depends-on): Add memchr.
54827         * modules/base64 (Depends-on): Likewise.
54828         * modules/c-strcasestr (Depends-on): Likewise.
54829         * modules/chdir-long (Depends-on): Likewise.
54830         * modules/fnmatch (Depends-on): Likewise.
54831         * modules/getsubopt (Depends-on): Likewise.
54832         * modules/git-merge-changelog (Depends-on): Likewise.
54833         * modules/glob (Depends-on): Likewise.
54834         * modules/strcasestr-simple (Depends-on): Likewise.
54835         * modules/strnlen (Depends-on): Likewise.
54836
54837 2008-11-02  Bruno Haible  <bruno@clisp.org>
54838
54839         Mark 'atexit' obsolete.
54840         * modules/atexit (Status, Notice): New sections.
54841         * modules/chdir-long (Depends-on): Add atexit.
54842         * modules/wait-process (Depends-on): Likewise.
54843
54844 2008-11-02  Bruno Haible  <bruno@clisp.org>
54845
54846         * gnulib-tool: New option --with-obsolete.
54847         (func_usage): Document it.
54848         (func_modules_transitive_closure): Drop obsolete dependencies if
54849         incobsolete is not true.
54850         (func_import): Read and save the incobsolete variable to the cache.
54851
54852 2008-11-02  Bruno Haible  <bruno@clisp.org>
54853
54854         * modules/TEMPLATE-EXTENDED: New field 'Status'.
54855         * gnulib-tool: New option --extract-status.
54856         (func_usage): Document it.
54857         (sed_extract_prog): Recognize it.
54858         (func_get_status): New function.
54859
54860 2008-10-30  Simon Josefsson  <simon@josefsson.org>
54861
54862         * modules/sockets (License): Change from LGPL to LGPLv2+.
54863
54864 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54865
54866         * top/maint.mk: Add coverage rules, inspired by scripts in gnupdf.
54867
54868 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54869
54870         * MODULES.html.sh (Support for systems lacking POSIX:2001):
54871         Mention times and sys_times.
54872         * modules/sys_times, modules/sys_times-tests: New modules.
54873         * modules/times, modules/times-tests: Likewise
54874         * m4/sys_times_h.m4: New file.
54875         * lib/sys_times.in.h: Likewise
54876         * lib/times.c: Likewise.
54877         * tests/test-sys_times.c: Likewise.
54878         * tests/test-times.c: Likewise.
54879         * doc/posix-headers/sys_times.texi: Update.
54880         * doc/posix-functions/times.texi: Update.
54881
54882 2008-10-28  Jim Meyering  <meyering@redhat.com>
54883
54884         * modules/tempname (Depends-on): Add lstat.
54885
54886         * modules/lstat (License): Relicense: LGPL -> LGPLv2+.
54887
54888 2008-10-28  Simon Josefsson  <simon@josefsson.org>
54889
54890         * gnulib-tool (func_emit_tests_Makefile_am): Revert last commit.
54891         * modules/argp-tests (test_argp_LDADD): Set EXEEXT here instead,
54892         using idiom used elsewhere in gnulib.
54893
54894 2008-10-27  Jim Meyering  <meyering@redhat.com>
54895
54896         * modules/gethostname (License): Relicense: LGPL -> LGPLv2+.
54897
54898 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54899
54900         * gnulib-tool (func_emit_tests_Makefile_am): Set EXEEXT in
54901         TESTS_ENVIRONMENT, for shell scripts that needs to call built
54902         programs.
54903         * tests/test-argp-2.sh: Use $EXEEXT when needed.
54904
54905 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54906
54907         * lib/sys_stat.in.h (lstat): Fix declaration for mingw.
54908
54909 2008-10-27  Bruno Haible  <bruno@clisp.org>
54910
54911         * tests/test-lstat.c: Include <stdio.h>.
54912
54913 2008-10-27  Simon Josefsson  <simon@josefsson.org>
54914
54915         * modules/lstat-tests: New module.
54916         * tests/test-lstat.c: New file.
54917
54918 2008-10-26  Jim Meyering  <meyering@redhat.com>
54919
54920         * lib/mkdir.c (rpl_mkdir) [_WIN32...]: Mark mode as an unused parameter.
54921
54922 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54923             Bruno Haible  <bruno@clisp.org>
54924
54925         Fix a clash between the type DATADIR on Windows and the macro DATADIR.
54926         * modules/configmake (Include): Add a note that the include must come
54927         after all system headers.
54928         * lib/javaversion.c: Include configmake.h after all other includes.
54929
54930 2008-10-26  Bruno Haible  <bruno@clisp.org>
54931
54932         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Set default of
54933         HAVE_STRUCT_RANDOM_DATA to 1.
54934         (gl_STDLIB_H): Simplify.
54935
54936 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54937
54938         * m4/stdlib_h.m4: Check for struct random_data.  Initialize and
54939         substitute HAVE_STRUCT_RANDOM_DATA.
54940         * lib/stdlib.in.h [!HAVE_STRUCT_RANDOM_DATA]: Provide struct
54941         random_data.
54942         * modules/stdlib (Makefile.am): Substitute
54943         HAVE_STRUCT_RANDOM_DATA.
54944
54945 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54946
54947         * doc/gnulib.texi (@copying): Use GFDLv1.2+.
54948         * doc/gnulib-intro.texi (Copyright): Likewise.
54949
54950 2008-10-26  Simon Josefsson  <simon@josefsson.org>
54951
54952         * doc/gnulib.texi (Header files): C++ fixes, based on Bruno's
54953         findings.
54954
54955 2008-10-25  Ben Pfaff  <blp@cs.stanford.edu>
54956             Bruno Haible  <bruno@clisp.org>
54957
54958         * lib/unistd.in.h: Include <winsock2.h>.
54959         (socket, connect,accept, bind, getpeername, getsockname, getsockopt,
54960         listen, recv, send, recvfrom, sendto, setsockopt, shutdown, select):
54961         Provide dummy declarations.
54962         (gethostname): Override.
54963         * lib/sys_socket.in.h (gethostname): Provide dummy declaration.
54964         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Invoke
54965         gl_PREREQ_SYS_H_WINSOCK2.
54966         * modules/gethostname (Files): Add m4/sys_socket_h.m4.
54967         * doc/posix-functions/gethostname.texi: More details.
54968
54969 2008-10-25  Bruno Haible  <bruno@clisp.org>
54970
54971         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
54972         gl_UNISTD_H_DEFAULTS, gl_SYS_IOCTL_H_DEFAULTS only if they exist.
54973         * modules/sys_socket (Files): Remove m4/unistd_h.m4, m4/sys_ioctl_h.m4.
54974
54975         * lib/sys_socket.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); Move macro from
54976         here ...
54977         * lib/unistd.in.h (HAVE__GL_CLOSE_FD_MAYBE_SOCKET); ... to here.
54978         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Remove invocation of
54979         gl_UNISTD_H_DEFAULTS.
54980
54981 2008-10-25  Eric Blake  <ebb9@byu.net>
54982
54983         signbit: avoid spurious compiler failure
54984         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Move non-constant
54985         declarations inside function.
54986
54987 2008-10-24  Simon Josefsson  <simon@josefsson.org>
54988             Bruno Haible  <bruno@clisp.org>
54989
54990         * lib/stdlib.in.h (@GNULIB_RANDOM_R@): Include stdint.h.
54991         * modules/random_r (Depends-on): Add stdint.
54992
54993 2008-10-24  Bruno Haible  <bruno@clisp.org>
54994
54995         * modules/intprops (License): Change to LGPLv2+, with approval by Paul
54996         Eggert.
54997         * modules/strerror (License): Likewise.
54998
54999 2008-10-24  Jim Meyering  <meyering@redhat.com>
55000
55001         sys_socket: fix typo that inhibited expansion of @GNULIB_SEND@
55002         * modules/sys_socket (Depends-on) [Depends-on]: Fix typo.
55003
55004 2008-10-24  Eric Blake  <ebb9@byu.net>
55005
55006         getgroups: fix compilation when getgroups is available
55007         * lib/getgroups.c (includes): Include <unistd.h> for getgroups,
55008         but with <config.h> override of getgroups disabled.
55009
55010 2008-10-24  Simon Josefsson  <simon@josefsson.org>
55011
55012         * doc/gnulib.texi (Header files): Add note about C++ problems.
55013         Explained by Bruno Haible <bruno@clisp.org>.
55014
55015 2008-10-23  Bruno Haible  <bruno@clisp.org>
55016
55017         Define a dummy SA_NODEFER macro on Interix.
55018         * lib/signal.in.h (SA_NODEFER): Define fallback.
55019         Reported by Aleksey Cheusov <cheusov@tut.by> via
55020         Thomas Klausner <wiz@netbsd.org> and Eric Blake.
55021
55022 2008-10-23  Bruno Haible  <bruno@clisp.org>
55023
55024         * modules/freadahead (License): Change to LGPLv2+.
55025         Suggested by Simon Josefsson.
55026
55027 2008-10-23  Jim Meyering  <meyering@redhat.com>
55028
55029         random_r: new module
55030         * modules/random_r: New file.
55031         * m4/random_r.m4: New file.
55032         * lib/random_r.c: New file, from glibc.
55033         * modules/random_r-tests: New file.
55034         * tests/test-random_r.c: New file.
55035         * lib/stdlib.in.h (srandom_r, initstate_r, setstate_r, random_r):
55036          Declare.
55037         (RAND_MAX): Define.
55038         * m4/stdlib_h.m4: Define and AC_SUBST GNULIB_RANDOM_R and HAVE_RANDOM_R.
55039         * modules/stdlib: Substitute them, too.
55040         * MODULES.html.sh (Extra functions based on POSIX:2001) [Misc]: Add it.
55041         * doc/glibc-functions/initstate_r.texi: Mention the new module.
55042         * doc/glibc-functions/random_r.texi: Likewise.
55043         * doc/glibc-functions/setstate_r.texi: Likewise.
55044         * doc/glibc-functions/srandom_r.texi: Likewise.
55045         * config/srclist.txt: Mention it.
55046
55047 2008-10-23  David Lutterkort  <lutter@redhat.com>
55048
55049         * modules/selinux-h: Search for LIB_SELINUX and mark it as a
55050         link requirement
55051
55052 2008-10-23  Jim Meyering  <meyering@redhat.com>
55053
55054         selinux-h: mark parameters of stub functions as intentionally unused
55055         * lib/se-selinux.in.h: Mark parameters as _UNUSED_PARAMETER_.
55056         * lib/se-context.in.h: Likewise.
55057
55058 2008-10-22  Simon Josefsson  <simon@josefsson.org>
55059
55060         * lib/sys_socket.in.h (FD_ISSET): Fix warnings under mingw.
55061
55062 2008-10-22  Simon Josefsson  <simon@josefsson.org>
55063
55064         * m4/getgroups.m4: Avoid invoking test with wrong parameters.
55065
55066 2008-10-22  Eric Blake  <ebb9@byu.net>
55067
55068         glthread/thread: avoid compiler warning
55069         * lib/glthread/thread.c (gl_thread_exit_func) [USE_WIN32_THREADS]:
55070         Add unreachable abort to silence compiler.
55071
55072 2008-10-22  Eric Blake  <ebb9@byu.net>
55073
55074         netdb: also supply struct addrinfo for cygwin 1.5.x
55075         * m4/netdb_h.m4 (gl_HEADER_NETDB): Check for incomplete header on
55076         older cygwin.
55077         * lib/netdb.in.h [!HAVE_STRUCT_ADDRINFO]: Also supply contents for
55078         cygwin.
55079         * doc/posix-headers/netdb.texi (netdb.h): Document this.
55080
55081 2008-10-22  Bruno Haible  <bruno@clisp.org>
55082
55083         * users.txt: Update entry about pspp.
55084
55085 2008-10-21  Bruno Haible  <bruno@clisp.org>
55086
55087         Simplification.
55088         * lib/sys_socket.in.h (_gl_close_fd_maybe_socket): Remove declaration.
55089         * lib/close.c (_gl_close_fd_maybe_socket): Make static.
55090
55091         Simplification.
55092         * lib/ioctl.c (ioctl): Don't undefine.
55093         * lib/socket.c (socket): Don't undefine.
55094
55095         Remove unused module indicator macros.
55096         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR): Don't define
55097         GNULIB_$1 as a C macro.
55098
55099         * doc/posix-functions/close.texi: Undo last change.
55100         * doc/posix-functions/ioctl.texi: Merge the two paragraphs about
55101         Windows platforms.
55102
55103 2008-10-21  Bruno Haible  <bruno@clisp.org>
55104
55105         Add gethostname() declaration to <unistd.h>.
55106         * lib/unistd.in.h (gethostname): New declaration.
55107         * lib/gethostname.c: Include <unistd.h>.
55108         * m4/gethostname.m4 (gl_FUNC_GETHOSTNAME): Require
55109         gl_UNISTD_H_DEFAULTS. Set HAVE_GETHOSTNAME.
55110         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETHOSTNAME
55111         and HAVE_GETHOSTNAME.
55112         * modules/gethostname (Depends-on): Add unistd.
55113         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55114         (Include): Specify <unistd.h>.
55115         * modules/unistd (Makefile.am): Substitute GNULIB_GETHOSTNAME and
55116         HAVE_GETHOSTNAME.
55117         * tests/test-gethostname.c: Include <unistd.h> first.
55118
55119 2008-10-21  Bruno Haible  <bruno@clisp.org>
55120
55121         * modules/poll-tests (Depends-on): Add sys_ioctl, ioctl.
55122         * modules/select-tests (Depends-on): Likewise.
55123         Reported by Simon Josefsson.
55124
55125 2008-10-21  Simon Josefsson  <simon@josefsson.org>
55126
55127         * lib/close.c: Add _gl_close_fd_maybe_socket from winsock.c.
55128         * lib/accept.c: New file, based on winsock.c.
55129         * lib/bind.c: New file, based on winsock.c.
55130         * lib/connect.c: New file, based on winsock.c.
55131         * lib/getpeername.c: New file, based on winsock.c.
55132         * lib/getsockname.c: New file, based on winsock.c.
55133         * lib/getsockopt.c: New file, based on winsock.c.
55134         * lib/ioctl.c: New file, based on winsock.c.
55135         * lib/listen.c: New file, based on winsock.c.
55136         * lib/recv.c: New file, based on winsock.c.
55137         * lib/recvfrom.c: New file, based on winsock.c.
55138         * lib/send.c: New file, based on winsock.c.
55139         * lib/sendto.c: New file, based on winsock.c.
55140         * lib/setsockopt.c: New file, based on winsock.c.
55141         * lib/shutdown.c: New file, based on winsock.c.
55142         * lib/socket.c: New file, based on winsock.c.
55143         * lib/w32sock.h: New file, based on winsock.c.
55144         * lib/winsock.c: Remove file.
55145         * modules/accept: Likewise.
55146         * modules/bind: Likewise.
55147         * modules/connect: Likewise.
55148         * modules/getpeername: Likewise.
55149         * modules/getsockname: Likewise.
55150         * modules/getsockopt: Likewise.
55151         * modules/ioctl: Likewise.
55152         * modules/listen: Likewise.
55153         * modules/recv: Likewise.
55154         * modules/recvfrom: Likewise.
55155         * modules/send: Likewise.
55156         * modules/sendto: Likewise.
55157         * modules/setsockopt: Likewise.
55158         * modules/shutdown: Likewise.
55159         * modules/socket: Use socket.c instead of winsock.c.
55160         * modules/sys_socket: Remove (unneeded?) dependency on winsock.c.
55161         * doc/posix-functions/accept.texi: Doc fix.
55162         * doc/posix-functions/bind.texi: Doc fix.
55163         * doc/posix-functions/close.texi: Doc fix.
55164         * doc/posix-functions/connect.texi: Doc fix.
55165         * doc/posix-functions/getpeername.texi: Doc fix.
55166         * doc/posix-functions/getsockname.texi: Doc fix.
55167         * doc/posix-functions/getsockopt.texi: Doc fix.
55168         * doc/posix-functions/ioctl.texi: Doc fix.
55169         * doc/posix-functions/listen.texi: Doc fix.
55170         * doc/posix-functions/recv.texi: Doc fix.
55171         * doc/posix-functions/recvfrom.texi: Doc fix.
55172         * doc/posix-functions/send.texi: Doc fix.
55173         * doc/posix-functions/sendto.texi: Doc fix.
55174         * doc/posix-functions/setsockopt.texi: Doc fix.
55175         * doc/posix-functions/shutdown.texi: Doc fix.
55176         * doc/posix-functions/socket.texi: Doc fix.
55177
55178 2008-10-20  Bruno Haible  <bruno@clisp.org>
55179
55180         Take into account the role of SIGABRT_COMPAT on Windows 2008.
55181         * lib/sigprocmask.c (SIGABRT_COMPAT, SIGABRT_COMPAT_MASK): New macros.
55182         (sigismember, sigaddset, sigdelset, sigfillset, rpl_signal): Handle it
55183         as an alias for SIGABRT.
55184         * lib/sigaction.c (SIGABRT_COMPAT): New macro.
55185         (sigaction): Map it to SIGABRT.
55186         Reported by Ramiro Polla <ramiro.polla@gmail.com> via Eric Blake.
55187
55188 2008-10-20  Bruno Haible  <bruno@clisp.org>
55189
55190         * lib/fts.c: Don't include lstat.h.
55191         * lib/openat.c: Include <sys/stat.h> instead of lstat.h.
55192
55193         Move the lstat() declaration to <sys/stat.h>.
55194         * lib/lstat.h: Remove file.
55195         * lib/sys_stat.in.h: Add special invocation convention.
55196         (lstat): New declaration.
55197         * lib/lstat.c (orig_lstat): New function.
55198         (rpl_lstat): Use orig_lstat instead of lstat.
55199         * m4/lstat.m4 (gl_FUNC_LSTAT): Require gl_SYS_STAT_H_DEFAULTS and
55200         AC_C_INLINE. Set REPLACE_LSTAT.
55201         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LSTAT
55202         and REPLACE_LSTAT.
55203         * modules/lstat (Files): Remove lib/lstat.h.
55204         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
55205         (Include): Specify <sys/stat.h> instead of lstat.h.
55206         * modules/sys_stat (Makefile.am): Substitute GNULIB_LSTAT and
55207         REPLACE_LSTAT.
55208         * NEWS: Mention the change.
55209
55210 2008-10-20  Bruno Haible  <bruno@clisp.org>
55211
55212         * modules/posix_spawn-tests: New file.
55213         * tests/test-posix_spawn3.c: New file.
55214
55215 2008-10-20  Bruno Haible  <bruno@clisp.org>
55216
55217         * modules/posix_spawnp-tests (Depends-on): Add sys_wait.
55218         * tests/test-posix_spawn1.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
55219         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Remove fallback definitions.
55220         * tests/test-posix_spawn2.c (WTERMSIG, WCOREDUMP, WEXITSTATUS,
55221         WIFSIGNALED, WIFEXITED, WIFSTOPPED): Likewise.
55222
55223 2008-10-20  Bruno Haible  <bruno@clisp.org>
55224
55225         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Test against another bug
55226         of posix_spawn on AIX 5.3.
55227
55228 2008-10-20  Bruno Haible  <bruno@clisp.org>
55229
55230         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Make the check on MacOS X.
55231
55232 2008-10-20  Bruno Haible  <bruno@clisp.org>
55233
55234         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Use AC_LANG_SOURCE instead
55235         of AC_LANG_PROGRAM.
55236
55237 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55238
55239         * lib/netdb.in.h: Don't define GNU specific constants until they
55240         are supported or needed.  Reported by Bruno Haible
55241         <bruno@clisp.org>.
55242
55243 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55244
55245         * lib/canon-host.c: Include netdb.h instead of getaddrinfo.h.
55246
55247 2008-10-20  Simon Josefsson  <simon@josefsson.org>
55248
55249         * lib/getaddrinfo.h: Remove file.
55250         * modules/getaddrinfo: Reflect move from getaddrinfo.h to netdb.h.
55251         * m4/getaddrinfo.m4: Call gl_HEADER_NETDB.  Don't check for netdb.h.
55252         * lib/netdb.in.h: Add declarations from getaddrinfo.h.
55253         * m4/netdb_h.m4: Initialize GNULIB_GETADDRINFO to 0.
55254         * modules/netdb: Substitute GNULIB_GETADDRINFO.
55255         * lib/getaddrinfo.c: Include netdb.h instead of getaddrinfo.h.
55256         * tests/test-getaddrinfo.c: Likewise.
55257         * lib/gai_strerror.c: Likewise.  Also drop HAVE_NETDB_H check.
55258         * NEWS: Mention change.
55259
55260 2008-10-19  Bruno Haible  <bruno@clisp.org>
55261
55262         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): Remove unneeded code.
55263
55264 2008-10-19  Bruno Haible  <bruno@clisp.org>
55265
55266         * lib/wait-process.c: Include simply <sys/wait.h>.
55267         (waitpid, WTERMSIG, WCOREDUMP, WEXITSTATUS, WIFSIGNALED, WIFEXITED,
55268         WIFSTOPPED): Remove fallback definitions.
55269         * modules/wait-process (Depends-on): Add sys_wait.
55270
55271         New module 'sys_wait'.
55272         * modules/sys_wait: New file.
55273         * lib/sys_wait.in.h: New file, partially copied from
55274         lib/wait-process.c.
55275         * m4/sys_wait_h.m4: New file.
55276         * doc/posix-headers/sys_wait.texi: Mention the new module.
55277
55278 2008-10-19  Bruno Haible  <bruno@clisp.org>
55279
55280         * m4/wait-process.m4 (gl_WAIT_PROCESS): Remove test for unistd.h.
55281
55282 2008-10-19  Bruno Haible  <bruno@clisp.org>
55283
55284         Assume that waitpid() fills an 'int' status, not a 'union wait'.
55285         * lib/wait-process.c (WAIT_T): Remove type.
55286         (WTERMSIG, WCOREDUMP, WEXITSTATUS): Define fallbacks using bit masks.
55287         (wait_subprocess): Update.
55288
55289 2008-10-19  Bruno Haible  <bruno@clisp.org>
55290
55291         New module 'atoll'.
55292         * modules/atoll: New file.
55293         * lib/stdlib.in.h (atoll): New declaration.
55294         * lib/atoll.c: New file, from glibc with modifications.
55295         * m4/atoll.m4: New file.
55296         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_ATOLL,
55297         HAVE_ATOLL.
55298         * modules/stdlib (Makefile.am): Substitute GNULIB_ATOLL, HAVE_ATOLL.
55299         * doc/posix-functions/atoll.texi: Mention the new module.
55300
55301 2008-10-19  Bruno Haible  <bruno@clisp.org>
55302
55303         Add strtoull() declaration to <stdlib.h>.
55304         * lib/stdlib.in.h (strtoull): New declaration.
55305         * m4/strtoull.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
55306         Set HAVE_STRTOULL.
55307         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOULL,
55308         HAVE_STRTOULL.
55309         * modules/strtoull (Depends-on): Add stdlib.
55310         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55311         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOULL,
55312         HAVE_STRTOULL.
55313
55314 2008-10-19  Bruno Haible  <bruno@clisp.org>
55315
55316         Add strtoll() declaration to <stdlib.h>.
55317         * lib/stdlib.in.h (strtoll): New declaration.
55318         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Require gl_STDLIB_H_DEFAULTS.
55319         Set HAVE_STRTOLL.
55320         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_STRTOLL,
55321         HAVE_STRTOLL.
55322         * modules/strtoll (Depends-on): Add stdlib.
55323         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55324         * modules/stdlib (Makefile.am): Substitute GNULIB_STRTOLL, HAVE_STRTOLL.
55325
55326 2008-10-19  Bruno Haible  <bruno@clisp.org>
55327
55328         * modules/bcopy (Depends-on): Add strings.
55329         (Include): Specify <strings.h>.
55330
55331 2008-10-19  Bruno Haible  <bruno@clisp.org>
55332
55333         * doc/posix-functions/atexit.texi: Update doc regarding mingw.
55334
55335 2008-10-19  Bruno Haible  <bruno@clisp.org>
55336
55337         * lib/openat-die.c (openat_save_fail, openat_restore_fail): Rename
55338         the parameter from 'errno' to 'errnum'. Fixes a compilation error on
55339         mingw.
55340
55341 2008-10-19  Bruno Haible  <bruno@clisp.org>
55342
55343         * lib/atanl.c: Don't include isnanl.h.
55344         * lib/cosl.c: Likewise.
55345         * lib/ldexpl.c: Likewise.
55346         * lib/logl.c: Likewise.
55347         * lib/sinl.c: Likewise.
55348         * lib/sqrtl.c: Likewise.
55349         * lib/tanl.c: Likewise.
55350
55351         Move the isnanf(), isnand(), isnanl() declarations to <math.h>.
55352         * lib/isnanf.h: Remove file.
55353         * lib/isnand.h: Remove file.
55354         * lib/isnanl.h: Remove file.
55355         * lib/math.in.h: Include the contents of lib/isnanf.h, lib/isnand.h,
55356         lib/isnanl.h. Use HAVE_ISNANF, HAVE_ISNAND, HAVE_ISNANL as substituted
55357         macros.
55358         * m4/isnanf.m4 (gl_FUNC_ISNANF): Require gl_MATH_H_DEFAULTS. Set
55359         HAVE_ISNANF, don't define it as a C macro.
55360         * m4/isnand.m4 (gl_FUNC_ISNAND): Require gl_MATH_H_DEFAULTS. Set
55361         HAVE_ISNAND, don't define it as a C macro.
55362         * m4/isnanl.m4 (gl_FUNC_ISNANL): Require gl_MATH_H_DEFAULTS. Set
55363         HAVE_ISNANL, don't define it as a C macro.
55364         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_ISNAN[FDL] and
55365         HAVE_ISNAN[FDL].
55366         * modules/isnanf (Files): Remove lib/isnanf.h.
55367         (Depends-on): Add math.
55368         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55369         (Include): Specify <math.h> instead of isnanf.h.
55370         * modules/isnand (Files): Remove lib/isnand.h.
55371         (Depends-on): Add math.
55372         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55373         (Include): Specify <math.h> instead of isnand.h.
55374         * modules/isnanl (Files): Remove lib/isnanl.h.
55375         (Depends-on): Add math.
55376         (configure.ac): Invoke gl_MATH_MODULE_INDICATOR.
55377         (Include): Specify <math.h> instead of isnanl.h.
55378         * modules/math (Makefile.am): Substitute GNULIB_ISNAN[FDL] and
55379         HAVE_ISNAN[FDL].
55380         * tests/test-isnanf.c: Include <math.h> instead of isnanf.h.
55381         * tests/test-isnand.c: Include <math.h> instead of isnand.h.
55382         * tests/test-isnanl.c: Include <math.h> instead of isnanl.h.
55383         * NEWS: Mention the change.
55384
55385 2008-10-18  Bruno Haible  <bruno@clisp.org>
55386
55387         Add getusershell(), setusershell(), endusershell() declarations to
55388         <unistd.h>.
55389         * lib/unistd.in.h (getusershell, setusershell, endusershell): New
55390         declarations.
55391         * lib/getusershell.c: Include unistd.h.
55392         * m4/getusershell.m4 (gl_FUNC_GETUSERSHELL): Require
55393         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55394         HAVE_GETUSERSHELL.
55395         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETUSERSHELL
55396         and HAVE_GETUSERSHELL.
55397         * modules/getusershell (Depends-on): Add unistd, extensions.
55398         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55399         (Include): Specify <unistd.h>.
55400         * modules/unistd (Makefile.am): Substitute GNULIB_GETUSERSHELL and
55401         HAVE_GETUSERSHELL.
55402
55403 2008-10-18  Bruno Haible  <bruno@clisp.org>
55404
55405         Add a getloadavg() declaration to <stdlib.h>.
55406         * lib/stdlib.in.h; Include <sys/loadavg.h> when needed for the
55407         getloadavg declaration.
55408         (getloadavg): New declaration.
55409         * lib/getloadavg.c: Include <stdlib.h> first.
55410         * m4/getloadavg.m4 (gl_GETLOADAVG): Require gl_STDLIB_H_DEFAULTS and
55411         AC_USE_SYSTEM_EXTENSIONS. Test whether sys/loadavg.h exists. Set
55412         HAVE_SYS_LOADAVG_H and HAVE_DECL_GETLOADAVG.
55413         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_GETLOADAVG,
55414         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55415         * modules/getloadavg (Depends-on): Add stdlib, extensions.
55416         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
55417         (Include): Specify <stdlib.h>.
55418         * modules/stdlib (Makefile.am): Substitute GNULIB_GETLOADAVG,
55419         HAVE_SYS_LOADAVG_H, HAVE_DECL_GETLOADAVG.
55420
55421 2008-10-18  Bruno Haible  <bruno@clisp.org>
55422
55423         * lib/dirchownmod.c: Don't include lchmod.h.
55424
55425         Move the lchmod() declaration to <sys/stat.h>.
55426         * lib/lchmod.h: Remove file.
55427         * lib/sys_stat.in.h: Add placeholder for GL_LINK_WARNING.
55428         (lchmod): New declaration, moved here from lib/lchown.h.
55429         * m4/lchmod.m4 (gl_FUNC_LCHMOD): Require gl_SYS_STAT_H_DEFAULTS and
55430         AC_USE_SYSTEM_EXTENSIONS. Set HAVE_LCHMOD.
55431         * m4/sys_stat_h.m4 (gl_SYS_STAT_H_DEFAULTS): Initialize GNULIB_LCHMOD
55432         and HAVE_LCHMOD.
55433         * modules/lchmod (Files): Remove lib/lchmod.h.
55434         (Depends-on): Add sys_stat, extensions.
55435         (configure.ac): Invoke gl_SYS_STAT_MODULE_INDICATOR.
55436         (Include): Specify <sys/stat.h> instead of lchmod.h.
55437         * modules/sys_stat (Depends-on): Add link-warning.
55438         (Makefile.am): Substitute GNULIB_LCHMOD, HAVE_LCHMOD, and the
55439         definition of GL_LINK_WARNING.
55440         * NEWS: Mention the change.
55441
55442 2008-10-18  Bruno Haible  <bruno@clisp.org>
55443
55444         * lib/fchdir.c: Don't include dirfd.h.
55445         * lib/fts.c: Likewise.
55446         * lib/getcwd.c: Likewise.
55447         * lib/glob.c: Likewise.
55448
55449         Move the dirfd() declaration to <dirent.h>.
55450         * lib/dirfd.h: Remove file.
55451         * lib/dirent.in.h: Add placeholder for GL_LINK_WARNING.
55452         (dirfd): New declaration.
55453         * lib/dirfd.c: Include <dirent.h> instead of dirfd.h.
55454         * m4/dirfd.m4 (gl_FUNC_DIRFD): Require gl_DIRENT_H_DEFAULTS and
55455         AC_USE_SYSTEM_EXTENSIONS. Invoke gl_REPLACE_DIRENT_H. Set
55456         HAVE_DECL_DIRFD.
55457         * m4/dirent_h.m4 (gl_DIRENT_H_DEFAULTS): Initialize GNULIB_DIRFD and
55458         HAVE_DECL_DIRFD.
55459         * modules/dirfd (Files): Remove lib/dirfd.h.
55460         (Depends-on): Add dirent, extensions.
55461         (configure.ac): Invoke gl_DIRENT_MODULE_INDICATOR.
55462         (Include): Specify <dirent.h> instead of dirfd.h.
55463         * modules/dirent (Depends-on): Add link-warning.
55464         (Makefile.am): Substitute GNULIB_DIRFD, HAVE_DECL_DIRFD, and
55465         definition of GL_LINK_WARNING.
55466         * NEWS: Mention the change.
55467
55468 2008-10-18  Bruno Haible  <bruno@clisp.org>
55469
55470         Move the euidaccess() declaration to <unistd.h>.
55471         * lib/euidaccess.h: Remove file.
55472         * lib/unistd.in.h (euidaccess): New declaration.
55473         * lib/euidaccess.c: Don't include euidaccess.h.
55474         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Require gl_UNISTD_H_DEFAULTS.
55475         Don't check whether euidaccess is declared. Set HAVE_EUIDACCESS.
55476         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_EUIDACCESS
55477         and HAVE_EUIDACCESS.
55478         * modules/euidaccess (Files): Remove lib/euidaccess.h.
55479         (Depends-on): Add unistd.
55480         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55481         (Include): Specify <unistd.h> instead of euidaccess.h.
55482         * modules/unistd (Makefile.am): Substitute GNULIB_EUIDACCESS and
55483         HAVE_EUIDACCESS.
55484         * NEWS: Mention the change.
55485
55486 2008-10-18  Bruno Haible  <bruno@clisp.org>
55487
55488         * lib/xgetdomainname.c: Include <unistd.h> instead of getdomainname.h.
55489
55490         Move the getdomainname() declaration to <unistd.h>.
55491         * lib/getdomainname.h: Remove file.
55492         * lib/unistd.in.h (getdomainname): New declaration.
55493         * lib/getdomainname.c: Include <unistd.h> instead of getdomainname.h.
55494         * m4/getdomainname.m4 (gl_FUNC_GETDOMAINNAME): Require
55495         gl_UNISTD_H_DEFAULTS and AC_USE_SYSTEM_EXTENSIONS. Set
55496         HAVE_GETDOMAINNAME.
55497         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55498         GNULIB_GETDOMAINNAME and HAVE_GETDOMAINNAME.
55499         * modules/getdomainname (Files): Remove lib/getdomainname.h.
55500         (Depends-on): Add unistd, extensions.
55501         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
55502         (Includes): Specify <unistd.h> instead of getdomainname.h.
55503         * modules/unistd (Makefile.am): Substitute GNULIB_GETDOMAINNAME and
55504         HAVE_GETDOMAINNAME.
55505         * NEWS: Mention the change.
55506
55507 2008-10-18  Bruno Haible  <bruno@clisp.org>
55508
55509         * modules/dirent: New file.
55510         * m4/dirent_h.m4: New file.
55511         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_DIRENT_H_DEFAULTS.
55512         Invoke gl_REPLACE_DIRENT_H. Don't assign DIRENT_H directly.
55513         * modules/fchdir (Files): Remove lib/dirent.in.h.
55514         (Depends-on): Add dirent.
55515         (Makefile.am): Move rules to modules/dirent.
55516         * doc/posix-headers/dirent.texi: Mention the new module.
55517
55518 2008-10-18  Bruno Haible  <bruno@clisp.org>
55519
55520         Avoid -Wunused-parameter warnings in public gnulib header files.
55521         * m4/gnulib-common.m4 (gl_COMMON_BODY): Define _UNUSED_PARAMETER_ as a
55522         macro.
55523         * lib/unistr.h (u32_mbtouc_unsafe, u32_mbtouc): Use it.
55524
55525 2008-10-18  Bruno Haible  <bruno@clisp.org>
55526
55527         * doc/glibc-functions/dirfd.texi: Mention the module 'dirfd'.
55528         * doc/glibc-functions/error.texi: Mention the module 'error'.
55529         * doc/glibc-functions/euidaccess.texi: Mention the module 'euidaccess'.
55530         * doc/glibc-functions/getdomainname.texi: Mention the module
55531         'getdomainname'.
55532         * doc/glibc-functions/getloadavg.texi: Mention the module 'getloadavg'.
55533         * doc/glibc-functions/getpagesize.texi: Mention the module
55534         'getpagesize'.
55535         * doc/glibc-functions/getusershell.texi: Mention the module
55536         'getusershell'.
55537         * doc/glibc-functions/isnanl.texi: Mention the module 'isnanl'.
55538         * doc/glibc-functions/lchmod.texi: Mention the module 'lchmod'.
55539         * doc/glibc-functions/mempcpy.texi: Mention the module 'mempcpy'.
55540         * doc/glibc-functions/memrchr.texi: Mention the module 'memrchr'.
55541         * doc/glibc-functions/mkdtemp.texi: Mention the module 'mkdtemp'.
55542         * doc/glibc-functions/rpmatch.texi: Mention the module 'rpmatch'.
55543         * doc/glibc-functions/stpcpy.texi: Mention the module 'stpcpy'.
55544         * doc/glibc-functions/stpncpy.texi: Mention the module 'stpncpy'.
55545         * doc/glibc-functions/strchrnul.texi: Mention the module 'strchrnul'.
55546         * doc/glibc-functions/strndup.texi: Mention the module 'strndup'.
55547         * doc/glibc-functions/strnlen.texi: Mention the module 'strnlen'.
55548         * doc/glibc-functions/strsep.texi: Mention the module 'strsep'.
55549         * doc/glibc-functions/timegm.texi: Mention the module 'timegm'.
55550         * doc/glibc-functions/vasprintf.texi: Mention the module 'vasprintf'.
55551
55552 2008-10-17  Bruno Haible  <bruno@clisp.org>
55553
55554         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): On platforms other than
55555         HP-UX and IRIX, use -0.0L.
55556         * tests/test-ceill.c (minus_zero): Likewise.
55557         * tests/test-floorl.c (minus_zero): Likewise.
55558         * tests/test-frexpl.c (minus_zero): Likewise.
55559         * tests/test-isnan.c (minus_zerol): Likewise.
55560         * tests/test-isnanl.h (minus_zero): Likewise.
55561         * tests/test-ldexpl.c (minus_zero): Likewise.
55562         * tests/test-roundl.c (minus_zero): Likewise.
55563         * tests/test-signbit.c (minus_zerol): Likewise.
55564         * tests/test-snprintf-posix.h (minus_zerol): Likewise.
55565         * tests/test-sprintf-posix.h (minus_zerol): Likewise.
55566         * tests/test-truncl.c (minus_zero): Likewise.
55567         * tests/test-vasnprintf-posix.c (minus_zerol): Likewise.
55568         * tests/test-vasprintf-posix.c (minus_zerol): Likewise.
55569         Reported by Markus Armbruster <armbru@redhat.com> via Jim Meyering
55570         and by Nelson H. F. Beebe <beebe@math.utah.edu> via Eric Blake.
55571
55572 2008-10-17  Bruno Haible  <bruno@clisp.org>
55573
55574         Avoid gcc warnings because of #pragma GCC system_header on older gcc.
55575         * lib/arpa_inet.in.h: Encloses reference to PRAGMA_SYSTEM_HEADER so
55576         that it gets activated only for gcc >= 3.0.
55577         * lib/dirent.in.h: Likewise.
55578         * lib/errno.in.h: Likewise.
55579         * lib/fcntl.in.h: Likewise.
55580         * lib/float.in.h: Likewise.
55581         * lib/iconv.in.h: Likewise.
55582         * lib/inttypes.in.h: Likewise.
55583         * lib/locale.in.h: Likewise.
55584         * lib/math.in.h: Likewise.
55585         * lib/netdb.in.h: Likewise.
55586         * lib/netinet_in.in.h: Likewise.
55587         * lib/search.in.h: Likewise.
55588         * lib/signal.in.h: Likewise.
55589         * lib/spawn.in.h: Likewise.
55590         * lib/stdarg.in.h: Likewise.
55591         * lib/stdint.in.h: Likewise.
55592         * lib/stdio.in.h: Likewise.
55593         * lib/stdlib.in.h: Likewise.
55594         * lib/string.in.h: Likewise.
55595         * lib/strings.in.h: Likewise.
55596         * lib/sys_file.in.h: Likewise.
55597         * lib/sys_ioctl.in.h: Likewise.
55598         * lib/sys_select.in.h: Likewise.
55599         * lib/sys_socket.in.h: Likewise.
55600         * lib/sys_stat.in.h: Likewise.
55601         * lib/sys_time.in.h: Likewise.
55602         * lib/sysexits.in.h: Likewise.
55603         * lib/time.in.h: Likewise.
55604         * lib/unistd.in.h: Likewise.
55605         * lib/wchar.in.h: Likewise.
55606         * lib/wctype.in.h: Likewise.
55607         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
55608
55609 2008-10-17  Jim Meyering  <meyering@redhat.com>
55610
55611         ignore-value: don't depend on inline module
55612         * modules/ignore-value (Depends-on): Remove 'inline'.
55613         (configure.ac): Instead, add AC_REQUIRE([AC_C_INLINE]) here.
55614         Suggestion from Bruno Haible.
55615
55616 2008-10-17  Bruno Haible  <bruno@clisp.org>
55617
55618         New implementation of condition variables for Win32.
55619         * lib/glthread/cond.h (struct gl_waitqueue_link): New type.
55620         (gl_linked_waitqueue_t): New type.
55621         (gl_cond_t): Use it.
55622         * lib/glthread/cond.c (struct gl_waitqueue_element): New type.
55623         (gl_waitqueue_init, gl_waitqueue_add, gl_waitqueue_remove,
55624         gl_waitqueue_notify_first, gl_waitqueue_notify_all): New functions.
55625         (glthread_cond_init_func, glthread_cond_wait_func,
55626         glthread_cond_timedwait_func, glthread_cond_signal_func,
55627         glthread_cond_broadcast_func, glthread_cond_destroy_func):
55628         Reimplemented on the basis of gl_linked_waitqueue_t.
55629         * lib/glthread/lock.h (gl_carray_waitqueue_t): Renamed from
55630         gl_waitqueue_t.
55631         (gl_rwlock_t): Update.
55632         * lib/glthread/lock.c (gl_waitqueue_t): Alias to gl_carray_waitqueue_t.
55633
55634 2008-10-17  Simon Josefsson  <simon@josefsson.org>
55635
55636         * modules/recvfrom (Depends-on): Add dependency on getpeername.
55637         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55638
55639 2008-10-17  Jim Meyering  <meyering@redhat.com>
55640
55641         ignore-value: new module
55642         * modules/ignore-value: New file.
55643         * lib/ignore-value.h: New file.
55644         * MODULES.html.sh (Compiler warning management): New section,
55645         just for this module.  More to come.
55646
55647 2008-10-16  Paul Eggert  <eggert@cs.ucla.edu>
55648
55649         open-safer.c: avoid 'signed and unsigned in conditional...' warning
55650         * lib/open-safer.c (open_safer): Use an "if/else" statement in place
55651         of the ternary operator.  Reported by Reuben Thomas <rrt@sc3d.org>.
55652
55653 2008-10-16  Jim Meyering  <meyering@redhat.com>
55654
55655         openat-die.c: avoid 'no previous prototype' warning
55656         * lib/openat-die.c: Include "openat.h".
55657         Reported by Reuben Thomas <rrt@sc3d.org>.
55658
55659 2008-10-16  Simon Josefsson  <simon@josefsson.org>
55660
55661         * m4/netdb_h.m4: Assume that if netdb.h exists, it works.
55662         * lib/netdb.in.h: Fix typo.
55663         Reported by Bruno Haible  <bruno@clisp.org>
55664
55665         * lib/netdb.in.h: Include sys/socket.h for platforms without
55666         netdb.h, to get structures like hostent on MinGW.
55667         * modules/netdb (Depends-on): Add sys_socket.
55668
55669 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55670
55671         * modules/netdb, modules/netdb-tests: New file.
55672         * m4/netdb_h.m4: New file.
55673         * lib/netdb.in.h: Add, currently just an empty file pending
55674         definitions.
55675         * tests/test-netdb.c: New file.
55676         * doc/posix-headers/netdb.texi: Mention that we replace it if
55677         needed.
55678         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
55679         netdb.
55680
55681 2008-10-15  Simon Josefsson  <simon@josefsson.org>
55682
55683         * doc/gnulib.texi (Getaddrinfo and WINVER): Sync documentation
55684         with code.
55685
55686 2008-10-13  Bruno Haible  <bruno@clisp.org>
55687
55688         * lib/glthread/cond.c (glthread_cond_wait_func,
55689         glthread_cond_timedwait_func): Add a comment.
55690
55691 2008-10-13  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55692
55693         * tests/test-poll.c: Include <sys/ioctl.h>, for ioctl().
55694         * tests/test-select.c: Likewise,
55695
55696 2008-10-13  Bruno Haible  <bruno@clisp.org>
55697
55698         * lib/glthread/cond.c (glthread_cond_wait_func,
55699         glthread_cond_timedwait_func): Fix variable name.
55700         Reported by Yoann Vandoorselaere <yoann@prelude-ids.org>.
55701
55702 2008-10-13  Paolo Bonzini  <bonzini@gnu.org>
55703
55704         fix getaddrinfo emulation for systems with struct sockaddr.sa_len
55705         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Detect
55706         struct sockaddr.sa_len.
55707         * lib/getaddrinfo.c (getaddrinfo): Set it if appropriate.
55708
55709 2008-10-13  Simon Josefsson  <simon@josefsson.org>
55710
55711         * build-aux/pmccabe2html: Add css and css_url parameters.
55712
55713 2008-10-12  Bruno Haible  <bruno@clisp.org>
55714
55715         * tests/test-sameacls.c (main) [AIX]: Clear type argument before
55716         calling aclx_get.
55717         Reported by Rainer Tammer <tammer@tammer.net>.
55718
55719 2008-10-12  Bruno Haible  <bruno@clisp.org>
55720
55721         Use msvcrt aware primitives for creation/termination of Win32 threads.
55722         * lib/glthread/thread.c: Include <process.h>.
55723         (glthread_create_func): Use _beginthreadex instead of CreateThread.
55724         (wrapper_func): Update signature.
55725         (gl_thread_exit_func): Use _endthreadex instead of EndThread.
55726
55727 2008-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
55728             Bruno Haible  <bruno@clisp.org>
55729
55730         Provide a Win32 implementation of the 'cond' module.
55731         * lib/glthread/cond.h [USE_WIN32]: New implementation.
55732         * lib/glthread/cond.c (glthread_cond_init_func,
55733         glthread_cond_wait_func, glthread_cond_timedwait_func,
55734         glthread_cond_signal_func, glthread_cond_broadcast_func,
55735         glthread_cond_destroy_func) [USE_WIN32]: New functions.
55736         * modules/cond (Dependencies): Add gettimeofday.
55737
55738 2008-10-11  Bruno Haible  <bruno@clisp.org>
55739
55740         Make sleep work on older versions of mingw.
55741         * m4/sleep.m4 (gl_FUNC_SLEEP): Test whether 'sleep' is declared, not
55742         only whether it exists.
55743         * doc/posix-functions/sleep.texi: Mention the problem with older
55744         versions of mingw.
55745
55746 2008-10-11  Bruno Haible  <bruno@clisp.org>
55747
55748         New module 'shutdown'.
55749         * modules/shutdown: New file.
55750         * lib/sys_socket.in.h (shutdown): New declaration.
55751         * lib/winsock.c (shutdown): New function.
55752         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_H_DEFAULTS): Initialize
55753         GNULIB_SHUTDOWN.
55754         * modules/sys_socket (Makefile.am): Substitute GNULIB_SHUTDOWN.
55755         * doc/posix-functions/shutdown.texi: Document the new module.
55756
55757 2008-10-11  Jim Meyering  <meyering@redhat.com>
55758
55759         * lib/fclose.c: Fix typo in comment: s/close/fclose/.
55760
55761 2008-10-11  Bruno Haible  <bruno@clisp.org>
55762
55763         New module 'fclose'.
55764         * modules/fclose: New file.
55765         * lib/stdio.in.h (fclose): New declaration.
55766         * lib/fclose.c: New file.
55767         * m4/fclose.m4: New file.
55768         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FCLOSE,
55769         REPLACE_FCLOSE.
55770         * m4/close.m4 (gl_REPLACE_CLOSE): Invoke gl_REPLACE_FCLOSE.
55771         * modules/stdio (Makefile.am): Substitute GNULIB_FCLOSE,
55772         REPLACE_FCLOSE.
55773         * modules/close (Depends-on): fclose.
55774         * doc/posix-functions/fclose.texi: Mention the problem on Windows.
55775
55776 2008-10-11  Bruno Haible  <bruno@clisp.org>
55777
55778         * lib/winsock.c (_gl_close_fd_maybe_socket): If closesocket fails,
55779         set errno and don't call _close.
55780
55781 2008-10-10  Bruno Haible  <bruno@clisp.org>
55782
55783         * lib/copy-acl.c (qcopy_acl) [CYGWIN]: Call chmod before setting the
55784         ACL, not afterwards. Fixes test failure on Cygwin.
55785
55786 2008-10-09  Ben Pfaff  <blp@gnu.org>
55787
55788         * build-aux/announce-gen: Fix gnulib version related part of usage
55789         message.  Die with a useful error message if no tarballs are
55790         found.
55791
55792 2008-10-10  Jim Meyering  <meyering@redhat.com>
55793
55794         bootstrap: use git's --depth=N option only if it's supported
55795         * build-aux/bootstrap: Work with git-1.4.4.4, which does not
55796         recognize the --depth option.  Reported by Pádraig Brady.
55797
55798 2008-10-09  Bruno Haible  <bruno@clisp.org>
55799
55800         New module 'ioctl'.
55801         * modules/ioctl: New file.
55802         * lib/sys_socket.in.h (ioctl): Remove declaration.
55803         * lib/winsock.c: Include <sys/ioctl.h>.
55804         (rpl_ioctl): Define only of the gnulib module 'ioctl' is present.
55805         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Require
55806         gl_SYS_IOCTL_H_DEFAULTS. Set also SYS_IOCTL_H_HAVE_WINSOCK2_H.
55807         * modules/sys_socket (Files): Add m4/sys_ioctl_h.m4.
55808         * doc/posix-functions/ioctl.texi: Mention the new module.
55809
55810 2008-10-09  Bruno Haible  <bruno@clisp.org>
55811
55812         New module 'sys_ioctl'.
55813         * lib/sys_ioctl.in.h: New file.
55814         * m4/sys_ioctl_h.m4: New file.
55815         * modules/sys_ioctl: New file.
55816         * doc/glibc-headers/sys_ioctl.texi: Mention the new module.
55817
55818 2008-10-09  Bruno Haible  <bruno@clisp.org>
55819
55820         * lib/sys_socket.in.h (ioctl): Make signature POSIX compliant.
55821         * lib/winsock.c: Include <stdarg.h>.
55822         (rpl_ioctl): Change to second argument 'int' and then varargs.
55823
55824 2008-10-09  Bruno Haible  <bruno@clisp.org>
55825
55826         * m4/close.m4 (gl_FUNC_CLOSE): Arrange to replace the close() function
55827         when the sys_socket module is present and the system has <winsock2.h>.
55828
55829 2008-10-09  Bruno Haible  <bruno@clisp.org>
55830
55831         * doc/posix-functions/close.texi: Mention module 'close' instead of
55832         module 'sys_socket'.
55833
55834 2008-10-09  Bruno Haible  <bruno@clisp.org>
55835
55836         * doc/glibc-headers/sys_ioctl.texi: New file.
55837         * doc/gnulib.texi: Include it.
55838
55839 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55840             Bruno Haible  <bruno@clisp.org>
55841
55842         Combine the two replacements of 'close'.
55843         * lib/sys_socket.in.h (close): Define to a reminder to include
55844         <unistd.h>.
55845         (_gl_close_fd_maybe_socket): New declaration.
55846         (HAVE__GL_CLOSE_FD_MAYBE_SOCKET): New macro.
55847         * lib/winsock.c (close): Remove undefinition.
55848         (_gl_close_fd_maybe_socket): Renamed from rpl_close. Define only when
55849         needed for the gnulib module 'close'.
55850         * lib/unistd.in.h (close): If the gnulib module 'close' is not used,
55851         define to an error symbol or to a warning, if suitable.
55852         * lib/close.c: Include <sys/socket.h>.
55853         (rpl_close): Invoke _gl_close_fd_maybe_socket when gnulib defines it.
55854         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): Set also
55855         UNISTD_H_HAVE_WINSOCK2_H.
55856         (gl_SYS_SOCKET_H_DEFAULTS): Require gl_UNISTD_H_DEFAULTS.
55857         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
55858         UNISTD_H_HAVE_WINSOCK2_H.
55859         * modules/sys_socket (Files): Add m4/unistd_h.m4.
55860         (configure.ac): Set a module indicator.
55861         (Makefile.am): Substitute GNULIB_CLOSE.
55862         * modules/unistd (Makefile.am): Substitute UNISTD_H_HAVE_WINSOCK2_H.
55863         * modules/poll-tests (Depends-on): Add close.
55864         * modules/select-tests (Depends-on): Likewise.
55865
55866 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55867             Bruno Haible  <bruno@clisp.org>
55868
55869         New module 'close'.
55870         * modules/close: New file.
55871         * lib/unistd.in.h (close): Move declaration out of the
55872         FCHDIR_REPLACEMENT scope.
55873         (_gl_unregister_fd): New declaration.
55874         * lib/close.c: New file.
55875         * lib/fchdir.c (rpl_close): Remove function.
55876         * m4/close.m4: New file.
55877         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55878         close.
55879         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_CLOSE and
55880         REPLACE_CLOSE.
55881         * modules/unistd (Makefile.am): Substitute GNULIB_CLOSE and
55882         REPLACE_CLOSE.
55883         * modules/fchdir (Depends-on): Add close.
55884
55885 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55886             Bruno Haible  <bruno@clisp.org>
55887
55888         * lib/fcntl.in.h (open): Simplify conditionals.
55889         (_gl_register_fd): New declaration.
55890         * lib/fchdir.c (rpl_open): Remove function.
55891         * lib/open.c: When FCHDIR_REPLACEMENT is defined, compile the file
55892         also.
55893         (open): When FCHDIR_REPLACEMENT is defined, invoke _gl_register_fd.
55894         * m4/fchdir.m4 (gl_FUNC_FCHDIR): When replacing fchdir, also replace
55895         open.
55896
55897 2008-10-09  Jim Meyering  <meyering@redhat.com>
55898
55899         GNUmakefile: use the more name-space-friendly "_version"
55900         * top/GNUmakefile (_dummy): Update.
55901         (_version): Rename from "version".
55902
55903 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55904             Bruno Haible  <bruno@clisp.org>
55905
55906         * lib/fchdir.c (_gl_unregister_fd): New functions, extracted from
55907         rpl_close.
55908         (_gl_register_fd): New function, extracted from rpl_open.
55909         (rpl_close, rpl_closedir): Use _gl_unregister_fd.
55910         (rpl_open, rpl_opendir): Use _gl_register_fd.
55911
55912 2008-10-09  Paolo Bonzini  <bonzini@gnu.org>
55913
55914         Fix organization of 'open' replacement.
55915         * m4/open.m4 (gl_REPLACE_OPEN): New macro.
55916         (gl_FUNC_OPEN): Use it.
55917         (gl_PREREQ_OPEN): Add a : to make the body non-empty.
55918
55919 2008-10-08  Bruno Haible  <bruno@clisp.org>
55920
55921         * modules/getdate-tests (test_getdata_LDADD): Add LIBINTL.
55922
55923 2008-10-08  Simon Josefsson  <simon@josefsson.org>
55924
55925         * m4/sys_socket_h.m4: Don't AC_LIBOBJ(winsock).  The file is
55926         AC_LIBOBJ'ed by each gnulib module that needs it (e.g., socket,
55927         listen).
55928
55929 2008-10-08  Eric Blake  <ebb9@byu.net>
55930
55931         GNUmakefile: add 'make version' target
55932         * top/GNUmakefile (_curr-ver): Split version update rules...
55933         (version): ...into a target.
55934
55935 2008-10-07  Bruno Haible  <bruno@clisp.org>
55936
55937         Use a more portable replacement expression for -0.0L.
55938         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Use -LDBL_MIN * LDBL_MIN
55939         instead of -0.0L. Fix m4 quotation.
55940
55941         * tests/test-signbit.c: Include <float.h>.
55942         (minus_zero): New variable.
55943         (test_signbitl): Use minus_zero instead of -zero.
55944         * modules/signbit-tests (Depends-on): Add float.
55945
55946         * tests/test-ceill.c: Include <float.h>.
55947         (zero): Remove variable.
55948         (minus_zero): New variable.
55949         (main): Use minus_zero instead of -zero.
55950         * modules/ceill-tests (Depends-on): Add float.
55951
55952         * tests/test-floorl.c: Include <float.h>.
55953         (zero): Remove variable.
55954         (minus_zero): New variable.
55955         (main): Use minus_zero instead of -zero.
55956         * modules/floorl-tests (Depends-on): Add float.
55957
55958         * tests/test-roundl.c: Include <float.h>.
55959         (zero): Remove variable.
55960         (minus_zero): New variable.
55961         (main): Use minus_zero instead of -zero.
55962         * modules/roundl-tests (Depends-on): Add float.
55963
55964         * tests/test-truncl.c: Include <float.h>.
55965         (zero): Remove variable.
55966         (minus_zero): New variable.
55967         (main): Use minus_zero instead of -zero.
55968         * modules/truncl-tests (Depends-on): Add float.
55969
55970         * tests/test-frexpl.c (zero): Remove variable.
55971         (minus_zero): New variable.
55972         (main): Use minus_zero instead of -zero.
55973         * modules/frexpl-tests (Depends-on): Add float.
55974
55975         * tests/test-isnan.c (zerol): Remove variable.
55976         (minus_zerol): New variable.
55977         (test_long_double): Use minus_zerol instead of -zerol.
55978         * modules/isnan-tests (Depends-on): Add float.
55979
55980         * tests/test-isnanl.h (zero): Remove variable.
55981         (minus_zero): New variable.
55982         (main): Use minus_zero instead of -zero.
55983         * modules/isnanl-nolibm-tests (Depends-on): Add float.
55984         * modules/isnanl-tests (Depends-on): Add float.
55985
55986         * tests/test-ldexpl.c (zero): Remove variable.
55987         (minus_zero): New variable.
55988         (main): Use minus_zero instead of -zero.
55989         * modules/ldexpl-tests (Depends-on): Add float.
55990
55991         * tests/test-snprintf-posix.h (zerol): Remove variable.
55992         (minus_zerol): New variable.
55993         (test_function): Use minus_zerol instead of -zerol.
55994         * modules/snprintf-posix-tests (Depends-on): Add float.
55995         * modules/vsnprintf-posix-tests (Depends-on): Add float.
55996
55997         * tests/test-sprintf-posix.h (zerol): Remove variable.
55998         (minus_zerol): New variable.
55999         (test_function): Use minus_zerol instead of -zerol.
56000         * modules/sprintf-posix-tests (Depends-on): Add float.
56001         * modules/vsprintf-posix-tests (Depends-on): Add float.
56002
56003         * tests/test-vasnprintf-posix.c (zerol): Remove variable.
56004         (minus_zerol): New variable.
56005         (test_function): Use minus_zerol instead of -zerol.
56006         * modules/vasnprintf-posix-tests (Depends-on): Add float.
56007
56008         * tests/test-vasprintf-posix.c (zerol): Remove variable.
56009         (minus_zerol): New variable.
56010         (test_function): Use minus_zerol instead of -zerol.
56011         * modules/vasprintf-posix-tests (Depends-on): Add float.
56012
56013 2008-10-07  Simon Josefsson  <simon@josefsson.org>
56014
56015         * MODULES.html.sh (Support for building documentation): Mention
56016         pmccabe2html.  Sort entries.
56017
56018         Add pmccabe2html module, from gnupdf.
56019         * build-aux/pmccabe.css: New file.
56020         * build-aux/pmccabe2html: New file.
56021         * m4/pmccabe2html.m4: New file.
56022         * modules/pmccabe2html: New file.
56023
56024 2008-10-07  Richard W.M. Jones <rjones@redhat.com>
56025
56026         flock: new module
56027         * MODULES.html.sh: Add to list of modules.
56028         * lib/flock.c: flock implementation for Windows and Unix systems
56029         which have fcntl.
56030         * doc/glibc-functions/flock.texi: Update documentation.
56031         * lib/sys_file.in.h: <sys/file.h> header file.
56032         * m4/flock.m4: M4 macros.
56033         * m4/sys_file_h.m4: M4 macros for replacement sys/file.h.
56034         * modules/flock: flock module.
56035         * modules/flock-tests: flock tests module.
56036         * modules/sys_file: sys/file.h module.
56037         * tests/test-flock.c: test suite for flock.
56038
56039 2008-10-06  Jim Meyering  <meyering@redhat.com>
56040
56041         bootstrap: check for LT_INIT more portably still ;-)
56042         * build-aux/bootstrap: Don't rely on \>, since it's not portable.
56043         Spotted by Bruno Haible.
56044
56045 2008-10-06  Eric Blake  <ebb9@byu.net>
56046
56047         test-signbit: avoid tripping Irix cc bug on -0.0L
56048         * tests/test-signbit.c (minus_zerol): Delete, and replace with
56049         '-zerol'.  This may break on HP-UX/hppa, but at least makes the
56050         entire testsuite consistent and avoids an Irix 6.2 bug.
56051
56052 2008-10-05  Bruno Haible  <bruno@clisp.org>
56053             Jim Meyering  <jim@meyering.net>
56054
56055         Add an option for ignoring EPIPE during close_stdout.
56056         * lib/closeout.h: Include <stdbool.h>.
56057         (close_stdout_set_ignore_EPIPE): New declaration.
56058         * lib/closeout.c: Include <stdbool.h>.
56059         (ignore_EPIPE): New variable.
56060         (close_stdout_set_ignore_EPIPE): New function.
56061         (close_stdout): Ignore EPIPE error if ignore_EPIPE is set.
56062         * lib/close-stream.c (close_stream): Mention the possible EPIPE
56063         failure.
56064         * modules/closeout (Depends-on): Add stdbool.
56065
56066 2008-10-05  Bruno Haible  <bruno@clisp.org>
56067
56068         * modules/accept: New file.
56069         * modules/bind: New file.
56070         * modules/connect: New file.
56071         * modules/getpeername: New file.
56072         * modules/getsockname: New file.
56073         * modules/getsockopt: New file.
56074         * modules/listen: New file.
56075         * modules/recv: New file.
56076         * modules/recvfrom: New file.
56077         * modules/send: New file.
56078         * modules/sendto: New file.
56079         * modules/setsockopt: New file.
56080         * modules/socket: New file.
56081         * lib/sys_socket.in.h: Include the GL_LINK_WARNING definition.
56082         (socket, connect, accept, bind, getpeername, getsockname, getsockopt,
56083         listen, recv, send, recvfrom, sendto, setsockopt): Declare only when
56084         the particular module is requested. Add a link warning when the
56085         particular module is not requested.
56086         * lib/winsock.c (rpl_socket, rpl_connect, rpl_accept, rpl_bind,
56087         rpl_getpeername, rpl_getsockname, rpl_getsockopt, rpl_listen, rpl_recv,
56088         rpl_send, rpl_recvfrom, rpl_sendto, rpl_setsockopt): Define only when
56089         the particular module is requested.
56090         * m4/sys_socket_h.m4 (gl_SYS_SOCKET_MODULE_INDICATOR,
56091         gl_SYS_SOCKET_H_DEFAULTS): New macros.
56092         (gl_HEADER_SYS_SOCKET): Require gl_SYS_SOCKET_H_DEFAULTS.
56093         * modules/sys_socket (Depends-on): Add link-warning.
56094         (Makeifle.am): Substitute GNULIB_SOCKET, GNULIB_CONNECT, GNULIB_ACCEPT,
56095         GNULIB_BIND, GNULIB_GETPEERNAME, GNULIB_GETSOCKNAME, GNULIB_GETSOCKOPT,
56096         GNULIB_LISTEN, GNULIB_RECV, GNULIB_SEND, GNULIB_RECVFROM,
56097         GNULIB_SENDTO, GNULIB_SETSOCKOPT, and the definition of
56098         GL_LINK_WARNING.
56099         * doc/posix-functions/accept.texi: Mention the new module 'accept'.
56100         * doc/posix-functions/bind.texi: Mention the new module 'bind'.
56101         * doc/posix-functions/connect.texi: Mention the new module 'connect'.
56102         * doc/posix-functions/getpeername.texi: Mention the new module
56103         'getpeername'.
56104         * doc/posix-functions/getsockname.texi: Mention the new module
56105         'getsockname'.
56106         * doc/posix-functions/getsockopt.texi: Mention the new module
56107         'getsockopt'.
56108         * doc/posix-functions/listen.texi: Mention the new module 'listen'.
56109         * doc/posix-functions/recv.texi: Mention the new module 'recv'.
56110         * doc/posix-functions/recvfrom.texi: Mention the new module 'recvfrom'.
56111         * doc/posix-functions/send.texi: Mention the new module 'send'.
56112         * doc/posix-functions/sendto.texi: Mention the new module 'sendto'.
56113         * doc/posix-functions/setsockopt.texi: Mention the new module
56114         'setsockopt'.
56115         * doc/posix-functions/socket.texi: Mention the new module 'socket'.
56116         * modules/poll-tests (Depends-on): Add socket, bind, getsockopt,
56117         listen, connect, accept.
56118         * modules/select-tests (Depends-on): Likewise.
56119
56120 2008-10-05  Bruno Haible  <bruno@clisp.org>
56121
56122         * lib/winsock.c (strerror): Remove unused #undef.
56123         (rpl_close): Remove unused local variable.
56124
56125         * modules/sys_socket (Depends-on); Add errno.
56126
56127 2008-10-05  Bruno Haible  <bruno@clisp.org>
56128
56129         * lib/sys_select.in.h: Include the GL_LINK_WARNING definition.
56130         (select): Add a link warning when the 'select' module is not used.
56131         * modules/sys_select (Depends-on): Add link-warning.
56132         (Makefile.am): Substitute the definition of GL_LINK_WARNING.
56133         Suggested by Paolo Bonzini.
56134
56135 2008-10-05  Jim Meyering  <meyering@redhat.com>
56136
56137         bootstrap: check for LT_INIT more portably
56138         * build-aux/bootstrap: Avoid using grep -E, since it's not
56139         portable enough.  Suggestion from Bruno Haible.
56140
56141 2008-10-05  Bruno Haible  <bruno@clisp.org>
56142
56143         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem
56144         as being fixed by gnulib.
56145
56146 2008-10-05  Bruno Haible  <bruno@clisp.org>
56147
56148         * modules/select-tests: New file, mostly copied from
56149         modules/sys_select-tests.
56150         * tests/test-select.c: New file, mostly copied from
56151         tests/test-sys_select.c.
56152         * tests/test-sys_select.c: Move most of the code to tests/test-select.c.
56153         * modules/sys_select-tests (Depends-on): Remove all dependencies.
56154         (Makefile.am): Remove test_sys_select_LDADD.
56155
56156         * lib/sys_select.in.h (select): If GNULIB_SELECT is not set, define it
56157         to an undefined symbol, for an error message.
56158         * m4/sys_select_h.m4 (gl_SYS_SELECT_MODULE_INDICATOR): New macro.
56159         (gl_SYS_SELECT_H_DEFAULTS): New macro.
56160         (gl_HEADER_SYS_SELECT): Require it. Don't require compilation of
56161         winsock-select.c here.
56162         * modules/sys_select (Files): Remove lib/winsock-select.c.
56163         (Depends-on): Remove alloca.
56164         (Makefile.am): Substitute GNULIB_SELECT.
56165         * modules/select: New file.
56166         * doc/posix-functions/select.texi: Update.
56167
56168 2008-10-05  Bruno Haible  <bruno@clisp.org>
56169
56170         * lib/spawn_faction_addclose.c (__sysconf): Use getdtablesize always.
56171         * lib/spawn_faction_adddup2.c (__sysconf): Likewise.
56172         * lib/spawn_faction_addopen.c (__sysconf): Likewise.
56173         * modules/posix_spawn_file_actions_addclose (Depends-on): Add
56174         getdtablesize.
56175         * modules/posix_spawn_file_actions_adddup2 (Depends-on): Likewise.
56176         * modules/posix_spawn_file_actions_addopen (Depends-on): Likewise.
56177
56178 2008-10-05  Bruno Haible  <bruno@clisp.org>
56179
56180         * modules/getdtablesize-tests: New file.
56181         * tests/test-getdtablesize.c: New file.
56182
56183         New module 'getdtablesize'.
56184         * lib/unistd.in.h (getdtablesize): New declaration.
56185         * lib/getdtablesize.c: New file.
56186         * m4/getdtablesize.m4: New file.
56187         * modules/getdtablesize: New file.
56188         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56189         GNULIB_GETDTABLESIZE, HAVE_GETDTABLESIZE.
56190         * modules/unistd (Makefile.am): Substitute GNULIB_GETDTABLESIZE,
56191         HAVE_GETDTABLESIZE.
56192         * doc/glibc-functions/getdtablesize.texi: Mention the new module.
56193
56194 2008-10-05  Bruno Haible  <bruno@clisp.org>
56195
56196         * modules/sched (Makefile.am): Fix typo.
56197         Reported by Simon Josefsson.
56198
56199 2008-10-05  Jim Meyering  <meyering@redhat.com>
56200
56201         bootstrap: check for LT_INIT, too
56202         * build-aux/bootstrap: Both AC_PROG_LIBTOOL and AM_PROG_LIBTOOL
56203         are deprecated.  Suggestion from Ralf Wildenhues.
56204
56205 2008-10-05  Bruno Haible  <bruno@clisp.org>
56206
56207         * lib/spawn.in.h (POSIX_SPAWN_*): Use the system's values, rather than
56208         overriding them by ours.
56209         (POSIX_SPAWN_USEVFORK): Use the next free bit position.
56210
56211 2008-10-05  Jim Meyering  <meyering@redhat.com>
56212
56213         bootstrap: check for AC_PROG_LIBTOOL as well as AM_PROG_LIBTOOL
56214         * build-aux/bootstrap: Check for AC_PROG_LIBTOOL, as well as the
56215         obsolete AM_PROG_LIBTOOL.  Spotted by Debarshi Ray <rishi@gnu.org>.
56216
56217 2008-10-04  Bruno Haible  <bruno@clisp.org>
56218
56219         * modules/dup2 (License): Change to LGPLv2+.
56220         * modules/sleep (License): Likewise.
56221         * modules/perror (License): Likewise.
56222         * modules/fopen (License): Change to LGPLv2+, with approval by Eric
56223         Blake.
56224         * modules/signal (License): Likewise.
56225         * modules/sigprocmask (License): Likewise.
56226         * modules/raise (License): Change to LGPLv2+, with approval by Jim
56227         Meyering.
56228
56229 2008-10-04  Bruno Haible  <bruno@clisp.org>
56230
56231         * lib/spawn.in.h (POSIX_SPAWN_*): Undefine before redefining.
56232         Reported by Rainer Tammer <tammer@tammer.net>.
56233
56234 2008-10-03  Paolo Bonzini  <bonzini@gnu.org>
56235             Bruno Haible  <bruno@clisp.org>
56236
56237         * lib/errno.in.h (EWOULDBLOCK) [win32]: Define to EAGAIN.
56238         * lib/winsock.c (set_winsock_errno): Map WSAEWOULDBLOCK to EWOULDBLOCK.
56239         * lib/strerror.c (rpl_strerror): Remove error string for EWOULDBLOCK.
56240
56241 2008-10-03  Kamil Dudka  <kdudka@redhat.com>
56242
56243         filevercmp: new module
56244         * lib/filevercmp.h: New function filevercmp comparing version strings.
56245         * lib/filevercmp.c: Implementation of filevercmp function.
56246         * modules/filevercmp: Module metadata.
56247         * tests/test-filevercmp.c: Unit test for new module.
56248         * modules/filevercmp-tests: Unit test metadata.
56249         * MODULES.html.sh: Add filevercmp module.
56250
56251 2008-10-03  Bruno Haible  <bruno@clisp.org>
56252
56253         * lib/c-ctype.h: Add comment.
56254         Reported by Jim Meyering.
56255
56256 2008-10-02  Bruno Haible  <bruno@clisp.org>
56257
56258         * modules/posix_spawn-internal (Depends-on): Add 'open'.
56259
56260 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56261
56262         * build-aux/bootstrap: Allow renaming bootstrap, and change the
56263         name of bootstrap.conf accordingly.
56264
56265 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56266
56267         * build-aux/bootstrap: Install git-merge-changelog configuration
56268         items into .gitconfig if needed.
56269
56270 2008-10-02  Paolo Bonzini  <bonzini@gnu.org>
56271
56272         * build-aux/bootstrap: Recognize `gnulib' being a submodule in a
56273         git repository, and initialize/update it accordingly.
56274
56275 2008-10-02  Richard W.M. Jones  <rjones@redhat.com>
56276
56277         * modules/fsync-tests: New file.
56278         * tests/test-fsync.c: New file.
56279
56280         New module 'fsync'.
56281         * lib/fsync.c: New file.
56282         * m4/fsync.m4: New file.
56283         * modules/fsync: New file.
56284         * lib/unistd.in.h (fsync): New declaration.
56285         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Define and AC_SUBST both
56286         GNULIB_FSYNC and HAVE_FSYNC.
56287         * modules/unistd: Substitute GNULIB_FSYNC and HAVE_FSYNC.
56288         * MODULES.html.sh (posix_functions): Add fsync.
56289         * doc/posix-functions/fsync.texi: Mention the new module.
56290
56291 2008-10-02  Jim Meyering  <meyering@redhat.com>
56292
56293         fts.c: sync with similar code from coreutils' remove.c
56294         * lib/fts.c (dirent_inode_sort_may_be_useful): Merge from coreutils.
56295         Guard also with "#if defined __linux__", since for now at least,
56296         this code is Linux-kernel-specific.
56297
56298 2008-10-02  Jim Meyering  <meyering@redhat.com>
56299
56300         fts: bug fixes
56301         * lib/fts.c: Remove unnecessary "defined" in cpp directive.
56302         Include <sys/vfs.h>, not <sys/statfs.h>.
56303
56304         * m4/fts.m4 (gl_FUNC_FTS_CORE): Fix typo s/vfs/vfs.h/.
56305         Include <sys/vfs.h>, not <sys/statfs.h>.
56306
56307 2008-10-01  Bruno Haible  <bruno@clisp.org>
56308
56309         Avoid the broken posix_spawn function on AIX 5.3 and 6.1.
56310         * m4/posix_spawn.m4 (gl_POSIX_SPAWN_WORKS): New macro.
56311         (gl_POSIX_SPAWN_BODY): Invoke it. Set REPLACE_POSIX_SPAWN if needed.
56312         * doc/posix-functions/posix_spawn.texi: Mention the AIX bugs.
56313         * doc/posix-functions/posix_spawnp.texi: Likewise.
56314         * m4/execute.m4 (gl_EXECUTE): Invoke gl_POSIX_SPAWN_WORKS, to check
56315         whether posix_spawn actually works.
56316         * m4/pipe.m4 (gl_PIPE): Likewise.
56317         * modules/execute (Files): Add m4/posix_spawn.m4.
56318         * modules/pipe (Files): Add m4/posix_spawn.m4.
56319         Reported and analyzed by Rainer Tammer <tammer@tammer.net>.
56320
56321 2008-10-01  Jim Meyering  <meyering@redhat.com>
56322
56323         remove trailing spaces
56324         * NEWS: Likewise.
56325         * lib/poll.c (poll): Likewise.
56326         * lib/sys_socket.in.h (SHUT_RDWR): Likewise.
56327         * lib/winsock.c (rpl_close): Likewise.
56328         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Likewise.
56329         * modules/yield: Likewise.
56330         * tests/test-poll.c (connect_to_socket, poll1): Likewise.
56331         * tests/test-sys_select.c (connect_to_socket): Likewise.
56332
56333         fts.c: adjust a new interface to be more generally useful
56334         * lib/fts.c (dirent_inode_sort_may_be_useful): Take an FD parameter.
56335         (fts_build): Adjust caller.
56336
56337 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56338
56339         * modules/cond-tests: New file.
56340         * tests/test-cond.c: New file.
56341
56342 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56343             Bruno Haible  <bruno@clisp.org>
56344
56345         * modules/cond (Dependencies): Add errno, time.
56346         * lib/glthread/cond.h: Include <time.h>.
56347         (gl_cond_define, gl_cond_define_initialized): Use the same definition
56348         across platforms.
56349
56350 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56351             Bruno Haible  <bruno@clisp.org>
56352
56353         * m4/thread.m4 (gl_THREAD): Fix detection of pthread_atfork function.
56354
56355 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56356             Bruno Haible  <bruno@clisp.org>
56357
56358         * modules/tls-tests (Depends-on): Add thread, yield.
56359         (configure.ac): Remove all checks.
56360         (test_tls_LDADD): Use YIELD_LIB instead of LIBSCHED.
56361         * tests/test-tls.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56362         gl_thread_self): Remove definitions. Include glthread/thread.h and
56363         glthread/yield.h instead.
56364         (test_tls): Pass an additional NULL argument to gl_thread_join.
56365
56366 2008-09-30  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56367             Bruno Haible  <bruno@clisp.org>
56368
56369         * modules/lock-tests (Depends-on): Add thread, yield.
56370         (configure.ac): Remove all checks.
56371         (test_lock_LDADD): Use YIELD_LIB instead of LIBSCHED.
56372         * tests/test-lock.c (gl_thread_t, gl_thread_join, gl_thread_yield,
56373         gl_thread_self): Remove definitions. Include glthread/thread.h and
56374         glthread/yield.h instead.
56375         (test_lock, test_rwlock, test_recursive_lock, test_once): Pass an
56376         additional NULL argument to gl_thread_join.
56377
56378 2008-09-30  Bruno Haible  <bruno@clisp.org>
56379
56380         Fix the Win32 implementation of the 'thread' module.
56381         * lib/glthread/thread.h [USE_WIN32_THREADS] (gl_thread_t): Change to a
56382         pointer type.
56383         (gl_thread_self): Invoke gl_thread_self_func.
56384         (gl_thread_self_func): New declaration.
56385         * lib/glthread/thread.c [USE_WIN32_THREADS] (self_key): New variable.
56386         (do_init_self_key, init_self_key): New functions.
56387         (struct gl_thread_struct): Renamed from 'struct thread_extra'.
56388         Remove some fields.
56389         (running_threads, running_lock): Remove variables.
56390         (get_current_thread_handle): New function.
56391         (gl_thread_self_func, wrapper_func, glthread_create_func,
56392         glthread_join_func, gl_thread_exit_func): Largely rewritten and
56393         simplified.
56394
56395 2008-09-30  Bruno Haible  <bruno@clisp.org>
56396
56397         * lib/winsock-select.c (win32_poll_handle): Add shortcut for regular
56398         files.
56399
56400 2008-09-30  Jim Meyering  <meyering@redhat.com>
56401
56402         fts.m4: correct the test for statfs.f_type
56403         * m4/fts.m4 (gl_FUNC_FTS_CORE): Include <sys/statfs.h>
56404         when checking for statfs.f_type.
56405
56406 2008-09-15  Simon Josefsson  <simon@josefsson.org>
56407
56408         tests: avoid some compiler warnings
56409         * tests/test-memchr.c (main): Pass NULL indirectly.
56410         * tests/test-getdate.c (main): Remove unused variable 'ret'.
56411
56412 2008-09-29  Ondřej Vašík  <ovasik@redhat.com>
56413
56414         getdate.y: disallow countable dayshifts like "4 yesterday ago"
56415         * lib/getdate.y (relative_time_table) [tDAY_SHIFT]: New type for
56416         exactly specified dayshifts.
56417         (dayshift): New rule.
56418         (rel): Add dayshift.
56419         (relative_time_table) [tomorrow, yesterday, today, now]:
56420         Use tDAY_SHIFT in place of tDAY_UNIT.
56421         * tests/test-getdate.c: Add tests for now-disallowed countable
56422         dayshifts, e.g., "4 yesterday ago".
56423
56424 2008-09-29  Bruno Haible  <bruno@clisp.org>
56425
56426         * tests/test-posix_spawn1.c: Renamed from tests/test-posix_spawn.c.
56427         * tests/test-posix_spawn1.in.sh: Renamed from
56428         tests/test-posix_spawn.in.sh.
56429         * tests/test-posix_spawn2.c: New file.
56430         * tests/test-posix_spawn2.in.sh: New file.
56431         * modules/posix_spawnp-tests (Files): Update.
56432         (Makefile.am): Update. Add test-posix_spawn2 to the tests.
56433
56434 2008-09-29  Bruno Haible  <bruno@clisp.org>
56435
56436         Propagate effects of putenv/setenv/unsetenv to child processes.
56437         * lib/execute.c (execute): Use spawnvpe instead of spawnvp.
56438         * lib/pipe.c (create_pipe): Likewise.
56439
56440 2008-09-29  Bruno Haible  <bruno@clisp.org>
56441
56442         Enable use of shell scripts as executables in mingw.
56443         * lib/execute.c (execute): When spawnv fails with error ENOEXEC,
56444         run the program as a shell script.
56445         * lib/pipe.c (create_pipe): Likewise.
56446         * lib/w32spawn.h (prepare_spawn): Add a hidden element in front of the
56447         resulting array.
56448
56449 2008-09-29  Eric Blake  <ebb9@byu.net>
56450
56451         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): Fix typo.
56452
56453 2008-08-24  Paolo Bonzini  <bonzini@gnu.org>
56454
56455         * doc/posix-functions/accept.texi: Update mingw problems.
56456         * doc/posix-functions/bind.texi: Update mingw problems.
56457         * doc/posix-functions/close.texi: Update mingw problems.
56458         * doc/posix-functions/connect.texi: Update mingw problems.
56459         * doc/posix-functions/getpeername.texi: Update mingw problems.
56460         * doc/posix-functions/getsockname.texi: Update mingw problems.
56461         * doc/posix-functions/getsockopt.texi: Update mingw problems.
56462         * doc/posix-functions/ioctl.texi: Update mingw problems.
56463         * doc/posix-functions/listen.texi: Update mingw problems.
56464         * doc/posix-functions/recv.texi: Update mingw problems.
56465         * doc/posix-functions/recvfrom.texi: Update mingw problems.
56466         * doc/posix-functions/select.texi: Update mingw problems.
56467         * doc/posix-functions/send.texi: Update mingw problems.
56468         * doc/posix-functions/sendto.texi: Update mingw problems.
56469         * doc/posix-functions/setsockopt.texi: Update mingw problems.
56470         * doc/posix-functions/socket.texi: Update mingw problems.
56471
56472 2008-09-29  Paolo Bonzini  <bonzini@gnu.org>
56473             Bruno Haible  <bruno@clisp.org>
56474
56475         * lib/sys_select.in.h: Include sys/time.h.
56476         * m4/sys_select.h.m4: Test that struct timeval is fully defined.
56477         * modules/sys_select: Depend on sys_time.
56478         * tests/test-sys_select.c: Test that sys/select.h defines struct
56479         timeval fully.
56480
56481 2008-09-29  Bruno Haible  <bruno@clisp.org>
56482
56483         * lib/sys_socket.in.h: Wrap the definitions in 'extern "C"'.
56484         * lib/sys_select.in.h: Likewise.
56485
56486 2008-09-29  Bruno Haible  <bruno@clisp.org>
56487
56488         * lib/winsock.c (rpl_close, rpl_socket): Remove unused variables.
56489
56490 2008-09-29  Bruno Haible  <bruno@clisp.org>
56491
56492         * m4/sockets.m4 (gl_SOCKETS): Check also for the need to use -lsocket.
56493         Set LIBSOCKET instead of augmenting LIBS.
56494         * modules/sockets (Link): New section.
56495         * modules/sockets-tests (test_sockets_LDADD): New variable.
56496         * modules/sys_select-tests (test_sys_select_LDADD): New variable.
56497         * modules/poll-tests (test_poll_LDADD): New variable.
56498         * NEWS: Document the change.
56499
56500 2008-09-29  Bruno Haible  <bruno@clisp.org>
56501
56502         * m4/arpa_inet_h.m4 (gl_REPLACE_ARPA_INET_H): New macro.
56503         * m4/inet_ntop.m4 (gl_INET_NTOP): Invoke it instead of assigning
56504         ARPA_INET_H directly.
56505         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
56506
56507 2008-09-28  Bruno Haible  <bruno@clisp.org>
56508
56509         * m4/sys_socket_h.m4 (gl_PREREQ_SYS_H_WINSOCK2): New macro, extracted
56510         from gl_HEADER_SYS_SOCKET.
56511         (gl_HEADER_SYS_SOCKET): Invoke it.
56512         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
56513
56514 2008-09-28  Bruno Haible  <bruno@clisp.org>
56515
56516         * doc/posix-headers/sys_select.texi: Mention 'struct timeval' problem.
56517         * tests/test-sys_select.c: Include <sys/time.h>, for struct timeval.
56518         Needed on OSF/1 4.0.
56519
56520 2008-09-28  Bruno Haible  <bruno@clisp.org>
56521
56522         Override open more carefully.
56523         * lib/open.c (orig_open): New function.
56524         (rpl_open): Use orig_open instead of open.
56525         * lib/fcntl.in.h: Add special invocation convention.
56526         * m4/open.m4 (gl_PREREQ_OPEN): New macro.
56527         (gl_FUNC_OPEN): Invoke it.
56528
56529         Override freopen more carefully.
56530         * lib/freopen.c (orig_freopen): New function.
56531         (rpl_freopen): Use orig_freopen instead of freopen.
56532         * m4/freopen.m4 (gl_PREREQ_FREOPEN): New macro.
56533         (gl_FUNC_FREOPEN): Invoke it.
56534
56535         Override fopen more carefully.
56536         * lib/fopen.c (orig_fopen): New function.
56537         (rpl_fopen): Use orig_fopen instead of fopen.
56538         * m4/fopen.m4 (gl_PREREQ_FOPEN): New macro.
56539         (gl_FUNC_FOPEN): Invoke it.
56540         Needed on AIX. Reported by Rainer Tammer <tammer@tammer.net>.
56541
56542 2008-09-28  Bruno Haible  <bruno@clisp.org>
56543
56544         * lib/pipe.h (create_pipe_out, create_pipe_bidi): Add comment about
56545         SIGPIPE.
56546
56547 2008-09-28  Bruno Haible  <bruno@clisp.org>
56548
56549         * tests/test-sigaction.c (handler, main): Disable the check whether
56550         SA_RESETHAND has reverted the installed handler to SIG_DFL. Needed on
56551         glibc systems with LinuxThreads.
56552
56553 2008-09-28  Bruno Haible  <bruno@clisp.org>
56554
56555         * doc/posix-functions/freopen.texi: Mention the trailing slash problem.
56556
56557         * lib/stdio.in.h (fopen, freopen): Undefine before redefining. Needed
56558         with AIX xlc.
56559         * lib/fcntl.in.h (open): Likewise.
56560         Reported by Rainer Tammer <tammer@tammer.net>.
56561
56562 2008-09-28  Bruno Haible  <bruno@clisp.org>
56563
56564         * modules/posix_spawnp-tests: New file.
56565         * tests/test-posix_spawn.c: New file.
56566         * tests/test-posix_spawn.in.sh: New file.
56567
56568         New module 'posix_spawnp'.
56569         * modules/posix_spawnp: New file.
56570         * lib/spawnp.c: New file, from GNU libc with modifications.
56571         * doc/posix-functions/posix_spawnp.texi: Mention the new module.
56572
56573         New module 'posix_spawn'.
56574         * modules/posix_spawn: New file.
56575         * lib/spawn.c: New file, from GNU libc with modifications.
56576         * doc/posix-functions/posix_spawn.texi: Mention the new module.
56577
56578         New module 'posix_spawnattr_destroy'.
56579         * modules/posix_spawnattr_destroy: New file.
56580         * lib/spawnattr_destroy.c: New file, from GNU libc with modifications.
56581         * doc/posix-functions/posix_spawnattr_destroy.texi: Mention the new
56582         module.
56583
56584         New module 'posix_spawnattr_setsigmask'.
56585         * modules/posix_spawnattr_setsigmask: New file.
56586         * lib/spawnattr_setsigmask.c: New file, from GNU libc with
56587         modifications.
56588         * doc/posix-functions/posix_spawnattr_setsigmask.texi: Mention the
56589         new module.
56590
56591         New module 'posix_spawnattr_getsigmask'.
56592         * modules/posix_spawnattr_getsigmask: New file.
56593         * lib/spawnattr_getsigmask.c: New file, from GNU libc with
56594         modifications.
56595         * doc/posix-functions/posix_spawnattr_getsigmask.texi: Mention the
56596         new module.
56597
56598         New module 'posix_spawnattr_setsigdefault'.
56599         * modules/posix_spawnattr_setsigdefault: New file.
56600         * lib/spawnattr_setdefault.c: New file, from GNU libc with
56601         modifications.
56602         * doc/posix-functions/posix_spawnattr_setsigdefault.texi: Mention the
56603         new module.
56604
56605         New module 'posix_spawnattr_getsigdefault'.
56606         * modules/posix_spawnattr_getsigdefault: New file.
56607         * lib/spawnattr_getdefault.c: New file, from GNU libc with
56608         modifications.
56609         * doc/posix-functions/posix_spawnattr_getsigdefault.texi: Mention the
56610         new module.
56611
56612         New module 'posix_spawnattr_setschedpolicy'.
56613         * modules/posix_spawnattr_setschedpolicy: New file.
56614         * lib/spawnattr_setschedpolicy.c: New file, from GNU libc with
56615         modifications.
56616         * doc/posix-functions/posix_spawnattr_setschedpolicy.texi: Mention the
56617         new module.
56618
56619         New module 'posix_spawnattr_getschedpolicy'.
56620         * modules/posix_spawnattr_getschedpolicy: New file.
56621         * lib/spawnattr_getschedpolicy.c: New file, from GNU libc with
56622         modifications.
56623         * doc/posix-functions/posix_spawnattr_getschedpolicy.texi: Mention the
56624         new module.
56625
56626         New module 'posix_spawnattr_setschedparam'.
56627         * modules/posix_spawnattr_setschedparam: New file.
56628         * lib/spawnattr_setschedparam.c: New file, from GNU libc with
56629         modifications.
56630         * doc/posix-functions/posix_spawnattr_setschedparam.texi: Mention the
56631         new module.
56632
56633         New module 'posix_spawnattr_getschedparam'.
56634         * modules/posix_spawnattr_getschedparam: New file.
56635         * lib/spawnattr_getschedparam.c: New file, from GNU libc with
56636         modifications.
56637         * doc/posix-functions/posix_spawnattr_getschedparam.texi: Mention the
56638         new module.
56639
56640         New module 'posix_spawnattr_setpgroup'.
56641         * modules/posix_spawnattr_setpgroup: New file.
56642         * lib/spawnattr_setpgroup.c: New file, from GNU libc with
56643         modifications.
56644         * doc/posix-functions/posix_spawnattr_setpgroup.texi: Mention the new
56645         module.
56646
56647         New module 'posix_spawnattr_getpgroup'.
56648         * modules/posix_spawnattr_getpgroup: New file.
56649         * lib/spawnattr_getpgroup.c: New file, from GNU libc with
56650         modifications.
56651         * doc/posix-functions/posix_spawnattr_getpgroup.texi: Mention the new
56652         module.
56653
56654         New module 'posix_spawnattr_setflags'.
56655         * modules/posix_spawnattr_setflags: New file.
56656         * lib/spawnattr_setflags.c: New file, from GNU libc with modifications.
56657         * doc/posix-functions/posix_spawnattr_setflags.texi: Mention the new
56658         module.
56659
56660         New module 'posix_spawnattr_getflags'.
56661         * modules/posix_spawnattr_getflags: New file.
56662         * lib/spawnattr_getflags.c: New file, from GNU libc with modifications.
56663         * doc/posix-functions/posix_spawnattr_getflags.texi: Mention the new
56664         module.
56665
56666         New module 'posix_spawnattr_init'.
56667         * modules/posix_spawnattr_init: New file.
56668         * lib/spawnattr_init.c: New file, from GNU libc with modifications.
56669         * doc/posix-functions/posix_spawnattr_init.texi: Mention the new
56670         module.
56671
56672         New module 'posix_spawn_file_actions_destroy'.
56673         * modules/posix_spawn_file_actions_destroy: New file.
56674         * lib/spawn_faction_destroy.c: New file, from GNU libc with
56675         modifications.
56676         * doc/posix-functions/posix_spawn_file_actions_destroy.texi: Mention
56677         the new module.
56678
56679         New module 'posix_spawn_file_actions_addopen'.
56680         * modules/posix_spawn_file_actions_addopen: New file.
56681         * lib/spawn_faction_addopen.c: New file, from GNU libc with
56682         modifications.
56683         * doc/posix-functions/posix_spawn_file_actions_addopen.texi: Mention
56684         the new module.
56685
56686         New module 'posix_spawn_file_actions_adddup2'.
56687         * modules/posix_spawn_file_actions_adddup2: New file.
56688         * lib/spawn_faction_adddup2.c: New file, from GNU libc with
56689         modifications.
56690         * doc/posix-functions/posix_spawn_file_actions_adddup2.texi: Mention
56691         the new module.
56692
56693         New module 'posix_spawn_file_actions_addclose'.
56694         * modules/posix_spawn_file_actions_addclose: New file.
56695         * lib/spawn_faction_addclose.c: New file, from GNU libc with
56696         modifications.
56697         * doc/posix-functions/posix_spawn_file_actions_addclose.texi: Mention
56698         the new module.
56699
56700         New module 'posix_spawn_file_actions_init'.
56701         * modules/posix_spawn_file_actions_init: New file.
56702         * lib/spawn_faction_init.c: New file, from GNU libc with modifications.
56703         * doc/posix-functions/posix_spawn_file_actions_init.texi: Mention the
56704         new module.
56705
56706         New module 'posix_spawn-internal'.
56707         * modules/posix_spawn-internal: New file.
56708         * lib/spawn_int.h: New file, from GNU libc with modifications.
56709         * lib/spawni.c: New file, from GNU libc with modifications.
56710         * m4/posix_spawn.m4: New file.
56711
56712         New module 'spawn'.
56713         * modules/spawn: New file.
56714         * lib/spawn.in.h: New file, from GNU libc with modifications.
56715         * m4/spawn_h.m4: New file.
56716         * doc/posix-headers/spawn.texi: Mention the new module.
56717
56718 2008-09-28  Bruno Haible  <bruno@clisp.org>
56719
56720         * modules/sched-tests: New file.
56721         * tests/test-sched.c: New file.
56722
56723         New module 'sched'.
56724         * modules/sched: New file.
56725         * lib/sched.in.h: New file.
56726         * m4/sched_h.m4: New file.
56727         * doc/posix-headers/sched.texi: Mention the new module.
56728
56729 2008-09-27  Eric Blake  <ebb9@byu.net>
56730
56731         Fix previous patch, and tweak references to $0.
56732         * posix-modules: Call func_gnulib_dir before using $gnulib_dir.
56733         (func_version, func_gnulib_dir): Don't call this program
56734         gnulib-tool.
56735         (func_gnulib_dir, func_tmpdir, func_fatal_error): Avoid shell bugs
56736         with using $0 in function.
56737         * gnulib-tool (func_gnulib_dir, func_tmpdir): Likewise.
56738         (func_fatal_error): Reuse the name the user invoked us with.
56739
56740 2008-09-27  Bruno Haible  <bruno@clisp.org>
56741
56742         * m4/iconv_h.m4 (gl_REPLACE_ICONV_H): New macro.
56743         (gl_ICONV_H_DEFAULTS): Initialize ICONV_H here...
56744         (gl_ICONV_H): Not here.
56745         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): Invoke gl_REPLACE_ICONV_H
56746         instead of assigning ICONV_H directly.
56747
56748         * m4/wchar.m4 (gl_REPLACE_WCHAR_H): New macro.
56749         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Invoke it instead of assigning
56750         WCHAR_H directly.
56751
56752 2008-09-27  Bruno Haible  <bruno@clisp.org>
56753
56754         * lib/arpa_inet.in.h: Include the GL_LINK_WARNING anchor.
56755         * modules/arpa_inet (Depends-on): Add link-warning.
56756         (Makefile.am): Insert the definition of GL_LINK-WARNING.
56757         * modules/unistd (Makefile.am): Likewise.
56758
56759 2008-09-26  Bruno Haible  <bruno@clisp.org>
56760
56761         * posix-modules (cvsdatestamp, last_checkin_date, version): Remove
56762         variables.
56763         (func_version): Essentially copied from gnulib-tool.
56764         (func_exit, func_gnulib_dir, func_tmpdir, func_fatal_error,
56765         func_readlink): Copied from gnulib-tool.
56766
56767 2008-09-26  Bruno Haible  <bruno@clisp.org>
56768
56769         * gnulib-tool (func_version): Change directory to $gnulib_dir before
56770         invoking git-version-gen.
56771
56772 2008-09-26  Bruno Haible  <bruno@clisp.org>
56773
56774         * posix-modules: Update to directory names changed on 2008-01-19.
56775         Remove commas in output before splitting into words. No more need to
56776         avoid 'ftruncate' since 2007-02-19.
56777
56778 2008-09-26  Bruno Haible  <bruno@clisp.org>
56779
56780         * doc/posix-headers/errno.texi: Remove mention of module 'EOVERFLOW'.
56781
56782 2008-09-26  Bruno Haible  <bruno@clisp.org>
56783
56784         * lib/fwriteerror.c (do_fwriteerror): Ignore error EPIPE.
56785         * modules/fwriteerror (Depends-on): Add errno.
56786
56787 2008-09-26  Bruno Haible  <bruno@clisp.org>
56788
56789         * tests/test-vc-list-files-git.sh: Explain reason for skipping test.
56790         * tests/test-vc-list-files-cvs.sh: Likewise.
56791
56792 2008-09-26  Bruno Haible  <bruno@clisp.org>
56793
56794         * doc/posix-headers/sys_resource.texi: Reorder items.
56795
56796 2008-09-26  Jim Meyering  <meyering@redhat.com>
56797
56798         fts: tweak inode comparison function
56799         * lib/fts.c (fts_compare_ino): Sort on increasing, not decreasing
56800         inode numbers, as documented.
56801
56802         fts: sort dirent entries on inode number before traversing
56803         This avoids a quadratic, seek-related performance penalty when
56804         operating on a directory containing many entries (measurable at 10k;
56805         3.5 hours at 2 million entries with a cold cache) on certain types
56806         of file systems, including ext3 and ext4, but not tmpfs.
56807         * lib/fts.c (DT_MUST_BE, NOT_AN_INODE_NUMBER, D_INO): Define.
56808         (FTS_INODE_SORT_DIR_ENTRIES_THRESHOLD): Define if not defined.
56809         (S_MAGIC_TMPFS, S_MAGIC_NFS): Define.
56810         (fs_handles_readdir_ordered_dirents_efficiently): New function.
56811         (dirent_inode_sort_may_be_useful, fts_compare_ino): Likewise.
56812         (fts_build): Set the stat.st_ino member from D_INO.
56813         If it is likely to be useful, sort dirent entries on inode number.
56814
56815         * m4/fts.m4 (gl_FUNC_FTS_CORE): Check for fstatfs, sys/vfs.h,
56816         and the struct statfs.f_type member.
56817         * modules/fts (Depends-on): Add d-ino.
56818
56819 2008-09-26  Bruno Haible  <bruno@clisp.org>
56820
56821         * modules/sigpipe-die (Depends-on): Add sigpipe.
56822
56823         * lib/stdio.in.h (fprintf, vfprintf, printf, vprintf, fputc, putc,
56824         putchar, fputs, puts, fwrite): Replace when REPLACE_STDIO_WRITE_FUNCS
56825         and GNULIB_STDIO_H_SIGPIPE are set.
56826         * lib/stdio-write.c: New file.
56827         * m4/stdio_h.m4 (gl_STDIO_H): Set GNULIB_FPRINTF, GNULIB_PRINTF,
56828         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56829         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56830         REPLACE_STDIO_WRITE_FUNCS.
56831         (gl_STDIO_H_DEFAULTS): Initialize GNULIB_FPRINTF, GNULIB_PRINTF,
56832         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56833         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56834         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56835         * modules/stdio (Files): Add lib/stdio-write.c.
56836         (Makefile.am): Substitute GNULIB_FPRINTF, GNULIB_PRINTF,
56837         GNULIB_VFPRINTF, GNULIB_VPRINTF, GNULIB_FPUTC, GNULIB_PUTC,
56838         GNULIB_PUTCHAR, GNULIB_FPUTS, GNULIB_PUTS, GNULIB_FWRITE,
56839         GNULIB_STDIO_H_SIGPIPE, REPLACE_STDIO_WRITE_FUNCS.
56840         * m4/fprintf-posix.m4 (gl_REPLACE_FPRINTF): Define
56841         REPLACE_FPRINTF_POSIX.
56842         * m4/printf-posix-rpl.m4 (gl_REPLACE_PRINTF): Define
56843         REPLACE_PRINTF_POSIX.
56844         * m4/vfprintf-posix.m4 (gl_REPLACE_VFPRINTF): Define
56845         REPLACE_VFPRINTF_POSIX.
56846         * m4/vprintf-posix.m4 (gl_REPLACE_VPRINTF): Define
56847         REPLACE_VPRINTF_POSIX.
56848         * doc/posix-functions/fprintf.texi: Mention the sigpipe module and the
56849         SIGPIPE issue.
56850         * doc/posix-functions/fputc.texi: Likewise.
56851         * doc/posix-functions/fputs.texi: Likewise.
56852         * doc/posix-functions/fwrite.texi: Likewise.
56853         * doc/posix-functions/printf.texi: Likewise.
56854         * doc/posix-functions/putc.texi: Likewise.
56855         * doc/posix-functions/putchar.texi: Likewise.
56856         * doc/posix-functions/puts.texi: Likewise.
56857         * doc/posix-functions/vfprintf.texi: Likewise.
56858         * doc/posix-functions/vprintf.texi: Likewise.
56859
56860         * modules/safe-write (Depends-on): Add write.
56861
56862         * modules/sigpipe-tests: New file.
56863         * tests/test-sigpipe.c: New file.
56864         * tests/test-sigpipe.sh: New file.
56865
56866         * modules/write: New file.
56867         * lib/unistd.in.h: Include <sys/types.h>.
56868         (write): New declaration.
56869         * lib/write.c: New file.
56870         * m4/write.m4: New file.
56871         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
56872         GNULIB_UNISTD_H_SIGPIPE, GNULIB_WRITE, REPLACE_WRITE.
56873         * modules/unistd (Makefile.am): Substitute GNULIB_UNISTD_H_SIGPIPE,
56874         GNULIB_WRITE, REPLACE_WRITE.
56875         * doc/posix-functions/write.texi: Mention the write, sigpipe modules
56876         and the SIGPIPE issue.
56877
56878         * lib/signal.in.h (SIGPIPE): Define to a replacement value.
56879         (raise): New declaration.
56880         * lib/sigprocmask.c (SIGPIPE_handler): New variable.
56881         (ext_signal): New function.
56882         (rpl_raise): New function.
56883         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Initialize
56884         GNULIB_SIGNAL_H_SIGPIPE.
56885         * modules/signal (Makefile.am): Substitute GNULIB_SIGNAL_H_SIGPIPE.
56886         * doc/posix-headers/signal.texi: Mention the SIGPIPE issue.
56887
56888         * modules/sigpipe: New file.
56889         * m4/sigpipe.m4: New file.
56890
56891 2008-09-25  Derek Price  <derek@ximbiot.com>
56892             Bruno Haible  <bruno@clisp.org>
56893
56894         * gnulib-tool (func_import): Report all license incompatibilities, not
56895         just the first one.
56896
56897 2008-09-25  Bruno Haible  <bruno@clisp.org>
56898
56899         * gnulib-tool (func_import): When computing the edits, consider not
56900         only the Makefile.ams that exist but also those that will be generated.
56901
56902 2008-09-25  Simon Josefsson  <simon@josefsson.org>
56903
56904         * modules/sys_select-tests (Depends-on): Remove sys_select itself,
56905         fixes gnulib-tool --test warning about duplicate dependency.
56906
56907 2008-09-25  Bruno Haible  <bruno@clisp.org>
56908
56909         * gnulib-tool: Don't ask the user to perform edits in the generated
56910         Makefile.ams.
56911         (func_emit_lib_Makefile_am): Emit empty SUBDIRS. Execute edits that
56912         apply to the Makefile.am being generated.
56913         (func_emit_tests_Makefile_am): Execute edits that apply to the
56914         Makefile.am being generated.
56915         (func_import): Setup list of Makefile.am edits before emitting the
56916         Makefile.ams, not at the end.
56917         (func_create_testdir): Update.
56918         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
56919
56920 2008-09-25  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
56921
56922         * gnulib-tool (func_import): Store the --tests-base option in the
56923         comment in gnulib-cache.m4.
56924
56925 2008-09-24  Paolo Bonzini  <bonzini@gnu.org>
56926
56927         * NEWS: Document increased portability that sys_select now provides.
56928
56929         * lib/sys_select.in.h: Install select wrapper.
56930         * lib/sys_socket.in.h: Use more descriptive name when there is no
56931         select wrapper.
56932         * lib/winsock-select.c: New.
56933         * m4/sys_select_h.m4: Compile lib/winsock-select.c if WinSock is used.
56934         Require gl_HEADER_SYS_SOCKET.
56935         * modules/sys_select: Depend on alloca, add lib/winsock-select.c.
56936         * modules/sys_select-tests: Copy dependencies from modules/poll-tests.
56937         * tests/test-sys_select.c: Add functional tests.
56938
56939 2008-09-24  Eric Blake  <ebb9@byu.net>
56940
56941         open, fopen: close fd leak in last patch
56942         * lib/open.c (rpl_open): Close fd before returning error.
56943         * lib/fopen.c (rpl_fopen): Close fd before returning error.
56944         * doc/posix-functions/open.texi (open): Document that Irix also
56945         has the bug.
56946         * doc/posix-functions/fopen.texi (fopen): Likewise.
56947         Reported by Paolo Bonzini.
56948
56949 2008-09-24  Bruno Haible  <bruno@clisp.org>
56950
56951         Ensure that a filename ending in a slash cannot be used to access a
56952         non-directory.
56953         * lib/open.c (rpl_open): When the filename ends in a slash, use fstat()
56954         to check whether it's really a directory.
56955         * lib/fopen.c: Include fcntl.h, unistd.h.
56956         (rpl_fopen): When the filename ends in a slash, use open(), fstat(),
56957         and fdopen().
56958         * modules/fopen (Depends-on): Add unistd.
56959         * tests/test-open.c (main): Try to open "/dev/null/" as a directory.
56960         * tests/test-fopen.c (main): Likewise.
56961         * doc/posix-functions/open.texi: Mention the HP-UX, Solaris bug.
56962         * doc/posix-functions/fopen.texi: Likewise.
56963         Reported by Eric Blake.
56964
56965 2008-09-23  Eric Blake  <ebb9@byu.net>
56966
56967         c-stack: avoid compiler optimizations when provoking overflow
56968         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Make
56969         recursion harder to optimize, to ensure a stack overflow occurs.
56970         * tests/test-c-stack.c (recurse): Likewise.
56971         Borrowed from libsigsegv.
56972
56973         c-stack: work around Irix sigaltstack bug
56974         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check
56975         whether sigaltstack uses wrong end of stack_t (copied in part from
56976         libsigsegv).
56977         * lib/c-stack.c (c_stack_action) [!HAVE_LIBSIGSEGV]: Work around
56978         Irix bug, without requiring an over-allocation.
56979         * doc/posix-functions/sigaltstack.texi (sigaltstack): Document the
56980         bug.
56981
56982         fopen: document mingw bug on directories
56983         * doc/posix-functions/fopen.texi (fopen): Mention mingw bug for
56984         not allowing a stream visiting a directory, even though reading
56985         from such a stream is not portable.
56986
56987 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56988
56989         * lib/poll.c: Rewrite.
56990         * modules/poll: Depend on alloca.
56991
56992 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
56993
56994         * lib/sys_socket.in.h: Do not implement rpl_setsockopt here,
56995         instead define prototypes for a full set of wrappers.  Ensure
56996         that Cygwin does not use the compatibility code, which is only
56997         for MinGW.
56998         * lib/winsock.c: New.
56999         * m4/sys_socket_h.m4: Compile lib/winsock.c if WinSock is being used.
57000         * modules/sys_socket: Add lib/winsock.c.
57001
57002         * modules/poll-tests: Add errno and perror.
57003         * tests/test-poll.c: Use ioctl, not ioctlsocket.
57004
57005 2008-09-23  Paolo Bonzini  <bonzini@gnu.org>
57006
57007         * tests/test-poll.c: Downgrade minimum needed Winsock version.
57008
57009 2008-09-23  Bruno Haible  <bruno@clisp.org>
57010
57011         * doc/posix-functions/*: Add info about functions missing on IRIX 5.3.
57012         * doc/glibc-functions/*: Likewise.
57013
57014 2008-09-23  Simon Josefsson  <simon@josefsson.org>
57015
57016         * tests/test-perror.sh (tmpfiles): Cleanup temporary files on
57017         success.
57018
57019 2008-09-22  Eric Blake  <ebb9@byu.net>
57020             Bruno Haible  <bruno@clisp.org>
57021
57022         vasnprintf: fix x86/glibc regression on printf("%La", 0.0L)
57023         * lib/vasnprintf.c (VASNPRINTF): Support 0.0 on platforms that
57024         supply %A but mishandle pseudo-NaN.
57025         Reported by Simon Josefsson.
57026
57027 2008-09-21  Bruno Haible  <bruno@clisp.org>
57028
57029         * tests/test-lock.c (main): Tweak skip message.
57030         * tests/test-tls.c (main): Likewise.
57031
57032 2008-09-21  Bruno Haible  <bruno@clisp.org>
57033
57034         * m4/sigaction.m4 (gl_SIGACTION): Remove unnecessary AC_SUBST. Check
57035         whether 'struct sigaction' has sa_sigaction here...
57036         (gl_PREREQ_SIG_HANDLER_H): ... not here.
57037         (gl_PREREQ_SIGACTION): Remove unnecessary AC_SUBST.
57038
57039 2008-09-21  Bruno Haible  <bruno@clisp.org>
57040
57041         * MODULES.html.sh (Support for obsolete systems lacking ANSI C 89): New
57042         section.
57043         (Support for systems lacking ANSI C 89): Move stdlib, exit, strtol,
57044         strtoul, memchr, memcmp, memcpy, memmove, memset, strcspn, strpbrk to
57045         the new section.
57046         (Support for obsolete systems lacking POSIX:2001): New section.
57047         (String handling <string.h>): Move strdup to the new section.
57048         Suggested by Simon Josefsson and Paolo Bonzini.
57049
57050 2008-09-21  Bruno Haible  <bruno@clisp.org>
57051
57052         * tests/test-vasnprintf-posix.c (test_function): Allow 3-digit
57053         exponents in %e and %g results on 'long double'. Needed for mingw's
57054         improved *printf functions.
57055         * tests/test-vasprintf-posix.c (test_function): Likewise.
57056         * tests/test-snprintf-posix.h (test_function): Likewise.
57057         * tests/test-sprintf-posix.h (test_function): Likewise.
57058         Reported by Eric Blake.
57059
57060 2008-09-21  Bruno Haible  <bruno@clisp.org>
57061
57062         * tests/test-snprintf-posix.h (test_function): Remove useless ASSERTs.
57063         * tests/test-sprintf-posix.h (test_function): Likewise.
57064
57065 2008-09-21  Bruno Haible  <bruno@clisp.org>
57066
57067         * modules/getpass (Depends-on): Add strdup-posix.
57068
57069         New module 'strdup-posix'.
57070         * modules/strdup-posix: New file.
57071         * m4/strdup.m4 (gl_FUNC_STRDUP_POSIX): New macro.
57072         * lib/string.in.h (strdup): Replace if REPLACE_STRDUP is 1.
57073         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
57074         REPLACE_STRDUP.
57075         * modules/string (Makefile.am): Substitute REPLACE_STRDUP.
57076         * doc/posix-functions/strdup.texi: Mention module strdup-posix.
57077         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
57078         strdup-posix.
57079
57080         * modules/strdup (Depends-on): Remove malloc-posix.
57081
57082 2008-09-20  Bruno Haible  <bruno@clisp.org>
57083
57084         * lib/fstrcmp.c: Add data about branch probabilities, from Ralf
57085         Wildenhues.
57086
57087 2008-09-20  Bruno Haible  <bruno@clisp.org>
57088
57089         Ensure that wint_t gets defined on IRIX 5.3.
57090         * lib/wchar.in.h (wint_t): Define if not defined by the system.
57091         * lib/wctype.in.h (wint_t): Likewise.
57092         (__wctype_wint_t): Remove type.
57093         (isw*): Use wint_t instead of __wctype_wint_t.
57094         * m4/wchar.m4 (gl_WCHAR_H): Invoke gt_TYPE_WINT_T and set HAVE_WINT_T.
57095         * modules/wchar (Files): Add m4/wint_t.m4.
57096         (Makefile.am): Substitute HAVE_WINT_T.
57097         * tests/test-wchar.c: Check that wchar_t and wint_t are defined.
57098         * tests/test-wctype.c: Check that wint_t is defined.
57099         * doc/posix-headers/wchar.texi: Mention the IRIX 5 problem.
57100         * doc/posix-headers/wctype.texi: Likewise.
57101         Reported by Tom G. Christensen <tgc@jupiterrise.com>.
57102
57103 2008-09-18  Bruno Haible  <bruno@clisp.org>
57104
57105         * gnulib-tool (func_exit): Update comment.
57106
57107 2008-09-18  Simon Josefsson  <simon@josefsson.org>
57108
57109         * modules/getaddrinfo (Depends-on): Remove strdup, this module
57110         assumes strdup exists and does not depend on strdup to return
57111         ENOMEM on out of memory conditions.
57112
57113 2008-09-18  Bruno Haible  <bruno@clisp.org>
57114
57115         * lib/vasnprintf.c (VASNPRINTF): When printing ±0.0L in
57116         NEED_PRINTF_INFINITE_LONG_DOUBLE case with 'e' format, always use two
57117         digits for the exponent.
57118
57119 2008-09-18  Jim Meyering  <meyering@redhat.com>
57120             Bruno Haible  <bruno@clisp.org>
57121
57122         * lib/vasnprintf.c (decimal_point_char): Define also if
57123         NEED_PRINTF_INFINITE_LONG_DOUBLE.
57124
57125 2008-09-16  Bruno Haible  <bruno@clisp.org>
57126         and Eric Blake  <ebb9@byu.net>
57127
57128         vasnprintf: support Irix 5.3
57129         * lib/vasnprintf.c (VASNPRINTF): Also handle -0.0L on platforms
57130         that mishandle long double infinity.
57131         Reported by Tom G. Christensen.
57132
57133 2008-09-16  Bruno Haible  <bruno@clisp.org>
57134
57135         * doc/glibc-functions/scandir.texi: Mention the function is missing on
57136         Solaris 9.
57137         * doc/glibc-functions/alphasort.texi: Likewise.
57138         Reported by Michael Haubenwallner <michael.haubenwallner@salomon.at>.
57139
57140 2008-09-16  Jim Meyering  <meyering@redhat.com>
57141
57142         posix-shell.m4: reject opensolaris's "sh (AT&T Research) 1993-12-28 s+"
57143         * m4/posix-shell.m4 (gl_POSIX_SHELL): Reject a shell that lets
57144         a umask modification leak out of a subshell.  Otherwise, the
57145         opensolaris /bin/sh would be accepted and thus cause unwarranted
57146         failures in the coreutils test suite.
57147
57148 2008-09-16  Paolo Bonzini  <bonzini@gnu.org>
57149
57150         * tests/test-poll.c (connect_to_socket): Allow non-blocking connect
57151         to succeed.
57152
57153 2008-09-16  Jim Meyering  <meyering@redhat.com>
57154
57155         avoid spurious test failure when library is built without ACL support
57156         * m4/acl.m4 (USE_ACL): Define as a shell variable, too, for...
57157         * modules/acl-tests (Makefile.am) [TESTS_ENVIRONMENT]: Add USE_ACL.
57158         * tests/test-file-has-acl.sh: Skip if USE_ACL == 0.
57159         * tests/test-copy-acl.sh: Likewise.
57160
57161 2008-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57162
57163         * lib/fstrcmp.c (fstrcmp_bounded): Use a second, less quick upper bound
57164         based on character occurrence counts.
57165
57166 2008-09-15  Eric Blake  <ebb9@byu.net>
57167
57168         tests: avoid some compiler warnings
57169         * tests/test-memchr.c (main): Pass NULL indirectly.
57170         * tests/test-closein.c (main): Avoid unused variable.
57171
57172 2008-09-15  Bruno Haible  <bruno@clisp.org>
57173
57174         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test for all the macros that
57175         are missing on OpenBSD 4.0 individually.
57176         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
57177
57178 2008-09-15  Bruno Haible  <bruno@clisp.org>
57179
57180         * doc/posix-headers/errno.texi: Mention the Cygwin problem.
57181         * doc/posix-functions/strerror.texi: Mention also Cygwin.
57182         * doc/posix-functions/perror.texi: Likewise.
57183         * m4/errno_h.m4 (gl_HEADER_ERRNO_H_BODY): Test also whether ECANCELED
57184         is missing.
57185         Reported by Eric Blake.
57186
57187         * lib/errno.in.h: Use replacement values >= 2000.
57188         Reported by Eric Blake.
57189
57190 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57191
57192         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Add field 'edit_count_limit'.
57193         (EARLY_ABORT): Return true when the edit_count has grown too beyond the
57194         limit.
57195         (fstrcmp_bounded): Initialize the edit_count_limit. Return 0 when
57196         compareseq was aborted.
57197
57198 2008-09-14  Bruno Haible  <bruno@clisp.org>
57199
57200         * lib/fstrcmp.c (EXTRA_CONTEXT_FIELDS): Combine xvec_edit_count and
57201         yvec_edit_count.
57202         (NOTE_DELETE, NOTE_INSERT): Increment the combined edit count.
57203         (fstrcmp_bounded): Simplify result computation accordingly.
57204
57205 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57206
57207         * lib/fstrcmp.h (fstrcmp_bounded): New declaration.
57208         (fstrcmp): Define in terms of fstrcmp_bounded.
57209         * lib/fstrcmp.c (fstrcmp_bounded): Renamed from fstrcmp. Add
57210         lower_bound argument.
57211         Return quickly if the result is certainly < lower_bound.
57212         * tests/test-fstrcmp.c (check_fstrcmp): Test also fstrcmp_bounded.
57213
57214 2008-09-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57215
57216         * lib/diffseq.h (EARLY_ABORT): New macro.
57217         (compareseq): Change return type to bool. Return true when EARLY_ABORT
57218         evaluates to true.
57219
57220 2008-09-14  Bruno Haible  <bruno@clisp.org>
57221
57222         * modules/perror-tests: New file.
57223         * tests/test-perror.sh: New file.
57224         * tests/test-perror.c: New file.
57225
57226         New module 'perror'.
57227         * lib/stdio.in.h (perror): New declaration.
57228         * lib/perror.c: New file.
57229         * m4/perror.m4: New file.
57230         * modules/perror: New file.
57231         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add perror.
57232         * doc/posix-functions/perror.texi: Mention the perror module.
57233         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize GNULIB_PERROR,
57234         REPLACE_PERROR.
57235         * modules/stdio (Makefile.am): Substitute GNULIB_PERROR,
57236         REPLACE_PERROR.
57237
57238 2008-09-14  Bruno Haible  <bruno@clisp.org>
57239
57240         * modules/stdio (Makefile.am): Reorder to match the order in
57241         lib/stdio.in.h.
57242         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
57243
57244 2008-09-13  Bruno Haible  <bruno@clisp.org>
57245
57246         * lib/sys_socket.in.h (EINPROGRESS, ...): Remove definitions.
57247
57248 2008-09-13  Bruno Haible  <bruno@clisp.org>
57249
57250         Extend strerror to cover the added errno values.
57251         * lib/strerror.c: Include errno.h and winsock2.h if it exists.
57252         (rpl_strerror): Provide error messages for the added errno values and
57253         for the WSA* values.
57254         * m4/strerror.m4 (gl_FUNC_STRERROR): Test REPLACE_STRERROR.
57255         (gl_FUNC_STRERROR_SEPARATE): If errno.h is replaced, always replace
57256         strerror.
57257         (gl_PREREQ_STRERROR): Test whether winsock2.h exists.
57258         * modules/strerror (Depends-on): Add errno.
57259         * doc/posix-functions/strerror.texi: Document the change.
57260         * tests/test-strerror.c (main): Check also the string for ETIMEDOUT
57261         and EOVERFLOW.
57262
57263 2008-09-13  Bruno Haible  <bruno@clisp.org>
57264
57265         * modules/EOVERFLOW: Remove file.
57266         * m4/eoverflow.m4: Remove file.
57267         * modules/EOVERFLOW-tests: Remove file.
57268         * tests/test-EOVERFLOW.c: Remove file.
57269         * modules/fprintf-posix (Depends-on): Replace EOVERFLOW with errno.
57270         * modules/ftell (Depends-on): Likewise.
57271         * modules/getdelim (Depends-on): Likewise.
57272         * modules/getugroups (Depends-on): Likewise.
57273         * modules/poll (Depends-on): Likewise.
57274         * modules/snprintf (Depends-on): Likewise.
57275         * modules/sprintf-posix (Depends-on): Likewise.
57276         * modules/vasnprintf (Depends-on): Likewise.
57277         * modules/vasprintf (Depends-on): Likewise.
57278         * modules/vfprintf-posix (Depends-on): Likewise.
57279         * modules/vsnprintf (Depends-on): Likewise.
57280         * modules/vsprintf-posix (Depends-on): Likewise.
57281         * modules/xvasprintf (Depends-on): Likewise.
57282         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
57283         * modules/unistdio/u8-vasprintf (Depends-on): Likewise.
57284         * modules/unistdio/u8-vsnprintf (Depends-on): Likewise.
57285         * modules/unistdio/u8-vsprintf (Depends-on): Likewise.
57286         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
57287         * modules/unistdio/u8-u8-vasprintf (Depends-on): Likewise.
57288         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Likewise.
57289         * modules/unistdio/u8-u8-vsprintf (Depends-on): Likewise.
57290         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
57291         * modules/unistdio/u16-u16-vasprintf (Depends-on): Likewise.
57292         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Likewise.
57293         * modules/unistdio/u16-u16-vsprintf (Depends-on): Likewise.
57294         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
57295         * modules/unistdio/u16-vasprintf (Depends-on): Likewise.
57296         * modules/unistdio/u16-vsnprintf (Depends-on): Likewise.
57297         * modules/unistdio/u16-vsprintf (Depends-on): Likewise.
57298         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
57299         * modules/unistdio/u32-vasprintf (Depends-on): Likewise.
57300         * modules/unistdio/u32-vsnprintf (Depends-on): Likewise.
57301         * modules/unistdio/u32-vsprintf (Depends-on): Likewise.
57302         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
57303         * modules/unistdio/u32-u32-vasprintf (Depends-on): Likewise.
57304         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Likewise.
57305         * modules/unistdio/u32-u32-vsprintf (Depends-on): Likewise.
57306         * modules/unistdio/ulc-fprintf (Depends-on): Likewise.
57307         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
57308         * modules/unistdio/ulc-vasprintf (Depends-on): Likewise.
57309         * modules/unistdio/ulc-vfprintf (Depends-on): Likewise.
57310         * modules/unistdio/ulc-vsnprintf (Depends-on): Likewise.
57311         * modules/unistdio/ulc-vsprintf (Depends-on): Likewise.
57312         * MODULES.html.sh: Remove EOVERFLOW.
57313         * NEWS: Mention the change.
57314
57315 2008-09-13  Bruno Haible  <bruno@clisp.org>
57316
57317         * modules/errno-tests: New file.
57318         * tests/test-errno.c: New file, incorporating tests/test-EOVERFLOW.c.
57319
57320         * lib/errno.in.h: New file.
57321         * m4/errno_h.m4: New file, borrowing from m4/eoverflow.m4.
57322         * modules/errno: New file.
57323         * doc/posix-headers/errno.texi: Update documentation.
57324         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add errno.
57325
57326 2008-09-13  Bruno Haible  <bruno@clisp.org>
57327
57328         * tests/test-poll.c: Use #if for native Windows, rather than testing
57329         __MSVCRT__.
57330
57331 2008-09-13  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57332             Bruno Haible  <bruno@clisp.org>
57333
57334         * lib/glob.c: Don't include <pwd.h> on native Windows.
57335         (WINDOWS32): New macro.
57336         (glob) [WINDOW32]: Provide a reasonable replacement for getenv("HOME").
57337
57338 2008-09-13  Bruno Haible  <bruno@clisp.org>
57339
57340         * lib/glthread/cond.h [USE_SOLARIS_THREADS]
57341         (ETIMEDOUT): Remove macro.
57342         (glthread_cond_timedwait_multithreaded): New declaration.
57343         (glthread_cond_timedwait): Use it.
57344         * lib/glthread/cond.c [USE_SOLARIS_THREADS]
57345         (glthread_cond_timedwait_multithreaded): New function.
57346
57347 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57348
57349         * modules/poll-tests: Do not check for io.h.
57350         * tests/test-poll.c: Check for __MSVCRT__ instead.
57351
57352 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57353
57354         * lib/sys_socket.in.h (EINPROGRESS): Define for Winsock case.
57355         * modules/poll-tests: Add inet_pton, stdbool, sockets.
57356         * tests/test-poll.c: Use them.  Use _pipe on Windows.
57357
57358 2008-09-12  Paolo Bonzini  <bonzini@gnu.org>
57359
57360         * modules/poll-tests: New.
57361         * tests/test-poll.c: New.
57362
57363 2008-09-12  Eric Blake  <ebb9@byu.net>
57364
57365         frexp: test for NetBSD failure on -0.0
57366         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Enhance test, since some, but
57367         not all, bugs from NetBSD 3.0 have been fixed.
57368         * doc/posix-functions/frexp.texi (frexp): Document bug.
57369         Reported by Thomas Klausner.
57370
57371         signbit: work around bug of HP-UX 10.20 cc with -0.0 literal
57372         * m4/signbit.m4 (gl_SIGNBIT_TEST_PROGRAM): Rewrite test to avoid
57373         literal -0.0.
57374         Reported by Jonathan C. Patschke <jp@centtech.com>.
57375
57376 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57377
57378         * lib/glthread/cond.h: Use dummy implementation also if
57379         USE_WIN32_THREADS.
57380
57381 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57382
57383         * modules/fnmatch-posix (License): Change to LGPLv2+.
57384         * modules/fnmatch-gnu (License): Likewise.
57385
57386 2008-09-11  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57387
57388         * lib/poll.c (poll): Fix polling unconnected server sockets on WIN32.
57389
57390 2008-09-11  Jim Meyering  <meyering@redhat.com>
57391
57392         * users.txt: Add gtk-vnc.
57393
57394 2008-09-08  Simon Josefsson  <simon@josefsson.org>
57395
57396         * tests/test-bitrotate.c: Test 8/16-bit rotates with 0 and maximum
57397         rotate amounts.
57398
57399         * lib/bitrotate.h: Doc fix, mention that N can be wider than minimally
57400         required for 16-bit and 8-bit rotates.
57401         * lib/bitrotate.h (rotl64, rotr64, rotl32, rotl32, rotl16, rotr16,
57402         rotl8, rotr8): Use UINT64_MAX, UINT32_MAX, UINT16_MAX, and
57403         UINT8_MAX instead of hard-coded constants.
57404         Suggested by Paul Eggert.
57405
57406 2008-09-07  Bruno Haible  <bruno@clisp.org>
57407
57408         * tests/test-striconveh.c (main): Check behaviour when converting from
57409         UTF-7.
57410
57411         Make striconveh work better with stateful encodings.
57412         * lib/striconveh.c (iconv_carefully, iconv_carefully_1): Don't assume
57413         that iconv does not increment the inptr when returning -1/EINVAL.
57414
57415 2008-09-07  Bruno Haible  <bruno@clisp.org>
57416
57417         * build-aux/config.rpath: Update according to libtool-2.2.6.
57418         * build-aux/config.libpath: Likewise.
57419
57420 2008-09-06  Bruno Haible  <bruno@clisp.org>
57421
57422         * lib/freadahead.c (freadahead): Add conditional for SLOW_BUT_NO_HACKS.
57423         * lib/freadptr.c (freadptr): Likewise.
57424         * lib/freadseek.c (freadptrinc): Likewise.
57425         Reported by Simon Josefsson.
57426
57427 2008-09-06  Bruno Haible  <bruno@clisp.org>
57428
57429         * modules/freadptr (License): Change to LGPLv2+.
57430         * modules/freadseek (License): Likewise.
57431         Suggested by Eric Blake.
57432
57433         * modules/memchr2 (License): Change to LGPLv2+.
57434         Approved by Eric Blake.
57435
57436 2008-09-04  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
57437             Bruno Haible  <bruno@clisp.org>
57438
57439         Make gnulib-tool work with native 'sed' on AIX.
57440         * gnulib-tool (sed_noop): New variable.
57441         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am, func_import,
57442         func_add_or_update, func_create_testdir): Use it to initialize sed
57443         script variables.
57444         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
57445
57446 2008-09-04  Albert Chin  <bug-gnulib@mlists.thewrittenword.com>
57447             Bruno Haible  <bruno@clisp.org>
57448
57449         * m4/include_next.m4 (gl_INCLUDE_NEXT): Add check whether #include_next
57450         also works after #include directives.
57451
57452 2008-09-04  Ondřej Vašík  <ovasik@redhat.com>
57453
57454         getdate.y: reject an out-of-range timezone value
57455         * lib/getdate.y (time_zone_hhmm): Reject any TZ offset that is outside
57456         the range [-24...+24].  When specified with only one or two digits,
57457         * tests/test-getdate.c: Tests for the fix.
57458         * doc/getdate.texi: Document this change.
57459
57460 2008-09-03  Bruno Haible  <bruno@clisp.org>
57461
57462         * doc/glibc-functions/strverscmp.texi: Mention the strverscmp module.
57463
57464 2008-09-02  Simon Josefsson  <simon@josefsson.org>
57465
57466         * lib/bitrotate.h (rotl64, rotr64): Add.  Suggested by Bruce Korb
57467         <bruce.korb@gmail.com> with ideas from Ben Pfaff
57468         <blp@cs.stanford.edu>, Bruno Haible <bruno@clisp.org> and Eric
57469         Blake <ebb9@byu.net>.
57470
57471         * tests/test-bitrotate.c: Add more test vectors.
57472
57473 2008-09-02  Eric Blake  <ebb9@byu.net>
57474
57475         vasnprintf-posix: handle large precision via %.*d
57476         * lib/vasnprintf.c (VASNPRINTF): Don't pass precision to snprintf
57477         when handling it ourselves.
57478         * tests/test-vasnprintf-posix.c (test_function): Add test.
57479         * tests/test-snprintf-posix.h (test_function): Likewise.
57480         * tests/test-sprintf-posix.h (test_function): Likewise.
57481         * tests/test-vasprintf-posix.c (test_function): Likewise.
57482         Reported by Alain Guibert.
57483
57484 2008-09-01  Eric Blake  <ebb9@byu.net>
57485
57486         c-stack: make configure-time check more robust
57487         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Check for
57488         successful sigaction call.
57489         Reported by Tom G. Christensen.
57490
57491 2008-09-01  Bruno Haible  <bruno@clisp.org>
57492
57493         New module 'findprog-lgpl'.
57494         * modules/findprog-lgpl: New file.
57495         * lib/findprog-lgpl.c: New file.
57496         * lib/findprog.c: Compile nothing in findprog.c if findprog-lgpl.c is
57497         also compiled. Consider the possibly defined symbol IN_FINDPROG_LGPL
57498         to decide whether to use strdup or xstrdup, concatenated_filename or
57499         xconcatenated_filename.
57500
57501 2008-09-01  Bruno Haible  <bruno@clisp.org>
57502
57503         Split module 'concat-filename' into 'concat-filename' (LGPL) and
57504         'xconcat-filename' (GPL).
57505         * modules/concat-filename (Depends-on): Add malloc-posix, remove xalloc.
57506         (License): Change to LGPLv2+.
57507         * modules/xconcat-filename: New file.
57508         * lib/concat-filename.h (concatenated_filename): Change specification.
57509         (xconcatenated_filename): New declaration.
57510         * lib/concat-filename.c: Include errno.h, stdlib.h, not xalloc.h.
57511         (concatenated_filename): Use malloc instead of xalloc. Handle out-of-
57512         memory situations.
57513         * lib/xconcat-filename.c: New file.
57514         * NEWS: Mention the change.
57515         * lib/findprog.c: Include concat-filename.h, not filename.h.
57516         (find_in_path): Use xconcatenated_filename instead of
57517         concatenated_filename.
57518         * lib/javacomp.c: Include concat-filename.h, not filename.h.
57519         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
57520         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
57521         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
57522         is_oldgcj_14_13_usable, is_javac_usable): Use xconcatenated_filename
57523         instead of concatenated_filename.
57524         * lib/javaexec.c: Include concat-filename.h, not filename.h.
57525         (execute_java_class): Use xconcatenated_filename instead of
57526         concatenated_filename.
57527         * modules/findprog (Depends-on): Add xconcat-filename, remove filename.
57528         * modules/javacomp (Depends-on): Likewise.
57529         * modules/javaexec (Depends-on): Likewise.
57530
57531 2008-09-01  Bruno Haible  <bruno@clisp.org>
57532
57533         Split module 'filename' into 'filename' and 'concat-filename'.
57534         * modules/filename: Keep only lib/filename.h.
57535         (License): Change to LGPLv2+.
57536         * modules/concat-filename: New file, extracted from modules/filename.
57537         * lib/filename.h (concatenated_filename): Remove declaration.
57538         * lib/concat-filename.h: New file, extracted from lib/filename.h.
57539         * lib/concat-filename.c: Include concat-filename.h.
57540         * NEWS: Mention the change.
57541
57542 2008-09-01  Simon Josefsson  <simon@josefsson.org>
57543
57544         * lib/bitrotate.h (rotl8, rotr8): Add.
57545
57546         * modules/bitrotate (configure.ac): Need
57547         AC_REQUIRE([AC_C_INLINE]).
57548         (Description): Mention stdint.h.  Reported by Bruno Haible
57549         <bruno@clisp.org>.
57550
57551         * lib/bitrotate.h (rotr16, rotl16): Fix mask value.  Reported by
57552         Paolo Bonzini <bonzini@gnu.org>.
57553
57554 2008-08-31  Bruno Haible  <bruno@clisp.org>
57555
57556         Assume Solaris specific bi-arch conventions on Solaris systems.
57557         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): On Solaris in 64-bit
57558         mode, set acl_libdirstem to lib/64. Also set acl_libdirstem2.
57559         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): If acl_libdirstem does not
57560         work, try acl_libdirstem2 as fallback. Otherwise treat acl_libdirstem2
57561         like acl_libdirstem.
57562         (AC_LIB_LINKFLAGS_FROM_LIBS): Treat acl_libdirstem2 like
57563         acl_libdirstem.
57564         * NEWS: Mention the change.
57565         Reported by Ben Taylor <bentaylor.solx86@gmail.com>.
57566
57567 2008-08-31  Jim Meyering  <meyering@redhat.com>
57568
57569         * lib/strftime.h: Add comments describing the two added arguments.
57570
57571         remove duplicate #include directives
57572         * lib/chdir-long.c [TEST_CHDIR]: Remove duplicate #include <stdio.h>.
57573         * lib/putenv.c: Remove duplicate #include <stdlib.h>.
57574
57575 2008-08-31  Bruno Haible  <bruno@clisp.org>
57576
57577         New module 'sigpipe-die'.
57578         * modules/sigpipe-die: New file.
57579         * lib/sigpipe-die.h: New file.
57580         * lib/sigpipe-die.c: New file.
57581         * MODULES.html.sh (Signal handling): Add sigpipe-die.
57582
57583 2008-08-31  Bruno Haible  <bruno@clisp.org>
57584
57585         Don't override previously installed signal handlers.
57586         * lib/fatal-signal.c (saved_sigactions): New variable.
57587         (uninstall_handlers): Reset the signal to the saved handler, not
57588         to SIG_DFL (except when ignored).
57589         (install_handlers): Save the previous handlers.
57590
57591 2008-08-30  Bruno Haible  <bruno@clisp.org>
57592
57593         * gnulib-tool (func_reset_sigpipe): New function.
57594         (func_get_automake_snippet, func_modules_transitive_closure,
57595         func_import): Invoke it before a join command that reads from stdin,
57596         to avoid "echo: write error: Broken pipe" error messages on stderr.
57597         Reported by Sam Steingold <sds@gnu.org>.
57598
57599 2008-08-30  Bruno Haible  <bruno@clisp.org>
57600
57601         * m4/fopen.m4 (gl_FUNC_FOPEN): Test against bug with trailing slash.
57602         Code copied from m4/open.m4.
57603         * lib/fopen.c (rpl_fopen): Return NULL if the mode specifies write
57604         access and the filename ends in a slash. Code copied from lib/open.c.
57605         * doc/posix-functions/fopen.texi: Document bug with trailing slash.
57606         * tests/test-fopen.c (main): Check against bug with trailing slash.
57607
57608 2008-08-29  Bruno Haible  <bruno@clisp.org>
57609
57610         Avoid some "gcc -pedantic" warnings.
57611         * m4/include_next.m4 (gl_INCLUDE_NEXT): Set also PRAGMA_SYSTEM_HEADER.
57612         * lib/arpa_inet.in.h: Use PRAGMA_SYSTEM_HEADER.
57613         * lib/dirent.in.h: Likewise.
57614         * lib/fcntl.in.h: Likewise.
57615         * lib/float.in.h: Likewise.
57616         * lib/iconv.in.h: Likewise.
57617         * lib/inttypes.in.h: Likewise.
57618         * lib/locale.in.h: Likewise.
57619         * lib/math.in.h: Likewise.
57620         * lib/netinet_in.in.h: Likewise.
57621         * lib/search.in.h: Likewise.
57622         * lib/signal.in.h: Likewise.
57623         * lib/stdarg.in.h: Likewise.
57624         * lib/stdint.in.h: Likewise.
57625         * lib/stdio.in.h: Likewise.
57626         * lib/stdlib.in.h: Likewise.
57627         * lib/string.in.h: Likewise.
57628         * lib/strings.in.h: Likewise.
57629         * lib/sys_select.in.h: Likewise.
57630         * lib/sys_socket.in.h: Likewise.
57631         * lib/sys_stat.in.h: Likewise.
57632         * lib/sys_time.in.h: Likewise.
57633         * lib/sysexits.in.h: Likewise.
57634         * lib/time.in.h: Likewise.
57635         * lib/unistd.in.h: Likewise.
57636         * lib/wchar.in.h: Likewise.
57637         * lib/wctype.in.h: Likewise.
57638         * modules/arpa_inet (Makefile.am): Also substitute PRAGMA_SYSTEM_HEADER.
57639         * modules/fchdir (Makefile.am): Likewise.
57640         * modules/fcntl (Makefile.am): Likewise.
57641         * modules/float (Makefile.am): Likewise.
57642         * modules/iconv_open (Makefile.am): Likewise.
57643         * modules/inttypes (Makefile.am): Likewise.
57644         * modules/locale (Makefile.am): Likewise.
57645         * modules/math (Makefile.am): Likewise.
57646         * modules/netinet_in (Makefile.am): Likewise.
57647         * modules/search (Makefile.am): Likewise.
57648         * modules/signal (Makefile.am): Likewise.
57649         * modules/stdarg (Makefile.am): Likewise.
57650         * modules/stdint (Makefile.am): Likewise.
57651         * modules/stdio (Makefile.am): Likewise.
57652         * modules/stdlib (Makefile.am): Likewise.
57653         * modules/string (Makefile.am): Likewise.
57654         * modules/strings (Makefile.am): Likewise.
57655         * modules/sys_select (Makefile.am): Likewise.
57656         * modules/sys_socket (Makefile.am): Likewise.
57657         * modules/sys_stat (Makefile.am): Likewise.
57658         * modules/sys_time (Makefile.am): Likewise.
57659         * modules/sysexits (Makefile.am): Likewise.
57660         * modules/time (Makefile.am): Likewise.
57661         * modules/unistd (Makefile.am): Likewise.
57662         * modules/wchar (Makefile.am): Likewise.
57663         * modules/wctype (Makefile.am): Likewise.
57664         Reported by Reuben Thomas <rrt@sc3d.org>.
57665
57666 2008-08-29  Bruno Haible  <bruno@clisp.org>
57667
57668         * m4/include_next.m4 (gl_INCLUDE_NEXT): Don't define HAVE_INCLUDE_NEXT
57669         any more.
57670
57671 2008-08-29  Simon Josefsson  <simon@josefsson.org>
57672
57673         * MODULES.html.sh (Misc): Add bitrotate.
57674
57675         * modules/bitrotate: New file.
57676
57677         * lib/bitrotate.h: New file.
57678
57679         * modules/bitrotate-tests: New file.
57680
57681         * tests/test-bitrotate.c: New file.
57682
57683         * modules/crypto/gc-arctwo, modules/crypto/arctwo: Add dependency
57684         on the bitrotate module.
57685
57686         * lib/arctwo.c: Use new bitrotate module.
57687
57688 2008-08-29  Jim Meyering  <meyering@redhat.com>
57689
57690         bootstrap: merge changes from coreutils
57691         * build-aux/bootstrap (cp_mark_as_generated): Preserve perms
57692         of copied files.  Remove a kludge, now that this is fixed.
57693         * build-aux/bootstrap: Fix unportable expr usage. (by Ralf Wildenhues)
57694         * build-aux/bootstrap: Remove $bt and $bt2 also when not using gettext.
57695         * build-aux/bootstrap: Remove coreutils-specific SUBDIRS-related code.
57696
57697 2008-08-29  Bruno Haible  <bruno@clisp.org>
57698
57699         * MODULES.html.sh: Remove --cvs-urls option.
57700
57701 2008-08-28  Jose E. Marchesi  <jemarch@gnu.org>  (tiny change)
57702
57703         maint.mk: adjust to file name change
57704         * top/maint.mk: s/Makefile.cfg/cfg.mk/.
57705
57706 2008-08-28  Jim Meyering  <meyering@redhat.com>
57707
57708         * modules/getndelim2 (License): Relicense to LGPLv2+.
57709         Approved by Richard Stallman for the version of 1995, and by
57710         Paul Eggert, Bruno Haible, Eric Blake for their contributions.
57711
57712 2008-08-27  Paolo Bonzini  <bonzini@gnu.org>
57713
57714         * lib/getdelim.c (flockfile, funlockfile): Make all of them
57715         dummy if one is not available.  Do not touch them if
57716         USE_UNLOCKED_IO, instead letting unlocked-io.h do that.
57717         (getc_maybe_unlocked): New.
57718         * m4/getdelim.m4 (gl_PREREQ_GETDELIM): Check for getc_unlocked.
57719
57720 2008-08-26  Eric Blake  <ebb9@byu.net>
57721
57722         doc/INSTALL: resync from autoconf
57723         * doc/Makefile (INSTALL, INSTALL.ISO, INSTALL.UTF-8): Simplify.
57724         (INSTALL_PRELUDE): Delete; this is done more efficiently by
57725         moving...
57726         * install.texi [!autoconf]: ...here.  Resync from autoconf.
57727         * INSTALL: Regenerate.
57728         * INSTALL.ISO: New file.
57729         * INSTALL.UTF-8: Likewise.
57730
57731 2008-08-26  Jim Meyering  <meyering@redhat.com>
57732
57733         GNUmakefile: cfg.mk definitions override default autoreconf-rerun policy
57734         * top/GNUmakefile (_is-dist-target, _is-install-target): Make
57735         these definitions conditional, so that they may be overridden, too.
57736
57737 2008-08-26  Bruno Haible  <bruno@clisp.org>
57738
57739         Generate INSTALL file variants with prettier quotes.
57740         * doc/Makefile (INSTALL_PRELUDE): New macro.
57741         (INSTALL): Use it.
57742         (INSTALL.ISO, INSTALL.UTF-8): New rules.
57743
57744 2008-08-26  Bruno Haible  <bruno@clisp.org>
57745
57746         Run makeinfo in an English locale.
57747         * doc/Makefile (MAKEINFO): New variable.
57748
57749 2008-08-26  Bruno Haible  <bruno@clisp.org>
57750
57751         * doc/Makefile (INSTALL): Use --no-validate instead of --no-warn.
57752         Suggested by Eric Blake.
57753
57754 2008-08-25  Bruno Haible  <bruno@clisp.org>
57755
57756         * doc/Makefile (INSTALL): Generate with @firstparagraphindent set.
57757
57758 2008-08-25  Eric Blake  <ebb9@byu.net>
57759
57760         c-stack: test that stack overflow can be caught
57761         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Also check
57762         that platform allows handling stack overflow; at least OS/2 EMX
57763         has sigaltstack, but crashes before transferring control to
57764         handler on stack overflow.
57765         * lib/c-stack.c [HAVE_SIGALTSTACK]: Adjust conditions to also
57766         check for HAVE_STACK_OVERFLOW_HANDLING.
57767         Reported by Elbert Pol.
57768
57769 2008-08-25  Bruno Haible  <bruno@clisp.org>
57770
57771         * doc/posix-functions/strftime.texi: Fix description of strftime
57772         module.
57773
57774 2008-08-24  Bruno Haible  <bruno@clisp.org>
57775
57776         * tests/uniwidth/test-uc_width2.c: New file.
57777         * tests/uniwidth/test-uc_width2.sh: New file.
57778         * modules/uniwidth/width-tests (Files): Add the new files.
57779         (TESTS): Add uniwidth/test-uc_width2.sh.
57780         (TESTS_ENVIRONMENT): New variable.
57781         (check_PROGRAMS): Add test-uc_width2.
57782         (test_uc_width2_SOURCES): New variable.
57783
57784         Fix uc_width(0x00AB) bug, introduced on 2007-07-08.
57785         * lib/uniwidth/width.c (nonspacing_table_data): Set bit for 0x00AD,
57786         not 0x00AB.
57787         Reported by Alexander V. Lukyanov <lav@netis.ru>.
57788
57789 2008-08-22  Eric Blake  <ebb9@byu.net>
57790
57791         test-lock, test-tls: mention why a test is skipped
57792         * tests/test-lock.c (main) [!USE_*_THREADS]: Print why test is
57793         skipped.
57794         * tests/test-tls.c (main) [!USE_*_THREADS]: Likewise.
57795
57796         count-one-bits: relax license
57797         * modules/count-one-bits (License): Relicense to LGPLv2+.
57798         Suggested by Ludovic Courtès, approved by Ben Pfaff.
57799
57800 2008-08-22  Andreas Schwab  <schwab@suse.de>
57801
57802         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX):
57803         Remove spurious space in assignment.
57804
57805 2008-08-21  Simon Josefsson  <simon@josefsson.org>
57806
57807         * m4/autobuild.m4: Use TZ=UTC0 instead of TZ=UTC.  Reported by
57808         Paul Eggert <eggert@CS.UCLA.EDU>.
57809
57810 2008-08-20  Paolo Bonzini  <bonzini@gnu.org>
57811
57812         * modules/gettext: Add m4/threadlib.m4.
57813
57814 2008-08-19  Eric Blake  <ebb9@byu.net>
57815
57816         test-c-stack: fix compilation failure on FreeBSD 5.0
57817         * tests/test-c-stack.c [HAVE_SETRLIMIT]: Include prerequisite
57818         headers before <sys/resource.h>.
57819         * doc/posix-headers/sys_resource.texi (sys/resource.h): Document
57820         the bug.
57821         Reported by Nelson H. F. Beebe.
57822
57823         strverscmp: migrate from "strverscmp.h" to <string.h>
57824         * modules/string (Makefile.am): Add new hooks.
57825         * modules/strverscmp (Files): Remove strverscmp.h.
57826         (Depends-on): Add string.
57827         (configure.ac): Add indicator.
57828         (Include): Mention new header.
57829         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Provide new
57830         defaults.
57831         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Inform string module of
57832         results.
57833         * lib/strverscmp.h: Delete.
57834         * lib/string.in.h (strverscmp): Provide declaration, when needed.
57835         * tests/test-strverscmp.c (includes): Adjust client.
57836         * lib/check-version.c (includes): Likewise.
57837         * NEWS: Document the change.
57838
57839         strverscmp: add unit test
57840         * modules/strverscmp-tests: New file.
57841         * tests/test-strverscmp.c: Likewise.
57842
57843 2008-08-19  Simon Josefsson  <simon@josefsson.org>
57844
57845         * lib/gc-gnulib.c: Indentation cleanup.  Add some comments
57846         regarding Windows crypto stuff, from Mono.
57847
57848 2008-08-19  Adam Strzelecki <ono@java.pl>  (tiny change)
57849
57850         * lib/gc-gnulib.c: Use CRYPT_VERIFY_CONTEXT.  Try to use Intel CSP
57851         if present, for intel RND.  Return error on failures.
57852
57853 2008-08-18  Ben Pfaff  <blp@gnu.org>
57854
57855         gitlog-to-changelog: give better diagnostic for failed pipe-open
57856         * build-aux/gitlog-to-changelog: Improve error message: suggest
57857         that the version of Git may be too old.
57858
57859 2008-08-18  Simon Josefsson  <simon@josefsson.org>
57860
57861         * m4/autobuild.m4: Use TZ=UTC to avoid time zone complexity.  Use
57862         ISO 8601 format.  Suggested by Greg Troxel <gdt@ir.bbn.com>.
57863
57864 2008-08-18  Bruno Haible  <bruno@clisp.org>
57865
57866         * lib/glthread/thread.h [USE_SOLARIS_THREADS]: Use thread_in_use(), not
57867         pthread_in_use().
57868
57869 2008-08-18  Bruno Haible  <bruno@clisp.org>
57870
57871         * lib/glthread/threadlib.c: Include <pthread.h>.
57872
57873 2008-08-18  Bruno Haible  <bruno@clisp.org>
57874
57875         * lib/glthread/lock.h [USE_SOLARIS_THREADS]: Fix
57876         glthread_recursive_lock_* macros.
57877         * lib/glthread/lock.c (glthread_recursive_lock_destroy_multithreaded):
57878         Fix syntax error.
57879
57880 2008-08-18  Bruno Haible  <bruno@clisp.org>
57881
57882         * lib/glthread/thread.c: Avoid forcing a context switch right after
57883         thread creation.
57884
57885 2008-08-17  Bruno Haible  <bruno@clisp.org>
57886
57887         * lib/glthread/thread.c: New file, based on code from tests/test-lock.c.
57888         * lib/glthread/thread.h: Provide Win32 specific implementation.
57889         * modules/thread (Files): Add lib/glthread/thread.c.
57890         (Depends-on): Add lock.
57891         (Makefile.am): Add glthread/thread.c to lib_SOURCES.
57892
57893 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57894
57895         New module 'yield'.
57896         * modules/yield: New file.
57897         * lib/glthread/yield.h: New file.
57898         * m4/yield.m4: New file.
57899         * MODULES.html.sh (Multithreading): Add yield.
57900
57901 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57902
57903         New module 'thread'.
57904         * modules/thread: New file.
57905         * lib/glthread/thread.h: New file.
57906         * m4/thread.m4: New file.
57907         * MODULES.html.sh (Multithreading): Add thread.
57908
57909 2008-08-17  Bruno Haible  <bruno@clisp.org>
57910
57911         * lib/glthread/lock.h: Include <stdlib.h> always.
57912         * lib/glthread/tls.h: Likewise.
57913         * lib/glthread/cond.h: Likewise.
57914
57915 2008-08-17  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
57916
57917         New module 'cond'.
57918         * modules/cond: New file.
57919         * lib/glthread/cond.h: New file.
57920         * lib/glthread/cond.c: New file.
57921         * m4/cond.m4: New file.
57922         * MODULES.html.sh (Multithreading): Add cond.
57923
57924 2008-08-16  Eric Blake  <ebb9@byu.net>
57925
57926         c-stack: fix regression on Irix 5.3 from 2008-06-21
57927         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Move check for
57928         sa_sigaction...
57929         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): ...here.
57930         (gl_PREREQ_SIGACTION): Depend on sig-handler.h prereq's.
57931         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Set the default.
57932         * modules/signal (Makefile.am): Use the value.
57933         * lib/signal.in.h (sa_sigaction) [HAVE_SIGACTION
57934         && !HAVE_STRUCT_SIGACTION_SA_SIGACTION]: Define.
57935         * doc/posix-headers/signal.texi (signal.h): Document this
57936         portability issue.
57937         * doc/posix-functions/sigaction.texi (sigaction): Likewise.
57938         Reported by Tom G. Christensen.
57939
57940 2008-08-17  Bruno Haible  <bruno@clisp.org>
57941
57942         New module 'threadlib'.
57943         * modules/threadlib: New file.
57944         * lib/glthread/threadlib.c: New file, extracted from
57945         lib/glthread/lock.c.
57946         * lib/glthread/lock.c (dummy_thread_func, glthread_in_use): Remove
57947         functions.
57948         * m4/threadlib.m4: New file, from m4/lock.m4, renaming gl_LOCK to
57949         gl_THREADLIB and gl_LOCK_EARLY to gl_THREADLIB_EARLY.
57950         * m4/lock.m4 (gl_LOCK_EARLY, gl_LOCK_EARLY_BODY, gl_LOCK_BODY): Remove
57951         macros.
57952         (gl_LOCK): Just require gl_THREADLIB and perform checks for lock.h.
57953         (gl_DISABLE_THREADS): Remove macro.
57954         * modules/lock (Files): Remove build-aux/config.rpath.
57955         (Depends-on): Remove havelib. Add threadlib.
57956         (configure.ac-early): Remove section.
57957         * m4/tls.m4 (gl_TLS): Require gl_THREADLIB instead of gl_LOCK.
57958         * modules/tls (Depends-on): Remove lock. Add threadlib.
57959         (Link): New section, copied from threadlib.
57960         * MODULES.html.sh (Multithreading): Add threadlib.
57961
57962 2008-08-14  Bruno Haible  <bruno@clisp.org>
57963
57964         * lib/glthread/lock.h (glthread_lock_lock, glthread_lock_unlock,
57965         glthread_lock_destroy, glthread_rwlock_rdlock, glthread_rwlock_wrlock,
57966         glthread_rwlock_unlock, glthread_rwlock_destroy,
57967         glthread_recursive_lock_lock, glthread_recursive_lock_unlock,
57968         glthread_recursive_lock_destroy): Define as macros always.
57969         * lib/glthread/lock.c (glthread_lock_lock_func): Renamed from
57970         glthread_lock_lock.
57971         (glthread_lock_unlock_func): Renamed from glthread_lock_unlock.
57972         (glthread_lock_destroy_func): Renamed from glthread_lock_destroy.
57973         (glthread_rwlock_rdlock_func): Renamed from glthread_rwlock_rdlock.
57974         (glthread_rwlock_wrlock_func): Renamed from glthread_rwlock_wrlock.
57975         (glthread_rwlock_unlock_func): Renamed from glthread_rwlock_unlock.
57976         (glthread_rwlock_destroy_func): Renamed from glthread_rwlock_destroy.
57977         (glthread_recursive_lock_lock_func): Renamed from
57978         glthread_recursive_lock_lock.
57979         (glthread_recursive_lock_unlock_func): Renamed from
57980         glthread_recursive_lock_unlock.
57981         (glthread_recursive_lock_destroy_func): Renamed from
57982         glthread_recursive_lock_destroy.
57983
57984 2008-08-14  Bruno Haible  <bruno@clisp.org>
57985
57986         * lib/glthread/lock.h: Renamed from lib/lock.h.
57987         * lib/glthread/lock.c: Renamed from lib/lock.c. Update includes.
57988         * lib/glthread/tls.h: Renamed from lib/tls.h.
57989         * lib/glthread/tls.c: Renamed from lib/tls.c. Update includes.
57990         * lib/fstrcmp.c: Update includes.
57991         * lib/strsignal.c: Update includes.
57992         * modules/lock (Files, Makefile.am): Update.
57993         (Include): Change to "glthread/lock.h".
57994         * modules/tls (Files, Makefile.am): Update.
57995         (Include): Change to "glthread/tls.h".
57996         * tests/test-lock.c: Update includes.
57997         * tests/test-tls.c: Update includes.
57998         * NEWS: Mention the renamed header files.
57999
58000 2008-08-11  Jim Meyering  <meyering@redhat.com>
58001
58002         * lib/fts_.h: Fix grammar (insert a missing "is") in a comment.
58003
58004 2008-08-11  Eric Blake  <ebb9@byu.net>
58005
58006         test-c-stack: avoid C99-ism
58007         * tests/test-c-stack.c (main): Fix whitespace, move declaration
58008         before statement.
58009         Reported by Alain Guibert.
58010
58011 2008-08-10  Jim Meyering  <meyering@redhat.com>
58012
58013         ensure that return value of uinttostr et al are not ignored
58014         * lib/inttostr.h (__GNUC_PREREQ): Define.
58015         (__attribute_warn_unused_result__): Define.
58016         (offtostr, imaxtostr, umaxtostr, uinttostr): Apply the attribute.
58017
58018 2008-08-07  Paolo Bonzini  <bonzini@gnu.org>
58019
58020         * lib/lock.c (glthread_recursive_lock_init_multithreaded)
58021         [!PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Fix typo.
58022
58023 2008-08-07  Jim Meyering  <meyering@redhat.com>
58024
58025         * m4/inet_pton.m4: Fix typo in comment: s/inet_ntop/inet_pton/.
58026
58027         * modules/mkstemp (License): Relicense under LGPLv2+.
58028         * modules/tempname (License): Likewise.
58029
58030 2008-08-06  Bruno Haible  <bruno@clisp.org>
58031
58032         * lib/poll.c (poll): Further micro-optimization.
58033
58034 2008-08-06  Jim Meyering  <meyering@redhat.com>
58035
58036         inet_pton.c: use locale-independent tolower
58037         * lib/inet_pton.c: Include <c-ctype.h> rather than <ctype.h>.
58038         (inet_pton6): Use c_tolower rather than tolower.
58039         * modules/inet_pton (Depends-on): Add c-ctype.
58040
58041 2008-08-06  Paolo Bonzini  <bonzini@gnu.org>
58042
58043         * lib/poll.c (poll): Avoid division when timeout is 0, cache
58044         _SC_OPEN_MAX, avoid repeated access to errno.  Check for nfd < 0.
58045
58046 2008-08-06  Jim Meyering  <meyering@redhat.com>
58047
58048         * modules/inet_pton (License): Relicense under LGPLv2+.
58049
58050 2008-08-03  Bruno Haible  <bruno@clisp.org>
58051
58052         Additional non-aborting API for lock and tls.
58053         * lib/lock.h: Include <errno.h>.
58054         (glthread_lock_init): New macro/function.
58055         (gl_lock_init): Define as wrapper around glthread_lock_init.
58056         (glthread_lock_lock): New macro/function.
58057         (gl_lock_lock): Define as wrapper around glthread_lock_lock.
58058         (glthread_lock_unlock): New macro/function.
58059         (gl_lock_unlock): Define as wrapper around glthread_lock_unlock.
58060         (glthread_lock_destroy): New macro/function.
58061         (gl_lock_destroy): Define as wrapper around glthread_lock_destroy.
58062         (glthread_rwlock_init): New macro/function.
58063         (gl_rwlock_init): Define as wrapper around glthread_rwlock_init.
58064         (glthread_rwlock_rdlock): New macro/function.
58065         (gl_rwlock_rdlock): Define as wrapper around glthread_rwlock_rdlock.
58066         (glthread_rwlock_wrlock): New macro/function.
58067         (gl_rwlock_wrlock): Define as wrapper around glthread_rwlock_wrlock.
58068         (glthread_rwlock_unlock): New macro/function.
58069         (gl_rwlock_unlock): Define as wrapper around glthread_rwlock_unlock.
58070         (glthread_rwlock_destroy): New macro/function.
58071         (gl_rwlock_destroy): Define as wrapper around glthread_rwlock_destroy.
58072         (glthread_recursive_lock_init): New macro/function.
58073         (gl_recursive_lock_init): Define as wrapper around
58074         glthread_recursive_lock_init.
58075         (glthread_recursive_lock_lock): New macro/function.
58076         (gl_recursive_lock_lock): Define as wrapper around
58077         glthread_recursive_lock_lock.
58078         (glthread_recursive_lock_unlock): New macro/function.
58079         (gl_recursive_lock_unlock): Define as wrapper around
58080         glthread_recursive_lock_unlock.
58081         (glthread_recursive_lock_destroy): New macro/function.
58082         (gl_recursive_lock_destroy): Define as wrapper around
58083         glthread_recursive_lock_destroy.
58084         (glthread_once): New macro/function.
58085         (gl_once): Define as wrapper around glthread_once.
58086         Update function declarations.
58087         * lib/lock.c (glthread_rwlock_init_multithreaded): Renamed from
58088         glthread_rwlock_init. Return error code.
58089         (glthread_rwlock_rdlock_multithreaded): Renamed from
58090         glthread_rwlock_rdlock. Return error code.
58091         (glthread_rwlock_wrlock_multithreaded): Renamed from
58092         glthread_rwlock_wrlock. Return error code.
58093         (glthread_rwlock_unlock_multithreaded): Renamed from
58094         glthread_rwlock_unlock. Return error code.
58095         (glthread_rwlock_destroy_multithreaded): Renamed from
58096         glthread_rwlock_destroy. Return error code.
58097         (glthread_recursive_lock_init_multithreaded): Renamed from
58098         glthread_recursive_lock_init. Return error code.
58099         (glthread_recursive_lock_lock_multithreaded): Renamed from
58100         glthread_recursive_lock_lock. Return error code.
58101         (glthread_recursive_lock_unlock_multithreaded): Renamed from
58102         glthread_recursive_lock_unlock. Return error code.
58103         (glthread_recursive_lock_destroy_multithreaded): Renamed from
58104         glthread_recursive_lock_destroy. Return error code.
58105         (glthread_once_call): Make static.
58106         (glthread_once_multithreaded): Renamed from glthread_once.
58107         * lib/tls.h: Include <errno.h>.
58108         (glthread_tls_key_init): New macro/function.
58109         (gl_tls_key_init): Define as wrapper around glthread_tls_key_init.
58110         (glthread_tls_set): New macro/function.
58111         (gl_tls_set): Define as wrapper around glthread_tls_set.
58112         (glthread_tls_key_destroy): New macro/function.
58113         (gl_tls_key_destroy): Define as wrapper around glthread_tls_key_destroy.
58114         Update function declarations.
58115         * lib/tls.c (glthread_tls_get_multithreaded): Renamed from
58116         glthread_tls_get.
58117         Suggested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
58118
58119 2008-08-04  Eric Blake  <ebb9@byu.net>
58120
58121         gnumakefile: use space, not TAB, outside of targets
58122         * top/GNUmakefile (_dummy): Fix whitespace error in prior edit.
58123
58124 2008-08-02  Jim Meyering  <meyering@redhat.com>
58125
58126         getdate.y: avoid locale-dependent date parsing failure
58127         In Turkish locales, getdate would fail to recognize keywords
58128         containing a lowercase "i".  The solution is not to rely on
58129         locale-sensitive case-conversion.
58130         * lib/getdate.y: Include <c-ctype.h> rather than <ctype.h>.
58131         (lookup_word): Use c_toupper in place of toupper.
58132         (yylex, get_date): Use c_ prefixed variants of isspace and isalpha, too.
58133         Reported by Vefa Bicakci <bicave@superonline.com> in
58134         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/14184>.
58135         * modules/getdate (Depends-on): Add c-ctype.
58136
58137 2008-08-02  Bruno Haible  <bruno@clisp.org>
58138
58139         * gnulib-tool (func_import): When updating or creating a .gitignore
58140         file, prepend each added line with a slash, and ignore leading slashes
58141         from the existing lines.
58142         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
58143
58144 2008-08-02  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58145
58146         Portability fix for GNU make 3.79.1.
58147         * top/GNUmakefile: Avoid 'else COND', which older GNU make
58148         versions do not understand.
58149
58150 2008-08-01  Bruno Haible  <bruno@clisp.org>
58151
58152         Work around bug of HP-UX 10.20 cc with -0.0 literal.
58153         * tests/test-isnanf.h (zero): New variable.
58154         (main): Avoid literal -0.0f.
58155         * tests/test-isnand.h (zero): New variable.
58156         (main): Avoid literal -0.0.
58157         * tests/test-isnanl.h (zero): New variable.
58158         (main): Avoid literal -0.0L.
58159         * tests/test-isnan.c (zerof, zerod, zerol): New variables.
58160         (test_float, test_double, test_long_double): Avoid literals -0.0f,
58161         -0.0, -0.0L.
58162         * tests/test-signbit.c (test_signbitf): Avoid literal -0.0f.
58163         (test_signbitd): Avoid literal -0.0.
58164         (test_signbitl): Avoid literal -0.0L.
58165         * tests/test-ceilf1.c (zero): New variable.
58166         (main): Avoid literal -0.0f.
58167         * tests/test-ceill.c (zero): New variable.
58168         (main): Avoid literal -0.0L.
58169         * tests/test-floorf1.c (zero): New variable.
58170         (main): Avoid literal -0.0f.
58171         * tests/test-floorl.c (zero): New variable.
58172         (main): Avoid literal -0.0L.
58173         * tests/test-roundf1.c (zero): New variable.
58174         (main): Avoid literal -0.0f.
58175         * tests/test-round1.c (zero): New variable.
58176         (main): Avoid literal -0.0.
58177         * tests/test-roundl.c (zero): New variable.
58178         (main): Avoid literal -0.0L.
58179         * tests/test-truncf1.c (zero): New variable.
58180         (main): Avoid literal -0.0f.
58181         * tests/test-trunc1.c (zero): New variable.
58182         (main): Avoid literal -0.0.
58183         * tests/test-truncl.c (zero): New variable.
58184         (main): Avoid literal -0.0L.
58185         * tests/test-frexp.c (zero): New variable.
58186         (main): Avoid literal -0.0.
58187         * tests/test-frexpl.c (zero): New variable.
58188         (main): Avoid literal -0.0L.
58189         * tests/test-ldexpl.c (zero): New variable.
58190         (main): Avoid literal -0.0L.
58191         * tests/test-snprintf-posix.h (have_minus_zero): Avoid literal -0.0.
58192         (zerod, zerol): New variables.
58193         (test_function): Avoid literals -0.0, -0.0L.
58194         * tests/test-sprintf-posix.h (have_minus_zero): Avoid literal -0.0.
58195         (zerod, zerol): New variables.
58196         (test_function): Avoid literals -0.0, -0.0L.
58197         * tests/test-vasnprintf-posix.c (have_minus_zero): Avoid literal -0.0.
58198         (zerod, zerol): New variables.
58199         (test_function): Avoid literals -0.0, -0.0L.
58200         * tests/test-vasprintf-posix.c (have_minus_zero): Avoid literal -0.0.
58201         (zerod, zerol): New variables.
58202         (test_function): Avoid literals -0.0, -0.0L.
58203         * tests/test-strtod.c (zero): New variable.
58204         (main): Avoid literal -0.0.
58205         Reported by Jonathan C. Patschke <jp@centtech.com>.
58206
58207 2008-07-31  Jim Meyering  <meyering@redhat.com>
58208
58209         sha256.h: correct definition of SHA224_DIGEST_SIZE
58210         * lib/sha256.h (SHA224_DIGEST_SIZE): Define to 28, not 24.
58211         Reported by Paulie Pena IV <paulie4@gmail.com>.
58212         Define as 224 / 8, rather than as a literal.
58213         (SHA256_DIGEST_SIZE): Define as 256/8 rather than equivalent literal.
58214         * lib/sha512.h (SHA384_DIGEST_SIZE): Likewise, define as equiv: 384/8.
58215         (SHA512_DIGEST_SIZE): Likewise, define as equivalent quotient: 512/8.
58216
58217 2008-07-31  Bruno Haible  <bruno@clisp.org>
58218
58219         * lib/regex_internal.h (BITSET_WORD_BITS): Make first conditional work
58220         on HP-UX 10.20 with "cc -Ae". Fix second conditional.
58221         Reported by Jonathan Patschke <jp@centtech.com>.
58222
58223 2008-07-31  Bruno Haible  <bruno@clisp.org>
58224
58225         * gnulib-tool (func_import): Make change from 2008-06-23 more robust.
58226         Reported by Paolo Bonzini <bonzini@gnu.org>.
58227
58228 2008-07-30  Eric Blake  <ebb9@byu.net>
58229
58230         test-strtod: allow compilation without -lm
58231         * tests/test-strtod.c (main): Avoid link dependence on fabs.
58232         Reported by Dennis Clarke <blastwave@gmail.com>.
58233
58234 2008-07-28  Jim Meyering  <meyering@redhat.com>
58235
58236         bootstrap: work also when there are no .po files in po/
58237         * build-aux/bootstrap (update_po_files): Complete the change
58238         that I began in bc960df8c789c878f1c1c54a28a3c2648dead8d9.
58239
58240 2008-07-27  Jim Meyering  <meyering@redhat.com>
58241
58242         * users.txt: Add zile.
58243
58244 2008-07-26  Ben Pfaff  <blp@gnu.org>
58245
58246         Add missing dependencies on new m4/exponent[fdl].m4 files.
58247         * modules/isnanf-nolibm: Add m4/exponentf.m4.
58248         * modules/isnand-nolibm: Add m4/exponentd.m4.
58249         * modules/isnanl-nolibm: Add m4/exponentl.m4.
58250         * modules/signbit-tests: Use m4/exponent[fdl].m4 instead of
58251         m4/isnan[fdl].m4, because the macros actually used moved.
58252         Reported by Jim Meyering.
58253
58254 2008-07-14  Ben Pfaff  <blp@gnu.org>
58255
58256         Add isinf module.
58257         * lib/isinf.c: New file.
58258         * lib/math.in.h: Define isinf macro if we have decided to replace
58259         it.
58260         * m4/isinf.m4: New file.
58261         * m4/math_h.m4: Initialize and substitute variables for isinf
58262         module.
58263         * modules/isinf: New file.
58264         * modules/isinf-tests: New file.
58265         * modules/math: Add substitutions for new module.
58266         * tests/test-isinf.c: New file.
58267         * doc/posix-functions/isinf.texi: Mention new module.
58268         * MODULES.html.sh: Mention new module.
58269
58270 2008-07-14  Ben Pfaff  <blp@gnu.org>
58271
58272         Factor out some macros for use by additional modules.
58273         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Move into new file
58274         exponentf.m4.
58275         * m4/isnand.m4 (gl_DOUBLE_EXPONENT_LOCATION): Move into new file
58276         exponentd.m4.
58277         * m4/isnanl.m4 (gl_LONG_DOUBLE_EXPONENT_LOCATION): Move into new
58278         file exponentl.m4.
58279         * m4/exponentf.m4: New file.
58280         * m4/exponentd.m4: New file.
58281         * m4/exponentl.m4: New file.
58282         * modules/isnanf: Use new file m4/exponentf.m4.
58283         * modules/isnand: Use new file m4/exponentd.m4.
58284         * modules/isnanl: Use new file m4/exponentl.m4.
58285
58286 2008-07-23  Ulrich Drepper  <drepper@redhat.com>
58287
58288         mktime.c: normalize tp->tm_isdst value to -1/0/1.
58289         * lib/mktime.c (__mktime_internal): Normalize tp->tm_isdst value.
58290         Reported by Michael Ringe <Michael.Ringe@gmx.de> in
58291         <http://sourceware.org/bugzilla/show_bug.cgi?id=6723>.
58292
58293         * lib/canonicalize-lgpl.c (__realpath): Avoid buffer overflow after
58294         readlink on platforms without PATH_MAX.
58295
58296 2008-07-21  Eric Blake  <ebb9@byu.net>
58297
58298         Warn, not fail, on stale version.
58299         * top/GNUmakefile (_curr-ver): Tone down previous patch.
58300
58301         Don't allow installation with stale devel version number.
58302         * top/GNUmakefile (_is-install-target): New macro.
58303         (_curr-ver): Forbid installation with stale version number.
58304
58305 2008-07-20  Bruno Haible  <bruno@clisp.org>
58306
58307         * modules/c-stack-tests (Makefile.am): Add LIBSIGSEGV to
58308         TESTS_ENVIRONMENT.
58309         * tests/test-c-stack2.sh: React differently if LIBSIGSEGV is in use.
58310
58311 2008-07-20  Bruno Haible  <bruno@clisp.org>
58312
58313         * lib/c-stack.h (c_stack_action): Add documentation.
58314         * lib/c-stack.c (c_stack_action): Remove incomplete documentation.
58315
58316 2008-07-20  Bruno Haible  <bruno@clisp.org>
58317
58318         * modules/canonicalize-lgpl (License): Relicense under LGPLv2+.
58319         * modules/readlink (License): Likewise.
58320
58321 2008-07-17  Eric Blake  <ebb9@byu.net>
58322
58323         * modules/c-stack (Link): Fix typo.
58324
58325         Make c-stack use libsigsegv, when available.
58326         * modules/c-stack (Depends-on): Add libsigsegv.
58327         * modules/c-stack-tests (Makefile.am): Link with libsigsegv, if
58328         needed.
58329         * lib/c-stack.c (SIGSTKSZ): Define fallback.
58330         (segv_handler, overflow_handler, c_stack_action)
58331         [HAVE_LIBSIGSEGV && !HAVE_XSI_STACK_OVERFLOW_HEURISTIC]: Add new
58332         implementation when libsigsegv is available, but only when using
58333         the library is necessary.
58334         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Add
58335         comment, explaining why XSI check fails on Linux.
58336         (gl_PREREQ_C_STACK): Supply LIBCSTACK, LTLIBCSTACK.
58337         * tests/test-c-stack2.sh: Tweak skip message.
58338         * NEWS: Document new link-time requirements.
58339
58340 2008-07-16  Eric Blake  <ebb9@byu.net>
58341
58342         c-stack: Expose false positives when not using libsigsegv.
58343         * modules/c-stack-tests (Files): Expand test.
58344         * tests/test-c-stack.c (main): Add means to conditionally trigger
58345         non-overflow SIGSEGV.
58346         * tests/test-c-stack2.sh: New file.
58347
58348 2008-07-14  Bruno Haible  <bruno@clisp.org>
58349
58350         * m4/libsigsegv.m4: Remove unneeded AC_PREREQ.
58351         Reported by Eric Blake.
58352
58353 2008-07-14  Sam Steingold  <sds@gnu.org>
58354             Bruno Haible  <bruno@clisp.org>
58355
58356         New module libsigsegv.
58357         * modules/libsigsegv: New file.
58358         * m4/libsigsegv.m4: New file, from GNU clisp sigsegv.m4 with
58359         modifications.
58360         * MODULES.html.sh (Signal handling): New section.
58361
58362 2008-07-14  Bruno Haible  <bruno@clisp.org>
58363
58364         * modules/unictype/ctype-* (Description): Add the word "function".
58365         Improves the resulting doc in MODULES.html.
58366
58367 2008-07-12  Ben Pfaff  <blp@gnu.org>
58368
58369         Add longlong module.
58370         * modules/longlong: New file.
58371
58372 2008-07-12  Bruno Haible  <bruno@clisp.org>
58373
58374         * m4/isnan.m4 (gl_ISNAN): When the replacement is used, set ISNAN_LIBM
58375         to empty.
58376
58377 2008-07-10  Ben Pfaff  <blp@gnu.org>
58378
58379         Add isnan module.
58380         * doc/posix-functions/isnan.texi: Mention new module.
58381         * lib/math.in.h: Define isnan macro if we have decided to replace
58382         it.
58383         * m4/isnan.m4: New file.
58384         * m4/isnanl.m4 (gl_FUNC_ISNANL): Factor out some code into new
58385         macro gl_BUILD_ISNANL so that isnan.m4 can use that functionality
58386         also.
58387         (gl_FUNC_ISNANL_NO_LIBM): Factor out same code, to reduce
58388         redundancy.
58389         * m4/math_h.m4: Initialize and substitute variables for isnan
58390         module.
58391         * modules/isnan: New file.
58392         * modules/isnan-tests: New file.
58393         * modules/math: Add substitutions for new module.
58394         * tests/test-isnan.c: New file.
58395         * MODULES.html.sh: Mention new module.
58396
58397 2008-07-10  Ben Pfaff  <blp@gnu.org>
58398
58399         Add isnanf module.
58400         * lib/isnanf.m4: New file.
58401         * m4/isnanf.m4 (gl_FUNC_ISNANF): New macro.
58402         (gl_HAVE_ISNANF_IN_LIBM): New macro.
58403         (gl_BUILD_ISNANF): New macro used by gl_FUNC_ISNANF,
58404         gl_FUNC_ISNANF_NO_LIBM, and gl_FUNC_ISNAN.
58405         * modules/isnanf: New file.
58406         * modules/isnanf-tests: New file.
58407         * modules/isnanf-nolibm-tests: Add tests/test-isnanf.h to list of
58408         files.
58409         * tests/test-isnanf-nolibm.c: factored most of its contents into
58410         new file tests/test-isnanf.h.
58411         * tests/test-isnanf.h: New file.
58412         * tests/test-isnanf.c: New file.
58413         * MODULES.html.sh: Mention new module.
58414         * doc/glibc-functions/isnanf.texi: Mention new module.
58415
58416 2008-07-10  Ben Pfaff  <blp@gnu.org>
58417
58418         Add isnand module.
58419         * lib/isnand.h: New file.
58420         * m4/isnand.m4 (gl_FUNC_ISNAND): New macro.
58421         (gl_FUNC_ISNAND_NO_LIBM): Split partially into new macro
58422         gl_HAVE_ISNAND_NO_LIBM so that gl_FUNC_ISNAND can use that
58423         functionality also.
58424         (gl_BUILD_ISNAND): New macro used by gl_FUNC_ISNAND,
58425         gl_FUNC_ISNAND_NO_LIBM, and gl_FUNC_ISNAN.
58426         (gl_HAVE_ISNAND_IN_LIBM): New macro.
58427         * modules/isnand: New file.
58428         * modules/isnand-tests: New file.
58429         * modules/isnand-nolibm-tests: Add tests/test-isnand.h to list of
58430         files.
58431         * tests/test-isnand-nolibm.c: factored most of its contents into
58432         new file tests/test-isnand.h.
58433         * tests/test-isnand.h: New file.
58434         * tests/test-isnand.c: New file.
58435         * MODULES.html.sh: Mention new module.
58436
58437 2008-07-10  Ben Pfaff  <blp@gnu.org>
58438
58439         * lib/isnanf.h: Rename lib/isnanf-nolibm.h.
58440         * lib/isnand.h: Rename lib/isnand-nolibm.h.
58441         * tests/test-isnanf.c: Rename tests/test-isnanf-nolibm.c.
58442         * tests/test-isnand.c: Rename tests/test-isnand-nolibm.c.
58443         * modules/isnanf-nolibm: Update references to renamed files.
58444         * modules/isnand-nolibm: Likewise.
58445         * modules/isnanf-nolibm-tests: Likewise.
58446         * modules/isnand-nolibm-tests: Likewise.
58447         * lib/frexp.c: Likewise.
58448         * lib/isfinite.c: Likewise.
58449         * lib/signbitd.c: Likewise.
58450         * lib/signbitf.c: Likewise.
58451         * lib/vasnprintf.c: Likewise.
58452         * tests/test-ceilf1.c: Likewise.
58453         * tests/test-ceilf2.c: Likewise.
58454         * tests/test-floorf1.c: Likewise.
58455         * tests/test-floorf2.c: Likewise.
58456         * tests/test-frexp.c: Likewise.
58457         * tests/test-round1.c: Likewise.
58458         * tests/test-round2.c: Likewise.
58459         * tests/test-roundf1.c: Likewise.
58460         * tests/test-strtod.c: Likewise.
58461         * tests/test-trunc1.c: Likewise.
58462         * tests/test-trunc2.c: Likewise.
58463         * tests/test-truncf1.c: Likewise.
58464         * tests/test-truncf2.c: Likewise.
58465         * NEWS: Mention the renamed header files.
58466
58467 2008-07-11  Jim Meyering  <meyering@redhat.com>
58468
58469         vc-list-files: make the last-resort awk code more portable
58470         * build-aux/vc-list-files: Don't rely on awk's "sub" command.
58471         /bin/awk from OpenSolaris 11's SUNWesu version 2008.03.22.10.56
58472         does not support it.
58473
58474 2008-07-10  Eric Blake  <ebb9@byu.net>
58475
58476         Work with tar's bootstrap.
58477         * gnulib-tool (func_emit_initmacro_end): Use m4_defn in the case
58478         where LIBSOURCES_DIR contains .#bootmp but must not be treated as
58479         an m4 comment.
58480
58481 2008-07-09  Jim Meyering  <meyering@redhat.com>
58482
58483         posix-shell.m4: fix typo that made this test malfunction
58484         * m4/posix-shell.m4: Remove capitalization in variable name.
58485
58486 2008-07-08  Bruno Haible  <bruno@clisp.org>
58487
58488         * m4/onceonly.m4: Update comments.
58489         Reported by Ben Pfaff <blp@cs.stanford.edu>.
58490
58491 2008-07-04  Jim Meyering  <meyering@redhat.com>
58492
58493         * users.txt: Add vc-dwim.
58494         (bison, coreutils): Use the gitweb URL.
58495
58496 2008-07-03  Jim Meyering  <meyering@redhat.com>
58497
58498         * users.txt: Add libffcall.  From Sam Steingold.
58499
58500 2008-07-03  Ondřej Vašík  <ovasik@redhat.com>
58501
58502         getdate.y: do not ignore TZ with relative day, month or year offset
58503         * lib/getdate.y (get_date): Move the tz-handling block to follow the
58504         relative-date-handling, since otherwise, the latter would clobber the
58505         sole output (an updated Start value) of the tz-handling block.
58506         * tests/test-getdate.c: Tests for the fix
58507
58508 2008-07-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
58509
58510         Recognize 'foo_LIBRARIES += libgnu.a'.
58511         * gnulib-tool (func_emit_lib_Makefile_am): Recognize if a
58512         makefile snippet has already specified an installation location,
58513         also using '+='.
58514
58515 2008-07-02  Ondřej Vašík  <ovasik@redhat.com>
58516
58517         getdate.y: factor out common actions
58518         * lib/getdate.y (apply_relative_time, set_hhmmss): New functions.
58519         Use them in place of open-coded actions.
58520
58521 2008-07-01  Simon Josefsson  <simon@josefsson.org>
58522
58523         Add self-test for getdate module.
58524         * modules/getdate-tests: New file.
58525         * tests/test-getdate.c: New file.
58526
58527 2008-06-29  Bruno Haible  <bruno@clisp.org>
58528
58529         * gnulib-tool (func_import): Put gnulib-comp.m4 into .cvsignore or
58530         .gitignore.
58531         Reported by Sylvain Beucler <beuc@beuc.net>.
58532
58533 2008-06-29  Bruno Haible  <bruno@clisp.org>
58534
58535         * doc/gnulib-tool.texi (VCS Issues): Mention --no-vc-files option.
58536         * m4/gnulib-tool.m4: Update to match current gnulib-tool.
58537
58538 2008-06-29  Bruno Haible  <bruno@clisp.org>
58539
58540         * gnulib-tool (func_import): Recommend to put gnulib-cache.m4 into
58541         EXTRA_DIST.
58542         Reported by Sylvain Beucler <beuc@beuc.net>.
58543
58544 2008-06-26  Jim Meyering  <meyering@redhat.com>
58545
58546         make several modules depend on the "open" module
58547         This provides slightly increased consistency when opening-for-write
58548         the name of a non-directory spelled with a trailing slash.
58549         * modules/chdir-safer: Likewise.
58550         * modules/chown: Likewise.
58551         * modules/clean-temp: Likewise.
58552         * modules/copy-file: Likewise.
58553         * modules/fchdir: Likewise.
58554         * modules/fcntl-safer: Likewise.
58555         * modules/pipe: Likewise.
58556         * modules/utime: Likewise.
58557         Prompted by Eric Blake and Bruno Haible.
58558
58559 2008-06-24  Andreas Schwab  <schwab@suse.de>
58560
58561         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Don't test whether compound
58562         literals can be used as initializers for global variables.
58563
58564 2008-06-23  Eric Blake  <ebb9@byu.net>
58565
58566         Make gnulib-cache.m4 easier to diff.
58567         * gnulib-tool (func_import): Allow newlines when reading cached
58568         gl_MODULES, and generate newlines when creating gnulib-cache.m4.
58569
58570 2008-06-23  Bruno Haible  <bruno@clisp.org>
58571
58572         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): Remove macro.
58573         (gl_PREREQ_SIGPROCMASK): Don't invoke it.
58574         * m4/sigaction.m4 (gl_PREREQ_SIG_HANDLER_H): New macro, moved here from
58575         m4/signalblocking.m4.
58576         (gl_PREREQ_SIGACTION): Don't invoke it.
58577         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Invoke
58578         gl_PREREQ_SIG_HANDLER_H.
58579         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58580         Don't check for sigaction here.
58581
58582 2008-06-23  Bruno Haible  <bruno@clisp.org>
58583
58584         * lib/fatal-signal.c (fatal_signal_handler): Update comment.
58585         (install_handlers): Don't set the SA_RESETHAND flag.
58586
58587 2008-06-23  Bruno Haible  <bruno@clisp.org>
58588
58589         * m4/sigaction.m4: Comment fixes.
58590         * lib/signal.in.h: Likewise.
58591
58592 2008-06-23  Eric Blake  <ebb9@byu.net>
58593
58594         Fix typo.
58595         * tests/test-sigaction.c (MASK_SA_FLAGS): Add missing operator.
58596
58597         Avoid SA_ namespace.
58598         * tests/test-sigaction.c (MASK_SA_FLAGS): Rename from SA_MASK.
58599         Reported by Ralf Wildenhues.
58600
58601         Avoid test failure due to SA_RESTORER.
58602         * tests/test-sigaction.c (SA_MASK): New macro.
58603         (main): Avoid failing due to extension flags being set.
58604         Reported by Jim Meyering.
58605
58606         Revert use of sig-handler.h in sigprocmask.c.
58607         * modules/sigprocmask (Files): Don't rely on sig-handler.h, since
58608         it requires the existence of struct sigaction.
58609         * lib/sigprocmask.c (handler_t): Restore typedef.
58610         (rpl_signal, old_handlers): Use local type.
58611
58612 2008-06-22  Bruno Haible  <bruno@clisp.org>
58613
58614         * tests/test-stdint.c: Disable the INTMAX_MAX preprocessor test
58615         conditionally.
58616         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
58617
58618 2008-06-22  Bruno Haible  <bruno@clisp.org>
58619
58620         * doc/posix-functions/siginterrupt.texi: Move note.
58621
58622         * lib/signal.in.h (SA_RESTART): New macro.
58623         * lib/sigaction.c: Update comment.
58624
58625         * m4/sigaction.m4 (gl_SIGACTION): Require gl_SIGNAL_H_DEFAULTS.
58626
58627         * m4/signalblocking.m4 (gl_PREREQ_SIG_HANDLER_H): New macro.
58628         (gl_PREREQ_SIGPROCMASK): Invoke it.
58629         * m4/sigaction.m4 (gl_PREREQ_SIGACTION): Likewise.
58630
58631         * lib/nanosleep.c (rpl_nanosleep): Setup newact only when it is needed.
58632
58633         * lib/sigprocmask.c: Update a comment.
58634
58635 2008-06-21  Eric Blake  <ebb9@byu.net>
58636
58637         Use sigaction module rather than signal().
58638         * modules/c-stack (Depends-on): Add sigaction.
58639         * modules/fatal-signal (Depends-on): Likewise.
58640         * modules/nanosleep (Depends-on): Likewise.
58641         * modules/sigprocmask (Files): Add sig-handler.h.
58642         * modules/sigaction (Files): Likewise.
58643         * lib/sig-handler.h (get_handler): New file, suggested by Paul
58644         Eggert.
58645         * lib/c-stack.c (SIGACTION_WORKS): Simplify conditions.
58646         (c_stack_action) [!SIGACTION_WORKS]: Use sigaction, not signal.
58647         * lib/fatal-signal.c (uninstall_handlers, install_handlers)
58648         (init_fatal_signals): Likewise.
58649         * lib/nanosleep.c (rpl_nanosleep): Likewise.
58650         (siginterrupt): Delete fallback.
58651         * lib/sigprocmask.c (handler_t, old_handlers): Use sa_handler_t
58652         instead.
58653         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Drop check for
58654         siginterrupt.
58655
58656         New module sigaction, for mingw.
58657         * modules/sigaction: New module...
58658         * modules/sigaction-tests: ...and its test.
58659         * m4/sigaction.m4: New file.
58660         * lib/sigaction.c: Likewise.
58661         * tests/test-sigaction.c: Likewise.
58662         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Add sigaction variables.
58663         * modules/signal (Makefile.am): Likewise.
58664         * lib/signal.in.h (!@HAVE_SIGACTION@): Define replacements when
58665         needed.
58666         * doc/posix-headers/signal.texi (signal.h): Mention provided
58667         types.
58668         * doc/posix-functions/siginterrupt.texi (siginterrupt): Mention
58669         that sigaction is preferable.
58670         * doc/posix-functions/sigaction.texi (sigaction): Mention new
58671         module.
58672         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
58673         sigaction.
58674
58675         Improve robustness of sigprocmask by overriding signal.
58676         * lib/signal.in.h (rpl_signal): Override signal when sigprocmask
58677         is in use.
58678         * lib/sigprocmask.c (blocked_handler): Reinstall block handler.
58679         (SIGKILL, SIGSTOP): Provide fallbacks.
58680         (rpl_signal): Implement.
58681         (old_handlers, blocked_set): Mark volatile, since sigprocmask and
58682         signal can be called inside handlers.
58683
58684         Fix nanosleep module on mingw.
58685         * modules/nanosleep (Depends-on): Add sys_select.
58686         * lib/nanosleep.c (HAVE_SYS_SELECT_H): Rely on gnulib module.
58687
58688         Fix licensing of sigprocmask.
58689         * modules/raise (License): Relicense as LGPL.
58690
58691 2008-06-21  Bruno Haible  <bruno@clisp.org>
58692
58693         * lib/propername.c (proper_name_utf8): Don't use the transliterated
58694         result if it contains question marks.
58695         Reported by Michael Geng <linux@michaelgeng.de>.
58696
58697 2008-06-19  Bruno Haible  <bruno@clisp.org>
58698
58699         Fix CVS-ism.
58700         * doc/gnulib.texi: Include updated-stamp.texi.
58701         * doc/Makefile (GNULIB_TEXI_FILES): New variable.
58702         (updated-stamp.texi): New rule.
58703         (gnulib.info): Depend on it.
58704         * doc/.gitignore: Add updated-stamp.texi.
58705         Based on a patch by Thien-Thi Nguyen <ttn@gnuvola.org>.
58706
58707 2008-06-19  Bruno Haible  <bruno@clisp.org>
58708
58709         * doc/Makefile (gnulib.info): Update and simplify dependencies.
58710         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
58711
58712 2008-06-19  Eric Blake  <ebb9@byu.net>
58713
58714         Fix VPATH 'make dist' with GNU make and non-VCS tarball.
58715         * top/GNUmakefile (_curr-ver): Don't use $(srcdir) unnecessarily.
58716         Reported by Stepan Kasal.
58717
58718 2008-06-18  Bruno Haible  <bruno@clisp.org>
58719
58720         * lib/fatal-signal.c (init_fatal_signals): Add comment.
58721         Reported by Eric Blake.
58722
58723 2008-06-18  Eric Blake  <ebb9@byu.net>
58724
58725         Work around cygwin 1.5.25 strsignal bug.
58726         * tests/test-strsignal.c: Allow for const char *.
58727         * doc/glibc-functions/strsignal.texi (strsignal): Document the bug.
58728
58729 2008-06-18  Simon Josefsson  <simon@josefsson.org>
58730
58731         * users.txt: Update URL to article and add author/date
58732         information.
58733
58734 2008-06-17  Bruno Haible  <bruno@clisp.org>
58735
58736         New macro gl_DISABLE_THREADS.
58737         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Use value gl_use_threads_default
58738         if the user did not pass --enable-threads or --disable-threads option.
58739         (gl_DISABLE_THREADS): New macro.
58740         Reported by Eric Blake <ebb9@byu.net>.
58741
58742 2008-06-17  Bruno Haible  <bruno@clisp.org>
58743
58744         * lib/tls.h (gl_tls_key_init): Evaluate the destructor argument also
58745         when the macro ignores it.
58746         Based on a patch by Eric Blake <ebb9@byu.net>.
58747
58748 2008-06-17  Bruno Haible  <bruno@clisp.org>
58749
58750         * modules/tls (License): Change to LGPLv2+.
58751         Reported by Eric Blake.
58752
58753 2008-06-17  Eric Blake  <ebb9@byu.net>
58754
58755         Simplify c-stack prerequisites.
58756         * lib/c-stack.c (includes): Remove unused <sys/resource.h>.
58757         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Posix 200x
58758         no longer requires <ucontext.h> to exist.  Optimize setrlimit
58759         check.
58760         (gl_PREREQ_C_STACK): Remove check for unused getcontext and
58761         <sys/resource.h>.
58762
58763         Move c-stack test into testsuite.
58764         * modules/c-stack-tests: New file.
58765         * lib/c-stack.c [DEBUG]: Move test program...
58766         * tests/test-c-stack.c: ...into this new file.  Skip rather than
58767         fail test if sigaltstack is lacking.
58768         * tests/test-c-stack.sh: New driver file.
58769
58770 2008-06-16  Eric Blake  <ebb9@byu.net>
58771
58772         Use raise module consistently.
58773         * modules/fatal-signal (Depends-on): Add raise.
58774         * modules/sigprocmask (Depends-on): Likewise.
58775         * lib/fatal-signal.c (fatal_signal_handler): Rely on raise.
58776         * lib/sigprocmask.c (sigprocmask): Likewise.
58777         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Likewise.
58778         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Likewise.
58779
58780         Fix compliance bug in sigpending.
58781         * lib/sigprocmask.c (sigpending): Return pending array via
58782         parameter, not return value.
58783
58784 2008-06-14  Eric Blake  <ebb9@byu.net>
58785
58786         Improve obstack-printf test code.
58787         * tests/test-obstack-printf.c (test_function): Fix comment, and
58788         simplify usage of obstack_* in macros.  Add a test for coverage.
58789         Reported by Bruno Haible.
58790
58791 2008-06-14  Bruno Haible  <bruno@clisp.org>
58792
58793         * lib/obstack_printf.c (obstack_vprintf): Define the stack-allocated
58794         array size as a constant, not as a const variable.
58795         * m4/obstack-printf.m4 (gl_FUNC_OBSTACK_PRINTF): Require
58796         AC_USE_SYSTEM_EXTENSIONS.
58797         * m4/obstack-printf-posix.m4 (gl_FUNC_OBSTACK_PRINTF_POSIX): Likewise.
58798         Test whether the obstack_printf function actually exists.
58799         * modules/obstack-printf (Depends-on): Add extensions.
58800         (Include): Remove obstack.h.
58801         * modules/obstack-printf-posix (Depends-on): Add extensions.
58802         (Include): Remove obstack.h.
58803
58804 2008-06-13  Eric Blake  <ebb9@byu.net>
58805
58806         Add obstack-printf and obstack-printf-posix modules.
58807         * modules/obstack-printf: New file.
58808         * modules/obstack-printf-posix: Likewise.
58809         * MODULES.html.sh (Misc): Mention them.
58810         * doc/glibc-functions/obstack_printf.texi (obstack_printf):
58811         Likewise.
58812         * doc/glibc-functions/obstack_vprintf.texi (obstack_vprintf):
58813         Likewise.
58814         * modules/stdio (Makefile.am): Accomodate new modules.
58815         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
58816         * lib/stdio.in.h (rpl_obstack_printf, rpl_obstack_vprintf):
58817         Declare.
58818         * lib/obstack_printf.c (obstack_printf, obstack_vprintf): New
58819         functions.
58820         * m4/obstack-printf.m4 (gl_OBSTACK_PRINTF)
58821         (gl_REPLACE_OBSTACK_PRINTF): New macros
58822         * m4/obstack-printf-posix.m4 (gl_OBSTACK_PRINTF_POSIX): Likewise.
58823         * tests/test-obstack-printf.c: New file.
58824         * modules/obstack-printf-tests: Likewise.
58825         * modules/obstack-printf-posix-tests: Likewise.
58826
58827 2008-06-11  Bruno Haible  <bruno@clisp.org>
58828
58829         * m4/open.m4 (gl_FUNC_OPEN): Add test against trailing slash bug.
58830         * lib/open.c: Include errno.h.
58831         (open): Fail when attempting to write to a file that has a trailing
58832         slash.
58833         * tests/test-open.c (main): Test against trailing slash bug.
58834         * doc/posix-functions/open.texi: Mention the trailing slash bug.
58835
58836 2008-06-10  Bruno Haible  <bruno@clisp.org>
58837
58838         * tests/test-vc-list-files-git.sh: Make double use of 'exit'. Needed
58839         for $? to work inside the trap command, with various /bin/sh-s.
58840         * tests/test-vc-list-files-cvs.sh: Likewise.
58841
58842 2008-06-10  Bruno Haible  <bruno@clisp.org>
58843
58844         * lib/acl-internal.h: Don't include gettext.h here.
58845         * lib/set-mode-acl.c: Include gettext.h here.
58846         * lib/copy-acl.c: Likewise.
58847
58848 2008-06-10  Bruno Haible  <bruno@clisp.org>
58849
58850         * lib/wait-process.h (wait_subprocess): Add termsigp argument.
58851         * lib/wait-process.c (wait_subprocess): Likewise.
58852         * lib/execute.h (execute): Add termsigp argument.
58853         * lib/execute.c (execute): Likewise.
58854         * lib/csharpcomp.c (compile_csharp_using_pnet,
58855         compile_csharp_using_mono, compile_csharp_using_sscli): Update.
58856         * lib/csharpexec.c (execute_csharp_using_pnet,
58857         execute_csharp_using_mono, execute_csharp_using_sscli): Update.
58858         * lib/javacomp.c (compile_using_envjavac, compile_using_gcj,
58859         compile_using_javac, compile_using_jikes, is_envjavac_gcj,
58860         is_envjavac_gcj43, is_gcj_present, is_gcj_43, is_javac_present,
58861         is_jikes_present): Update.
58862         * lib/javaexec.c (execute_java_class): Update.
58863         * lib/javaversion.c (execute_and_read_line): Update.
58864         * NEWS: Document the changes.
58865         Reported by Eric Blake.
58866
58867 2008-06-10  Eric Blake  <ebb9@byu.net>
58868
58869         Add missing include.
58870         * tests/test-strstr.c (includes): Add <signal.h>.
58871         * tests/test-strcasestr.c (includes): Likewise.
58872         * tests/test-memmem.c (includes): Likewise.
58873
58874 2008-06-10  Bruno Haible  <bruno@clisp.org>
58875
58876         * lib/wait-process.c (wait_subprocess): Add an assertion.
58877
58878 2008-06-10  Bruno Haible  <bruno@clisp.org>
58879
58880         * lib/wait-process.c (wait_subprocess): Try to fix waitid() based code.
58881
58882 2008-06-10  Bruno Haible  <bruno@clisp.org>
58883
58884         * tests/test-memmem.c (main): Reset SIGALRM to default handling before
58885         using alarm().
58886         * tests/test-strcasestr.c (main): Likewise.
58887         * tests/test-strstr.c (main): Likewise.
58888
58889 2008-06-09  Bruno Haible  <bruno@clisp.org>
58890
58891         Work around the Solaris 10 ACE ACLs ABI change.
58892         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): Don't
58893         declare if ACL_NO_TRIVIAL is present.
58894         (ACE_ACCESS_ALLOWED_ACE_TYPE, ACE_ACCESS_DENIED_ACE_TYPE,
58895         NEW_ACE_OWNER, NEW_ACE_GROUP, NEW_ACE_IDENTIFIER_GROUP, ACE_EVERYONE,
58896         NEW_ACE_READ_DATA, NEW_ACE_WRITE_DATA, NEW_ACE_EXECUTE): New macros.
58897         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): Don't
58898         define if ACL_NO_TRIVIAL is present.
58899         (acl_ace_nontrivial): Detect whether the old or new ABI is in use,
58900         and use the current ABI.
58901         (file_has_acl): Use same #if condition as elsewhere.
58902         * lib/set-mode-acl.c (qset_acl): Detect whether the old or new ABI is
58903         in use, and use the current ABI.
58904         * doc/acl-resources.txt: More doc about newer Solaris 10 versions.
58905         Reported by Jim Meyering.
58906
58907 2008-06-09  Eric Blake  <ebb9@byu.net>
58908
58909         Work around environments that (stupidly) ignore SIGALRM.
58910         * m4/strstr.m4 (gl_FUNC_STRSTR): Reset SIGALRM to default handling
58911         before using alarm().
58912         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
58913         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
58914         Reported by Ian Beckwith <ianb@erislabs.net>.
58915
58916         Produce autobuild blurb earlier in log.
58917         * modules/autobuild (configure.ac-early): Move AB_INIT here.
58918
58919 2008-06-09  Jim Meyering  <meyering@redhat.com>
58920         and Ondřej Vašík  <ovasik@redhat.com>
58921
58922         utimens.c: correct kernel bug work-around
58923         Ondřej Vašík found that the invalid return value of 280 indicates
58924         failure, not success, and the kernel bug we're trying to work
58925         around affects not just the utimensat call, but also the fallback
58926         futimens call.
58927         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Simulate failure,
58928         not success.
58929         [HAVE_FUTIMENS]: Use the same work-around, here.
58930
58931 2008-06-09  Jim Meyering  <meyering@redhat.com>
58932
58933         add more guards around definition of ACE_-related code
58934         * lib/file-has-acl.c (acl_ace_nontrivial): Define only if
58935         ALLOW and ACE_OWNER are also defined.
58936
58937 2008-06-08  Bruno Haible  <bruno@clisp.org>
58938
58939         * lib/acl-internal.h: Add me as co-author.
58940         * lib/file-has-acl.c: Likewise.
58941         * lib/set-mode-acl.c: Likewise.
58942         * lib/copy-acl.c: Likewise.
58943
58944 2008-06-08  Bruno Haible  <bruno@clisp.org>
58945
58946         Add support for AIX ACLs.
58947         * lib/acl-internal.h (acl_nontrivial): New declaration.
58948         * lib/file-has-acl.c (acl_nontrivial): New function.
58949         (file_has_acl): Add implementation using AIX 4 ACL API.
58950         * lib/set-mode-acl.c (qset_acl): Likewise.
58951         * lib/copy-acl.c (qcopy_acl): Likewise.
58952
58953 2008-06-08  Bruno Haible  <bruno@clisp.org>
58954
58955         Add support for HP-UX ACLs.
58956         * lib/acl-internal.h (acl_nontrivial): New declaration.
58957         * lib/file-has-acl.c (acl_nontrivial): New function.
58958         (file_has_acl): Add implementation using HP-UX 11 ACL API.
58959         * lib/set-mode-acl.c (qset_acl): Likewise.
58960         * lib/copy-acl.c (qcopy_acl): Likewise.
58961
58962 2008-06-08  Bruno Haible  <bruno@clisp.org>
58963
58964         Add support for Cygwin ACLs.
58965         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro for Solaris-like API.
58966         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Don't optimize away
58967         the chmod_or_fchmod call.
58968         * lib/copy-acl.c (qcopy_acl) [!MODE_INSIDE_ACL]: Likewise.
58969
58970 2008-06-08  Bruno Haible  <bruno@clisp.org>
58971
58972         Fix bug with setuid modes in Solaris 10+ code.
58973         * lib/set-mode-acl.c (qset_acl): Call chmod_or_fchmod when acl_set
58974         succeeded, when the mode contains some special bits.
58975
58976 2008-06-08  Bruno Haible  <bruno@clisp.org>
58977
58978         Add support for Solaris 7..10 ACLs.
58979         * lib/acl-internal.h (acl_nontrivial, acl_ace_nontrivial): New
58980         declarations.
58981         * lib/file-has-acl.c (acl_nontrivial, acl_ace_nontrivial): New
58982         functions.
58983         (file_has_acl): Add implementation using Solaris 7..10 ACL API.
58984         * lib/set-mode-acl.c (qset_acl): Likewise.
58985         * lib/copy-acl.c (qcopy_acl): Likewise.
58986
58987 2008-06-08  Bruno Haible  <bruno@clisp.org>
58988
58989         * lib/acl-internal.h (acl_extended_nontrivial) [MacOS X]: New
58990         declaration.
58991         * lib/file-has-acl.c (acl_extended_nontrivial) [MacOS X]: New function.
58992         (acl_access_nontrivial): Remove MacOS X case.
58993         (file_has_acl): Use acl_extended_nontrivial.
58994         * lib/copy-acl.c (qcopy_acl): Likewise.
58995
58996 2008-06-08  Bruno Haible  <bruno@clisp.org>
58997
58998         * lib/set-mode-acl.c (qset_acl): Trivial code simplifications.
58999
59000 2008-06-08  Jim Meyering  <meyering@redhat.com>
59001
59002         * modules/acl (Maintainer): Add Bruno Haible.
59003
59004 2008-06-07  Bruno Haible  <bruno@clisp.org>
59005
59006         Improve support for Tru64 ACLs.
59007         * lib/file-has-acl.c (file_has_acl): Don't test the ACL_TYPE_DEFAULT
59008         ACL on OSF/1.
59009
59010 2008-06-07  Bruno Haible  <bruno@clisp.org>
59011
59012         Add support for MacOS X ACLs.
59013         * lib/file-has-acl.c (file_has_acl): Use ACL_TYPE_EXTENDED instead of
59014         ACL_TYPE_ACCESS and ACL_TYPE_DEFAULT.
59015         * lib/set-mode-acl.c (qset_acl): Likewise.
59016         * lib/copy-acl.c (qcopy_acl): Likewise.
59017
59018 2008-06-07  Bruno Haible  <bruno@clisp.org>
59019
59020         Fix memory leak introduced on 2008-05-22.
59021         * lib/set-mode-acl.c (qset_acl) [!MODE_INSIDE_ACL]: Free ACLs after
59022         use.
59023
59024 2008-06-07  Bruno Haible  <bruno@clisp.org>
59025
59026         * lib/set-mode-acl.c (qset_acl): Use acl_init(), not acl_from_text(),
59027         to construct an empty ACL.
59028
59029 2008-06-07  Bruno Haible  <bruno@clisp.org>
59030
59031         * lib/set-mode-acl.c (chmod_or_fchmod): Document return value
59032         precisely.
59033         * lib/copy-acl.c (qcopy_acl): Trivial code simplifications.
59034
59035 2008-06-07  Bruno Haible  <bruno@clisp.org>
59036
59037         * lib/copy-acl.c (qcopy_acl): Make the #if branches independent.
59038         * lib/set-mode-acl.c (qset_acl): Choose better local variable names.
59039
59040 2008-06-07  Bruno Haible  <bruno@clisp.org>
59041
59042         * doc/posix-functions/_setjmp.texi: Explain the use of this function
59043         regardless of POSIX.
59044         * doc/posix-functions/_longjmp.texi: Likewise.
59045         * doc/posix-functions/setjmp.texi: Mention HP-UX as not counting as a
59046         SystemV platform in this case.
59047
59048 2008-06-06  Eric Blake  <ebb9@byu.net>
59049
59050         Document abort() bugs.
59051         * doc/posix-functions/abort.texi (abort): Mention anomalies.
59052
59053         * doc/posix-functions/setjmp.texi (setjmp): Mingw has setjmp.
59054         * doc/posix-functions/sigsetjmp.texi (sigsetjmp): Cygwin has
59055         sigsetjmp.
59056         * doc/posix-functions/siglongjmp.texi (siglongjmp): Cygwin has
59057         siglongjmp, but only as a macro.
59058         * doc/posix-functions/_longjmp.texi (_longjmp): Mention that this
59059         is obsolete.
59060         * doc/posix-functions/_setjmp.texi (_setjmp): Likewise.
59061
59062         Tweak documentation to cover cygwin argz bugs.
59063         * m4/argz.m4 (gl_FUNC_ARGZ): Mention date of last known cygwin
59064         argz bug fix; no code change needed since no cygwin releases
59065         occurred between the last fix and the bug being tested.
59066         * doc/glibc-functions/argz_add.texi (argz_add): Document the argz
59067         module and recently fixed cygwin bugs.
59068         * doc/glibc-functions/argz_add_sep.texi (argz_add_sep): Likewise.
59069         * doc/glibc-functions/argz_append.texi (argz_append): Likewise.
59070         * doc/glibc-functions/argz_count.texi (argz_count): Likewise.
59071         * doc/glibc-functions/argz_create.texi (argz_create): Likewise.
59072         * doc/glibc-functions/argz_create_sep.texi (argz_create_sep):
59073         Likewise.
59074         * doc/glibc-functions/argz_delete.texi (argz_delete): Likewise.
59075         * doc/glibc-functions/argz_extract.texi (argz_extract): Likewise.
59076         * doc/glibc-functions/argz_insert.texi (argz_insert): Likewise.
59077         * doc/glibc-functions/argz_next.texi (argz_next): Likewise.
59078         * doc/glibc-functions/argz_replace.texi (argz_replace): Likewise.
59079         * doc/glibc-functions/argz_stringify.texi (argz_stringify):
59080         Likewise.
59081
59082         Avoid gcc warning on cygwin.
59083         * lib/copy-acl.c (qcopy_acl) [!HAVE_ACL_GET_FILE &&
59084         !ACL_NO_TRIVIAL]: Avoid unused variable.
59085
59086 2008-06-05  Eric Blake  <ebb9@byu.net>
59087
59088         Be tolerant of UNKNOWN version in gnulib-tool test dir.
59089         * top/GNUmakefile (_dummy): Warn rather than reconfigure if
59090         git-version-gen fails to come up with a version.
59091         Reported by Simon Josefsson.
59092
59093 2008-06-05  Jim Meyering  <meyering@redhat.com>
59094             Paul Eggert  <eggert@cs.ucla.edu>
59095
59096         utimens.c: work around a probable Linux kernel bug
59097         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT]: Work around what
59098         appears to be a kernel bug that causes utimensat to return 280
59099         instead of 0, indicating success.
59100
59101 2008-06-04  Bruno Haible  <bruno@clisp.org>
59102
59103         * lib/copy-acl.c (qcopy_acl): Call qset_acl, not set_acl. Fixes
59104         2008-06-01 commit.
59105
59106 2008-06-04  Bruno Haible  <bruno@clisp.org>
59107
59108         * lib/acl-internal.h (acl_access_nontrivial): New declaration.
59109         * lib/file-has-acl.c (acl_access_nontrivial): New function.
59110         (file_has_acl): Use it. Save errno afterwards.
59111         * lib/copy-acl.c (qcopy_acl): Use acl_access_nontrivial.
59112
59113 2008-06-03  Bruno Haible  <bruno@clisp.org>
59114
59115         * lib/file-has-acl.c (file_has_acl): Put Solaris 10 code after POSIX-
59116         draft code. Simplify #ifs.
59117         * lib/set-mode-acl.c (qset_acl): Don't test for symlink if !USE_ACL.
59118         Put Solaris code after POSIX-draft code. Fix comments regarding
59119         Solaris 10, HP-UX. Mention Cygwin.
59120         * lib/copy-acl.c (qcopy_acl): Simplify #ifs.
59121
59122 2008-06-03  Eric Blake  <ebb9@byu.net>
59123
59124         Provide fallback for older kernels.
59125         * lib/utimens.c (gl_futimens) [HAVE_UTIMENSAT, HAVE_FUTIMENS]:
59126         Provide runtime fallback if kernel lacks support.
59127         Reported by Mike Frysinger.
59128
59129 2008-06-02  Bruno Haible  <bruno@clisp.org>
59130
59131         * lib/acl-internal.h (ACL_NOT_WELL_SUPPORTED): Include EOPNOTSUPP if
59132         it exists.
59133
59134 2008-06-02  Bruno Haible  <bruno@clisp.org>
59135
59136         * lib/acl_entries.c (acl_entries): Rewrite to use acl_get_entry.
59137         * lib/copy-acl.c (qcopy_acl): Update comment.
59138
59139 2008-06-02  Bruno Haible  <bruno@clisp.org>
59140
59141         * lib/acl-entries.h: Enclose most definitions in #ifs for POSIX-draft
59142         like ACL APIs.
59143
59144 2008-06-02  Bruno Haible  <bruno@clisp.org>
59145
59146         * tests/test-file-has-acl.sh: Use different code for Cygwin.
59147         * tests/test-set-mode-acl.sh: Likewise.
59148         * tests/test-copy-acl.sh: Likewise.
59149         * tests/test-copy-file.sh: Likewise.
59150
59151 2008-06-02  Bruno Haible  <bruno@clisp.org>
59152
59153         * tests/test-file-has-acl.sh: Remove unused code.
59154
59155 2008-06-01  Bruno Haible  <bruno@clisp.org>
59156
59157         * lib/copy-acl.c (qcopy_acl): New function, extracted from copy_acl.
59158         (copy_acl): Just a wrapper around qcopy_acl that emits the error
59159         messages.
59160         * lib/set-mode-acl.c (qset_acl): Document return value precisely.
59161
59162 2008-06-01  Bruno Haible  <bruno@clisp.org>
59163
59164         * m4/acl.m4 (gl_FUNC_ACL): Separate the POSIX-like and the Solaris
59165         tests. Test for libpacl, needed for OSF/1. Test for extended ACLs,
59166         needed for MacOS X. Test for HP-UX API. Test for newer and older AIX
59167         APIs.
59168         * modules/acl-tests (configure.ac): Remove tests now contained in
59169         m4/acl.m4.
59170
59171 2008-06-02  Jim Meyering  <meyering@redhat.com>
59172
59173         announce-gen: use a better key-server host name
59174         * build-aux/announce-gen (main): Recommend keys.gnupg.net, since
59175         it may be more consistently reliable.  Suggested by Werner Koch
59176         in <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/13717>.
59177
59178 2008-06-01  Bruno Haible  <bruno@clisp.org>
59179
59180         * lib/stdio-impl.h (fp_ub): Use fp_. Needed for DragonFly BSD.
59181         Reported by Voroskoi Andras <voroskoi@gmail.com>.
59182
59183 2008-06-01  Voroskoi Andras  <voroskoi@gmail.com>  (tiny change)
59184
59185         * lib/stdio-impl.h [__DragonFly__]: Fix typo.
59186
59187 2008-06-01  Bruno Haible  <bruno@clisp.org>
59188
59189         New ACL tests.
59190         * tests/test-file-has-acl.sh: New file.
59191         * tests/test-file-has-acl.c: New file.
59192         * tests/test-set-mode-acl.sh: New file.
59193         * tests/test-set-mode-acl.c: New file.
59194         * tests/test-copy-acl.sh: New file, based on tests/test-copy-file.sh.
59195         * tests/test-copy-acl.c: New file.
59196         * modules/acl-tests: New file, based on modules/copy-file-tests.
59197         * modules/copy-file-tests (Files): Remove tests/test-sameacls.c.
59198         (Depends-on): Add acl-tests.
59199         (configure.ac): Remove checks.
59200         (Makefile.am): Don't create test-sameacls program here any more.
59201
59202 2008-06-01  Bruno Haible  <bruno@clisp.org>
59203
59204         * tests/test-copy-file.sh: Portability fixes for Solaris, HP-UX, IRIX.
59205         * tests/test-sameacls.c: Include progname.h.
59206         (main): Invoke set_program_name. Portability fixes for MacOS X,
59207         Solaris, HP-UX.
59208
59209 2008-06-01  Bruno Haible  <bruno@clisp.org>
59210
59211         * lib/freadahead.c (freadahead) [__DragonFly__]: Use the __sreadahead
59212         function.
59213         Reported by VOROSKOI Andras <voroskoi@gmail.com>.
59214
59215 2008-06-01  Bruno Haible  <bruno@clisp.org>
59216
59217         * modules/rpmatch (Depends-on): Add strdup.
59218
59219 2008-06-01  Bruno Haible  <bruno@clisp.org>
59220
59221         * lib/pipe.c: Include unistd-safer.h.
59222         (create_pipe): Ensure the returned file descriptors are not in {0,1,2}.
59223         * modules/pipe (Depends-on): Add unistd-safer.
59224
59225 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59226
59227         * modules/autobuild (configure.ac): Call AB_INIT.
59228
59229 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59230
59231         * tests/test-getaddrinfo.c: Don't print debug messages by default.
59232         Suggested by Bruno Haible <bruno@clisp.org>.
59233
59234 2008-05-30  Simon Josefsson  <simon@josefsson.org>
59235
59236         * tests/test-base64.c: Cast size_t to unsigned long when invoking
59237         printf.  Use %lu instead of %d.  Reported by Bruno Haible
59238         <bruno@clisp.org>.
59239
59240 2008-05-29  Eric Blake  <ebb9@byu.net>
59241
59242         Prefer new POSIX 200x interfaces over futimesat.
59243         * m4/utimens.m4 (gl_UTIMENS): Check for futimens, utimensat.
59244         * lib/utimens.c (gl_futimens): Use them for nanosecond resolution
59245         when available.
59246         [HAVE_BUGGY_NFS_TIME_STAMPS]: Allow C89 compilation.
59247
59248 2008-05-28  Bruno Haible  <bruno@clisp.org>
59249
59250         * modules/stpcpy (License): Change to LGPLv2+.
59251         Requested by David Lutterkort <dlutter@redhat.com>.
59252
59253 2008-05-27  Bruno Haible  <bruno@clisp.org>
59254
59255         * lib/localename.c (SUBLANG_TIBETAN_BHUTAN): Force value 2. Needed for
59256         current mingw.
59257         Reported by Jose E. Marchesi <jemarch@gnu.org>.
59258
59259 2008-05-27  Bruno Haible  <bruno@clisp.org>
59260
59261         * modules/iconv_open (Link): New section, from module 'iconv'.
59262         * modules/striconv (Link): Likewise.
59263         * modules/striconveh (Link): Likewise.
59264         * modules/xstriconv (Link): Likewise.
59265         * modules/unicodeio (Link): Likewise.
59266         * modules/propername (Link): Likewise.
59267         Reported by Jim Meyering.
59268
59269 2008-05-26  Jim Meyering  <meyering@redhat.com>
59270
59271         sha256: do not artificially restrict buffer length to be < 2^32
59272         * lib/sha256.h (struct sha256_ctx) [buflen]: Change type from
59273         uint32_t to size_t.
59274         * lib/sha256.c (sha256_conclude_ctx): Change type of a local
59275         to match.
59276
59277         avoid unaligned access errors, e.g., on sparc
59278         * lib/sha512.c (sha512_conclude_ctx): Use set_uint64 rather than
59279         direct access through a possibly-unaligned uint64* pointer.
59280         * lib/sha256.c (sha256_conclude_ctx): Use set_uint32 rather than
59281         direct access through a possibly-unaligned uint32* pointer.
59282         Prompted by this patch from Tom "spot" Callaway:
59283         http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/13638
59284
59285         sha512.c: fix typo in comment
59286         * lib/sha512.c (sha512_conclude_ctx): Length is 128-bit, not 64-bit.
59287
59288 2008-05-25  Bruno Haible  <bruno@clisp.org>
59289
59290         * lib/set-mode-acl.c: Renamed from lib/acl.c.
59291         * modules/acl (Files): Add lib/set-mode-acl.c, remove lib/acl.c.
59292         (Makefile.am): Update lib_SOURCES.
59293
59294 2008-05-25  Bruno Haible  <bruno@clisp.org>
59295
59296         * m4/acl.m4 (gl_FUNC_ACL): Don't set LIB_ACL_TRIVIAL.
59297
59298 2008-05-25  Jim Meyering  <meyering@redhat.com>
59299
59300         useless-if-before-free: freed expr may have white-space differences
59301         * build-aux/useless-if-before-free: Recognize cases in which the
59302         freed expression differs from the tested one in embedded white
59303         space, e.g., if (p[i + 1]) free(p[i+1]).  Correct thinko in prev:
59304         $1 was used, so we can't make any regexp shy.  Improved tests now
59305         detect this.
59306
59307         useless-if-before-free: accept white space in the expression.
59308         * build-aux/useless-if-before-free: For now, any white space
59309         in the expression must be identical in the free argument.
59310
59311         useless-if-before-free: efficiency tweak
59312         * build-aux/useless-if-before-free: Make the expression-matching
59313         regexp "shy".
59314         Make the *outer* regexp shy, not the expr-matching one.
59315
59316         update code-in-comment to accept cast of free arg
59317         * build-aux/useless-if-before-free: Update regexp.
59318
59319 2008-05-25  Bruno Haible  <bruno@clisp.org>
59320
59321         * tests/test-sameacls.c: Renamed from tests/test-copy-file-sameacls.c.
59322         * modules/copy-file-tests (Files, Makefile.am): Update.
59323         * tests/test-copy-file.c (func_test_copy): Update.
59324
59325 2008-05-24  Andreas Färber  <andreas.faerber@web.de>  (tiny change)
59326
59327         * lib/stdbool.in.h [__HAIKU__]: Disable __BEOS__ workarounds.
59328
59329 2008-05-23  Bruno Haible  <bruno@clisp.org>
59330
59331         Improve support for ACLs on OSF/1.
59332         * lib/acl.c (qset_acl): For OSF/1, use a string that ends in a comma.
59333         Remove fallback for unknown flavors of ACLs.
59334
59335 2008-05-22  Bruno Haible  <bruno@clisp.org>
59336
59337         Add support for ACLs on OSF/1.
59338         * lib/acl-internal.h (acl_get_fd, acl_set_fd): New inline function
59339         replacements.
59340         (acl_free_text): New macro fallback.
59341         * lib/acl_entries.c (acl_entries): Use acl_free_text instead of
59342         acl_free.
59343         * m4/acl.m4 (gl_FUNC_ACL): Look also in libpacl library. Test for
59344         acl_free_text function. Require AC_C_INLINE.
59345
59346 2008-05-22  Bruno Haible  <bruno@clisp.org>
59347
59348         Make copy_acl work on MacOS X 10.5.
59349         * lib/acl-internal.h (MODE_INSIDE_ACL): New macro.
59350         (ACL_NOT_WELL_SUPPORTED): On MacOS X, also handle ENOENT.
59351         * lib/acl.c (qset_acl): Add different code branch for !MODE_INSIDE_ACL.
59352         If MODE_INSIDE_ACL, don't assume that every system has the same text
59353         representation for ACLs as FreeBSD.
59354         * lib/copy-acl.c (copy_acl): Add support for platforms with
59355         !MODE_INSIDE_ACL.
59356         * lib/file-has-acl.c (file_has_acl): Likewise.
59357         * m4/acl.m4 (gl_FUNC_ACL): Test for some functions that are witness of
59358         FreeBSD, MacOS X, or IRIX, respectively.
59359
59360 2008-05-22  Bruno Haible  <bruno@clisp.org>
59361
59362         * lib/acl.h: Don't include <sys/acl.h>.
59363         (GETACLCNT): Move fallback to lib/acl-internal.h.
59364         * lib/acl-internal.h: Include <sys/acl.h> here.
59365         (GETACLCNT): New macro fallback, moved here from lib/acl.h.
59366
59367 2008-05-22  Bruno Haible  <bruno@clisp.org>
59368
59369         Split off copy_acl function to separate file.
59370         * lib/copy-acl.c: New file, extracted from lib/acl.c.
59371         * lib/acl.c (copy_acl): Moved function to separate file.
59372         * m4/acl.m4 (gl_FUNC_ACL): Remove unconditional AC_LIBOBJs.
59373         * modules/acl (Files): Add lib/copy-acl.c.
59374         (Makefiles.am): Augment lib_SOURCES.
59375
59376 2008-05-22  Bruno Haible  <bruno@clisp.org>
59377
59378         * modules/copy-file-tests: New file.
59379         * tests/test-copy-file.sh: New file.
59380         * tests/test-copy-file.c: New file.
59381         * tests/test-copy-file-sameacls.c: New file.
59382
59383 2008-05-22  Eric Blake  <ebb9@byu.net>
59384
59385         Avoid gcc warning.
59386         * tests/test-memcmp.c (main): Pass NULL indirectly.
59387
59388 2008-05-21  Bruno Haible  <bruno@clisp.org>
59389
59390         Add reference doc about ACLs.
59391         * doc/acl-resources.txt: New file.
59392         * doc/acl-cygwin.txt: New file.
59393
59394 2008-05-21  Bruno Haible  <bruno@clisp.org>
59395
59396         Avoid one more warning from gcc.
59397         * lib/vasnprintf.c (IF_LINT): Update comments.
59398         (VASNPRINTF): Use it also for the 'prefix' array initializer.
59399
59400 2008-05-21  Jim Meyering  <meyering@redhat.com>
59401
59402         avoid a warning from gcc
59403         * lib/vasnprintf.c (IF_LINT): Define.
59404         (scale10_round_decimal_long_double):
59405         Use it to avoid a "may be used uninitialized" warning.
59406         (scale10_round_decimal_double): Likewise.
59407
59408 2008-05-21  Simon Josefsson  <simon@josefsson.org>
59409
59410         * m4/memcmp.m4: When cross-compiling, assume memcmp works if it is
59411         declared.
59412
59413 2008-05-20  Bruno Haible  <bruno@clisp.org>
59414
59415         * tests/test-memcmp.c (main): Test also the sign of the result. Test
59416         against two known bugs; code taken from autoconf's AC_FUNC_MEMCMP.
59417
59418 2008-05-20  Simon Josefsson  <simon@josefsson.org>
59419
59420         * modules/memcmp-tests: New file.
59421         * tests/test-memcmp.c: New file.
59422
59423 2008-05-19  Bruno Haible  <bruno@clisp.org>
59424
59425         * modules/propername (Notice, configure.ac): Put quoted "..." into
59426         --keyword option.
59427         * lib/propername.h: Update comments accordingly.
59428         Reported by Eric Blake.
59429
59430 2008-05-19  Martin Lambers  <marlam@marlam.de>  (tiny change)
59431
59432         * modules/getpass-gnu (Depends-on): Add fseeko.
59433
59434 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59435
59436         * modules/base64-tests: New file.
59437
59438 2008-05-19  Bo Borgerson <gigabo@gmail.com>
59439
59440         * lib/base64.c (base64_decode_ctx): If a decode context structure
59441         was passed in use it to ignore newlines.  If a context structure
59442         was _not_ passed in, continue to treat newlines as garbage (this
59443         is the historical behavior).  Formerly base64_decode.
59444         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59445         takes a decode context structure.
59446         * lib/base64.h (base64_decode): Macro for four-argument calls.
59447         (base64_decode_alloc): Likewise.
59448         * lib/base64.c (base64_decode_ctx): If a decode context structure
59449         was passed in use it to ignore newlines.  If a context structure
59450         was _not_ passed in, continue to treat newlines as garbage (this
59451         is the historical behavior).  Formerly base64_decode.
59452         (base64_decode_alloc_ctx): Formerly base64_decode_alloc.  Now
59453         takes a decode context structure.
59454         * lib/base64.h (base64_decode): Macro for four-argument calls.
59455         (base64_decode_alloc): Likewise.
59456
59457 2008-05-19  Jim Meyering  <meyering@redhat.com>
59458
59459         avoid a warning from gcc
59460         * lib/trim.c (IF_LINT): Define.
59461         (trim2): Use it to avoid a "may be used uninitialized" warning.
59462
59463         Fix doc typo.
59464         * doc/glibc-functions/getpass.texi (getpass): s/PATH_MAX/PASS_MAX/.
59465
59466 2008-05-19  Bruno Haible  <bruno@clisp.org>
59467
59468         * doc/glibc-functions/getpass.texi: Document limits of other
59469         implementations.
59470
59471 2008-05-19  Simon Josefsson  <simon@josefsson.org>
59472             Bruno Haible <bruno@clisp.org>
59473
59474         * doc/glibc-functions/getpass.texi: Document gnulib implementation.
59475
59476 2008-05-18  Bruno Haible  <bruno@clisp.org>
59477
59478         * modules/propername: New file, from GNU gettext.
59479         * lib/propername.h: New file, from GNU gettext.
59480         * lib/propername.c: New file, from GNU gettext.
59481         * MODULES.html.sh (Internationalization functions): Add propername.
59482
59483 2008-05-16  Jim Meyering  <meyering@redhat.com>
59484             Bruno Haible  <bruno@clisp.org>
59485
59486         Avoid some warnings from "gcc -Wshadow".
59487         * lib/vasnprintf.c (exp, remainder): Define to different identifiers.
59488
59489 2008-05-15  Eric Blake  <ebb9@byu.net>
59490
59491         Extend previous patch to cygwin 1.7.0.
59492         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a
59493         fast implementation in cygwin >= 1.7.0.
59494         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59495         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59496
59497 2008-05-15  Bruno Haible  <bruno@clisp.org>
59498
59499         * m4/memmem.m4 (gl_FUNC_MEMMEM): When cross-compiling, assume a fast
59500         implementation in glibc >= 2.9.
59501         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
59502         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
59503
59504 2008-05-15  Bruno Haible  <bruno@clisp.org>
59505
59506         * MODULES.html.sh (Internationalization functions): Remove linebreak.
59507         (Unicode string functions): Add unilbrk/*.
59508         Reported by Karl Berry.
59509
59510 2008-05-15  Eric Blake  <ebb9@byu.net>
59511
59512         Fix violation of <stdbool.h> replacement in regex.
59513         * lib/regcomp.c (re_compile_internal): Avoid implicit cast to bool.
59514         * lib/regexec.c (re_search_internal): Likewise.
59515         Reported by Heinrich Mislik <Heinrich.Mislik@univie.ac.at>.
59516
59517 2008-05-15  Jim Meyering  <meyering@redhat.com>
59518
59519         avoid distracting test output when git or cvs is not found
59520         * tests/test-vc-list-files-cvs.sh: Suppress 'init' error output.
59521         * tests/test-vc-list-files-git.sh: Likewise.
59522
59523 2008-05-15  Eric Blake  <ebb9@byu.net>
59524
59525         Glibc finally accepted the memmem speedup code, bugzilla #5514.
59526         * doc/glibc-functions/memmem.texi (memmem): Mention last broken
59527         glibc version.
59528         * doc/glibc-functions/strcasestr.texi (strcasestr): Likewise.
59529         * doc/posix-functions/strstr.texi (strstr): Likewise.
59530         * lib/str-two-way.h (MAX): Sychronize with glibc.
59531
59532 2008-05-15  Paolo Bonzini  <bonzini@gnu.org>
59533
59534         * lib/regcomp.c (optimize_utf8): Add a note on why we test
59535         opr.ctx_type.
59536         (calc_first): Initialize constraint field.
59537         (duplicate_node_closure): Use it instead of special casing ANCHORS.
59538         Fix grammar.
59539         (duplicate_node): Merge constraint field for all node types.
59540         (calc_eclosure_iter): Look at constraint field for all node types.
59541         * lib/regex_internal.c (create_cd_newstate): Don't look at
59542         opr.ctx_type.
59543
59544 2008-05-14  Bruno Haible  <bruno@clisp.org>
59545
59546         Help GCC to do better code generation.
59547         * lib/eealloc.h (eemalloc) [GCC >= 3]: Declare with attribute 'malloc'.
59548         * lib/pagealign_alloc.h (pagealign_alloc, pagealign_xalloc): Likewise.
59549         * lib/xalloc.h (ATTRIBUTE_MALLOC): New macro.
59550         (xmalloc, xzalloc, xcalloc, xmemdup, xstrdup, xnmalloc, xcharalloc):
59551         Declare with attribute 'malloc' if supported.
59552
59553 2008-05-14  Lasse Collin  <lasse.collin@tukaani.org>
59554
59555         use "echo STR|wc -c" rather than unportable "expr length STR"
59556         * build-aux/mktempd (mktempd): Vendor-supplied expr from at least
59557         OpenBSD 4.3 and Solaris 10 do not honor expr's "length" function.
59558
59559 2008-05-14  Jim Meyering  <meyering@redhat.com>
59560
59561         use dd ibs=$n count=1 ... rather than less-portable head -c$n
59562         * build-aux/mktempd (rand_bytes): head's -cN option is not accepted
59563         by Solaris 10's /bin/head or by the one from HP-UX 11.x.
59564         Reported in http://sourceforge.net/forum/message.php?msg_id=4960334
59565         via Collin Lasse.
59566
59567 2008-05-14  Eric Blake  <ebb9@byu.net>
59568
59569         Avoid quadratic growth in gl_LIBSOURCES.
59570         * gnulib-tool (func_emit_initmacro_done): s/\(m4_append\)_uniq/\1/.
59571         Suggested by Bruno Haible.
59572
59573         Test xmemdup0.
59574         * modules/xmemdup0-tests: New file.
59575         * tests/test-xmemdup0.c: Likewise.
59576
59577 2008-05-13  Eric Blake  <ebb9@byu.net>
59578
59579         Split xmemdup0 into its own module.
59580         * modules/xmemdup0: New file.
59581         * lib/xmemdup0.h: Likewise.
59582         * lib/xmemdup0.c: Likewise.
59583         * MODULES.html.sh (Memory management functions): Add xmemdup0.
59584         * lib/xalloc.h (xmemdup0): Remove.
59585         * lib/xmalloc.c (xmemdup0): Likewise.
59586
59587 2008-05-13  Eric Blake  <ebb9@byu.net>
59588             Bruno Haible  <bruno@clisp.org>
59589
59590         Reduce number of forks required during autoconf.
59591         * gnulib-tool (func_emit_initmacro_start): Prepare gl_LIBSOURCES_LIST
59592         and gl_LIBSOURCES_DIR.
59593         (func_emit_initmacro_end): Use them here in a single m4_syscmd...
59594         (func_emit_initmacro_done) <gl_LIBSOURCES>: ...rather than in one
59595         m4_syscmd per file.
59596         <m4_foreach_w>: Move...
59597         * m4/gnulib-common.m4 (m4_foreach_w): ...here.
59598
59599 2008-05-13  Eric Blake  <ebb9@byu.net>
59600
59601         * gnulib-tool: Fix various comment typos.
59602
59603 2008-05-12  Bruno Haible  <bruno@clisp.org>
59604
59605         Tailor the linebreaking algorithm.
59606         * lib/unilbrk/tables.c (unilbrk_table): Change (IS,AL) entry.
59607
59608 2008-05-12  Bruno Haible  <bruno@clisp.org>
59609
59610         Update to Unicode 5.0.0.
59611         * lib/unilbrk/tables.h (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59612         LBP_JV, LBP_JT. Redistribute values.
59613         (unilbrk_table): Change size.
59614         * lib/unilbrk/tables.c (unilbrk_table): Change size. Update to match
59615         Unicode TR#14 rev. 22.
59616         * lib/unilbrk/gen-lbrk.c (LBP_*): Add LBP_WJ, LBP_H2, LBP_H3, LBP_JL,
59617         LBP_JV, LBP_JT. Redistribute values.
59618         (get_lbp): Update to match Unicode TR#14 rev. 21/22 and Unicode 5.0.0.
59619         (debug_output_lbp, fill_org_lbp, debug_output_org_lbp, output_lbp):
59620         Update.
59621         * lib/unilbrk/lbrkprop1.h: Regenerated.
59622         * lib/unilbrk/lbrkprop2.h: Regenerated.
59623         * lib/unilbrk/u8-possible-linebreaks.c (u8_possible_linebreaks):
59624         Change handling of LBP_CM after LBP_ZW. Update for new value of LBP_BK.
59625         * lib/unilbrk/u16-possible-linebreaks.c (u16_possible_linebreaks):
59626         Likewise.
59627         * lib/unilbrk/u32-possible-linebreaks.c (u32_possible_linebreaks):
59628         Likewise.
59629         * tests/unilbrk/test-u8-possible-linebreaks.c (main): Update expected
59630         result.
59631         * tests/unilbrk/test-u16-possible-linebreaks.c (main): Likewise.
59632         * tests/unilbrk/test-u32-possible-linebreaks.c (main): Likewise.
59633         * tests/unilbrk/test-ulc-possible-linebreaks.c (main): Likewise.
59634         * tests/unilbrk/test-u8-width-linebreaks.c (main): Likewise.
59635         * tests/unilbrk/test-u16-width-linebreaks.c (main): Likewise.
59636         * tests/unilbrk/test-u32-width-linebreaks.c (main): Likewise.
59637
59638 2008-05-11  Bruno Haible  <bruno@clisp.org>
59639
59640         * lib/unilbrk/gen-lbrk.c (output_lbp): Fix whitespace.
59641
59642 2008-05-11  Bruno Haible  <bruno@clisp.org>
59643
59644         * lib/unilbrk/gen-lbrk.c: New file, from GNU gettext (gen-lbrkprop.c).
59645         * modules/unilbrk/gen-lbrk: New file.
59646
59647 2008-05-11  Bruno Haible  <bruno@clisp.org>
59648
59649         * m4/sha256.m4 (gl_SHA256): Require AC_C_INLINE.
59650         * m4/sha512.m4 (gl_SHA512): Likewise.
59651
59652 2008-05-11  Jim Meyering  <meyering@redhat.com>
59653
59654         New modules: crypto/sha256, crypto/sha512 (from coreutils)
59655         * modules/crypto/sha256: New file.
59656         * modules/crypto/sha512: Likewise.
59657         * lib/sha256.c: Likewise.
59658         * lib/sha256.h: Likewise.
59659         * lib/sha512.c: Likewise.
59660         * lib/sha512.h: Likewise.
59661         * lib/u64.h: Likewise.
59662         * m4/sha256.m4: Likewise.
59663         * m4/sha512.m4: Likewise.
59664         * MODULES.html.sh (Cryptographic computations (low-level)): List them.
59665
59666 2008-05-10  Bruno Haible  <bruno@clisp.org>
59667
59668         * MODULES.html.sh (Environment variables <stdlib.h>): Add unsetenv.
59669         (Input/Output <stdio.h>): Add xprintf.
59670         (Signal handling <signal.h>): Add strsignal.
59671         (Cryptographic computations (high-level)): Add crypto/gc-camellia.
59672         (Core language properties): Add func.
59673         (Mathematics <math.h>): Add ceil, floor, frexp-nolibm.
59674         (Support for systems lacking POSIX:2001): Add environ, EOVERFLOW,
59675         strings.
59676         (Enhancements for POSIX:2001 functions): Add iconv_open-utf.
59677         (Input/output): New section.
59678         (File system functions): Add openat-die, stat-macros.
59679         (Networking functions): Add sockets.
59680         (Unicode string functions): Add unictype/*.
59681         (Support for building libraries and executables): Add gperf.
59682         (Support for building documentation): Add agpl-3.0.
59683         (Misc): Add nocrash.
59684
59685 2008-05-10  Bruno Haible  <bruno@clisp.org>
59686
59687         * modules/unictype/gen-ctype: New file.
59688
59689 2008-05-10  Jim Meyering  <meyering@redhat.com>
59690
59691         Make chdir-safer.c more efficient on a system with no symlinks.
59692         * lib/chdir-safer.c (chdir_no_follow): Skip lstat and fstat calls
59693         also if ELOOP is zero.  Suggested by Bruno Haible.
59694
59695         Make chdir-safer.c slightly safer.
59696         * lib/chdir-safer.c (chdir_no_follow): Test HAVE_WORKING_O_NOFOLLOW,
59697         not O_NOFOLLOW, in case the latter is nonzero and open ignores it.
59698
59699         Avoid compile failure on systems without ELOOP (like mingw).
59700         * lib/chdir-safer.c (ELOOP): Define if not already defined.
59701         Reported by Bruno Haible.
59702
59703 2008-05-10  Bruno Haible  <bruno@clisp.org>
59704
59705         * lib/unilbrk/ulc-common.c: Include c-strcaseeq.h instead of streq.h.
59706         (is_utf8_encoding): Use a case-insensitive comparison.
59707         * modules/unilbrk/ulc-common (Depends-on): Add c-strcaseeq. Remove
59708         streq.
59709
59710 2008-05-10  Bruno Haible  <bruno@clisp.org>
59711
59712         * lib/unilbrk/ulc-common.c: Don't include <stdlib.h>.
59713         (iconv_string_length, iconv_string_keeping_offsets): Remove functions.
59714         * lib/unilbrk/ulc-common.h (iconv_string_length,
59715         iconv_string_keeping_offsets): Remove declarations.
59716         * lib/unilbrk/ulc-possible-linebreaks.c: Include <string.h>, uniconv.h.
59717         Don't include <iconv.h>, streq.h, xsize.h.
59718         (ulc_possible_linebreaks): Use u8_conv_from_encoding for doing the
59719         conversion.
59720         * lib/unilbrk/ulc-width-linebreaks.c: Include uniconv.h. Don't include
59721         <iconv.h>, streq.h, xsize.h.
59722         (ulc_width_linebreaks): Use u8_conv_from_encoding for doing the
59723         conversion.
59724         * modules/unilbrk/ulc-common (Depends-on): Remove iconv.
59725         * modules/unilbrk/ulc-possible-linebreaks (Depends-on): Add
59726         uniconv/u8-conv-from-enc. Remove iconv_open, streq, xsize.
59727         * modules/unilbrk/ulc-width-linebreaks (Depends-on): Likewise.
59728
59729 2008-05-10  Bruno Haible  <bruno@clisp.org>
59730
59731         * modules/unilbrk/ulc-width-linebreaks-tests: New file.
59732         * tests/unilbrk/test-ulc-width-linebreaks.c: New file.
59733
59734         * modules/unilbrk/u32-width-linebreaks-tests: New file.
59735         * tests/unilbrk/test-u32-width-linebreaks.c: New file.
59736
59737         * modules/unilbrk/u16-width-linebreaks-tests: New file.
59738         * tests/unilbrk/test-u16-width-linebreaks.c: New file.
59739
59740         * modules/unilbrk/u8-width-linebreaks-tests: New file.
59741         * tests/unilbrk/test-u8-width-linebreaks.c: New file.
59742
59743         * modules/unilbrk/ulc-possible-linebreaks-tests: New file.
59744         * tests/unilbrk/test-ulc-possible-linebreaks.c: New file.
59745
59746         * modules/unilbrk/u32-possible-linebreaks-tests: New file.
59747         * tests/unilbrk/test-u32-possible-linebreaks.c: New file.
59748
59749         * modules/unilbrk/u16-possible-linebreaks-tests: New file.
59750         * tests/unilbrk/test-u16-possible-linebreaks.c: New file.
59751
59752         * modules/unilbrk/u8-possible-linebreaks-tests: New file.
59753         * tests/unilbrk/test-u8-possible-linebreaks.c: New file.
59754
59755 2008-05-10  Bruno Haible  <bruno@clisp.org>
59756
59757         Split up 'linebreak' module.
59758         * lib/unilbrk.h: New file, based on lib/linebreak.h.
59759         * lib/unilbrk/lbrkprop1.h: New file, extracted from lib/lbrkprop.h.
59760         * lib/unilbrk/lbrkprop2.h: New file, renamed from lib/lbrkprop.h with
59761         modifications.
59762         * lib/unilbrk/tables.h: New file, extracted from lib/linebreak.c.
59763         * lib/unilbrk/tables.c: New file, extracted from lib/linebreak.c.
59764         * lib/unilbrk/u8-possible-linebreaks.c: New file, extracted from
59765         lib/linebreak.c.
59766         * lib/unilbrk/u16-possible-linebreaks.c: New file, extracted from
59767         lib/linebreak.c.
59768         * lib/unilbrk/u32-possible-linebreaks.c: New file, extracted from
59769         lib/linebreak.c.
59770         * lib/unilbrk/ulc-common.h: New file, extracted from lib/linebreak.c.
59771         * lib/unilbrk/ulc-common.c: New file, extracted from lib/linebreak.c.
59772         * lib/unilbrk/ulc-possible-linebreaks.c: New file, extracted from
59773         lib/linebreak.c.
59774         * lib/unilbrk/u8-width-linebreaks.c: New file, extracted from
59775         lib/linebreak.c.
59776         * lib/unilbrk/u16-width-linebreaks.c: New file, extracted from
59777         lib/linebreak.c.
59778         * lib/unilbrk/u32-width-linebreaks.c: New file, extracted from
59779         lib/linebreak.c.
59780         * lib/unilbrk/ulc-width-linebreaks.c: New file, extracted from
59781         lib/linebreak.c.
59782         * modules/unilbrk/base: New file.
59783         * modules/unilbrk/tables: New file.
59784         * modules/unilbrk/u8-possible-linebreaks: New file.
59785         * modules/unilbrk/u16-possible-linebreaks: New file.
59786         * modules/unilbrk/u32-possible-linebreaks: New file.
59787         * modules/unilbrk/ulc-common: New file.
59788         * modules/unilbrk/ulc-possible-linebreaks: New file.
59789         * modules/unilbrk/u8-width-linebreaks: New file.
59790         * modules/unilbrk/u16-width-linebreaks: New file.
59791         * modules/unilbrk/u32-width-linebreaks: New file.
59792         * modules/unilbrk/ulc-width-linebreaks: New file.
59793         * lib/linebreak.h: Remove file.
59794         * lib/linebreak.c: Remove file.
59795         * m4/linebreak.m4: Remove file.
59796         * modules/linebreak: Remove file.
59797         * NEWS: Mention the changes.
59798
59799 2008-05-09  Eric Blake  <ebb9@byu.net>
59800
59801         Add xmemdup0.
59802         * lib/xalloc.h (xmemdup0): New prototype and C++ typesafe
59803         implementation.
59804         * lib/xmalloc.c (xmemdup0): New C implementation.
59805
59806 2008-05-08  Bruno Haible  <bruno@clisp.org>
59807
59808         * m4/wctype.m4 (gl_WCTYPE_H): Correct indentation.
59809
59810 2008-05-07  Eric Blake  <ebb9@byu.net>
59811
59812         Support cross-compilation of <wctype.h>.
59813         * m4/wctype.m4 (gl_WCTYPE_H): Fix improper nesting in
59814         AC_CACHE_CHECK.
59815
59816 2008-05-06  Soren Hansen  <soren@ubuntu.com>  (tiny change)
59817
59818         * build-aux/vc-list-files: Add support for bzr.
59819
59820 2008-05-03  Jim Meyering  <meyering@redhat.com>
59821
59822         avoid failed assertion with tight malloc
59823         * tests/test-getndelim2.c: Correct an off-by-one assertion.
59824
59825 2008-05-03  Simon Josefsson  <simon@josefsson.org>
59826
59827         * m4/inet_pton.m4: Set HAVE_DECL_INET_PTON to 0 when declarations
59828         are needed from arpa/inet.h.
59829         * m4/inet_ntop.m4: Likewise, for HAVE_DECL_INET_NTOP.
59830         Reported by Bruno Haible.
59831
59832 2008-05-02  Jim Meyering  <meyering@redhat.com>
59833
59834         avoid compilation error on FreeBSD 6
59835         * tests/test-getaddrinfo.c [!defined EAI_NODATA] (EAI_NODATA): Define.
59836
59837 2008-05-01  Jim Meyering  <meyering@redhat.com>
59838
59839         useless-if-before-free: correct --help's exit status description
59840         * build-aux/useless-if-before-free (usage): Like grep, exit 0
59841         for one or more matches, etc.  Reported by Bruno Haible.
59842
59843         vc-list-files: make the stand-alone gnulib test work
59844         * modules/vc-list-files-tests (configure.ac):
59845         Define and AC_SUBST abs_aux_dir.
59846         (Makefile.am) [TESTS_ENVIRONMENT]: Rather than passing
59847         $(abs_top_srcdir) to each script and having each of them
59848         duplicate the work of setting PATH, set PATH here, using
59849         the new variable, abs_aux_dir instead.
59850         * tests/test-vc-list-files-cvs.sh: Don't set PATH here.
59851         * tests/test-vc-list-files-git.sh: Likewise.
59852         Reported by Bruno Haible.
59853
59854 2008-05-01  Bruno Haible  <bruno@clisp.org>
59855
59856         * lib/getndelim2.c (getndelim2): Fix newsize computation during
59857         reallocation. Rename 'done' to 'found_delimiter'.
59858
59859 2008-05-01  Jim Meyering  <meyering@redhat.com>
59860
59861         vc-list-files: accommodate /bin/sh like the one from Solaris 10
59862         * build-aux/vc-list-files: Use `...`, not $(...).
59863
59864 2008-04-30  Jim Meyering  <meyering@redhat.com>
59865
59866         add tests for vc-list-files
59867         * modules/vc-list-files-tests: New module.
59868         * tests/test-vc-list-files-cvs.sh: New file.
59869         * tests/test-vc-list-files-git.sh: New file.
59870
59871         avoid a warning from gcc
59872         * lib/getndelim2.c (IF_LINT): Define.
59873         (getndelim2): Use it to avoid a "may be used uninitialized" warning.
59874
59875         vc-list-files: work properly with build-aux/cvsu, too
59876         * build-aux/vc-list-files: Hoist the "./"-removing code to apply
59877         to all cvs-based clauses.
59878
59879         vc-list-files: work properly in the CVS+awk case, too
59880         * build-aux/vc-list-files: In the CVS+awk case, remove "./" prefix.
59881
59882         vc-list-files: avoid use of ${*-*} that fails when /bin/sh is dash
59883         * build-aux/vc-list-files: Simplify ${*-*} to $dir, since we no longer
59884         take more than one file argument, so .  Add quotes, just in case $dir
59885         ever contains a shell meta-character.  Prompted by Soren Hansen in
59886         <http://thread.gmane.org/gmane.comp.emulators.libvirt/6221/focus=6240>.
59887
59888 2008-04-29  Eric Blake  <ebb9@byu.net>
59889
59890         Optimize getndelim2 to use block operations when possible.
59891         * modules/getndelim2 (Depends-on): Add stdbool, freadptr,
59892         freadseek, and memchr2.
59893         * lib/getndelim2.c (getndelim2): Use them for block reads.
59894
59895 2008-04-29  Bruno Haible  <bruno@clisp.org>
59896
59897         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_USE_SYSTEM_EXTENSIONS.
59898         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59899         * modules/inet_ntop (Depends-on): Add extensions.
59900         * modules/inet_pton (Depends-on): Likewise.
59901         Reported by Simon Josefsson.
59902
59903 2008-04-29  Jim Meyering  <meyering@redhat.com>
59904
59905         When the is more than one match in a block, match all of them.
59906         * build-aux/useless-if-before-free: Iterate through each block
59907         until there are no more matches.
59908
59909         Fix broken useless-if-before-free script.
59910         * build-aux/useless-if-before-free: Fix typo: missing "?" after
59911         the expression to match cast of argument to free-like function.
59912
59913 2008-04-29  Eric Blake  <ebb9@byu.net>
59914
59915         Use new header.
59916         * lib/getaddrinfo.c (includes): s/"inet_ntop.h"/<arpa/inet.h>/.
59917
59918 2008-04-29  Jim Meyering  <meyering@redhat.com>
59919
59920         Avoid test segfault on x86_64 due to lack of inet_ntop declaration.
59921         * tests/test-getaddrinfo.c: Include <arpa/inet.h>, now guaranteed
59922         by gnulib to exist and to declare e.g., inet_ntop.
59923         Don't include "inet_ntop.h", now removed.
59924
59925         * m4/arpa_inet_h.m4: Remove trailing blanks.
59926
59927 2008-04-29  Eric Blake  <ebb9@byu.net>
59928
59929         Silence valgrind on safe reads beyond potential array bounds.
59930         * lib/rawmemchr.valgrind: New file.
59931         * lib/strchrnul.valgrind: Likewise.
59932         * modules/rawmemchr (Files): Distribute new file.
59933         * modules/strchrnul (Files): Likewise.
59934         Suggested by Bruno Haible.
59935
59936 2008-04-29  Bruno Haible  <bruno@clisp.org>
59937
59938         * lib/arpa_inet.in.h: Include system's <arpa/inet.h> if it exists.
59939         (inet_ntop, inet_pton): Change portability warning's wording.
59940         * m4/arpa_inet_h.m4 (gl_HEADER_ARPA_INET): Set HAVE_ARPA_INET_H.
59941         Invoke gl_CHECK_NEXT_HEADERS.
59942         (gl_ARPA_INET_H_DEFAULTS): Initialize ARPA_INET_H.
59943         * m4/inet_ntop.m4 (gl_INET_NTOP): Require gl_ARPA_INET_H_DEFAULTS and
59944         set ARPA_INET_H.
59945         * m4/inet_pton.m4 (gl_INET_PTON): Likewise.
59946         * modules/arpa_inet (Description): No longer only for systems that
59947         lack it.
59948         (Depends-on): Add include_next.
59949         (Makeile.am): Substitute INCLUDE_NEXT, NEXT_ARPA_INET_H,
59950         HAVE_ARPA_INET_H.
59951
59952 2008-04-29  Jim Meyering  <meyering@redhat.com>
59953
59954         * modules/mkdir (License): Re-license as LGPLv2+.
59955
59956 2008-04-29  Bruno Haible  <bruno@clisp.org>
59957
59958         * modules/rawmemchr (Maintainer): Set to Eric.
59959         * modules/strchrnul (Maintainer): Likewise.
59960
59961 2008-04-29  Simon Josefsson  <simon@josefsson.org>
59962
59963         * m4/arpa_inet_h.m4 (gl_ARPA_INET_H_DEFAULTS): Set
59964         HAVE_DECL_INET_NTOP and HAVE_DECL_INET_PTON.
59965
59966         * modules/arpa_inet (arpa/inet.h): Use them.
59967
59968 2008-04-28  Eric Blake  <ebb9@byu.net>
59969
59970         Test getndelim2.
59971         * modules/getndelim2-tests: New file.
59972         * tests/test-getndelim2.c: Likewise.
59973         * lib/getndelim2.c (getndelim2): Never return 0.  Lock the
59974         stream.
59975         * m4/getndelim2.m4 (gl_GETNDELIM2): Check for lock functions.
59976
59977         * MODULES.html.sh: Document new module.
59978
59979 2008-04-20  Bruno Haible  <bruno@clisp.org>
59980
59981         * lib/c-stack.c (die): Use raise.
59982         * modules/c-stack (Depends-on): Add raise.
59983
59984 2008-04-28  Bruno Haible  <bruno@clisp.org>
59985
59986         Expect rpmatch to be declared.
59987         * lib/yesno.c (rpmatch): Remove declaration.
59988
59989         Declare rpmatch.
59990         * lib/stdlib.in.h (rpmatch): New declaration.
59991         * lib/rpmatch.c: Include <stdlib.h> first.
59992         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Require AC_USE_SYSTEM_EXTENSIONS and
59993         gl_STDLIB_H_DEFAULTS. Set HAVE_RPMATCH.
59994         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_RPMATCH,
59995         HAVE_RPMATCH.
59996         * modules/rpmatch (Depends-on): Add stdlib, extensions.
59997         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
59998         (Include): Set to <stdlib.h>.
59999         * modules/stdlib (Makefile.am): Substitute GNULIB_RPMATCH and
60000         HAVE_RPMATCH.
60001         * NEWS: Document the change.
60002
60003 2008-04-28  Bruno Haible  <bruno@clisp.org>
60004
60005         Change rpmatch to use nl_langinfo when appropriate.
60006         * lib/rpmatch.c: Include stdbool.h, string.h, langinfo.h.
60007         (N_): New macro.
60008         (localized_pattern): New function/macro.
60009         (try): Remove match, nomatch arguments. Copy the pattern into safe
60010         memory before caching it.
60011         (rpmatch): Use localized_pattern. Add translator comments.
60012         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Test for nl_langinfo and YESEXPR.
60013         Suggested by Eric Blake.
60014         * modules/rpmatch (Depends-on): Add stdbool.
60015
60016 2008-04-28  Eric Blake  <ebb9@byu.net>
60017
60018         Add rawmemchr module, matching glibc.
60019         * modules/string (Makefile.am): New indicator.
60020         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set it.
60021         * lib/string.in.h (rawmemchr): Declare when appropriate.
60022         * modules/rawmemchr: New file.
60023         * m4/rawmemchr.m4: Likewise.
60024         * lib/rawmemchr.c: Likewise.
60025         * modules/rawmemchr-tests: Likewise.
60026         * tests/test-rawmemchr.c: Likewise.
60027         * doc/glibc-functions/rawmemchr.texi (rawmemchr): Document
60028         module.
60029         * modules/strchrnul (Depends-on): Add rawmemchr.
60030         * lib/strchrnul.c (strchrnul): Optimize a corner case.
60031
60032         Whitespace cleanup.
60033         * tests/test-strchrnul.c: Reindent.
60034         * lib/strchrnul.c: Likewise.
60035
60036         Optimize and test strchrnul.
60037         * lib/strchrnul.c (strchrnul): Rewrite to do parallel search.
60038         * modules/strchrnul-tests: New file.
60039         * tests/test-strchrnul.c: Likewise.
60040
60041         Remove intprops dependency.
60042         * modules/memchr (Depends-on): Remove intprops.
60043         * modules/memrchr (Depends-on): Likewise.
60044         * modules/memchr2 (Depends-on): Likewise.
60045         * lib/memchr.c (__memchr): Hand-inline the TYPE_MAXIMUM check.
60046         * lib/memrchr.c (__memrchr): Likewise.
60047         * lib/memrchr2.c (memchr2): Likewise.
60048         Reported by Simon Josefsson.
60049
60050 2008-04-28  Simon Josefsson  <simon@josefsson.org>
60051
60052         * m4/sys_socket_h.m4: Move AC_REQUIRE([AC_C_INLINE]) to top.
60053         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60054
60055 2008-04-28  Simon Josefsson  <simon@josefsson.org>
60056
60057         * lib/inet_ntop.h, lib/inet_pton.h: Remove files.
60058
60059         * lib/inet_ntop.c: Include arpa/inet.h instead of inet_ntop.h.
60060
60061         * lib/inet_pton.c: Include arpa/inet.h instead of inet_pton.h.
60062
60063         * lib/arpa_inet.in.h [@GNULIB_INET_NTOP@]: Inline inet_ntop.h
60064         declarations.
60065         [@GNULIB_INET_PTON@]: Inline inet_pton.h declarations.
60066
60067         * m4/inet_pton.m4: Don't check for header files.
60068
60069         * m4/inet_ntop.m4: Don't check for header files.
60070
60071 2008-04-28  Simon Josefsson  <simon@josefsson.org>
60072
60073         * m4/sys_socket_h.m4: Require AC_C_INLINE when necessary.
60074         * lib/sys_socket.in.h (setsockopt): Use proper win32 tests (don't
60075         trigger for cygwin).
60076         Reported by Bruno Haible  <bruno@clisp.org>.
60077
60078 2008-04-28  Bruno Haible  <bruno@clisp.org>
60079
60080         * doc/posix-functions/strdup.texi: Mention mingw problem.
60081
60082 2008-04-27  Bruno Haible  <bruno@clisp.org>
60083
60084         * modules/stat-time-tests (Depends-on): Add sleep.
60085         * tests/test-stat-time.c (force_unlink): New function.
60086         (cleanup): Use it.
60087         (test_mtime): Remove the ctime related tests.
60088         (test_ctime): New function, containing the ctime related tests.
60089         (main): Call test_ctime, except on native Windows platforms.
60090
60091 2008-04-27  Bruno Haible  <bruno@clisp.org>
60092
60093         * lib/rpmatch.c (rpmatch): Add some comments.
60094         Reported by James Youngman <jay@gnu.org>.
60095
60096 2008-04-27  Bruno Haible  <bruno@clisp.org>
60097
60098         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Also test the behaviour on
60099         quiet NaNs.
60100
60101 2008-04-27  Bruno Haible  <bruno@clisp.org>
60102
60103         Make test-yesno.sh work on mingw.
60104         * tests/test-yesno.sh: Postprocess the output to convert CR/LF to LF.
60105         * tests/test-yesno.c: Include yesno.h first. Include binary-io.h.
60106         (main): Set stdin to binary mode.
60107         * modules/yesno-tests (Depends-on): Add binary-io.
60108
60109 2008-04-27  Bruno Haible  <bruno@clisp.org>
60110
60111         Fix 'isfinite' on x86, x86_64, ia64 platforms.
60112         * tests/test-isfinite.c (test_isfinitel): Also test the behavior on
60113         argument that lie outside the IEEE 854 domain.
60114         * m4/isfinite.m4 (gl_ISFINITEL_WORKS): New macro.
60115         (gl_ISFINITE): Use it.
60116         * doc/posix-functions/isfinite.texi: Document the fixed bugs.
60117
60118 2008-04-27  Bruno Haible  <bruno@clisp.org>
60119
60120         Allow local renaming in config.h.
60121         * lib/memrchr.c (memrchr): Don't undefine outside libc.
60122
60123 2008-04-27  Bruno Haible  <bruno@clisp.org>
60124
60125         * lib/memchr.c (__memchr): Change type of 'i'.
60126         * lib/memchr2.c (memchr2): Likewise.
60127
60128 2008-04-26  Eric Blake  <ebb9@byu.net>
60129         and Bruno Haible  <bruno@clisp.org>
60130
60131         Optimize and test memrchr.
60132         * modules/memrchr (Depends-on): Add intprops.
60133         * lib/memrchr.c (__memrchr): Avoid false positives in loop.
60134         * modules/memrchr-tests: New file.
60135         * tests/test-memrchr.c: New file.
60136
60137 2008-04-26  Bruno Haible  <bruno@clisp.org>
60138
60139         Add tentative support for DragonFly BSD.
60140         * lib/stdio-impl.h: Add macros for DragonFly BSD.
60141         * lib/fbufmode.c (fbufmode): Update conditionals. Use fp_ instead of
60142         fp.
60143         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
60144         restore_seek_optimization, update_fpos_cache, rpl_fflush: Likewise.
60145         * lib/fpurge.c (fpurge): Likewise.
60146         * lib/freadable.c (freaadable): Likewise.
60147         * lib/freadahead.c (freadahead): Likewise.
60148         * lib/freading.c (freading): Likewise.
60149         * lib/freadptr.c (freadptr): Likewise.
60150         * lib/freadseek.c (freadptrinc): Likewise.
60151         * lib/fseeko.c (fseeko): Likewise.
60152         * lib/fseterr.c (fseterr): Likewise.
60153         * lib/fwritable.c (fwritable): Likewise.
60154         * lib/fwriting.c (fwriting): Likewise.
60155
60156 2008-04-26  Bruno Haible  <bruno@clisp.org>
60157
60158         * lib/stdio-impl.h: New file.
60159         * lib/fbufmode.c: Include stdio-impl.h.
60160         (fbufmode): Use fp_, remove redundant #defines.
60161         * lib/fflush.c: Include stdio-impl.h.
60162         (clear_ungetc_buffer): Remove redundant #defines.
60163         * lib/fpurge.c: Include stdio-impl.h.
60164         (fpurge): Remove redundant #defines.
60165         * lib/freadable.c: Include stdio-impl.h.
60166         (freadable): Remove redundant #defines.
60167         * lib/freadahead.c: Include stdio-impl.h.
60168         (freadahead): Remove redundant #defines.
60169         * lib/freading.c: Include stdio-impl.h.
60170         (freading): Remove redundant #defines.
60171         * lib/freadptr.c: Include stdio-impl.h.
60172         (freadptr): Remove redundant #defines.
60173         * lib/freadseek.c: Include stdio-impl.h.
60174         (freadptrinc): Remove redundant #defines.
60175         * lib/fseeko.c: Include stdio-impl.h.
60176         (rpl_fseeko): Remove redundant #defines.
60177         * lib/fseterr.c: Include stdio-impl.h.
60178         (fseterr): Remove redundant #defines.
60179         * lib/fwritable.c: Include stdio-impl.h.
60180         (fwritable: Remove redundant #defines.
60181         * lib/fwriting.c: Include stdio-impl.h.
60182         (fwriting): Remove redundant #defines.
60183         * modules/fbufmode (Files): Add lib/stdio-impl.h.
60184         * modules/fflush (Files): Likewise.
60185         * modules/fpurge (Files): Likewise.
60186         * modules/freadable (Files): Likewise.
60187         * modules/freadahead (Files): Likewise.
60188         * modules/freading (Files): Likewise.
60189         * modules/freadptr (Files): Likewise.
60190         * modules/freadseek (Files): Likewise.
60191         * modules/fseeko (Files): Likewise.
60192         * modules/fseterr (Files): Likewise.
60193         * modules/fwritable (Files): Likewise.
60194         * modules/fwriting (Files): Likewise.
60195
60196 2008-04-26  Bruno Haible  <bruno@clisp.org>
60197
60198         * lib/fflush.c (clear_ungetc_buffer, disable_seek_optimization,
60199         restore_seek_optimization, update_fpos_cache): New functions, extracted
60200         from rpl_fflush.
60201         (rpl_fflush): Use them.
60202         * m4/fflush.m4 (gl_PREREQ_FFLUSH): New macro.
60203         (gl_REPLACE_FFLUSH): Use it.
60204
60205 2008-04-26  Bruno Haible  <bruno@clisp.org>
60206
60207         * tests/test-xstrtol.sh: Work around limitation of an old 'tr' program
60208         on Solaris.
60209         * tests/test-xstrtoimax.sh: Likewise.
60210         * tests/test-xstrtoumax.sh: Likewise.
60211         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
60212
60213 2008-04-26  Bruno Haible  <bruno@clisp.org>
60214
60215         * modules/memchr-tests: New file.
60216         * tests/test-memchr.c; New file, based on tests/test-memchr2.c.
60217
60218 2008-04-26  Eric Blake  <ebb9@byu.net>
60219             Bruno Haible  <bruno@clisp.org>
60220
60221         * lib/memchr.c: Include intprops.h.
60222         (__memchr): Optimize parallel detection of matching bytes. Rename local
60223         variables. Add explanatory comments.
60224
60225 2008-04-26  Bruno Haible  <bruno@clisp.org>
60226
60227         Fix module 'memchr', broken since 2000-10-28.
60228         * lib/memchr.c: Outside glibc, define memchr, not __memchr.
60229
60230 2008-04-26  Bruno Haible  <bruno@clisp.org>
60231
60232         * lib/memchr2.c (memchr2): Rename local variables. Add explanatory
60233         comments.
60234
60235 2008-04-25  Eric Blake  <ebb9@byu.net>
60236
60237         Use native fstatat on cygwin 1.7.0.
60238         * m4/openat.m4 (gl_FUNC_OPENAT): Make sure lstat check is made
60239         first.
60240
60241 2008-04-23  Eric Blake  <ebb9@byu.net>
60242
60243         Improve memchr2 performance.
60244         * lib/memchr2.c (memchr2): Further optimize parallel detection of
60245         NUL bytes.
60246         * modules/memchr2 (Depends-on): Use intprops.h.
60247
60248 2008-04-23  Simon Josefsson  <simon@josefsson.org>
60249
60250         * lib/sys_socket.in.h (setsockopt): Be more type safe by declaring
60251         an inline function instead of a CPP macro.  Patch by Ben Pfaff
60252         <blp@cs.stanford.edu>.
60253
60254 2008-04-23  Simon Josefsson  <simon@josefsson.org>
60255
60256         * lib/arpa_inet.in.h: New file.
60257
60258         * modules/arpa_inet (Files): Add lib/arpa_inet.in.h.
60259         (Makefile.am): Sed in substitute header file.
60260
60261         * m4/arpa_inet_h.m4: Add gl_ARPA_INET_H_DEFAULTS and
60262         gl_ARPA_INET_MODULE_INDICATOR.  Use them.
60263
60264         * modules/inet_ntop (configure.ac): Use
60265         gl_ARPA_INET_MODULE_INDICATOR.
60266
60267         * modules/inet_pton (configure.ac): Use
60268         gl_ARPA_INET_MODULE_INDICATOR.
60269
60270 2008-04-22  Jim Meyering  <meyering@redhat.com>
60271
60272         * modules/verify (License): Re-license as LGPLv2+.
60273
60274 2008-04-22  Simon Josefsson  <simon@josefsson.org>
60275
60276         * lib/sys_socket.in.h: Define setsockopt macro to cast fourth
60277         parameter to void* as per POSIX standard (MinGW uses char*).
60278
60279 2008-04-21  Bruno Haible  <bruno@clisp.org>
60280
60281         * lib/wctype.in.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
60282         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
60283         Define to replacements if REPLACE_ISWCNTRL is 1.
60284         * m4/wctype.m4 (gl_WCTYPE_H): Test whether the isw* functions work.
60285         If not, set WCTYPE_H to nonempty and REPLACE_ISWCNTRL to 1.
60286         * modules/wctype (Makefile.am): Substitute REPLACE_ISWCNTRL.
60287         * doc/posix-functions/iswalnum.texi: Mention the 'wctype' module and
60288         what it fixes.
60289         * doc/posix-functions/iswalpha.texi: Likewise.
60290         * doc/posix-functions/iswblank.texi: Likewise.
60291         * doc/posix-functions/iswcntrl.texi: Likewise.
60292         * doc/posix-functions/iswdigit.texi: Likewise.
60293         * doc/posix-functions/iswgraph.texi: Likewise.
60294         * doc/posix-functions/iswlower.texi: Likewise.
60295         * doc/posix-functions/iswprint.texi: Likewise.
60296         * doc/posix-functions/iswpunct.texi: Likewise.
60297         * doc/posix-functions/iswspace.texi: Likewise.
60298         * doc/posix-functions/iswupper.texi: Likewise.
60299         * doc/posix-functions/iswxdigit.texi: Likewise.
60300         Reported by Alain Guibert.
60301
60302 2008-04-21  Bruno Haible  <bruno@clisp.org>
60303
60304         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Fix typo in last commit.
60305         Patch by Alain Guibert.
60306
60307 2008-04-21  Bruno Haible  <bruno@clisp.org>
60308
60309         Fix test failures on mingw.
60310         * tests/test-xstrtol.c (print_no_progname): New function.
60311         (main): Install it in error_print_progname hook.
60312         * tests/test-xstrtol.sh: Convert CR/LF to NL in output.
60313         * tests/test-xstrtoimax.sh: Likewise.
60314         * tests/test-xstrtoumax.sh: Likewise.
60315
60316 2008-04-21  Bruno Haible  <bruno@clisp.org>
60317
60318         Fix test failure on mingw.
60319         * tests/test-argp-2.sh (func_compare): Remove CRs from sed's output.
60320
60321 2008-04-21  Bruno Haible  <bruno@clisp.org>
60322
60323         * lib/localename.c (SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN):
60324         Actually assign a value.
60325
60326 2008-04-20  Bruno Haible  <bruno@clisp.org>
60327
60328         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl',
60329         take 2.
60330         * lib/canonicalize.c (canonicalize_file_name): Elide if the
60331         'canonicalize-lgpl' module is also used.
60332         * lib/canonicalize-lgpl.c: Undo last change.
60333         * modules/canonicalize-lgpl (configure.ac): Invoke gl_MODULE_INDICATOR.
60334
60335 2008-04-20  Bruno Haible  <bruno@clisp.org>
60336
60337         * lib/mkdir.c (mkdir): Undefine after the includes, not right after
60338         config.h. Provide _mkdir based fallback for mingw.
60339         * lib/sys_stat.in.h (mkdir): Define through an 'extern' declaration
60340         if REPLACE_MKDIR is 1. Otherwise, test for mingw directly.
60341         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Require
60342         gl_SYS_STAT_H_DEFAULTS. When doing the replacement, set REPLACE_MKDIR
60343         rather than defining mkdir in config.h.
60344         * m4/sys_stat_h.m4 (gl_SYS_STAT_MODULE_INDICATOR): New macro.
60345         (gl_SYS_STAT_H_DEFAULTS): New macro.
60346         (gl_HEADER_SYS_STAT_H): Require it. Don't set HAVE_DECL_MKDIR and
60347         HAVE_IO_H any more.
60348         * modules/sys_stat (Makefile.am): Substitute REPLACE_MKDIR instead of
60349         HAVE_DECL_MKDIR and HAVE_IO_H.
60350
60351 2008-04-20  Bruno Haible  <bruno@clisp.org>
60352
60353         * lib/isapipe.c: Port to native Windows platforms.
60354
60355 2008-04-20  Bruno Haible  <bruno@clisp.org>
60356
60357         * lib/gc-gnulib.c: Include <windows.h> before <wincrypt.h>.
60358
60359 2008-04-21  Eric Blake  <ebb9@byu.net>
60360
60361         Work around preprocessors that don't handle UINTMAX_MAX.
60362         * lib/memchr2.c (memchr2): Avoid embedded #if.
60363         Reported by Alain Guibert, fix suggested by Bruno Haible.
60364
60365 2008-04-21  Simon Josefsson  <simon@josefsson.org>
60366
60367         * doc/posix-functions/strftime.texi (strftime): Explain better
60368         Windows incompatibility.  Suggested by Micah Cowan
60369         <micah@cowan.name>.
60370
60371 2008-04-20  Bruno Haible  <bruno@clisp.org>
60372
60373         * modules/uniconv/u32-conv-to-enc (Depends-on): Add unistr/u32-mblen,
60374         unistr/u8-mblen.
60375
60376 2008-04-20  Bruno Haible  <bruno@clisp.org>
60377
60378         Fix test failure on platforms with non-GNU iconv.
60379         * lib/uniconv/u16-conv-to-enc.c (u16_to_u8_lenient): New function.
60380         (U_TO_U8): Use it, rather than u16_to_u8.
60381         * lib/uniconv/u-conv-to-enc.h (FUNC): Allow an incomplete sequence of
60382         units at the end of the input string.
60383         * modules/uniconv/u16-conv-to-enc (Depends-on): Update.
60384
60385 2008-04-20  Bruno Haible  <bruno@clisp.org>
60386
60387         * tests/uniconv/test-u8-conv-to-enc.c (main): Accept result == NULL
60388         when the resulting length is 0.
60389         * tests/uniconv/test-u16-conv-to-enc.c (main): Likewise.
60390
60391 2008-04-20  Bruno Haible  <bruno@clisp.org>
60392
60393         * m4/roundf.m4 (gl_FUNC_ROUNDF): Add test whether roundf actually
60394         works.
60395         * doc/posix-functions/roundf.texi: Mention roundf bug on mingw.
60396
60397 2008-04-20  Bruno Haible  <bruno@clisp.org>
60398
60399         * tests/test-tsearch.c (main): Don't use initstate if it is missing.
60400         * modules/tsearch-tests (configure.ac): Test for initstate function.
60401
60402 2008-04-20  Bruno Haible  <bruno@clisp.org>
60403
60404         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Also provided a substitute
60405         for nlink_t if missing.
60406         * tests/test-sys_stat.c: Check the existence of the nlink_t type.
60407
60408 2008-04-19  Bruno Haible  <bruno@clisp.org>
60409
60410         Work around snprintf bug on Linux libc5.
60411         * m4/printf.m4 (gl_SNPRINTF_SIZE1): New macro.
60412         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
60413         gl_SNPRINTF_SIZE1.
60414         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
60415         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Likewise. Replace snprintf if
60416         that test failed.
60417         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Likewise.
60418         * lib/vasnprintf.c (USE_SNPRINTF): Set to 0 on Linux libc5 systems.
60419         * modules/snprintf (Files): Add m4/printf.m4.
60420         * modules/vsnprintf (Files): Likewise.
60421         * doc/posix-functions/snprintf.texi: Document Linux libc5 problem.
60422         * doc/posix-functions/vsnprintf.texi: Likewise.
60423
60424 2008-04-19  Bruno Haible  <bruno@clisp.org>
60425
60426         * lib/vasnprintf.c (floorlog10l, floorlog10): Reduce maximum error
60427         from 0.0058 to less than 10^-7.
60428
60429 2008-04-19  Bruno Haible  <bruno@clisp.org>
60430
60431         Fix rounding when a precision is given.
60432         * lib/vasnprintf.c (is_borderline): New function.
60433         (VASNPRINTF): For %e and %g, consider replacing the digits 10....0 with
60434         9...9x.
60435         * tests/test-vasnprintf-posix.c (test_function): Test rounding with %f,
60436         %e, %g.
60437         * tests/test-vasprintf-posix.c (test_function): Likewise.
60438         * tests/test-snprintf-posix.h (test_function): Likewise.
60439         * tests/test-sprintf-posix.h (test_function): Likewise.
60440         * tests/test-fprintf-posix.h (test_function): Test rounding with %f.
60441         * tests/test-printf-posix.h (test_function): Likewise.
60442         * tests/test-printf-posix.output: Update.
60443         Reported by John Darrington <john@darrington.wattle.id.au> via
60444         Ben Pfaff <blp@cs.stanford.edu>.
60445
60446 2008-04-18  Simon Josefsson  <simon@josefsson.org>
60447
60448         * doc/posix-functions/strftime.texi (strftime): Clarify platform.
60449         Suggested by Bruno Haible <bruno@clisp.org>.
60450
60451 2008-04-17  Bruno Haible  <bruno@clisp.org>
60452
60453         * lib/lock.h (gl_lock_destroy, gl_rwlock_destroy,
60454         gl_recursive_lock_destroy): Provide no-op definitions for the dummy
60455         implementation.
60456         Patch by Bruce Merry <bmerry@gmail.com>.
60457
60458 2008-04-17  Simon Josefsson  <simon@josefsson.org>
60459
60460         * doc/posix-functions/strftime.texi (strftime): Mention that %e
60461         doesn't work under Windows.
60462
60463 2008-04-16  Bruno Haible  <bruno@clisp.org>
60464
60465         * lib/localename.c (LANG_MAORI, LANG_QUECHUA, LANG_SOTHO, LANG_UIGHUR):
60466         New macros.
60467         (SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_LATIN,
60468         SUBLANG_BOSNIAN_BOSNIA_HERZEGOVINA_CYRILLIC,
60469         SUBLANG_CROATIAN_CROATIA, SUBLANG_CROATIAN_BOSNIA_HERZEGOVINA_LATIN,
60470         SUBLANG_MONGOLIAN_CYRILLIC_MONGOLIA, SUBLANG_MONGOLIAN_PRC,
60471         SUBLANG_QUECHUA_BOLIVIA, SUBLANG_QUECHUA_ECUADOR, SUBLANG_QUECHUA_PERU,
60472         SUBLANG_RUSSIAN_RUSSIA, SUBLANG_RUSSIAN_MOLDAVIA, SUBLANG_SPANISH_US,
60473         SUBLANG_TIBETAN_PRC, SUBLANG_TIBETAN_BHUTAN, SUBLANG_UIGHUR_PRC): New
60474         macros.
60475         (gl_locale_name_from_win32_LANGID): Refine code for Croatian/Bosnian,
60476         Mongolian, Russian, Spanish, Tibetan. Add code for Maori, Quechua,
60477         Northern Sotho, Uighur.
60478
60479 2008-04-16  Bruno Haible  <bruno@clisp.org>
60480
60481         * lib/localename.c (SUBLANG_SINDHI_INDIA): New macro.
60482         (SUBLANG_SINDHI_PAKISTAN): Change value from 1 to 2.
60483         (gl_locale_name_from_win32_LANGID): Fix code for Sindhi.
60484         Reported by Daniel Bergström <daniel@octocode.com>.
60485
60486 2007-12-25  KJK::Hyperion  <hackbunny@reactos.com>
60487             Bruno Haible  <bruno@clisp.org>
60488
60489         * lib/localename.c (gl_locale_name_canonicalize) [WIN32_NATIVE]: New
60490         function.
60491         (gl_locale_name_from_win32_LANGID, gl_locale_name_from_win32_LCID):
60492         New functions, mostly extracted from gl_locale_name_default.
60493         (gl_locale_name_default): Use gl_locale_name_from_win32_LCID.
60494
60495 2008-04-16  Eric Blake  <ebb9@byu.net>
60496
60497         Adjust strtod detection to catch glibc 2.7 bug.
60498         * m4/strtod.m4 (gl_FUNC_STRTOD): Test "nan()" behavior.
60499         Reported by John Gatewood Ham.
60500
60501 2008-04-16  Bruno Haible  <bruno@clisp.org>
60502
60503         Add tentative support for Linux libc5.
60504         * lib/fbufmode.c (fbufmode) [__GNU_LIBRARY__==1]: Reuse glibc2 code.
60505         * lib/fpurge.c (fpurge): Likewise.
60506         * lib/freadable.c (freadable): Likewise.
60507         * lib/freadahead.c (freadahead): Likewise.
60508         * lib/freading.c (freading): Likewise.
60509         * lib/freadptr.c (freadptr): Likewise.
60510         * lib/freadseek.c (freadptrinc): Likewise.
60511         * lib/fseeko.c (rpl_fseeko): Likewise.
60512         * lib/fseterr.c (fseterr): Likewise.
60513         * lib/fwritable.c (fwritable): Likewise.
60514         * lib/fwriting.c (fwriting): Likewise.
60515         Reported by Alain Guibert <alguibert+bts@free.fr>.
60516
60517 2008-04-15  Bruno Haible  <bruno@clisp.org>
60518
60519         * modules/mathl (configure.ac): Define module indicator.
60520
60521 2008-04-15  Bruno Haible  <bruno@clisp.org>
60522
60523         * lib/logl.c (logl): Remove unused variables.
60524
60525 2008-04-15  Bruno Haible  <bruno@clisp.org>
60526
60527         * lib/uniconv/u-conv-to-enc.h (FUNC): Fix return value when U_TO_U8
60528         fails.
60529
60530 2008-04-15  Bruno Haible  <bruno@clisp.org>
60531
60532         * lib/trim.c (trim2): Fix argument of isspace() macro.
60533
60534 2008-04-15  Paolo Bonzini  <bonzini@gnu.org>
60535
60536         * lib/tanl.c (kernel_tanl): Rename flag to invert, initialize it
60537         to 0.
60538         * lib/trigl.c (ieee754_rem_pio2l): Fix range checks.
60539
60540 2008-04-14  Bruno Haible  <bruno@clisp.org>
60541
60542         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Fix underquoting of
60543         AC_LANG_PROGRAM argument.
60544         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Likewise.
60545         * m4/gethrxtime.m4 (gl_ARITHMETIC_HRTIME_T): Likewise.
60546         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Likewise.
60547         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
60548         * m4/math_h.m4 (gl_MATH_H): Likewise.
60549         * m4/mbstate_t.m4 (AC_TYPE_MBSTATE_T): Likewise.
60550         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
60551         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
60552         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Likewise.
60553         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
60554         * m4/regex.m4 (gl_REGEX): Likewise.
60555         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Likewise.
60556         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET): Likewise.
60557         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
60558         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Likewise.
60559         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
60560         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
60561         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
60562         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
60563
60564 2008-04-14  Jim Meyering  <meyering@redhat.com>
60565
60566         test-strtod: fix typos: s/abs/fabs/
60567         * tests/test-strtod.c (main): Use fabs, not narrowing-to-int "abs".
60568
60569 2008-04-13  Bruno Haible  <bruno@clisp.org>
60570
60571         Fix conflict between modules 'canonicalize' and 'canonicalize-lgpl'.
60572         * lib/canonicalize-lgpl.c: Elide the contents if the 'canonicalize'
60573         module is also used and while not building the reloc-wrapper.
60574
60575 2008-04-13  Bruno Haible  <bruno@clisp.org>
60576
60577         * tests/test-getaddrinfo.c (simple): Ignore EAI_NODATA error.
60578
60579 2008-04-13  Bruno Haible  <bruno@clisp.org>
60580
60581         Fix AIX compilation failure introduced on 2008-04-02.
60582         * tests/test-frexp.c (exp): Undefine before redefining.
60583         * tests/test-frexpl.c (exp): Likewise.
60584
60585 2008-04-13  Bruno Haible  <bruno@clisp.org>
60586
60587         Work around a HP-UX stdio bug.
60588         * tests/test-ftell.c (main): Disable the fseek/ftell test on HP-UX.
60589         * tests/test-ftello.c (main): Likewise.
60590         * doc/posix-functions/ftell.texi: Mention HP-UX bug.
60591         * doc/posix-functions/ftello.texi: Likewise.
60592
60593 2008-04-13  Bruno Haible  <bruno@clisp.org>
60594
60595         Make test-signbit pass on HP-UX/hppa.
60596         * tests/test-signbit.c (minus_zerol): New variable.
60597         (test_signbitl): Use it.
60598
60599 2008-04-13  Bruno Haible  <bruno@clisp.org>
60600
60601         Make truncl work on OSF/1 4.0.
60602         * m4/truncl.m4 (gl_FUNC_TRUNCL): Test whether truncl actually works.
60603         Set REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60604         * lib/math.in.h (truncl): Test REPLACE_TRUNCL, not HAVE_DECL_TRUNCL.
60605         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_TRUNCL, not
60606         HAVE_DECL_TRUNCL.
60607         * modules/math (Makefile.am): Substitute REPLACE_TRUNCL, not
60608         HAVE_DECL_TRUNCL.
60609         * doc/posix-functions/truncl.texi: Document the OSF/1 4.0 problem.
60610
60611 2008-04-13  Bruno Haible  <bruno@clisp.org>
60612
60613         * lib/unictype.h: Remove trailing comma from enumeration definitions.
60614
60615 2008-04-13  Bruno Haible  <bruno@clisp.org>
60616
60617         * lib/count-one-bits.h (COUNT_ONE_BITS): Rewrite verification
60618         expression, so as to avoid HP-UX 11 cc compiler bug.
60619
60620 2008-04-13  Bruno Haible  <bruno@clisp.org>
60621
60622         * m4/regex.m4 (gl_PREREQ_REGEX): Also check for <libintl.h>.
60623
60624 2008-04-13  Bruno Haible  <bruno@clisp.org>
60625
60626         * lib/git-merge-changelog.c: Remove empty declaration outside of
60627         functions.
60628
60629 2008-04-13  Bruno Haible  <bruno@clisp.org>
60630
60631         * modules/quotearg-tests (Makefile.am): Define test_quotearg_LDADD.
60632
60633 2008-04-13  Bruno Haible  <bruno@clisp.org>
60634
60635         * doc/posix-headers/sys_socket.texi: Document the problem on EMX.
60636         * lib/sys_socket.in.h (SHUT_RD, SHUT_WR, SHUT_RDWR): Define if missing.
60637         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Replace <sys/socket.h>
60638         also if it exists but lacks definitions of the SHUT_* macros.
60639         * modules/sys_socket (Description): Update.
60640         Reported by Elbert Pol <e.pol@chello.nl>.
60641
60642 2008-04-13  Bruno Haible  <bruno@clisp.org>
60643
60644         * lib/localcharset.c (OS2): Don't redefine if already defined.
60645         Reported by Elbert Pol <e.pol@chello.nl>.
60646
60647 2008-04-13  Bruno Haible  <bruno@clisp.org>
60648
60649         * lib/binary-io.h [__EMX__]: Include <io.h>.
60650         Reported by Elbert Pol <e.pol@chello.nl>.
60651
60652 2008-04-12  Bruno Haible  <bruno@clisp.org>
60653
60654         * lib/fpucw.h: Enable the definitions also for x86_64.
60655         Needed for NetBSD/x86_64.
60656         Reported by Thomas Klausner <tk@giga.or.at>.
60657
60658 2008-04-12  Bruno Haible  <bruno@clisp.org>
60659
60660         * tests/test-strtod.c: Include isnand.h.
60661         (main): Use isnand instead of isnan.
60662         Reported by Jim Meyering.
60663
60664 2008-04-12  Bruno Haible  <bruno@clisp.org>
60665
60666         * m4/isnanf.m4 (gl_ISNANF_WORKS): Add a test for a special NaN.
60667         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
60668
60669 2008-04-12  Jim Meyering  <meyering@redhat.com>
60670
60671         * m4/math_h.m4 (gl_MATH_H): Fix typos.
60672
60673 2008-04-12  Bruno Haible  <bruno@clisp.org>
60674
60675         * lib/freadptr.c (freadptr) [__EMX__]: Fix wrong assertion.
60676         Reported by Elbert Pol <e.pol@chello.nl>.
60677
60678 2008-04-12  Eric Blake  <ebb9@byu.net>
60679
60680         Work around Solaris 10 math.h bug.
60681         * m4/math_h.m4 (gl_MATH_H): Check for bug.
60682         (gl_MATH_H_DEFAULTS): Set up default.
60683         * modules/math (Makefile.am): Replace new indicators.
60684         * lib/math.in.h (NAN, HUGE_VAL): Provide replacements.
60685         * tests/test-math.c (main): Test this.
60686         * m4/strtod.m4 (gl_FUNC_STRTOD): Don't rely on HUGE_VAL.
60687         * doc/posix-headers/math.texi (math.h): Mention bug.
60688         Reported by Nelson H. F. Beebe and Jim Meyering.
60689
60690 2008-04-11  Bruno Haible  <bruno@clisp.org>
60691
60692         Adapt to future versions of Apple GCC.
60693         * lib/argp-fmtstream.h (ARGP_FS_EI): Don't test __GNUC_GNU_INLINE__.
60694         Reported by Peter O'Gorman <peter@pogma.com>.
60695
60696 2008-04-11  Bruno Haible  <bruno@clisp.org>
60697
60698         * tests/test-getaddrinfo.c (simple): Ignore EAI_NONAME error.
60699
60700 2008-04-11  Bruno Haible  <bruno@clisp.org>
60701
60702         * modules/strsignal-tests (Makefile.am): Define test_strsignal_LDADD.
60703
60704         * modules/getaddrinfo-tests (Makefile.am): Define
60705         test_getaddrinfo_LDADD.
60706
60707 2008-04-11  Bruno Haible  <bruno@clisp.org>
60708
60709         * lib/strsignal.c (_sys_siglist): Don't declare if already declared.
60710         (init): Fix syntax error.
60711         * m4/strsignal.m4 (gl_PREREQ_STRSIGNAL): Check whether _sys_siglist
60712         is declared.
60713
60714 2008-04-11  Bruno Haible  <bruno@clisp.org>
60715
60716         * lib/glob.c: Include <stdbool.h>. Needed at least with IRIX cc.
60717         * modules/glob (Depends-on): Add stdbool.
60718
60719 2008-04-11  Bruno Haible  <bruno@clisp.org>
60720
60721         * lib/trim.c: Include <string.h>.
60722
60723 2008-04-11  Eric Blake  <ebb9@byu.net>
60724
60725         Avoid compile failure on OS/2.
60726         * lib/regex_internal.h (internal_function): Disable optimization
60727         on OS/2 (__EMX__), where it caused compiler error.
60728         Reported by Elbert Pol.
60729
60730 2008-04-11  Bruno Haible  <bruno@clisp.org>
60731
60732         Flush the standard error stream before aborting. Needed on mingw.
60733         * tests/test-argmatch.c (ASSERT): Call fflush(stderr) before abort().
60734         * tests/test-array_list.c (ASSERT): Likewise.
60735         * tests/test-array_oset.c (ASSERT): Likewise.
60736         * tests/test-avltree_list.c (ASSERT): Likewise.
60737         * tests/test-avltree_oset.c (ASSERT): Likewise.
60738         * tests/test-avltreehash_list.c (ASSERT): Likewise.
60739         * tests/test-binary-io.c (ASSERT): Likewise.
60740         * tests/test-byteswap.c (ASSERT): Likewise.
60741         * tests/test-c-ctype.c (ASSERT): Likewise.
60742         * tests/test-c-strcasecmp.c (ASSERT): Likewise.
60743         * tests/test-c-strcasestr.c (ASSERT): Likewise.
60744         * tests/test-c-strncasecmp.c (ASSERT): Likewise.
60745         * tests/test-c-strstr.c (ASSERT): Likewise.
60746         * tests/test-canonicalize-lgpl.c (ASSERT): Likewise.
60747         * tests/test-canonicalize.c (ASSERT): Likewise.
60748         * tests/test-carray_list.c (ASSERT): Likewise.
60749         * tests/test-ceilf1.c (ASSERT): Likewise.
60750         * tests/test-ceilf2.c (ASSERT): Likewise.
60751         * tests/test-ceill.c (ASSERT): Likewise.
60752         * tests/test-count-one-bits.c (ASSERT): Likewise.
60753         * tests/test-fbufmode.c (ASSERT): Likewise.
60754         * tests/test-fflush2.c (ASSERT): Likewise.
60755         * tests/test-floorf1.c (ASSERT): Likewise.
60756         * tests/test-floorf2.c (ASSERT): Likewise.
60757         * tests/test-floorl.c (ASSERT): Likewise.
60758         * tests/test-fopen.c (ASSERT): Likewise.
60759         * tests/test-fpending.c (ASSERT): Likewise.
60760         * tests/test-fprintf-posix.c (ASSERT): Likewise.
60761         * tests/test-fpurge.c (ASSERT): Likewise.
60762         * tests/test-freadable.c (ASSERT): Likewise.
60763         * tests/test-freadahead.c (ASSERT): Likewise.
60764         * tests/test-freading.c (ASSERT): Likewise.
60765         * tests/test-freadptr.c (ASSERT): Likewise.
60766         * tests/test-freadptr2.c (ASSERT): Likewise.
60767         * tests/test-freadseek.c (ASSERT): Likewise.
60768         * tests/test-freopen.c (ASSERT): Likewise.
60769         * tests/test-frexp.c (ASSERT): Likewise.
60770         * tests/test-frexpl.c (ASSERT): Likewise.
60771         * tests/test-fseek.c (ASSERT): Likewise.
60772         * tests/test-fseeko.c (ASSERT): Likewise.
60773         * tests/test-fstrcmp.c (ASSERT): Likewise.
60774         * tests/test-ftell.c (ASSERT): Likewise.
60775         * tests/test-ftello.c (ASSERT): Likewise.
60776         * tests/test-func.c (ASSERT): Likewise.
60777         * tests/test-fwritable.c (ASSERT): Likewise.
60778         * tests/test-fwriting.c (ASSERT): Likewise.
60779         * tests/test-getdelim.c (ASSERT): Likewise.
60780         * tests/test-getline.c (ASSERT): Likewise.
60781         * tests/test-i-ring.c (ASSERT): Likewise.
60782         * tests/test-iconv-utf.c (ASSERT): Likewise.
60783         * tests/test-iconv.c (ASSERT): Likewise.
60784         * tests/test-isfinite.c (ASSERT): Likewise.
60785         * tests/test-isnand.c (ASSERT): Likewise.
60786         * tests/test-isnanf.c (ASSERT): Likewise.
60787         * tests/test-isnanl.h (ASSERT): Likewise.
60788         * tests/test-ldexpl.c (ASSERT): Likewise.
60789         * tests/test-linked_list.c (ASSERT): Likewise.
60790         * tests/test-linkedhash_list.c (ASSERT): Likewise.
60791         * tests/test-localename.c (ASSERT): Likewise.
60792         * tests/test-lseek.c (ASSERT): Likewise.
60793         * tests/test-mbscasecmp.c (ASSERT): Likewise.
60794         * tests/test-mbscasestr1.c (ASSERT): Likewise.
60795         * tests/test-mbscasestr2.c (ASSERT): Likewise.
60796         * tests/test-mbscasestr3.c (ASSERT): Likewise.
60797         * tests/test-mbscasestr4.c (ASSERT): Likewise.
60798         * tests/test-mbschr.c (ASSERT): Likewise.
60799         * tests/test-mbscspn.c (ASSERT): Likewise.
60800         * tests/test-mbsncasecmp.c (ASSERT): Likewise.
60801         * tests/test-mbspbrk.c (ASSERT): Likewise.
60802         * tests/test-mbspcasecmp.c (ASSERT): Likewise.
60803         * tests/test-mbsrchr.c (ASSERT): Likewise.
60804         * tests/test-mbsspn.c (ASSERT): Likewise.
60805         * tests/test-mbsstr1.c (ASSERT): Likewise.
60806         * tests/test-mbsstr2.c (ASSERT): Likewise.
60807         * tests/test-mbsstr3.c (ASSERT): Likewise.
60808         * tests/test-memchr2.c (ASSERT): Likewise.
60809         * tests/test-memmem.c (ASSERT): Likewise.
60810         * tests/test-open.c (ASSERT): Likewise.
60811         * tests/test-printf-frexp.c (ASSERT): Likewise.
60812         * tests/test-printf-frexpl.c (ASSERT): Likewise.
60813         * tests/test-printf-posix.c (ASSERT): Likewise.
60814         * tests/test-quotearg.c (ASSERT): Likewise.
60815         * tests/test-rbtree_list.c (ASSERT): Likewise.
60816         * tests/test-rbtree_oset.c (ASSERT): Likewise.
60817         * tests/test-rbtreehash_list.c (ASSERT): Likewise.
60818         * tests/test-round1.c (ASSERT): Likewise.
60819         * tests/test-roundf1.c (ASSERT): Likewise.
60820         * tests/test-roundl.c (ASSERT): Likewise.
60821         * tests/test-signbit.c (ASSERT): Likewise.
60822         * tests/test-sleep.c (ASSERT): Likewise.
60823         * tests/test-snprintf-posix.c (ASSERT): Likewise.
60824         * tests/test-snprintf.c (ASSERT): Likewise.
60825         * tests/test-sprintf-posix.c (ASSERT): Likewise.
60826         * tests/test-stat-time.c (ASSERT): Likewise.
60827         * tests/test-strcasestr.c (ASSERT): Likewise.
60828         * tests/test-strerror.c (ASSERT): Likewise.
60829         * tests/test-striconv.c (ASSERT): Likewise.
60830         * tests/test-striconveh.c (ASSERT): Likewise.
60831         * tests/test-striconveha.c (ASSERT): Likewise.
60832         * tests/test-strsignal.c (ASSERT): Likewise.
60833         * tests/test-strstr.c (ASSERT): Likewise.
60834         * tests/test-strtod.c (ASSERT): Likewise.
60835         * tests/test-trunc1.c (ASSERT): Likewise.
60836         * tests/test-trunc2.c (ASSERT): Likewise.
60837         * tests/test-truncf1.c (ASSERT): Likewise.
60838         * tests/test-truncf2.c (ASSERT): Likewise.
60839         * tests/test-truncl.c (ASSERT): Likewise.
60840         * tests/test-vasnprintf-posix.c (ASSERT): Likewise.
60841         * tests/test-vasnprintf-posix2.c (ASSERT): Likewise.
60842         * tests/test-vasnprintf.c (ASSERT): Likewise.
60843         * tests/test-vasprintf-posix.c (ASSERT): Likewise.
60844         * tests/test-vasprintf.c (ASSERT): Likewise.
60845         * tests/test-vfprintf-posix.c (ASSERT): Likewise.
60846         * tests/test-vprintf-posix.c (ASSERT): Likewise.
60847         * tests/test-vsnprintf-posix.c (ASSERT): Likewise.
60848         * tests/test-vsnprintf.c (ASSERT): Likewise.
60849         * tests/test-vsprintf-posix.c (ASSERT): Likewise.
60850         * tests/test-wcwidth.c (ASSERT): Likewise.
60851         * tests/test-xfprintf-posix.c (ASSERT): Likewise.
60852         * tests/test-xprintf-posix.c (ASSERT): Likewise.
60853         * tests/test-xvasprintf.c (ASSERT): Likewise.
60854         * tests/uniconv/test-u16-conv-from-enc.c (ASSERT): Likewise.
60855         * tests/uniconv/test-u16-conv-to-enc.c (ASSERT): Likewise.
60856         * tests/uniconv/test-u16-strconv-from-enc.c (ASSERT): Likewise.
60857         * tests/uniconv/test-u16-strconv-to-enc.c (ASSERT): Likewise.
60858         * tests/uniconv/test-u32-conv-from-enc.c (ASSERT): Likewise.
60859         * tests/uniconv/test-u32-conv-to-enc.c (ASSERT): Likewise.
60860         * tests/uniconv/test-u32-strconv-from-enc.c (ASSERT): Likewise.
60861         * tests/uniconv/test-u32-strconv-to-enc.c (ASSERT): Likewise.
60862         * tests/uniconv/test-u8-conv-from-enc.c (ASSERT): Likewise.
60863         * tests/uniconv/test-u8-conv-to-enc.c (ASSERT): Likewise.
60864         * tests/uniconv/test-u8-strconv-from-enc.c (ASSERT): Likewise.
60865         * tests/uniconv/test-u8-strconv-to-enc.c (ASSERT): Likewise.
60866         * tests/unictype/test-bidi_byname.c (ASSERT): Likewise.
60867         * tests/unictype/test-bidi_name.c (ASSERT): Likewise.
60868         * tests/unictype/test-bidi_of.c (ASSERT): Likewise.
60869         * tests/unictype/test-bidi_test.c (ASSERT): Likewise.
60870         * tests/unictype/test-block_list.c (ASSERT): Likewise.
60871         * tests/unictype/test-block_of.c (ASSERT): Likewise.
60872         * tests/unictype/test-block_test.c (ASSERT): Likewise.
60873         * tests/unictype/test-categ_and.c (ASSERT): Likewise.
60874         * tests/unictype/test-categ_and_not.c (ASSERT): Likewise.
60875         * tests/unictype/test-categ_byname.c (ASSERT): Likewise.
60876         * tests/unictype/test-categ_name.c (ASSERT): Likewise.
60877         * tests/unictype/test-categ_none.c (ASSERT): Likewise.
60878         * tests/unictype/test-categ_of.c (ASSERT): Likewise.
60879         * tests/unictype/test-categ_or.c (ASSERT): Likewise.
60880         * tests/unictype/test-categ_test_withtable.c (ASSERT): Likewise.
60881         * tests/unictype/test-combining.c (ASSERT): Likewise.
60882         * tests/unictype/test-decdigit.c (ASSERT): Likewise.
60883         * tests/unictype/test-digit.c (ASSERT): Likewise.
60884         * tests/unictype/test-mirror.c (ASSERT): Likewise.
60885         * tests/unictype/test-numeric.c (ASSERT): Likewise.
60886         * tests/unictype/test-pr_byname.c (ASSERT): Likewise.
60887         * tests/unictype/test-pr_test.c (ASSERT): Likewise.
60888         * tests/unictype/test-predicate-part1.h (ASSERT): Likewise.
60889         * tests/unictype/test-scripts.c (ASSERT): Likewise.
60890         * tests/unictype/test-sy_c_ident.c (ASSERT): Likewise.
60891         * tests/unictype/test-sy_java_ident.c (ASSERT): Likewise.
60892         * tests/unistdio/test-u16-asnprintf1.c (ASSERT): Likewise.
60893         * tests/unistdio/test-u16-vasnprintf1.c (ASSERT): Likewise.
60894         * tests/unistdio/test-u16-vasnprintf2.c (ASSERT): Likewise.
60895         * tests/unistdio/test-u16-vasnprintf3.c (ASSERT): Likewise.
60896         * tests/unistdio/test-u16-vasprintf1.c (ASSERT): Likewise.
60897         * tests/unistdio/test-u16-vsnprintf1.c (ASSERT): Likewise.
60898         * tests/unistdio/test-u16-vsprintf1.c (ASSERT): Likewise.
60899         * tests/unistdio/test-u32-asnprintf1.c (ASSERT): Likewise.
60900         * tests/unistdio/test-u32-vasnprintf1.c (ASSERT): Likewise.
60901         * tests/unistdio/test-u32-vasnprintf2.c (ASSERT): Likewise.
60902         * tests/unistdio/test-u32-vasnprintf3.c (ASSERT): Likewise.
60903         * tests/unistdio/test-u32-vasprintf1.c (ASSERT): Likewise.
60904         * tests/unistdio/test-u32-vsnprintf1.c (ASSERT): Likewise.
60905         * tests/unistdio/test-u32-vsprintf1.c (ASSERT): Likewise.
60906         * tests/unistdio/test-u8-asnprintf1.c (ASSERT): Likewise.
60907         * tests/unistdio/test-u8-vasnprintf1.c (ASSERT): Likewise.
60908         * tests/unistdio/test-u8-vasnprintf2.c (ASSERT): Likewise.
60909         * tests/unistdio/test-u8-vasnprintf3.c (ASSERT): Likewise.
60910         * tests/unistdio/test-u8-vasprintf1.c (ASSERT): Likewise.
60911         * tests/unistdio/test-u8-vsnprintf1.c (ASSERT): Likewise.
60912         * tests/unistdio/test-u8-vsprintf1.c (ASSERT): Likewise.
60913         * tests/unistdio/test-ulc-asnprintf1.c (ASSERT): Likewise.
60914         * tests/unistdio/test-ulc-vasnprintf1.c (ASSERT): Likewise.
60915         * tests/unistdio/test-ulc-vasnprintf2.c (ASSERT): Likewise.
60916         * tests/unistdio/test-ulc-vasnprintf3.c (ASSERT): Likewise.
60917         * tests/unistdio/test-ulc-vasprintf1.c (ASSERT): Likewise.
60918         * tests/unistdio/test-ulc-vsnprintf1.c (ASSERT): Likewise.
60919         * tests/unistdio/test-ulc-vsprintf1.c (ASSERT): Likewise.
60920         * tests/uniwidth/test-u16-strwidth.c (ASSERT): Likewise.
60921         * tests/uniwidth/test-u16-width.c (ASSERT): Likewise.
60922         * tests/uniwidth/test-u32-strwidth.c (ASSERT): Likewise.
60923         * tests/uniwidth/test-u32-width.c (ASSERT): Likewise.
60924         * tests/uniwidth/test-u8-strwidth.c (ASSERT): Likewise.
60925         * tests/uniwidth/test-u8-width.c (ASSERT): Likewise.
60926         * tests/uniwidth/test-uc_width.c (ASSERT): Likewise.
60927         Reported by Eric Blake.
60928
60929 2008-04-11  Bruno Haible  <bruno@clisp.org>
60930
60931         * lib/wchar.in.h: Tweak comment.
60932
60933 2008-04-11  Bruno Haible  <bruno@clisp.org>
60934
60935         Fix __GNUC_STDC_INLINE__ predefine with Apple GCC on MacOS X 10.5.
60936         * gnulib-tool (func_emit_initmacro_start): Emit an invocation of
60937         gl_COMMON.
60938         * m4/gnulib-common.m4 (gl_COMMON, gl_COMMON_BODY): New macros.
60939
60940 2008-04-11  Bruno Haible  <bruno@clisp.org>
60941
60942         * modules/git-merge-changelog (git_merge_changelog_LDADD): Add LIBINTL.
60943
60944 2008-04-11  Simon Josefsson  <simon@josefsson.org>
60945
60946         * lib/gc-gnulib.c: On Windows, use CryptGenRandom from CSP instead
60947         of attempting to use non-existing /dev/*random.  Based on patch
60948         from Adam Strzelecki <ono@java.pl> in
60949         <http://lists.gnu.org/archive/html/help-gsasl/2008-02/msg00000.html>.
60950
60951 2008-04-08  Bruno Haible  <bruno@clisp.org>
60952
60953         Add tentative support for emx+gcc.
60954         * lib/fbufmode.c (fbufmode) [__EMX__]: Add conditional code.
60955         * lib/fpurge.c (fpurge): Likewise.
60956         * lib/freadable.c (freadable): Likewise.
60957         * lib/freadahead.c (freadahead): Likewise.
60958         * lib/freading.c (freading): Likewise.
60959         * lib/freadptr.c (freadptr): Likewise.
60960         * lib/freadseek.c (freadptrinc): Likewise.
60961         * lib/fseeko.c (rpl_fseeko): Likewise.
60962         * lib/fseterr.c (fseterr): Likewise.
60963         * lib/fwritable.c (fwritable): Likewise.
60964         * lib/fwriting.c (fwriting): Likewise.
60965         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for emx+gcc.
60966
60967 2008-04-09  Eric Blake  <ebb9@byu.net>
60968
60969         Avoid some autoconf warnings.
60970         * m4/regex.m4 (gl_REGEX): s/AC_HELP_STRING/AS_HELP_STRING/.
60971         * m4/acl.m4 (gl_FUNC_ACL): Likewise.
60972         * m4/afs.m4 (gl_AFS): Likewise.
60973         * m4/gc-random.m4 (gl_GC_RANDOM): Likewise.
60974         * m4/include_next.m4 (gl_INCLUDE_NEXT): s/AC_FOREACH/m4_foreach_w/.
60975         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
60976         * m4/stdint.m4 (gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED)
60977         (gl_INTEGER_TYPE_SUFFIX): Likewise.
60978         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE)
60979         (AC_CHECK_DECLS_ONCE): Likewise.
60980         Rename file...
60981         * m4/onceonly.m4: ...to this, and delete 2.54 variant, now that
60982         gnulib-tool requires autoconf 2.59 or better.
60983         * gnulib-tool (func_get_filelist): s/\(onceonly\)_2_57.m4/\1.m4/.
60984
60985 2008-04-08  Eric Blake  <ebb9@byu.net>
60986
60987         Use 'git describe --match' if present (added in git 1.5.5).
60988         * build-aux/git-version-gen: Limit result to tags that match 'v*'
60989         if possible.
60990
60991 2008-04-08  Bruno Haible  <bruno@clisp.org>
60992
60993         Add tentative support for OpenServer.
60994         * lib/fbufmode.c (fbufmode): Add conditional define for _flag, _base,
60995         _ptr, _cnt.
60996         * lib/fpurge.c (fpurge): Likewise.
60997         * lib/freadable.c (freadable): Likewise.
60998         * lib/freadahead.c (freadahead): Likewise.
60999         * lib/freading.c (freading): Likewise.
61000         * lib/freadptr.c (freadptr): Likewise.
61001         * lib/freadseek.c (freadptrinc): Likewise.
61002         * lib/fseeko.c (rpl_fseeko): Likewise.
61003         * lib/fseterr.c (fseterr): Likewise.
61004         * lib/fwritable.c (fwritable): Likewise.
61005         * lib/fwriting.c (fwriting): Likewise.
61006         Reported by Roger Cornelius <rac@tenzing.org> and
61007         Brian K. White <brian@aljex.com>.
61008
61009 2008-04-06  Jim Meyering  <meyering@redhat.com>
61010
61011         * gnulib-tool (func_add_or_update): s/backuped/backed up/ in diagnostic
61012
61013 2008-04-06  Bruno Haible  <bruno@clisp.org>
61014
61015         Avoid possible error with non-ASCII bytes in UTF-8 locales.
61016         * tests/test-fprintf-posix.sh: Use "LC_ALL=C tr" instead of "tr".
61017         * tests/test-printf-posix.sh: Likewise.
61018         * tests/test-vfprintf-posix.sh: Likewise.
61019         * tests/test-vprintf-posix.sh: Likewise.
61020         * tests/test-xprintf-posix.sh: Likewise.
61021
61022 2008-04-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
61023
61024         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT): Fix quoting,
61025         hide error from 'ls', needed on OS/2.
61026         Report by Elbert Pol <elbert.pol@gmail.com>.
61027
61028 2008-04-04  Eric Blake  <ebb9@byu.net>
61029
61030         Make test-fseeko.c failures meaningful.
61031         * tests/test-fseeko.c: Print line number on failure.
61032         * tests/test-fseek.c: Likewise.
61033         Reported by Nelson H. F. Beebe.
61034
61035         Improve strtod bug detection check.
61036         * m4/strtod.m4 (gl_FUNC_STRTOD): Also check for hex-float parsing,
61037         required for Solaris 10.
61038         Reported by Bob Friesenhahn and Nelson H. F. Beebe.
61039
61040 2008-04-04  Bruno Haible  <bruno@clisp.org>
61041
61042         * modules/relocatable-prog-wrapper (Files): Add m4/environ.m4. Needed
61043         by m4/setenv.m4.
61044
61045 2008-04-03  Eric Blake  <ebb9@byu.net>
61046
61047         Ensure sane .version contents.
61048         * top/GNUmakefile (_dummy): Also delete .version when rebuilding
61049         version string.
61050         * build-aux/git-version-gen: Improve documentation.
61051
61052         Make GNU make output nicer.
61053         * top/GNUmakefile [!_have-Makefile]: Add dependency on
61054         MAKECMDGOALS to enforce message for all command line targets.  Set
61055         srcdir for use in maint.mk.
61056
61057         Another maintainer tweak.
61058         * top/GNUmakefile (_is-dist-target): Allow maintainer-distcheck as
61059         a target that regenerates version.
61060
61061 2008-04-03  Jim Meyering  <meyering@redhat.com>
61062
61063         vc-list-files: don't cause coreutils "make po-check" failure
61064         * build-aux/vc-list-files: Skip postprocessing when $2 is '.'
61065
61066 2008-04-03  Eric Blake  <ebb9@byu.net>
61067
61068         Allow VPATH usage of vc-list-files.
61069         * build-aux/vc-list-files (scriptversion): Add timestamp.
61070         (options): Add --help, --version, -C.
61071         (CVS): Support installed cvsu.
61072
61073 2008-04-02  Bruno Haible  <bruno@clisp.org>
61074
61075         Avoid some "statement with no effect" warnings from gcc.
61076         * tests/test-wctype.c (main): Explicitly ignore unused values.
61077         Reported by Jim Meyering.
61078
61079 2008-04-02  Jim Meyering  <meyering@redhat.com>
61080
61081         Avoid some warnings from "gcc -Wshadow".
61082         * tests/test-frexp.c (exp): Define to a different identifier.
61083         * tests/test-frexpl.c (exp): Likewise.
61084
61085 2008-04-03  Jim Meyering  <meyering@redhat.com>
61086
61087         bootstrap: remove dangling *.[ch] symlinks from lib
61088         * build-aux/bootstrap [dangling symlink removal]: Move find's
61089         -depth option to precede all others, to avoid a warning.
61090         Remove *.[ch] files too, and from "$source_base" (usually lib/).
61091
61092 2008-04-02  Bruno Haible  <bruno@clisp.org>
61093
61094         Avoid some warnings from "gcc -Wshadow".
61095         * tests/tests-vfprintf-posix.c (my_fprintf): Move after test_function.
61096         * tests/tests-vprintf-posix.c (my_printf): Move after test_function.
61097         * tests/tests-vsnprintf-posix.c (my_snprintf): Move after test_function.
61098         * tests/tests-vsprintf-posix.c (my_sprintf): Move after test_function.
61099         Reported by Jim Meyering.
61100
61101 2008-04-01  Bruno Haible  <bruno@clisp.org>
61102
61103         Fix test to work on IRIX 6.5 with cc.
61104         * tests/test-math.c (numeric_equal): New function.
61105         (main): Use it.
61106
61107 2008-04-01  Bruno Haible  <bruno@clisp.org>
61108
61109         * doc/posix-headers/math.texi: Refine documentation of NAN problem.
61110
61111 2008-04-01  Bruno Haible  <bruno@clisp.org>
61112
61113         * tests/test-vasnprintf-posix.c: Include nan.h instead of <math.h>.
61114         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61115         * modules/vasnprintf-posix-tests (Files): Add tests/nan.h.
61116         (Depends-on): Remove math.
61117
61118         * tests/test-vasprintf-posix.c: Include nan.h instead of <math.h>.
61119         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61120         * modules/vasprintf-posix-tests (Files): Add tests/nan.h.
61121         (Depends-on): Remove math.
61122
61123         * tests/test-snprintf-posix.h: Include nan.h instead of <math.h>.
61124         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61125         * modules/snprintf-posix-tests (Files): Add tests/nan.h.
61126         (Depends-on): Remove math.
61127         * modules/vsnprintf-posix-tests (Files): Add tests/nan.h.
61128         (Depends-on): Remove math.
61129
61130         * tests/test-sprintf-posix.h: Include nan.h instead of <math.h>.
61131         (test_function): Use NaNd, NaNl instead of NAN or 0.0L/0.0L.
61132         * modules/sprintf-posix-tests (Files): Add tests/nan.h.
61133         (Depends-on): Remove math.
61134         * modules/vsprintf-posix-tests (Files): Add tests/nan.h.
61135         (Depends-on): Remove math.
61136
61137         * tests/test-round1.c: Include nan.h.
61138         (main): Use NaNd instead of NAN.
61139         * modules/round-tests (Files): Add tests/nan.h.
61140
61141         * tests/test-trunc1.c: Include nan.h.
61142         (main): Use NaNd instead of NAN.
61143         * modules/trunc-tests (Files): Add tests/nan.h.
61144
61145         * tests/test-roundf1.c: Include nan.h.
61146         (main): Use NaNf instead of NAN.
61147         * modules/roundf-tests (Files): Add tests/nan.h.
61148
61149         * tests/test-truncf1.c: Include nan.h.
61150         (main): Use NaNf instead of NAN.
61151         * modules/truncf-tests (Files): Add tests/nan.h.
61152
61153         * tests/test-ceilf1.c: Include nan.h.
61154         (main): Use NaNf instead of NAN.
61155         * modules/ceilf-tests (Files): Add tests/nan.h.
61156
61157         * tests/test-floorf1.c: Include nan.h.
61158         (main): Use NaNf instead of NAN.
61159         * modules/floorf-tests (Files): Add tests/nan.h.
61160
61161         * tests/test-isnanf.c: Include nan.h instead of <math.h>.
61162         (main): Use NaNf instead of NAN.
61163         * modules/isnanf-nolibm-tests (Files): Add tests/nan.h.
61164
61165         * tests/test-isnand.c: Include nan.h instead of <math.h>.
61166         (main): Use NaNd instead of NAN.
61167         * modules/isnand-nolibm-tests (Files): Add tests/nan.h.
61168
61169         * tests/test-frexp.c: Include nan.h.
61170         (main): Use NaNd instead of NAN.
61171         * modules/frexp-tests (Files): Add tests/nan.h.
61172
61173         * lib/isnan.c: Don't include <math.h>.
61174         (FUNC): Don't use NAN macro.
61175         * modules/isnand-nolibm (Depends-on): Remove math.
61176         * modules/isnanf-nolibm (Depends-on): Remove math.
61177         * modules/isnanl (Depends-on): Remove math.
61178         * modules/isnanl-nolibm (Depends-on): Remove math.
61179
61180         * tests/nan.h: New file.
61181
61182 2008-04-01  Eric Blake  <ebb9@byu.net>
61183
61184         Fix typos.
61185         * tests/test-strtod.c (main): s/FLT_/DBL_/ for minimum and epsilon
61186         values to be the right type.
61187
61188         For now, cater to gnulib strtod inaccuracies.
61189         * tests/test-strtod.c (main): Allow 1-ulp error on expected
61190         fractional results.  While not as nice from a QoI perspective, it
61191         is a quicker patch than correctly implementing decimal to binary
61192         rounding.
61193
61194 2008-03-31  Eric Blake  <ebb9@byu.net>
61195
61196         Guarantee a definition of NAN.
61197         * lib/math.in.h (NAN): Define if missing.
61198         * tests/test-math.c (main): Test it.
61199         * doc/posix-headers/math.texi (math.h): Document this.
61200         * lib/isnan.c (rpl_isnand): Use it.
61201         * tests/test-ceilf1.c (NaN): Delete, and use NAN instead.
61202         * tests/test-floorf1.c (NaN): Likewise.
61203         * tests/test-frexp.c (NaN): Likewise.
61204         * tests/test-isnand.c (NaN): Likewise.
61205         * tests/test-isnanf.c (NaN): Likewise.
61206         * tests/test-round1.c (NaN): Likewise.
61207         * tests/test-roundf1.c (NaN): Likewise.
61208         * tests/test-snprintf-posix.h (NaN): Likewise.
61209         * tests/test-sprintf-posix.h (NaN): Likewise.
61210         * tests/test-trunc1.c (NaN): Likewise.
61211         * tests/test-truncf1.c (NaN): Likewise.
61212         * tests/test-vasnprintf-posix.c (NaN): Likewise.
61213         * tests/test-vasprintf-posix.c (NaN): Likewise.
61214         * modules/isnand-nolibm (Depends-on): Add math.
61215         * modules/isnanf-nolibm (Depends-on): Likewise.
61216         * modules/isnanl (Depends-on): Likewise.
61217         * modules/isnanl-nolibm (Depends-on): Likewise.
61218         * modules/snprintf-posix-tests (Depends-on): Likewise.
61219         * modules/sprintf-posix-tests (Depends-on): Likewise.
61220         * modules/vsnprintf-posix-tests (Depends-on): Likewise.
61221         * modules/vsprintf-posix-tests (Depends-on): Likewise.
61222         * modules/vasnprintf-posix-tests (Depends-on): Likewise.
61223         * modules/vasprintf-posix-tests (Depends-on): Likewise.
61224
61225 2008-03-31  Bruno Haible  <bruno@clisp.org>
61226
61227         * tests/test-strtod.c (main): Update results for OSF/1 platforms.
61228         * doc/posix-functions/strtod.texi: Likewise.
61229
61230 2008-03-31  Bruno Haible  <bruno@clisp.org>
61231
61232         * tests/test-strtod.c (main): Don't use C99 syntax.
61233
61234 2008-03-31  Bruno Haible  <bruno@clisp.org>
61235
61236         * tests/test-strtod.c (main): Don't test NAN macro. Needed for Solaris.
61237         Reported by Eric Blake.
61238
61239 2008-03-31  Jim Meyering  <meyering@redhat.com>
61240
61241         Don't compare actual signbit return values.
61242         * tests/test-strtod.c (main): Rather, compare only their
61243         zero/non-zero nature.
61244
61245 2008-03-31  Eric Blake  <ebb9@byu.net>
61246
61247         More strtod documentation.
61248         * doc/posix-functions/strtod.texi (strtod): Interpret more test
61249         failures as distinct bugs.
61250
61251 2008-03-30  Paul Eggert  <eggert@cs.ucla.edu>
61252
61253         * lib/wchar.in.h [defined __need_mbstate_t]: Just include <wchar.h>.
61254         Problem reported by Erik Benada in
61255         <http://lists.gnu.org/archive/html/bug-gnulib/2008-03/msg00249.html>.
61256
61257 2008-03-30  Bruno Haible  <bruno@clisp.org>
61258
61259         * tests/test-strtod.c: Add comments about which assertion fails on which
61260         platform.
61261         * doc/posix-functions/strtod.texi: Add info about many more platforms.
61262
61263 2008-03-30  Eric Blake  <ebb9@byu.net>
61264
61265         Test signbit behavior on zeros.
61266         * tests/test-signbit.c (test_signbitf): Add tests for zero.
61267         (test_signbitd, test_signbitl): Likewise.
61268
61269         More strtod touchups.
61270         * tests/test-strtod.c (main): Ignore tests for signbit on NaN, and
61271         sign of negative underflow, for now.  Use .5, not .1.
61272         * doc/posix-functions/strtod.texi (strtod): Mention these
61273         limitations.
61274         Reported by Jim Meyering.
61275
61276 2008-03-30  Bruno Haible  <bruno@clisp.org>
61277
61278         * lib/striconveh.h (mem_iconveh, str_iconveh): Optimize the conversion
61279         from UTF-8 to UTF-8//TRANSLIT in the same way as from UTF-8 to UTF-8.
61280
61281 2008-03-30  Bruno Haible  <bruno@clisp.org>
61282
61283         Avoid failure when attempting to return empty iconv results on some
61284         platforms.
61285         * lib/striconveh.c (mem_cd_iconveh_internal): In the final memory
61286         allocation, don't report ENOMEM when the resulting string is empty.
61287
61288 2008-03-30  Bruno Haible  <bruno@clisp.org>
61289
61290         Fix buffer overrun.
61291         * lib/vasnprintf.c (VASNPRINTF): If !USE_SNPRINTF && pad_ourselves:
61292         Don't consider the width for tmp_length. Check count against tmp_length
61293         before doing the padding. Ensure enough allocation during padding.
61294
61295 2008-03-30  Eric Blake  <ebb9@byu.net>
61296
61297         strtod touchups.
61298         * lib/strtod.c (strtod): Avoid compiler warnings.
61299         Reported by Jim Meyering.
61300
61301 2008-03-30  Bruno Haible  <bruno@clisp.org>
61302
61303         * lib/unistdio/u-vsprintf.h (EOVERFLOW): Remove fallback.
61304         * modules/unistdio/ulc-vsprintf (Depends-on): Add EOVERFLOW.
61305         * modules/unistdio/u8-vsprintf (Depends-on): Add EOVERFLOW.
61306         * modules/unistdio/u8-u8-vsprintf (Depends-on): Add EOVERFLOW.
61307         * modules/unistdio/u16-vsprintf (Depends-on): Add EOVERFLOW.
61308         * modules/unistdio/u16-u16-vsprintf (Depends-on): Add EOVERFLOW.
61309         * modules/unistdio/u32-vsprintf (Depends-on): Add EOVERFLOW.
61310         * modules/unistdio/u32-u32-vsprintf (Depends-on): Add EOVERFLOW.
61311
61312         * lib/unistdio/u-vsnprintf.h (EOVERFLOW): Remove fallback.
61313         * modules/unistdio/ulc-vsnprintf (Depends-on): Add EOVERFLOW.
61314         * modules/unistdio/u8-vsnprintf (Depends-on): Add EOVERFLOW.
61315         * modules/unistdio/u8-u8-vsnprintf (Depends-on): Add EOVERFLOW.
61316         * modules/unistdio/u16-vsnprintf (Depends-on): Add EOVERFLOW.
61317         * modules/unistdio/u16-u16-vsnprintf (Depends-on): Add EOVERFLOW.
61318         * modules/unistdio/u32-vsnprintf (Depends-on): Add EOVERFLOW.
61319         * modules/unistdio/u32-u32-vsnprintf (Depends-on): Add EOVERFLOW.
61320
61321         * lib/unistdio/u-vasprintf.h (EOVERFLOW): Remove fallback.
61322         * modules/unistdio/ulc-vasprintf (Depends-on): Add EOVERFLOW.
61323         * modules/unistdio/u8-vasprintf (Depends-on): Add EOVERFLOW.
61324         * modules/unistdio/u8-u8-vasprintf (Depends-on): Add EOVERFLOW.
61325         * modules/unistdio/u16-vasprintf (Depends-on): Add EOVERFLOW.
61326         * modules/unistdio/u16-u16-vasprintf (Depends-on): Add EOVERFLOW.
61327         * modules/unistdio/u32-vasprintf (Depends-on): Add EOVERFLOW.
61328         * modules/unistdio/u32-u32-vasprintf (Depends-on): Add EOVERFLOW.
61329
61330         * lib/unistdio/ulc-vfprintf.c (EOVERFLOW): Remove fallback.
61331         * modules/unistdio/ulc-vfprintf (Depends-on): Add EOVERFLOW.
61332
61333         * lib/unistdio/ulc-fprintf.c (EOVERFLOW): Remove fallback.
61334         * modules/unistdio/ulc-fprintf (Depends-on): Add EOVERFLOW.
61335
61336         * lib/xvasprintf.c (EOVERFLOW): Remove fallback.
61337         * modules/xvasprintf (Depends-on): Add EOVERFLOW.
61338
61339         * lib/vsprintf.c (EOVERFLOW): Remove fallback.
61340         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Drop gl_EOVERFLOW.
61341         * modules/vsprintf-posix (Depends-on): Add EOVERFLOW.
61342
61343         * lib/vsnprintf.c (EOVERFLOW): Remove fallback.
61344         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Drop gl_EOVERFLOW.
61345         * modules/vsnprintf (Depends-on): Add EOVERFLOW.
61346
61347         * lib/vfprintf.c (EOVERFLOW): Remove fallback.
61348         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Drop gl_EOVERFLOW.
61349         * modules/vfprintf-posix (Depends-on): Add EOVERFLOW.
61350
61351         * lib/vasprintf.c (EOVERFLOW): Remove fallback.
61352         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Drop gl_EOVERFLOW.
61353         * modules/vasprintf (Depends-on): Add EOVERFLOW.
61354
61355         * lib/vasnprintf.c (EOVERFLOW): Remove fallback.
61356         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Drop gl_EOVERFLOW.
61357         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Drop gl_EOVERFLOW.
61358         * modules/vasnprintf (Files): Remove m4/eoverflow.m4.
61359         (Depends-on): Add EOVERFLOW.
61360         * modules/unistdio/ulc-vasnprintf (Files): Remove m4/eoverflow.m4.
61361         (Depends-on): Add EOVERFLOW.
61362         * modules/unistdio/u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61363         (Depends-on): Add EOVERFLOW.
61364         * modules/unistdio/u8-u8-vasnprintf (Files): Remove m4/eoverflow.m4.
61365         (Depends-on): Add EOVERFLOW.
61366         * modules/unistdio/u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61367         (Depends-on): Add EOVERFLOW.
61368         * modules/unistdio/u16-u16-vasnprintf (Files): Remove m4/eoverflow.m4.
61369         (Depends-on): Add EOVERFLOW.
61370         * modules/unistdio/u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61371         (Depends-on): Add EOVERFLOW.
61372         * modules/unistdio/u32-u32-vasnprintf (Files): Remove m4/eoverflow.m4.
61373         (Depends-on): Add EOVERFLOW.
61374
61375         * lib/sprintf.c (EOVERFLOW): Remove fallback.
61376         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Drop gl_EOVERFLOW.
61377         * modules/sprintf-posix (Depends-on): Add EOVERFLOW.
61378
61379         * lib/snprintf.c (EOVERFLOW): Remove fallback.
61380         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Drop gl_EOVERFLOW.
61381         * modules/snprintf (Depends-on): Add EOVERFLOW.
61382
61383         * lib/poll.c (EOVERFLOW): Remove fallback.
61384         * modules/poll (Depends-on): Add EOVERFLOW.
61385
61386         * lib/getugroups.c (EOVERFLOW): Remove fallback.
61387         * modules/getugroups (Depends-on): Add EOVERFLOW.
61388
61389         * lib/getdelim.c (EOVERFLOW): Remove fallback.
61390         * modules/getdelim (Depends-on): Add EOVERFLOW.
61391
61392         * lib/ftell.c (EOVERFLOW): Remove fallback.
61393         * modules/ftell (Depends-on): Add EOVERFLOW.
61394
61395         * lib/fprintf.c (EOVERFLOW): Remove fallback.
61396         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Drop gl_EOVERFLOW.
61397         * modules/fprintf-posix (Depends-on): Add EOVERFLOW.
61398
61399         * lib/c-stack.c (EOVERFLOW): Remove unused fallback.
61400
61401         * modules/EOVERFLOW-tests: New file.
61402         * tests/test-EOVERFLOW.c: New file.
61403
61404         * modules/EOVERFLOW: New file.
61405         * doc/posix-headers/errno.texi: Mention EOVERFLOW portability problem.
61406
61407 2008-03-30  Bruno Haible  <bruno@clisp.org>
61408
61409         Fix bug introduced on 2007-06-10.
61410         * lib/vasnprintf.c (VASNPRINTF): When performing zero-padding, use
61411         spaces instead of 0 digits for 's' also when ENABLE_UNISTDIO.
61412
61413 2008-03-30  Bruno Haible  <bruno@clisp.org>
61414
61415         Improve freadseek's efficiency after ungetc.
61416         * lib/freadseek.c: Include freadahead.h.
61417         (freadptrinc): New function, extracted from freadseek.
61418         (freadseek): Use it in a loop. Use freadahead to determine the number
61419         of loop iterations.
61420         * modules/freadseek (Depends-on): Add freadahead.
61421         (configure.ac): Require AC_C_INLINE.
61422
61423 2008-03-30  Bruno Haible  <bruno@clisp.org>
61424
61425         * lib/freadseek.c (freadseek): Don't ignore the return value of
61426         freadptr.
61427
61428 2008-03-29  Eric Blake  <ebb9@byu.net>
61429
61430         Add hex float support.
61431         * modules/strtod (Depends-on): Add c-ctype.
61432         (Link): Mention POW_LIB.
61433         * lib/strtod.c (strtod): Recognize hex floats.  Don't allow
61434         whitespace between 'e' and exponent.
61435         * tests/test-strtod.c (main): Enable hex float tests.
61436         * doc/posix-functions/strtod.texi (strtod): Document what gnulib
61437         now provides.
61438
61439         Document various strtod bugs, with some fixes.
61440         * doc/posix-functions/strtod.texi (strtod): Document bugs with
61441         "-0x", "inf", "nan", and hex constants.
61442         * doc/posix-functions/atof.texi (atof): Likewise.
61443         * modules/stdlib (Makefile.am): Support strtod.
61444         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Likewise.
61445         * m4/strtod.m4 (gl_FUNC_STRTOD): Fit in stdlib framework, and
61446         detect additional strtod bugs.
61447         * lib/stdlib.in.h (rpl_strtod): Add declarations.
61448         * lib/strtod.c (strtod): Return -0.0 on negative underflow.  Use
61449         bool where appropriate.  Parse 'inf' and 'nan'.
61450         * tests/test-strtod.c: New file.
61451         * modules/strtod (Depends-on): Add stdbool, stdlib.
61452         (configure.ac): Turn on module indicator.
61453         * modules/strtod-tests: New module.
61454
61455 2008-03-29  Eric Blake  <ebb9@byu.net>
61456
61457         Fix ftell on mingw.
61458         * lib/ftell.c (EOVERFLOW): Define if the system lacks it.
61459         * modules/ftell-tests (Depends-on): Add binary-io.
61460         * modules/ftello-tests (Depends-on): Likewise.
61461         * tests/test-ftell.c (main): Enhance test to cover behavior after
61462         ungetc.  Enforce binary mode.
61463         * tests/test-ftello.c (main): Likewise.
61464
61465         Pass test-freadseek on cygwin.
61466         * modules/freadseek (Depends-on): Use freadptr, not freadahead.
61467         * lib/freadseek.c (freadseek): Don't increment beyond bounds of
61468         ungetc buffer.
61469
61470         * tests/test-fflush2.c (main): Fix typo.
61471
61472 2008-03-29  Bruno Haible  <bruno@clisp.org>
61473
61474         * tests/test-fflush2.c (main): Temporarily disable the contents of
61475         this test.
61476         * m4/fflush.m4 (gl_FUNC_FFLUSH): Add a TODO.
61477         Reported by Eric Blake.
61478
61479 2008-03-28  Simon Josefsson  <simon@josefsson.org>
61480
61481         * lib/gc.h (enum Gc_hash): Add GC_SHA224.
61482         (GC_SHA224_DIGEST_SIZE): Add.
61483
61484         * lib/gc-libgcrypt.c (gc_hash_open): Handle SHA-224.
61485         (gc_hash_digest_length): Likewise.
61486         (gc_hash_buffer): Likewise.
61487
61488 2008-03-25  Bruno Haible  <bruno@clisp.org>
61489
61490         * doc/gnulib-tool.texi (gettextize and autopoint): Explain in more
61491         detail which gettext release to use.
61492         Reported by Simon Josefsson.
61493
61494 2008-03-26  Jim Meyering  <meyering@redhat.com>
61495
61496         gnumakefile: remove file from $(top_builddir), not from $(top_srcdir)
61497         * modules/gnumakefile (clean-GNUmakefile): Also, use
61498         test ... && ... || : syntax rather than if-then ... fi.
61499
61500         gnumakefile: Don't double-quote-expand $(VPATH) value.
61501         * modules/gnumakefile (clean-GNUmakefile): Use single quotes.
61502
61503 2008-03-24  Eric Blake  <ebb9@byu.net>
61504
61505         Alter GNUmakefile to install into top directory.
61506         * modules/maintainer-makefile: Split, and add dependency...
61507         * modules/gnumakefile: to this new module.
61508         * build-aux/GNUmakefile: Move...
61509         * top/GNUmakefile: ...here.
61510         * build-aux/maint.mk: Move...
61511         * top/maint.mk: ...here.
61512         * MODULES.html.sh (Support for maintaining...): Document new
61513         module.
61514
61515 2008-03-23  Bruno Haible  <bruno@clisp.org>
61516
61517         * gnulib-tool: New options --vc-files, --no-vc-files.
61518         (func_usage): Document them.
61519         (vc_files): New variable.
61520         (func_import): Consider vc_files.
61521         (func_create_testdir): Set vc_files to empty.
61522         Suggested by Jim Meyering and Karl Berry.
61523
61524 2008-03-23  Bruno Haible  <bruno@clisp.org>
61525
61526         Fix regex compilation error on HP-UX 11.
61527         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_TYPE_MBSTATE_T.
61528         * modules/regex (Files): Add m4/mbstate_t.m4.
61529         Reported by Ton Voon <ton.voon@altinity.com>.
61530
61531 2008-03-23  Bruno Haible  <bruno@clisp.org>
61532
61533         * doc/gnulib-tool.texi (gettextize and autopoint): New section.
61534
61535 2008-03-23  Eric Blake  <ebb9@byu.net>
61536             Bruno Haible  <bruno@clisp.org>
61537
61538         Install files from top/ in the destination directory.
61539         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
61540         augmentation also for the files from top/.
61541         (func_import, func_create_testdir): Rewrite file names:
61542         top/filename -> filename.
61543
61544 2008-03-23  Bruno Haible  <bruno@clisp.org>
61545
61546         Tweak "gnulib --version" output.
61547         * gnulib-tool (func_version): Replace "-dirty" suffix with "-modified".
61548
61549 2008-03-23  Bruno Haible  <bruno@clisp.org>
61550
61551         Tweak "gnulib --version" output.
61552         * gnulib-tool (func_version): Use date of last commit to ChangeLog,
61553         rather than contents of ChangeLog, when possible.
61554
61555 2008-03-21  Eric Blake  <ebb9@byu.net>
61556
61557         More --version tweaks.
61558         * gnulib-tool (func_version): Obey GNU Coding Standards.  Output
61559         date of last ChangeLog entry.
61560
61561 2008-03-21  Jim Meyering  <meyering@redhat.com>
61562
61563         * build-aux/GNUmakefile (_have-git-version-gen): Split long line.
61564
61565 2008-03-20  Eric Blake  <ebb9@byu.net>
61566
61567         VPATH fix.
61568         * build-aux/GNUmakefile (_have_git-version-gen): Look in correct dir.
61569
61570 2008-03-20  Simon Josefsson  <simon@josefsson.org>
61571
61572         * build-aux/GNUmakefile: Make git-version-gen optional.  Add
61573         _build-aux variable.  Suggested by Eric Blake <ebb9@byu.net>.
61574
61575 2008-03-20  Eric Blake  <ebb9@byu.net>
61576
61577         Sync GNUmakefile with coreutils.
61578         * build-aux/GNUmakefile (have-Makefile): Rename...
61579         (_have-Makefile): ...to this, for namespace consideration.
61580         (GNUmakefile.cfg): Include, if present.
61581         (_autoreconf): Define a default.
61582         (_is-dist-target): New rule for rebuilds to pick up intra-release
61583         version.
61584         (maint-cfg.mk): Rename...
61585         (cfg.mk): ...to this.
61586
61587 2008-03-18  Jim Meyering  <meyering@redhat.com>
61588
61589         New script and module: mktempd
61590         * MODULES.html.sh (maint+release support): Add mktempd.
61591         * build-aux/mktempd: New file.
61592         * modules/mktempd: New file.
61593
61594 2008-03-15  Jim Meyering  <meyering@redhat.com>
61595
61596         Undo last change.
61597         * lib/sha1.c, lib/md5.c: 63 != ~63.
61598         Reported by Andreas Schwab.
61599
61600         sha1.c, md5.c: Hoist a redundant expression.
61601         * lib/sha1.c (sha1_process_bytes): AND-off the low bits in
61602         "ctx->buflen" only once, before calling *_process_block.
61603         * lib/md5.c (md5_process_bytes): Likewise.
61604
61605 2008-03-14  Eric Blake  <ebb9@byu.net>
61606
61607         Bump copyright year in files generated by gnulib-tool.
61608         * gnulib-tool (func_emit_copyright_notice): Extract copyright from
61609         gnulib-tool, rather than hard-coding it.
61610
61611         Fix 'gnulib-tool --version' output to work with git.
61612         * gnulib-tool (func_gnulib_dir): New function, extracted from...
61613         (startup): ...here.
61614         (func_version): Use it to invoke git-version-gen, rather than
61615         relying on CVS keyword expansion.  Modernize wording.
61616         (cvsdatestamp, last_checkin_date, version): Kill unused
61617         variables.
61618
61619 2008-03-12  Jim Meyering  <meyering@redhat.com>
61620
61621         Recognize optional cast of the argument to free.
61622         * build-aux/useless-if-before-free: Update regexps.
61623
61624         * build-aux/bootstrap (gnulib_tool): Remove trailing blanks.
61625
61626 2008-03-11  Bruno Haible  <bruno@clisp.org>
61627
61628         Extend AC_LIB_LINKFLAGS to the situation of several libraries provided
61629         by a single package.
61630         * m4/lib-link.m4 (AC_LIB_FROMPACKAGE): New macro.
61631         (AC_LIB_LINKFLAGS_BODY): Use the information stored by
61632         AC_LIB_FROMPACKAGE. Use AC_ARG_WITH instead of AC_LIB_ARG_WITH.
61633         Reported by Sam Steingold <sds@gnu.org>.
61634
61635 2008-03-12  Sergey Poznyakoff  <gray@gnu.org.ua>
61636
61637         * build-aux/bootstrap (version_controlled_file): Adapt for SVN
61638         repositories.
61639
61640 2008-03-11  Bruno Haible  <bruno@clisp.org>
61641
61642         Avoid conflicts between local macro definitions.
61643         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
61644         AC_LIB_LINKFLAGS_BODY): Use pushdef/popdef instead of define/undefine.
61645
61646 2008-03-10  Peter O'Gorman  <bug-gnulib@mlists.thewrittenword.com>
61647             Bruno Haible  <bruno@clisp.org>
61648
61649         Make va_copy work with some version of xlc on AIX 5.1.
61650         * lib/stdarg.in.h: New file.
61651         * m4/stdarg.m4 (gl_STDARG_H): Initialize STDARG_H and NEXT_STDARG_H.
61652         On AIX, use a <stdarg.h> file substitute.
61653         * modules/stdarg (Files): Add lib/stdarg.in.h.
61654         (Depends-on): Add include_next.
61655         (Makefile.am): Build a stdarg.h substitute if requested.
61656         * doc/posix-functions/va_copy.texi: Document the platforms lacking it.
61657
61658 2008-03-10  Bruno Haible  <bruno@clisp.org>
61659
61660         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Document a restriction.
61661         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Likewise.
61662         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61663
61664 2008-03-10  Bruno Haible  <bruno@clisp.org>
61665
61666         * modules/stdlib (Depends-on): Add include_next, remove
61667         absolute-header.
61668
61669 2008-03-09  Bruno Haible  <bruno@clisp.org>
61670
61671         * lib/freadahead.h (freadahead): Document more precisely.
61672         * lib/freadahead.c (freadahead): When an ungetc is in effect, return
61673         the sum of both buffer sizes.
61674         * tests/test-freadahead.c (main): Also test behaviour after ungetc.
61675         * NEWS: Document the change.
61676
61677 2008-03-09  Bruno Haible  <bruno@clisp.org>
61678
61679         Extend freadptr to return also the buffer size.
61680         * lib/freadptr.h (freadptr): Add sizep argument.
61681         * lib/freadptr.c: Include freadptr.h, not freadahead.h.
61682         (freadptr): Add sizep argument. Determine buffer size like freadahead
61683         does.
61684         * tests/test-freadptr.c: Don't include freadahead.h.
61685         (main): Adapt for new calling convention of freadptr.
61686         * tests/test-freadptr2.c: New file, based on tests/test-freadahead.c.
61687         * tests/test-freadptr2.sh: New file, based on tests/test-freadahead.sh.
61688         * modules/freadptr-tests (Files): Add tests/test-freadptr2.c,
61689         tests/test-freadptr2.sh.
61690         (Depends): Remove freadahead.
61691         (TESTS): Add test-freadptr2.sh.
61692         (check_PROGRAMS): Add test-freadptr2.
61693
61694 2008-03-09  Bruno Haible  <bruno@clisp.org>
61695
61696         * doc/Makefile (%.pdf): Explain how to remedy the save_size error.
61697         Report and solution by Simon Josefsson.
61698
61699 2008-03-06  Bruno Haible  <bruno@clisp.org>
61700
61701         Make fflush after ungetc work on BSD platforms.
61702         * lib/fflush.c (rpl_fflush): Discard ungetc buffer if possible.
61703         * tests/test-fflush2.c: New file.
61704         * tests/test-fflush2.sh: New file.
61705         * modules/fflush-tests (Files): Add tests/test-fflush2.sh,
61706         tests/test-fflush2.c.
61707         (Makefile.am): Build test-fflush2 and run test-fflush2.sh.
61708         * doc/posix-functions/fflush.texi: Document fflush after ungetc bug.
61709
61710 2008-03-06  Eric Blake  <ebb9@byu.net>
61711
61712         Likewise for ftello.
61713         * modules/ftello (Dependencies): Add extensions.
61714         * m4/ftello.m4 (gl_FUNC_FTELLO): Require AC_USE_SYSTEM_EXTENSIONS.
61715
61716 2008-03-06  Bruno Haible  <bruno@clisp.org>
61717
61718         * modules/fseeko (Dependencies): Add extensions.
61719         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Require AC_USE_SYSTEM_EXTENSIONS.
61720         Needed on glibc systems.
61721
61722 2008-03-06  Bruno Haible  <bruno@clisp.org>
61723
61724         * doc/gnulib-tool.texi (@nosuchmodulenote): Avoid line break inside
61725         email address.
61726         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61727
61728 2008-03-06  Bruno Haible  <bruno@clisp.org>
61729
61730         * users.txt: Add libgnupdf.
61731
61732 2008-03-06  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
61733
61734         * doc/gnulib-tool.texi (@nosuchmodulenote): New macro.
61735         (Header File Substitutes, Function Substitutes,
61736         Glibc Header File Substitutes, Glibc Function Substitutes): Use it.
61737         (Build robot for gnulib): Fix typo.
61738
61739 2008-03-06  Bruno Haible  <bruno@clisp.org>
61740
61741         * doc/gnulib-tool.texi (VCS Issues): Small updates.
61742         Reported by Thien-Thi Nguyen <ttn@gnuvola.org>.
61743
61744 2008-03-06  Bruno Haible  <bruno@clisp.org>
61745
61746         * doc/func.texi: New file, extracted from doc/gnulib.texi.
61747         * doc/gnulib.texi: Include it.
61748
61749 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61750
61751         * modules/func (License): Change license to unlimited; there was
61752         no LGPL parts in the module anyway.
61753
61754 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61755
61756         * modules/__func__: Renamed to modules/func.
61757         * modules/__func__-tests: Renamed to modules/func-tests.
61758         * tests/test-__func__.c: Renamed to tests/test-func.c.
61759         * m4/__func__.m4: Renamed to m4/func.m4.
61760         * doc/gnulib.texi (__func__): Section renamed to func.
61761         Suggested by Eric Blake <ebb9@byu.net>.
61762
61763 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61764
61765         * doc/gnulib.texi (__func__): Use C99 terminology when talking
61766         about __func__.  Make example self-contained.  Suggested by Eric
61767         Blake <ebb9@byu.net>.
61768
61769         * tests/test-__func__.c (main): Avoid extraneous () around __func.
61770         Suggested by Eric Blake <ebb9@byu.net>.
61771
61772 2008-03-06  Simon Josefsson  <simon@josefsson.org>
61773
61774         * modules/__func__: New file.
61775         * modules/__func__-tests: New file.
61776         * tests/test-__func__.c: New file.
61777         * m4/__func__.m4: New file.
61778         * doc/gnulib.texi (__func__): Document __func__ module.
61779
61780 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61781
61782         * modules/byteswap (License): Re-license as LGPLv2+.
61783
61784 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61785
61786         * doc/Makefile: Add pdf target.
61787
61788 2008-03-05  Simon Josefsson  <simon@josefsson.org>
61789
61790         * modules/inline (License): Use 'unlimited', since there are only
61791         *.m4 files in this module.
61792
61793 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61794             Bruno Haible  <bruno@clisp.org>
61795
61796         Add support for HP C 7.1 on OpenVMS 8.3.
61797         * lib/alloca.in.h (alloca): Define as alias for DEC C on VMS.
61798
61799 2008-03-03  John E. Malmberg  <wb8tyw@qsl.net>  (tiny change)
61800
61801         Update VMS specifics.
61802         * lib/getopt.c [VMS]: Remove include of unixlib.h.
61803
61804 2008-03-02  Jim Meyering  <meyering@redhat.com>
61805
61806         Remove the last dependency on the "free" module.
61807         * m4/readutmp.m4 (gl_READUTMP): Don't require gl_FUNC_FREE.
61808         Reported by Bob Proulx.
61809
61810         * lib/getdelim.c (getdelim): Don't leak memory upon failed realloc.
61811
61812         Remove useless "if" tests before free.  Deprecate "free" module.
61813         * doc/posix-functions/free.texi: Mention that this
61814         module is no longer useful.
61815         * modules/free (Notice): Say this module is obsolete.
61816         * modules/readutmp (Depends-on): Remove free.
61817         * lib/save-cwd.c (free_cwd): Remove useless "if" before free.
61818         * lib/putenv.c (putenv): Likewise.
61819         * lib/gc-gnulib.c (gc_cipher_close): Likewise.
61820         * lib/getaddrinfo.c (freeaddrinfo): Likewise.
61821         * tests/test-c-strcasestr.c (main): Likewise.
61822         * tests/test-c-strstr.c (main): Likewise.
61823         * tests/test-mbscasestr1.c (main): Likewise.
61824         * tests/test-mbscasestr2.c (main): Likewise.
61825         * tests/test-mbsstr1.c (main): Likewise.
61826         * tests/test-mbsstr2.c (main): Likewise.
61827         * tests/test-memmem.c (main): Likewise.
61828         * tests/test-strcasestr.c (main): Likewise.
61829         * tests/test-striconv.c (main): Likewise.
61830         * tests/test-striconveh.c (main): Likewise.
61831         * tests/test-striconveha.c (main): Likewise.
61832         * tests/test-strstr.c (main): Likewise.
61833
61834         * build-aux/git-version-gen: Adjust a comment and the Usage string.
61835
61836         bootstrap: sync from coreutils again
61837         * build-aux/bootstrap: Remove dangling m4/*.m4 symlinks.
61838
61839 2008-03-01  Jim Meyering  <meyering@redhat.com>
61840
61841         bootstrap: sync from coreutils
61842         * build-aux/bootstrap (update_po_files): Copy a .po file into place
61843         also when the target doesn't exist.
61844
61845 2008-03-01  Eric Blake  <ebb9@byu.net>
61846
61847         Fix bugs in last patch.
61848         * lib/memchr2.c (memchr2): Fix typo.
61849         * tests/test-memchr2.c: Test previous bug, and don't use GNU
61850         extension.
61851         Reported by Bruce Korb.
61852
61853         New module 'memchr2'.
61854         * modules/memchr2: New file.
61855         * modules/memchr2-tests: Likewise.
61856         * lib/memchr2.h: Likewise.
61857         * lib/memchr2.c: Likewise, based on memchr.c.
61858         * tests/test-memchr2.c: New test.
61859         * MODULES.html.sh (String handling): Add memchr2.
61860
61861 2008-02-29  Bruno Haible  <bruno@clisp.org>
61862
61863         * modules/freadseek-tests: New file.
61864         * tests/test-freadseek.sh: New file.
61865         * tests/test-freadseek.c: New file.
61866
61867         New module 'freadseek'.
61868         * modules/freadseek: New file.
61869         * lib/freadseek.h: New file.
61870         * lib/freadseek.c: New file.
61871         * MODULES.html.sh (File stream based Input/Output): Add freadseek.
61872
61873 2008-02-29  Sergey Poznyakoff  <gray@gnu.org.ua>
61874
61875         * users.txt: Add anubis, cpio, mailfromd, mailutils, radius,
61876         wydawca.
61877
61878         * m4/argp.m4 (gl_ARGP): Use AC_TRY_LINK to test if
61879         program_invocation_name and program_invocation_short_name are
61880         present.
61881
61882 2008-02-28  Bruno Haible  <bruno@clisp.org>
61883
61884         * tests/test-freadptr.c: Add a test for behaviour after ungetc.
61885         * tests/test-freadptr.sh: Also test non-seekable stdin.
61886
61887 2008-02-28  Sergey Poznyakoff  <gray@gnu.org.ua>
61888
61889         * build-aux/bootstrap (source_base, m4_base)
61890         (doc_base, tests_base): New variables.
61891         (gnulib_tool_options): Do not hardcode base directories, use
61892         the above variables instead.
61893
61894 2008-02-28  Atsushi SAKAI  <sakaia@jp.fujitsu.com>
61895
61896         * lib/xsize.h: Fix typo in comment: s/tupe/type/.
61897
61898 2008-02-28  Bruno Haible  <bruno@clisp.org>
61899
61900         * modules/freadptr-tests: New file.
61901         * tests/test-freadptr.sh: New file.
61902         * tests/test-freadptr.c: New file.
61903
61904         New module 'freadptr'.
61905         * modules/freadptr: New file.
61906         * lib/freadptr.h: New file.
61907         * lib/freadptr.c: New file.
61908         * MODULES.html.sh (File stream based Input/Output): Add freadptr.
61909
61910 2008-02-26  Karl Berry  <karl@freefriends.org>
61911
61912         Sync from Libtool:
61913         * libltdl/argz.c (argz_add, argz_count): New functions.
61914         * libltdl/argz.in.h: Declare them.
61915         Report by Juan Manuel Guerrero <juan.guerrero@gmx.de>.
61916
61917 2008-02-22  Bruno Haible  <bruno@clisp.org>
61918
61919         * m4/time_r.m4 (gl_TIME_R): Also check that localtime_r's return type
61920         is a pointer type.  Needed for HP-UX 10.
61921         * doc/posix-functions/localtime_r.texi: Mention HP-UX 10.
61922         * doc/posix-functions/gmtime_r.texi: Likewise.
61923         Reported by Peter O'Gorman <bug-gnulib@mlists.thewrittenword.com>.
61924
61925 2008-02-24  Bruno Haible  <bruno@clisp.org>
61926
61927         * modules/environ-tests: New file.
61928         * tests/test-environ.c: New file.
61929
61930         New module 'environ'.
61931         * modules/environ: New file.
61932         * lib/unistd.in.h (environ): New declaration.
61933         * m4/environ.m4: New file.
61934         (gt_CHECK_VAR_DECL): Moved here from m4/setenv.m4. Undefine gt_cv_var
61935         after use.
61936         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_ENVIRON and
61937         HAVE_DECL_ENVIRON.
61938         * modules/unistd (Makefile.am): Substitute also GNULIB_ENVIRON and
61939         HAVE_DECL_ENVIRON.
61940         * doc/posix-functions/environ.texi: Mention module 'environ'. Remove
61941         wrong claim that 'environ' is missing on some systems.
61942         * modules/execute (Depends-on): Add environ.
61943         * lib/execute.c (environ): Remove fallback declaration.
61944         * modules/pipe (Depends-on): Add environ.
61945         * lib/pipe.c (environ): Remove fallback declaration.
61946         * modules/setenv (Depends-on): Add environ.
61947         * lib/setenv.c (environ): Remove fallback declaration.
61948         * modules/unsetenv (Depends-on): Add environ.
61949         * lib/unsetenv.c (environ): Remove fallback declaration.
61950         * m4/setenv.m4 (gt_CHECK_VAR_DECL): Remove macro. Moved to
61951         m4/environ.m4.
61952         (gl_PREREQ_SETENV): Require gl_ENVIRON instead of testing for environ.
61953         (gl_PREREQ_UNSETENV): Likewise.
61954
61955 2008-02-24  Bruno Haible  <bruno@clisp.org>
61956
61957         * doc/posix-functions/environ.texi: Document the MacOS X problem.
61958
61959 2008-02-20  Bob Proulx  <bob@proulx.com>
61960
61961         Enable use of older two part flavor 'git describe'.
61962         * build-aux/git-version-gen: If using the older two part flavor of
61963         git version then recreate the third part now present in the
61964         newer three part flavor of git describe.
61965
61966 2008-02-20  Martin Buchholz  <martin@xemacs.org>  (tiny change)
61967
61968         * lib/fts.c (fts_build): Typo correction to comment.
61969
61970 2008-02-17  Bruno Haible  <bruno@clisp.org>
61971
61972         * lib/git-merge-changelog.c (main) [split_merged_entry]: Avoid
61973         generating no-op conflicts.
61974
61975 2008-02-17  Bruno Haible  <bruno@clisp.org>
61976
61977         Speed up by 10%.
61978         * lib/git-merge-changelog.c (main): Use the iterator to iterate through
61979         result_entries, rather than an index-based loop.
61980
61981 2008-02-17  Bruno Haible  <bruno@clisp.org>
61982
61983         Speed up by 25%.
61984         * lib/git-merge-changelog.c (struct entry): New fields 'hashcode',
61985         'hashcode_cached'.
61986         (entry_create): New function.
61987         (entry_hashcode): Use the cached hashcode if possible.
61988         (read_changelog_file, try_split_merged_entry): Use entry_create.
61989
61990 2008-02-17  Bruno Haible  <bruno@clisp.org>
61991
61992         Speed up from O(n^2) to O(n) for long ChangeLog files.
61993         * lib/git-merge-changelog.c: Include gl_rbtreehash_list.h.
61994         (read_changelog_file): Change implementation of entries_reversed list
61995         to rbtreehash.
61996         * modules/git-merge-changelog (Depends-on): Add rbtreehash-list.
61997
61998 2008-02-17  Bruno Haible  <bruno@clisp.org>
61999
62000         New option --split-merged-entry.
62001         * lib/git-merge-changelog.c (FSTRCMP_STRICTER_THRESHOLD): New macro.
62002         (find_paragraph_end, try_split_merged_entry): New functions.
62003         (long_options): Add option --split-merged-entry.
62004         (usage): Document option --split-merged-entry.
62005         (main): Implement option --split-merged-entry.
62006         Reported by Eric Blake.
62007
62008 2008-02-17  Bruno Haible  <bruno@clisp.org>
62009
62010         * lib/git-merge-changelog.c: Include c-strstr.h.
62011         (main): Support the "git pull --rebase" situation.
62012         * modules/git-merge-changelog (Depends-on): Add c-strstr.
62013         Reported by Eric Blake.
62014
62015 2008-02-16  Eric Blake  <ebb9@byu.net>
62016
62017         Avoid doubling \ in common case of "c-maybe" quoting style.
62018         * lib/quotearg.c (quotearg_buffer_restyled): Don't escape \ when
62019         eliding outer quotes.
62020         * lib/quotearg.h: Document this.
62021         * tests/test-quotearg.c (result_strings, inputs, results_g)
62022         (flag_results, locale_results): Test it by adding a new string to
62023         each test group.
62024         (compare_strings): Test new string.
62025
62026 2008-02-13  Eric Blake  <ebb9@byu.net>
62027
62028         Avoid trigraph quoting in default output.
62029         * lib/quotearg.h (enum quoting_flags): Add QA_SPLIT_TRIGRAPHS.
62030         * lib/quotearg.c (quotearg_buffer_restyled): Don't quote trigraphs
62031         unless explicitly requested.
62032         * tests/test-quotearg.c (flag_results, main): Add additional tests.
62033
62034 2008-02-13  Lasse Collin  <lasse.collin@tukaani.org>
62035
62036         Don't rely on signed integer overflowing to negative value.
62037         * lib/getugroups.c (getugroups): Include <limits.h>.
62038         Instead, compare against INT_MAX, and increment only if the test passes.
62039
62040 2008-02-13  Jim Meyering  <meyering@redhat.com>
62041         and Eric Blake  <ebb9@byu.net>
62042
62043         Avoid shadowing warning and compile errors on Linux.
62044         * tests/test-quotearg.c [ENABLE_NLS]: Disable <libintl.h>
62045         forwarding macros on Linux.
62046         (dcgettext): Define a stub, for Linux.
62047         (results_g, main): Avoid warnings.
62048
62049 2008-02-12  Eric Blake  <ebb9@byu.net>
62050
62051         Silence warning in last patch.
62052         * lib/quotearg.c (quotearg_buffer_restyled): Add missing const.
62053
62054         Quotearg part 4: add tests, fix c-maybe colon quoting.
62055         * lib/quotearg.h: Improve documentation.
62056         * lib/quotearg.c (quotearg_buffer_restyled): Don't add extra
62057         escapes when adding outer quotes.  When quoting trigraphs, use
62058         valid C notation.  When quoting NUL, omit extra characters if next
62059         character is not digit.  Alter prototype.
62060         (quotearg_buffer, quotearg_alloc_mem, quotearg_n_options): Adjust
62061         callers.
62062         * modules/quotearg-tests: New module.
62063         * tests/test-quotearg.c: New test.
62064
62065 2008-02-07  Eric Blake  <ebb9@byu.net>
62066
62067         Quotearg part 3: add flag to control outer quote elision.
62068         * lib/quotearg.h (c_maybe_quoting_style): New style.
62069         (enum quoting_flags): Better documentation of flags.
62070         * lib/quotearg.c (quoting_style_args, quoting_style_vals): Add
62071         c-maybe style.
62072         (quotearg_buffer_restyled): Handle new flag to elide outer
62073         quotes.
62074
62075         Quotearg part 2: add flag that can control NUL elision.
62076         * lib/quotearg.h (set_quoting_flags): New prototype.
62077         * lib/quotearg.c (struct quoting_options): Add flag field.
62078         (set_quoting_flags): New function.
62079         (quotearg_buffer_restyled): Add flags parameter.
62080         (quotearg_alloc_mem): Set the flag if length cannot be returned.
62081         (quotearg_n_options): Set the flag, since length cannot be
62082         returned.
62083         (quoting_options_from_style): Default flags correctly.
62084
62085         Quotearg part 1: more wrappers, restore quotearg_char state.
62086         * lib/quotearg.h (quotearg_alloc_mem, quotearg_n_mem)
62087         (quotearg_mem, quotearg_style_mem, quotearg_char_mem)
62088         (quotearg_colon_mem): New wrappers.
62089         * lib/quotearg.c (quotearg_alloc, quotearg_char): Rewrite...
62090         (quotearg_alloc_mem, quotearg_char_mem): ...in terms of these new
62091         functions.
62092         (quotearg_n_mem, quotearg_mem, quotearg_style_mem)
62093         (quotearg_colon_mem): New functions.
62094
62095 2008-02-11  Bruno Haible  <bruno@clisp.org>
62096
62097         * modules/git-merge-changelog (Makefile.am): Don't use -L and -l for a
62098         library in the current directory: it does not work with parallel make.
62099         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
62100
62101 2008-02-11  Bruno Haible  <bruno@clisp.org>
62102
62103         * .gitattributes: New file.
62104
62105 2008-02-11  Jim Meyering  <meyering@redhat.com>
62106
62107         useless-if-before-free: Fix reversed exit values.
62108         * build-aux/useless-if-before-free: Use correct values
62109         for EXIT_MATCH and EXIT_NO_MATCH.
62110
62111         * build-aux/useless-if-before-free: Close stdout carefully.
62112
62113 2008-02-10  Bruno Haible  <bruno@clisp.org>
62114
62115         New module 'git-merge-changelog'.
62116         * modules/git-merge-changelog: New file.
62117         * lib/git-merge-changelog.c: New file.
62118
62119 2008-02-10  Jim Meyering  <meyering@redhat.com>
62120
62121         useless-if-before-free: New option: --list (-l).
62122
62123         useless-if-before-free: Don't exit immediately upon open failure.
62124         * build-aux/useless-if-before-free: Exit 2 for errors.
62125         Upon failure to open a file, don't exit immediately.
62126         Rather, just warn and continue with any remaining files.
62127
62128 2008-02-10  Bruno Haible  <bruno@clisp.org>
62129
62130         New abstract list operation 'node_set_value'.
62131         * lib/gl_list.h (gl_list_node_set_value): New function.
62132         (struct gl_list_implementation): New field node_set_value.
62133         * lib/gl_list.c (gl_list_node_set_value): New function.
62134         * lib/gl_array_list.c (gl_array_node_set_value): New function.
62135         (gl_array_list_implementation): Update.
62136         * lib/gl_carray_list.c (gl_carray_node_set_value): New function.
62137         (gl_carray_list_implementation): Update.
62138         * lib/gl_anylinked_list2.h (gl_linked_node_set_value): New function.
62139         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
62140         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
62141         * lib/gl_anytree_list2.h (gl_tree_node_set_value): New function.
62142         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
62143         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
62144         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
62145         Update.
62146         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
62147         * lib/gl_sublist.c (gl_sublist_node_set_value): New function.
62148         (gl_sublist_list_implementation): Update.
62149
62150 2008-02-10  Bruno Haible  <bruno@clisp.org>
62151
62152         * lib/diffseq.h: Write "ELEMENT const" instead of "const ELEMENT".
62153         Needed when ELEMENT is #defined to 'some_type *'.
62154
62155 2008-02-10  Jim Meyering  <meyering@redhat.com>
62156
62157         New script and module: useless-if-before-free
62158         * MODULES.html.sh (maint+release support): Add useless-if-before-free.
62159         * build-aux/useless-if-before-free: New file.
62160         * modules/useless-if-before-free: New file.
62161
62162         * build-aux/gitlog-to-changelog: Use committer date, not author date.
62163
62164         xstrtol_error: Fix typo.
62165         * lib/xstrtol-error.c (xstrtol_error): The parameter was unused:
62166         s/exit_failure/exit_status/.
62167
62168 2008-02-09  Jim Meyering  <meyering@redhat.com>
62169
62170         New script and module: gitlog-to-changelog
62171         * MODULES.html.sh (maint+release support): Add gitlog-to-changelog.
62172         * modules/gitlog-to-changelog: New file.
62173         * build-aux/gitlog-to-changelog: New file.
62174
62175 2008-02-08  Jim Meyering  <meyering@redhat.com>
62176
62177         Avoid two "parameter unused" warnings.
62178         * lib/stat-time.h (get_stat_birthtime_ns, get_stat_birthtime):
62179         Mark "st" as used.
62180
62181         Use "git COMMAND", not "git-COMMAND".
62182         * build-aux/bootstrap (version_controlled_file): s/git-rm/git-rm/.
62183         * build-aux/announce-gen (get_tool_versions): Correct a diagnostic.
62184         * build-aux/git-version-gen: Use "git status", not "git-status".
62185
62186 2008-02-07  Bruno Haible  <bruno@clisp.org>
62187
62188         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on native Woe32 systems.
62189         Avoids a crash on Windows Vista.
62190         Reported by Adam Strzelecki <ono@java.pl> via
62191         Simon Josefsson <simon@josefsson.org>.
62192
62193 2008-02-06  Bruno Haible  <bruno@clisp.org>
62194
62195         Fix *printf behaviour regarding the left-adjust flag on HP-UX 10.20.
62196         * m4/printf.m4 (gl_PRINTF_FLAG_LEFTADJUST): New macro.
62197         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_FLAG_LEFTADJUST.
62198         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST): New macro.
62199         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
62200         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
62201         gl_PRINTF_FLAG_LEFTADJUST and test its result. Invoke
62202         gl_PREREQ_VASNPRINTF_FLAG_LEFTADJUST.
62203         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
62204         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
62205         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
62206         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
62207         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
62208         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
62209         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
62210         * tests/test-vasnprintf-posix.c (test_function): Add testcases for the
62211         left-adjust flag.
62212         * tests/test-snprintf-posix.h (test_function): Likewise.
62213         * tests/test-sprintf-posix.h (test_function): Likewise.
62214         * tests/test-vasprintf-posix.c (test_function): Likewise.
62215         * doc/posix-functions/fprintf.texi: Update.
62216         * doc/posix-functions/printf.texi: Update.
62217         * doc/posix-functions/snprintf.texi: Update.
62218         * doc/posix-functions/sprintf.texi: Update.
62219         * doc/posix-functions/vfprintf.texi: Update.
62220         * doc/posix-functions/vprintf.texi: Update.
62221         * doc/posix-functions/vsnprintf.texi: Update.
62222         * doc/posix-functions/vsprintf.texi: Update.
62223         Reported by Peter Fales <psfales@alcatel-lucent.com>.
62224
62225 2008-02-06  Bruno Haible  <bruno@clisp.org>
62226
62227         Fix bug introduced on 2008-01-26.
62228         * lib/isnan.c (FUNC): Set to rpl_isnand, not rpl_isnan.
62229
62230 2008-02-06  Bruno Haible  <bruno@clisp.org>
62231
62232         Fix bug introduced on 2007-06-10.
62233         * lib/vasnprintf.c (VASNPRINTF): Perform zero-padding also if
62234         !NEED_PRINTF_FLAG_ZERO.
62235
62236 2008-02-05  Peter O'Gorman <pogma@thewrittenword.com>
62237
62238         getloadavg: use libperfstat on AIX5
62239         * lib/getloadavg.c, m4/getloadavg.m4 [aix]: Use libperfstat
62240
62241 2008-02-03  Bruno Haible  <bruno@clisp.org>
62242
62243         * lib/diffseq.h: Add comments about required #includes.
62244         Reported by Michael Biggs <gnulib@doubleplum.net>.
62245
62246 2008-02-01  Bruno Haible  <bruno@clisp.org>
62247
62248         * users.txt: Add gnuit.
62249
62250 2008-01-31  Bruno Haible  <bruno@clisp.org>
62251
62252         * lib/md4.c (set_uint32): Mark as inline.
62253         * lib/md5.c (set_uint32): Likewise.
62254         * lib/sha1.c (set_uint32): Likewise.
62255         * m4/md4.m4 (gl_MD4): Require AC_C_INLINE.
62256         * m4/md5.m4 (gl_MD5): Likewise.
62257         * m4/sha1.m4 (gl_SHA1): Likewise.
62258
62259 2008-01-31  Jim Meyering  <meyering@redhat.com>
62260
62261         Use "sizeof VAR", rather than a literal "4".
62262         * lib/md5.c (md5_read_ctx): Use sizeof ctx->A, not 4.
62263         * lib/md4.c (md4_read_ctx): Likewise.
62264         * lib/sha1.c (sha1_read_ctx): Likewise.
62265
62266 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62267
62268         * tests/test-sha1.c: New file, based on test-md5.c.
62269
62270         * modules/crypto/sha1-tests: New file.
62271
62272 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62273
62274         * lib/sha1.h (SHA1_DIGEST_SIZE): Define.
62275
62276 2008-01-31  Jim Meyering  <meyering@redhat.com>
62277
62278         Prefer "sizeof v" over the equivalent "4".
62279         * lib/md4.c (set_uint32): Use "sizeof v" as memcpy length, not 4.
62280         * lib/md5.c (set_uint32): Likewise.
62281         * lib/sha1.c (set_uint32): Likewise.
62282
62283 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62284
62285         * lib/sha1.c (set_uint32): Mark function as static.
62286
62287 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62288
62289         md2: clarify comments to say that alignment is not required.
62290         * lib/md2.h: Remove warning about alignment in comment.
62291         * lib/md2.c (md2_read_ctx, md2_finish_ctx): Doc fix, alignment has
62292         never been required.
62293
62294 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62295
62296         md4: adapt alignment constraint fix from sha1.
62297         * lib/md4.c (set_uint32): New function, from sha1.c
62298         (md4_read_ctx): Use it.
62299         (md4_finish_ctx): Doc fix.
62300         * lib/md4.h: Doc fix.
62301
62302 2008-01-31  Simon Josefsson  <simon@josefsson.org>
62303
62304         md5: adapt alignment constraint fix from sha1.
62305         * lib/md5.c (set_uint32): New function, from sha1.c
62306         (md5_read_ctx): Use it.
62307         (md5_finish_ctx): Doc fix.
62308         * lib/md5.h: Doc fix.
62309
62310 2008-01-30  Peter Palfrader  <weasel@debian.org>
62311
62312         sha1: remove the result buffer alignment constraint
62313         * lib/sha1.c (set_uint32): New function.
62314         (sha1_read_ctx): Rewrite to remove the result buffer alignment
62315         constraint.
62316         (sha1_finish_ctx): Remove comment warning about alignment constraint.
62317         * lib/sha1.h: Likewise.
62318
62319 2008-01-30  Andreas Schwab  <schwab@suse.de>
62320             Bruno Haible  <bruno@clisp.org>
62321
62322         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Include <float.h> and ensure a
62323         correct definition of LDBL_MIN_EXP.
62324
62325 2008-01-30  Karl Berry  <karl@gnu.org>
62326
62327         * config/srclist-update: try to preserve x bit on updates.
62328         * config/srclistvars.sh: update for karl.
62329
62330 2008-01-29  Jim Meyering  <meyering@redhat.com>
62331
62332         vasnprintf.c: Avoid warning about unused label
62333         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Guard the
62334         "overflow" label definition and associated code with the
62335         same cpp condition that guards the sole use of that label.
62336
62337 2008-01-26  Bruno Haible  <bruno@clisp.org>
62338
62339         * m4/isnanl.m4 (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM,
62340         gl_FUNC_ISNANL_WORKS): Test the GCC >= 4.0 built-in.
62341         * lib/isnanl.h (isnanl): Use the GCC >= 4.0 built-in.
62342         * lib/isnanl-nolibm.h (isnanl): Likewise.
62343         Reported by Paul Eggert <eggert@cs.ucla.edu>.
62344
62345 2008-01-26  Bruno Haible  <bruno@clisp.org>
62346
62347         * m4/isnand.m4 (gl_FUNC_ISNAND_NO_LIBM): Test the GCC >= 4.0 built-in.
62348         * lib/isnand.h (isnand): Use the GCC >= 4.0 built-in.
62349
62350 2008-01-26  Bruno Haible  <bruno@clisp.org>
62351
62352         * m4/isnanf.m4 (gl_HAVE_ISNANF_NO_LIBM, gl_ISNANF_WORKS): Test the
62353         GCC >= 4.0 built-in.
62354         * lib/isnanf.h (isnanf): Use the GCC >= 4.0 built-in.
62355
62356 2008-01-26  Bruno Haible  <bruno@clisp.org>
62357
62358         Rename isnan, applicable to 'double' only, to isnand.
62359         * modules/isnand-nolibm: Renamed from modules/isnan-nolibm.
62360         (Files): Add lib/isnand.h, lib/isnand.c. Remove lib/isnan.h.
62361         (configure.ac): Update.
62362         (Include): Replace "isnan.h" with "isnand.h".
62363         * m4/isnand.m4: Renamed from m4/isnan.m4.
62364         (gl_FUNC_ISNAND_NO_LIBM): Renamed from gl_FUNC_ISNAN_NO_LIBM. Set
62365         HAVE_ISNAND_IN_LIBC instead of HAVE_ISNAN_IN_LIBC. Build isnand.c
62366         instead of isnan.c.
62367         * lib/isnand.h: Renamed from lib/isnan.h. Test HAVE_ISNAND_IN_LIBC
62368         instead of HAVE_ISNAN_IN_LIBC.
62369         (isnand): Renamed from isnan.
62370         * lib/isnand.c: New file.
62371         * modules/isnand-nolibm-tests: Renamed from modules/isnan-nolibm-tests.
62372         (Files): Add tests/test-isnand.c. Remove tests/test-isnan.c.
62373         (Makefile.am): Update.
62374         * tests/test-isnand.c: Renamed from tests/test-isnan.c.
62375         Include isnand.h instead of isnan.h.
62376         (main): Test isnand instead of isnan.
62377         * modules/fprintf-posix (Depends-on): Add isnand-nolibm, remove
62378         isnan-nolibm.
62379         * modules/frexp (Depends-on): Likewise.
62380         * modules/frexp-tests (Depends-on): Likewise.
62381         * modules/frexp-nolibm (Depends-on): Likewise.
62382         * modules/frexp-nolibm-tests (Depends-on): Likewise.
62383         * modules/isfinite (Depends-on): Likewise.
62384         * modules/round-tests (Depends-on): Likewise.
62385         * modules/signbit (Depends-on): Likewise.
62386         * modules/signbit-tests (Depends-on): Likewise.
62387         * modules/snprintf-posix (Depends-on): Likewise.
62388         * modules/sprintf-posix (Depends-on): Likewise.
62389         * modules/trunc-tests (Depends-on): Likewise.
62390         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
62391         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
62392         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
62393         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
62394         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
62395         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
62396         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
62397         * modules/vasnprintf-posix (Depends-on): Likewise.
62398         * modules/vasprintf-posix (Depends-on): Likewise.
62399         * modules/vfprintf-posix (Depends-on): Likewise.
62400         * modules/vsnprintf-posix (Depends-on): Likewise.
62401         * modules/vsprintf-posix (Depends-on): Likewise.
62402         * lib/frexp.c: Include isnand.h instead of isnan.h.
62403         (ISNAN): Set to isnand instead of isnan.
62404         * lib/isfinite.c: Include isnand.h instead of isnan.h.
62405         (gl_isfinited): Use isnand instead of isnan.
62406         * lib/signbitd.c: Include isnand.h instead of isnan.h.
62407         (gl_signbitd): Use isnand instead of isnan.
62408         * lib/vasnprintf.c: Include isnand.h instead of isnan.h.
62409         (is_infinite_or_zero, VASNPRINTF): Use isnand instead of isnan.
62410         * tests/test-frexp.c: Include isnand.h instead of isnan.h.
62411         (main): Use isnand instead of isnan.
62412         * tests/test-round1.c: Include isnand.h.
62413         (main): Use isnand instead of isnan.
62414         * tests/test-round2.c: Include isnand.h instead of isnan.h.
62415         (ISNAN): Set to isnand instead of isnan.
62416         * tests/test-trunc1.c: Include isnand.h.
62417         (main): Use isnand instead of isnan.
62418         * tests/test-trunc2.c: Include isnand.h instead of isnan.h.
62419         (equal): Use isnand instead of isnan.
62420         * MODULES.html.sh (Mathematics <math.h>): Replace isnan-nolibm with
62421         isnand-nolibm.
62422         * NEWS: Mention the change.
62423
62424 2008-01-25  Paul Eggert  <eggert@cs.ucla.edu>
62425             Bruno Haible  <bruno@clisp.org>
62426
62427         * m4/signbit.m4 (gl_SIGNBIT): Require a macro definition. Test whether
62428         the GCC builtins for signbits are present and set
62429         REPLACE_SIGNBIT_USING_GCC if so.
62430         * lib/math.in.h (signbit): Define using GCC builtins if
62431         REPLACE_SIGNBIT_USING_GCC is set.
62432         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize
62433         REPLACE_SIGNBIT_USING_GCC.
62434         * modules/math (Makefile.am): Substitute REPLACE_SIGNBIT_USING_GCC.
62435
62436 2008-01-25  Jim Meyering  <meyering@redhat.com>
62437
62438         Prefer <config.h> over "config.h".  See autoconf doc for explanation.
62439         * lib/poll.c: Include <config.h>, not "config.h".
62440         * tests/test-getaddrinfo.c: Likewise.
62441
62442 2008-01-25  Simon Josefsson  <simon@josefsson.org>
62443
62444         * modules/sockets-tests: New file.
62445
62446 2008-01-24  Simon Josefsson  <simon@josefsson.org>
62447
62448         * modules/sockets: New module, can be used to call WSA_Startup and
62449         WSA_Cleanup when needed.
62450
62451         * lib/sockets.h, lib/sockets.c: New files.
62452
62453         * m4/sockets.m4: New file.
62454
62455         * tests/test-sockets.c: New file.
62456
62457 2008-01-19  Bruno Haible  <bruno@clisp.org>
62458
62459         * doc/posix-headers: Renamed from doc/headers.
62460         * doc/posix-functions: Renamed from doc/functions.
62461         * doc/gnulib.texi: Update.
62462
62463 2008-01-19  Bruno Haible  <bruno@clisp.org>
62464
62465         * doc/glibc-functions/strcasestr.texi: Include contents of
62466         doc/functions/strcasestr.texi, fixing the list of platforms.
62467         * doc/functions/strcasestr.texi: Remove file.
62468
62469 2008-01-19  Bruno Haible  <bruno@clisp.org>
62470
62471         * doc/glibc-functions/memmem.texi: Include contents of
62472         doc/functions/memmem.texi.
62473         * doc/functions/memmem.texi: Remove file.
62474
62475 2008-01-18  Bruno Haible  <bruno@clisp.org>
62476
62477         * doc/glibc-functions/*.texi: New files.
62478         * doc/gnulib.texi (Glibc Function Substitutes): Completely rewritten
62479         to use the new files.
62480
62481 2008-01-17  Bruno Haible  <bruno@clisp.org>
62482
62483         * tests/test-gethostname.c (main): Fix printf statement.
62484
62485 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62486
62487         * modules/gethostname-tests: New file.
62488
62489         * tests/test-gethostname.c: New file.
62490
62491 2008-01-17  Simon Josefsson  <simon@josefsson.org>
62492
62493         * lib/gethostname.c: Include string.h unconditionally, strncpy is
62494         used by the UNAME case.  Reported by Bruno Haible
62495         <bruno@clisp.org>.
62496
62497 2008-01-17  Eric Blake  <ebb9@byu.net>
62498
62499         Convert c-strcasestr to be more efficient.
62500         * modules/c-strcasestr (Files): Use Two-Way, not KMP.
62501         (Depends-on): Add c-strcase, remove malloca, strnlen.
62502         * tests/test-c-strcasestr.c (main): Enhance test.
62503         * lib/c-strcasestr.c (c_strcasestr): Rewrite to new algorithm.
62504
62505 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
62506
62507         * build-aux/bootstrap (MSGID_BUGS_ADDRESS): New overridable variable.
62508         Use it in creating po/Makevars.
62509
62510 2008-01-15  Simon Josefsson  <simon@josefsson.org>
62511
62512         * lib/gc-libgcrypt.c (gc_init): Disable secure memory by default.
62513         Applications that requires it should initialize libgcrypt
62514         manually.
62515
62516 2008-01-16  Simon Josefsson  <simon@josefsson.org>
62517
62518         * lib/gethostname.c [!HAVE_UNAME]: Need string.h for strcpy.
62519
62520 2008-01-15  Paul Eggert  <eggert@cs.ucla.edu>
62521
62522         Fix problem with getdate on mingw32 reported by Simon Josefsson
62523         in <http://lists.gnu.org/archive/html/bug-gnulib/2008-01/msg00192.html>.
62524         * lib/getdate.y (get_date): Check "HAVE_DECL_TZNAME", not "defined
62525         tzname", when deciding whether to declare tzname.
62526         * lib/strftime.c (tzname): Likewise.
62527
62528 2008-01-15  Bruno Haible  <bruno@clisp.org>
62529
62530         Work around a MacOS X 10.5 bug in frexpl().
62531         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Also check denormalized numbers.
62532         * doc/functions/frexpl.texi: Document the bug.
62533         Reported by Elias Pipping <pipping@gentoo.org>.
62534
62535 2008-01-14  Eric Blake  <ebb9@byu.net>
62536
62537         Touch up previous patch.
62538         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR_SIMPLE): Fix typo.
62539         * doc/functions/strcasestr.texi (strcasestr): Document OpenBSD bug.
62540
62541         Convert strcasestr module to use Two-Way algorithm.
62542         * modules/strcasestr-simple: New module, based on the old
62543         strcasestr, but with Two-Way rather than KMP.
62544         * modules/strcasestr (Depends-on): Change to strcasestr-simple.
62545         * lib/string.in.h (rpl_strcasestr): Declare.
62546         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Check for linear
62547         performance.
62548         * lib/strcasestr.c (strcasestr): Simplify, and avoid malloc.
62549         * modules/string (Makefile.am): Support strcasestr.
62550         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Likewise.
62551         * modules/strcasestr-tests (Depends-on): Check for alarm.
62552         * tests/test-strcasestr.c: Augment test.
62553         * lib/str-two-way.h: Clean up stray macro.
62554         * NEWS: Document new module.
62555         * MODULES.html.sh (string handling): Likewise.
62556         * doc/functions/strcasestr.texi: New file.
62557         * doc/gnulib.texi (Function Substitutes): New node.  Move memmem
62558         here, since it is not a POSIX function.
62559
62560 2008-01-14  Colin Watson  <cjwatson@debian.org>
62561             Bruno Haible  <bruno@clisp.org>
62562
62563         * m4/strsignal.m4 (gl_FUNC_STRSIGNAL): Also check whether strsignal
62564         works fine; if not, set REPLACE_STRSIGNAL.
62565         (gl_PREREQ_STRSIGNAL): Require AC_DECL_SYS_SIGLIST.
62566         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62567         REPLACE_STRSIGNAL.
62568         * lib/string.in.h (strsignal): Consider REPLACE_STRSIGNAL.
62569         * modules/string (Makefile.am): Substitute REPLACE_STRSIGNAL.
62570         * tests/test-strsignal.c (main): Check out-of-range signal numbers.
62571
62572 2008-01-14  Bruno Haible  <bruno@clisp.org>
62573
62574         * modules/strsignal (Include): Change to <string.h>.
62575
62576 2008-01-14  Colin Watson  <cjwatson@debian.org>
62577
62578         * modules/argp (Notice): Add a notice recommending to change
62579         XGETTEXT_OPTIONS.
62580         (configure.ac): Invoke AM_XGETTEXT_OPTION if it exists.
62581
62582 2008-01-13  Colin Watson  <cjwatson@debian.org>
62583
62584         * modules/strsignal-tests: New file.
62585         * tests/test-strsignal.c: New file.
62586
62587         * lib/strsignal.c: New file, from glibc with modifications.
62588         * lib/siglist.h: New file, from glibc with modifications.
62589         * lib/string.in.h (strsignal): New declaration.
62590         * m4/strsignal.m4: New file.
62591         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
62592         GNULIB_STRSIGNAL and HAVE_DECL_STRSIGNAL.
62593         * modules/strsignal: New file.
62594         * modules/string (Makefile.am): Substitute GNULIB_STRSIGNAL and
62595         HAVE_DECL_STRSIGNAL.
62596
62597 2008-01-13  Bruno Haible  <bruno@clisp.org>
62598
62599         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check that the
62600         locale encoding is not ASCII. Needed for OpenBSD 4.0.
62601         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
62602         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
62603
62604 2008-01-13  Bruno Haible  <bruno@clisp.org>
62605
62606         * lib/argp-fmtstream.h (__attribute__): Don't redefine if
62607         __STRICT_ANSI__ is set: it's not needed by any version of gcc.
62608         * lib/argp.h (__attribute__): Likewise.
62609         * lib/c-stack.c (__attribute__): Likewise.
62610         * lib/error.h (__attribute__): Likewise.
62611         * lib/fts.c (__attribute__): Likewise.
62612         * lib/openat.h (__attribute__): Likewise.
62613         * lib/stdio.in.h (__attribute__): Likewise.
62614         * lib/string.in.h (__attribute__): Likewise.
62615         * lib/utimens.c (__attribute__): Likewise.
62616         * lib/vasnprintf.h (__attribute__): Likewise.
62617         * lib/xalloc.h (__attribute__): Likewise.
62618         * lib/xprintf.h (__attribute__): Likewise.
62619         * lib/xstrtol.h (__attribute__): Likewise.
62620         * lib/xvasprintf.h (__attribute__): Likewise.
62621
62622 2008-01-12  Bruno Haible  <bruno@clisp.org>
62623
62624         * doc/gnulib.texi (Glibc Header File Substitutes): New chapter.
62625         * doc/glibc-headers/a.out.texi: New file.
62626         * doc/glibc-headers/aliases.texi: New file.
62627         * doc/glibc-headers/alloca.texi: New file.
62628         * doc/glibc-headers/ar.texi: New file.
62629         * doc/glibc-headers/argp.texi: New file.
62630         * doc/glibc-headers/argz.texi: New file.
62631         * doc/glibc-headers/byteswap.texi: New file.
62632         * doc/glibc-headers/crypt.texi: New file.
62633         * doc/glibc-headers/endian.texi: New file.
62634         * doc/glibc-headers/envz.texi: New file.
62635         * doc/glibc-headers/err.texi: New file.
62636         * doc/glibc-headers/error.texi: New file.
62637         * doc/glibc-headers/execinfo.texi: New file.
62638         * doc/glibc-headers/fpu_control.texi: New file.
62639         * doc/glibc-headers/fstab.texi: New file.
62640         * doc/glibc-headers/fts.texi: New file.
62641         * doc/glibc-headers/getopt.texi: New file.
62642         * doc/glibc-headers/ieee754.texi: New file.
62643         * doc/glibc-headers/ifaddrs.texi: New file.
62644         * doc/glibc-headers/libintl.texi: New file.
62645         * doc/glibc-headers/mcheck.texi: New file.
62646         * doc/glibc-headers/mntent.texi: New file.
62647         * doc/glibc-headers/obstack.texi: New file.
62648         * doc/glibc-headers/paths.texi: New file.
62649         * doc/glibc-headers/printf.texi: New file.
62650         * doc/glibc-headers/pty.texi: New file.
62651         * doc/glibc-headers/resolv.texi: New file.
62652         * doc/glibc-headers/shadow.texi: New file.
62653         * doc/glibc-headers/sysexits.texi: New file.
62654         * doc/glibc-headers/ttyent.texi: New file.
62655
62656 2008-01-12  Jim Meyering  <meyering@redhat.com>
62657
62658         announce-gen: emit Gnulib's git-based version string.
62659         * build-aux/announce-gen: Remove option: --gnulib-snapshot-time-stamp=S.
62660         New option --gnulib-version=V, where V is expected to be
62661         the output of running git describe in the gnulib directory.
62662         (get_tool_versions): Request feedback on xdelta.  I suspect it's
62663         not useful, and plan to stop publishing an xdelta file with each
62664         coreutils release.
62665
62666         * build-aux/announce-gen: Also check for lzma-compressed files.
62667
62668 2008-01-11  Bruno Haible  <bruno@clisp.org>
62669
62670         * tests/test-memmem.c (main): Increase maximum allowed time.
62671         * tests/test-strstr.c (main): Likewise.
62672
62673 2008-01-11  Bruno Haible  <bruno@clisp.org>
62674
62675         * doc/functions/memmem.texi: Add more precisions about platforms.
62676         * doc/functions/strstr.texi: Likewise.
62677
62678 2008-01-10  Eric Blake  <ebb9@byu.net>
62679
62680         * m4/strstr.m4: Delete cruft from copy-n-paste.
62681         Reported by Bruno Haible.
62682
62683 2008-01-10  Bruno Haible  <bruno@clisp.org>
62684
62685         Make c-strstr rely on strstr.
62686         * lib/c-strstr.c: Don't include str-kmp.h.
62687         (c_strstr): Define in terms of strstr.
62688         * modules/c-strstr (Files): Remove lib/str-kmp.h.
62689         (Depends-on): Remove stdbool, malloca, strnlen. Add strstr.
62690
62691 2008-01-10  Bruno Haible  <bruno@clisp.org>
62692
62693         * doc/gnulib.texi (String Functions in C Locale): New section.
62694         * doc/c-ctype.texi: New file.
62695         * doc/c-strcase.texi: New file.
62696         * doc/c-strcaseeq.texi: New file.
62697         * doc/c-strcasestr.texi: New file.
62698         * doc/c-strstr.texi: New file.
62699         * doc/c-strtod.texi: New file.
62700         * doc/c-strtold.texi: New file.
62701
62702 2008-01-10  Eric Blake  <ebb9@byu.net>
62703
62704         * lib/relocatable.h: Fix a comment.
62705
62706 2008-01-10  Eric Blake  <ebb9@byu.net>
62707
62708         Share two-way algorithm.
62709         * lib/str-two-way.h: New file, merged from...
62710         * lib/memmem.c: ...here...
62711         * lib/strstr.c: ...and here.
62712         * modules/memmem (Files): Use it.
62713         * modules/strstr (Files): Likewise.
62714
62715         Avoid quadratic strstr implementations.
62716         * lib/strstr.c: New file.
62717         * m4/strstr.m4: Likewise.
62718         * modules/strstr: Likewise.
62719         * modules/strstr-tests: Likewise.
62720         * tests/test-strstr.c: Likewise.
62721         * lib/string.in.h (rpl_strstr): Declare.
62722         (memmem) [GNULIB_POSIXCHECK]: Document speed issue.
62723         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Support strstr.
62724         * modules/string (Makefile.am): Likewise.
62725         * MODULES.html.sh (string handling): Mention new module.
62726         * doc/functions/strstr.texi (strstr): Document the bug.
62727
62728 2008-01-10  Bruno Haible  <bruno@clisp.org>
62729
62730         * lib/relocatable.h (relocate): State whether result is freshly
62731         allocated or not.
62732         * lib/relocatable.c (relocate): Return a freshly allocated string
62733         instead of a pointer to a privately held string.
62734         Reported by Sylvain Beucler <beuc@gnu.org>.
62735
62736 2008-01-10  Colin Watson  <cjwatson@debian.org>
62737
62738         * lib/canonicalize-lgpl.c [!_LIBC]: Fix typo in #if directive:
62739         s/S_ISNLK/S_ISLNK/.
62740
62741 2008-01-09  Bruno Haible  <bruno@clisp.org>
62742
62743         * doc/functions/memmem.texi: Use the same structure as snprintf.texi
62744         and other files.
62745         * m4/memmem.m4 (gl_FUNC_MEMMEM): Say "guessing no" instead of "no"
62746         if it's only a guess.
62747         * modules/memmem: Simplify by depending on memmem-simple.
62748
62749 2008-01-09  Bruno Haible  <bruno@clisp.org>
62750
62751         Work around OpenBSD 4.0 tdelete() bug.
62752         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Also check tdelete's return value.
62753         * lib/search.in.h: If REPLACE_TSEARCH is 1, define tsearch etc. as
62754         macros and don't redefine the enum values.
62755         * m4/search_h.m4 (gl_SEARCH_H_DEFAULTS): Initialize REPLACE_TSEARCH.
62756         * modules/search (Makefile.am): Also substitute REPLACE_TSEARCH.
62757         * doc/functions/tdelete.texi: Document the OpenBSD 4.0 bug.
62758
62759 2008-01-09  Bruno Haible  <bruno@clisp.org>
62760
62761         * tests/test-wcwidth.c: Include <string.h> and localcharset.h.
62762         (main): Don't perform the tests if setlocale did not install a UTF-8
62763         locale. Needed on OpenBSD 4.0.
62764         * modules/wcwidth-tests (Depends-on): Add localcharset.
62765
62766 2008-01-09  Paul Eggert  <eggert@cs.ucla.edu>
62767
62768         gl_FUNC_ALLOCA no longer defines HAVE_ALLOCA_H unconditionally.
62769         See <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00149.html>.
62770         * NEWS: announce this.
62771         * m4/alloca.m4 (gl_FUNC_ALLOCA): Don't define HAVE_ALLOCA_H.
62772
62773 2008-01-09  Simon Josefsson  <simon@josefsson.org>
62774         and Eric Blake  <ebb9@byu.net>
62775
62776         Add memmem-simple module.
62777         * m4/memmem.m4 (gl_FUNC_MEMMEM_SIMPLE): New macro.
62778         (gl_FUNC_MEMMEM): Separate performance from presence checks.
62779         * modules/memmem-simple: New file.
62780         * modules/memmem (Description): Tweak.
62781         * MODULES.html.sh (string handling): Mention new module.
62782         * doc/functions/memmem.texi (memmem): Distinguish which flaws are
62783         addressed by memmem-simple.
62784         * NEWS: Document the difference.
62785
62786 2008-01-09  Eric Blake  <ebb9@byu.net>
62787
62788         Give gcc some memmem optimization hints.
62789         * lib/string.in.h (memmem, memrchr, strchrnul, strnlen, strpbrk)
62790         (strcasestr): Declare as pure.
62791         * modules/memmem (Maintainer): Claim my implementation.
62792
62793 2008-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62794
62795         Support AIX 6.1 and higher.
62796         * build-aux/config.libpath: Likewise.
62797         * build-aux/config.rpath: Likewise.
62798
62799 2008-01-08  Jim Meyering  <meyering@redhat.com>
62800             Bruno Haible  <bruno@clisp.org>
62801
62802         * lib/printf-parse.c (PRINTF_PARSE): Handle a size specifier "q"
62803         on MacOS X and a size specifier "I64" on mingw. Needed for PRIdMAX.
62804         Reported by Peter Fales in
62805         <http://lists.gnu.org/archive/html/bug-coreutils/2007-12/msg00148.html>.
62806
62807 2008-01-08  Bruno Haible  <bruno@clisp.org>
62808
62809         * modules/unictype/category-of (Depends-on): Add
62810         unictype/category-none.
62811         * modules/unictype/category-and-tests (Depends-on): Add
62812         unictype/category-{L,N,Lu,Nd}.
62813         * modules/unictype/category-and-not-tests (Depends-on): Likewise.
62814         * modules/unictype/category-or-tests (Depends-on): Add
62815         unictype/category-{L,N}.
62816         * modules/unictype/category-name-tests (Depends-on): Add
62817         unictype/category-{Z,Nl}.
62818         Reported by Simon Josefsson.
62819
62820 2008-01-08  Bruno Haible  <bruno@clisp.org>
62821
62822         * lib/str-kmp.h (knuth_morris_pratt_unibyte): Document the calling
62823         convention better.
62824         * lib/mbsstr.c (knuth_morris_pratt_multibyte): Likewise.
62825         * lib/mbscasestr.c (knuth_morris_pratt_multibyte): Likewise.
62826         Reported by Peter Miller <millerp@canb.auug.org.au>.
62827
62828 2008-01-08  Eric Blake  <ebb9@byu.net>
62829
62830         Rewrite memmem to guarantee linear complexity without malloc.
62831         * lib/memmem.c (memmem): Use Two-Way rather than
62832         Knuth-Morris-Pratt, to allow O(1) space usage.
62833         (critical_factorization, two_way_short_needle)
62834         (two_way_long_needle): New functions.
62835         (knuth_morris_pratt): Delete.
62836         * modules/memmem (Depends-on): No longer need malloca or stdbool.
62837         Add stdint.
62838         * tests/test-memmem.c (main): Add tests for periodic needle and
62839         sublinear performance.
62840         * doc/functions/memmem.texi (memmem): Document other deficiencies
62841         in cygwin and older glibc.
62842
62843 2008-01-08  Bruno Haible  <bruno@clisp.org>
62844
62845         * modules/memmem-tests (Makefile.am): Remove TESTS_ENVIRONMENT
62846         augmentation.
62847
62848 2008-01-08  Mike Frysinger  <vapier@gentoo.org>
62849
62850         Add a configure time option: --disable-acl.
62851         * m4/acl.m4 (gl_FUNC_ACL): Wrap all ACL logic in a call to
62852         AC_ARG_ENABLE(acl).
62853
62854 2008-01-06  Simon Josefsson  <simon@josefsson.org>
62855
62856         * tests/test-localename.c: Don't include obsolete "setenv.h".
62857
62858         * modules/localename-tests (Depends-on): Need unsetenv.
62859
62860 2008-01-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
62861
62862         * DEPENDENCIES: Require Texinfo version 4.6 or newer.
62863
62864 2008-01-06  Colin Watson  <cjwatson@debian.org>
62865
62866         * users.txt: Add man-db.
62867
62868 2008-01-07  Bruno Haible  <bruno@clisp.org>
62869
62870         * doc/gnulib-intro.texi (Library vs Reusable Code): Restore the
62871         previous section name.
62872
62873 2008-01-07  Bruno Haible  <bruno@clisp.org>
62874
62875         * lib/progname.c (set_program_name): Don't strip off a leading
62876         "lt-" prefix outside a .libs directory.
62877         Suggested by Paul Eggert.
62878
62879 2008-01-01  Sylvain Beucler  <beuc@gnu.org>
62880             Bruno Haible  <bruno@clisp.org>
62881
62882         Improve memory cleanup in 'relocatable' module.
62883         * lib/relocatable.h (compute_curr_prefix): Change return type to
62884         'char *'.
62885         * lib/relocatable.c (compute_curr_prefix): Change return type to
62886         'char *'. Free curr_installdir after use.
62887         (relocate): Free curr_prefix_better after use.
62888         * lib/progreloc.c (prepare_relocate): Free curr_prefix after use.
62889
62890 2008-01-01  Bruno Haible  <bruno@clisp.org>
62891
62892         * tests/test-wcwidth.c (main): Relax test of U+2060. Avoids a test
62893         failure on older glibc systems.
62894         Reported by Peter Fales <psfales@alcatel-lucent.com>.
62895
62896 2008-01-05  Eric Blake  <ebb9@byu.net>
62897
62898         Avoid quadratic system memmem.
62899         * m4/memmem.m4 (gl_FUNC_MEMMEM): Check for quadratic memmem.
62900         Reported by Ralf Wildenhues.
62901
62902         Fix memmem test for mingw.
62903         * modules/memmem-tests (configure.ac): Check for alarm.
62904         * tests/test-memmem.c (main): Avoid alarm on platforms that lack
62905         it.
62906         * doc/functions/memmem.texi: New file.
62907         * doc/gnulib.texi (Function Substitutes): Add memmem.
62908         Reported by Bruno Haible.
62909
62910 2008-01-04  Bruno Haible  <bruno@clisp.org>
62911
62912         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP):
62913         Require gl_HEADER_STRINGS_H_DEFAULTS, not
62914         gl_HEADER_STRING_H_DEFAULTS.
62915
62916 2008-01-04  Eric Blake  <ebb9@byu.net>
62917
62918         Shorten duration of memmem test.
62919         * tests/test-memmem.c (main): Use alarm to declare failure if test
62920         is taking too long.
62921         Reported by Ralf Wildenhues.
62922
62923 2007-12-21  Simon Josefsson  <simon@josefsson.org>
62924
62925         * modules/relocatable-prog-wrapper (Depends-on): Add intprops and
62926         string, needed by strerror.
62927
62928 2008-01-03  Colin Watson  <cjwatson@debian.org>
62929             Bruno Haible  <bruno@clisp.org>
62930
62931         * doc/gnulib-tool.texi (Localization): New section.
62932
62933 2008-01-02  Bruno Haible  <bruno@clisp.org>
62934
62935         * lib/memmem.c (knuth_morris_pratt, memmem): Change all 'char *'
62936         variables to 'unsigned char *' type.
62937         Reported by Paul Eggert.
62938
62939 2008-01-02  Jim Meyering  <jim@meyering.net>
62940
62941         * lib/version-etc.c (COPYRIGHT_YEAR): Increase for new year.
62942
62943 2007-12-31  Jim Meyering  <jim@meyering.net>
62944
62945         Avoid use of private FTS type name.
62946         * lib/fts.c (fts_sort): Use FTSENT rather than "struct _ftsent".
62947
62948 2007-12-30  Karl Berry  <karl@gnu.org>
62949
62950         * doc/gnulib.texi (Library vs. Reusable Code): remove period, to
62951         work around defect in Texinfo and/or the standalone Info browser.
62952
62953 2007-12-30  Bruno Haible  <bruno@clisp.org>
62954
62955         Unify 5 copies of the KMP code.
62956         * lib/str-kmp.h: New file.
62957         * lib/c-strcasestr.c: Include str-kmp.h.
62958         (knuth_morris_pratt): Remove function.
62959         (c_strcasestr): Update.
62960         * lib/c-strstr.c: Include str-kmp.h.
62961         (knuth_morris_pratt): Remove function.
62962         (c_strcasestr): Update.
62963         * lib/mbscasestr.c: Include str-kmp.h.
62964         (knuth_morris_pratt_unibyte): Remove function.
62965         * lib/mbsstr.c: Include str-kmp.h.
62966         (knuth_morris_pratt_unibyte): Remove function.
62967         * lib/strcasestr.c: Include str-kmp.h.
62968         (knuth_morris_pratt): Remove function.
62969         (strcasestr): Update.
62970         * modules/c-strcasestr (Files): Add lib/str-kmp.h.
62971         * modules/c-strstr (Files): Likewise.
62972         * modules/mbscasestr (Files): Likewise.
62973         * modules/mbsstr (Files): Likewise.
62974         * modules/strcasestr (Files): Likewise.
62975         Suggested by Paul Eggert.
62976
62977 2007-12-30  Bruno Haible  <bruno@clisp.org>
62978
62979         * lib/xmalloca.c (xmmalloca): Don't define if HAVE_ALLOCA is not
62980         defined.
62981
62982 2007-12-30  Bruno Haible  <bruno@clisp.org>
62983
62984         * lib/xmalloca.h: Include xalloc.h.
62985         (xnmalloca): New macro.
62986
62987 2007-12-30  Bruno Haible  <bruno@clisp.org>
62988
62989         * lib/malloca.h (nmalloca): New macro.
62990         * lib/c-strcasestr.c (knuth_morris_pratt): Use it.
62991         * lib/c-strstr.c (knuth_morris_pratt): Likewise.
62992         * lib/mbscasestr.c (knuth_morris_pratt_unibyte,
62993         knuth_morris_pratt_multibyte): Likewise.
62994         * lib/mbsstr.c (knuth_morris_pratt_unibyte,
62995         knuth_morris_pratt_multibyte): Likewise.
62996         * lib/memmem.c (knuth_morris_pratt): Likewise.
62997         * lib/strcasestr.c (knuth_morris_pratt): Likewise.
62998
62999 2007-12-25  Bruno Haible  <bruno@clisp.org>
63000
63001         Fixup after 2007-10-17 commit. Ensure that 'glob' stays under LGPLv2+.
63002         * lib/glob.c: Don't include openat.h.
63003         (link_exists2_p): Add back the code that deals with the
63004         !GLOB_ALTDIRFUNC case.
63005         (link_exists_p) [!_LIBC && !HAVE_FSTATAT]: Just call link_exists2_p and
63006         let it do the filename concatenation.
63007         * m4/glob.m4 (gl_PREREQ_GLOB): Add check for fstatat.
63008         * modules/glob (Depends-on): Remove openat.
63009
63010 2007-12-31  Bruno Haible  <bruno@clisp.org>
63011
63012         * modules/dirfd (License): Change to LGPLv2+.
63013         Approved by Jim Meyering.
63014
63015 2007-12-29  Paul Eggert  <eggert@cs.ucla.edu>
63016
63017         * lib/memmem.c (knuth_morris_pratt): Check for size_t overflow
63018         when multiplying M by sizeof (size_t).
63019
63020 2007-12-10  Martin Lambers  <marlam@marlam.de>
63021
63022         Override getpagesize on mingw.
63023         * lib/getpagesize.c: New file.
63024         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Enable replacement on mingw.
63025         * modules/getpagesize (Files): Add lib/getpagesize.c.
63026         * lib/unistd.in.h (getpagesize): Declare if we are using a replacement.
63027         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize
63028         REPLACE_GETPAGESIZE.
63029         * modules/unistd (Makefile.am): Substitute REPLACE_GETPAGESIZE.
63030
63031 2007-12-25  Bruno Haible  <bruno@clisp.org>
63032
63033         * modules/localcharset (Notice): New field.
63034         (configure.ac): Define LOCALCHARSET_TESTS_ENVIRONMENT.
63035         Suggested by Ben Pfaff <blp@cs.stanford.edu>.
63036
63037 2007-12-25  Paul Eggert  <eggert@cs.ucla.edu>
63038             Bruno Haible  <bruno@clisp.org>
63039
63040         Avoid using the syntax symbol() in formatted documentation.
63041         * MODULES.html.sh (func_module): When replacing symbol() with a
63042         hyperlink, remove the parentheses. Show an error if some remain.
63043         Recognize and render the '...' syntax.
63044         * doc/alloca-opt.texi: Remove parentheses from symbol reference.
63045         Rework. Add paragraph about GCC's inlining.
63046         * doc/alloca.texi: Likewise.
63047         * doc/error.texi: Remove parentheses from symbol reference.
63048         * doc/gnulib-intro.texi: Likewise.
63049         * doc/gnulib.texi (alloca, alloca-opt): New nodes.
63050         * modules/fnmatch (Description): Reword to say "the ... function".
63051         * modules/full-read (Description): Likewise.
63052         * modules/full-write (Description): Likewise.
63053         * modules/safe-read (Description): Likewise.
63054         * modules/safe-write (Description): Likewise.
63055         * modules/strchrnul (Description): Likewise.
63056         * modules/trim (Description): Likewise.
63057         * modules/error (Description): Remove parentheses from symbol
63058         references.
63059         * modules/verror (Description): Likewise.
63060         Reported by Karl Berry.
63061
63062 2007-12-25  Bruno Haible  <bruno@clisp.org>
63063
63064         Fixup after 2007-10-16 commit.
63065         * lib/glob.c (glob_in_dir): Don't use ISO C99 syntax.
63066
63067 2007-12-24  Bruno Haible  <bruno@clisp.org>
63068
63069         Make --enable-relocatable work with DESTDIR.
63070         * build-aux/install-reloc: Accept another argument 'destdir'. Use it
63071         to compute installdir from destprog.
63072         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): In INSTALL_PROGRAM_ENV,
63073         also set the RELOC_DESTDIR variable.
63074         Reported by Левашев Иван <octagram@bluebottle.com>.
63075
63076 2007-12-24  Bruno Haible  <bruno@clisp.org>
63077
63078         Fix link error due to xalloc_die().
63079         * lib/progreloc.c: When NO_XMALLOC is defined, use areadlink instead
63080         of xreadlink.
63081         * lib/relocwrapper.c: Update comments.
63082         * build-aux/install-reloc: Remove xreadlink.c from file list.
63083         * modules/relocatable-prog-wrapper (Files): Remove xreadlink.h and
63084         xreadlink.c.
63085         Reported by Левашев Иван <octagram@bluebottle.com>.
63086
63087 2007-12-24  Bruno Haible  <bruno@clisp.org>
63088
63089         Split setenv module into setenv and unsetenv. Get rid of setenv.h.
63090         * lib/setenv.h: Remove file.
63091         * lib/stdlib.in.h (setenv, unsetenv): New declarations, moved here from
63092         lib/setenv.h.
63093         * modules/setenv (Files): Remove lib/setenv.h, lib/unsetenv.c.
63094         (Depends-on): Add stdlib.
63095         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR. Don't invoke
63096         gl_FUNC_UNSETENV.
63097         (Include): Replace setenv.h with <stdlib.h>.
63098         * modules/unsetenv: New file.
63099         * lib/setenv.c: Include <stdlib.h> first, after alloca.h.
63100         * lib/unsetenv.c: Include <stdlib.h> first.
63101         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_SETENV_SEPARATE): Require
63102         gl_STDLIB_H_DEFAULTS. Conditionally set HAVE_SETENV to 0.
63103         (gl_FUNC_UNSETENV): Require gl_STDLIB_H_DEFAULTS. Conditionally set
63104         HAVE_UNSETENV to 0. Set VOID_UNSETENV as an AC_SUBSTed variable.
63105         * modules/stdlib (Makefile.am): Substitute also GNULIB_SETENV,
63106         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
63107         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_SETENV,
63108         HAVE_SETENV, GNULIB_UNSETENV, HAVE_UNSETENV, VOID_UNSETENV.
63109         * doc/functions/unsetenv.texi: Update.
63110         * modules/xsetenv (Depends-on): Add unsetenv.
63111         * modules/getdate (Depends-on): Likewise.
63112         * lib/xsetenv.h: Include <stdlib.h> instead of setenv.h.
63113         * lib/xsetenv.c: Don't include setenv.h.
63114         * lib/getdate.y: Likewise.
63115         * lib/relocwrapper.c: Likewise.
63116         * modules/relocatable-prog-wrapper (Files): Remove lib/setenv.h.
63117         (Depends-on): Add stdlib.
63118         * NEWS: Mention the changes.
63119         Reported by Левашев Иван <octagram@bluebottle.com>.
63120
63121 2007-12-23  Bruno Haible  <bruno@clisp.org>
63122
63123         * lib/memmem.c (memmem): Use lowercase variable names. Tab
63124         indentation.
63125
63126 2007-12-23  Bruno Haible  <bruno@clisp.org>
63127
63128         * lib/c-strcasestr.c: Add more comments.
63129         * lib/c-strstr.c: Likewise.
63130         * lib/mbscasestr.c: Likewise.
63131         * lib/mbsstr.c: Likewise.
63132         * lib/strcasestr.c: Likewise.
63133         * lib/memmem.c: Likewise.
63134
63135 2007-12-23  Bruno Haible  <bruno@clisp.org>
63136
63137         * tests/test-memmem.c: Include <string.h> first.
63138
63139 2007-12-22  Bruno Haible  <bruno@clisp.org>
63140
63141         * gnulib-tool (func_create_testdir): Change $auxdir while generating
63142         the contents of $testsbase.
63143         Reported by Ralf Wildenhues.
63144
63145 2007-12-22  Bruno Haible  <bruno@clisp.org>
63146
63147         * gnulib-tool (func_emit_tests_Makefile_am): Replace local_ldadd with
63148         two variables local_ldadd_before, local_ldadd_last.
63149
63150 2007-12-20  Eric Blake  <ebb9@byu.net>
63151
63152         Work around circular library issue when cross-compiling.
63153         * lib/progname.c (set_program_name): Use strncmp, not memcmp, so
63154         that progname.o does not need to pull in rpl_memcmp.
63155
63156 2007-12-19  Eric Blake  <ebb9@byu.net>
63157
63158         Fix memmem to avoid O(n^2) worst-case complexity.
63159         * lib/memmem.c (knuth_morris_pratt): New function.
63160         (memmem): Use it if first few naive iterations fail.
63161         * m4/memmem.m4 (gl_FUNC_MEMMEM): Detect cygwin bug.
63162         * modules/memcmp (License): Set to LGPLv2+, not LGPL.
63163         * modules/memchr (License): Likewise.
63164         * modules/memmem (Depends-on): Add memcmp, memchr, stdbool, and
63165         malloca.
63166         * tests/test-memmem.c: Rewrite, borrowing ideas from
63167         test-mbsstr1.c; the old version wouldn't even compile!
63168         * modules/memmem-tests: New file.
63169         * lib/string.in.h (rpl_memmem): Add declaration.
63170         * modules/string (Makefile.am): Substitute REPLACE_MEMMEM.
63171         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Default for
63172         REPLACE_MEMMEM.
63173
63174 2007-12-18  Paul Eggert  <eggert@cs.ucla.edu>
63175
63176         Fix problem with _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H on VMS.
63177         * lib/stdint.in.h (_GL_JUST_INCLUDE_SYSTEM_INTTYPES_H): Define
63178         before any system include files, and undef after them all.  This
63179         should fix a problem on VMS reported by John E. Malmberg in
63180         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00118.html>.
63181
63182 2007-12-17  Eric Blake  <ebb9@byu.net>
63183
63184         Revert addition of verify, for BSD/OS.
63185         * lib/fseeko.c [!HAVE_FSEEKO]: Allow off_t > long, even though it
63186         can't handle large files, for the sake of obsolete platforms.
63187         * modules/fseeko (Depends-on): Remove verify.
63188         * doc/functions/fseeko.texi (fseeko): Document BSD/OS limitation.
63189         * doc/functions/ftello.texi (ftello): Likewise.
63190         * doc/functions/fgetpos.texi (fgetpos): Likewise.
63191         Reported by Larry Jones.
63192
63193 2007-12-17  Petr Salinger  <Petr.Salinger@seznam.cz>
63194
63195         getcwd.c: Use a more readable witness: HAVE_OPENAT_SUPPORT
63196         * lib/getcwd.c: Define and use HAVE_OPENAT_SUPPORT, in place of AT_FDCWD.
63197
63198 2007-12-17  Jim Meyering  <meyering@redhat.com>
63199
63200         Port to GNU/kFreeBSD - FreeBSD kernel + GNU libc,
63201         which has no openat syscall, yet <fcntl.h> does define AT_FDCWD.
63202         * lib/getcwd.c: Undef AT_FDCWD if there is no openat function.
63203         * modules/getcwd (Depends-on): Add openat.
63204         Reported by Petr Salinger.
63205
63206 2007-12-17  Bruno Haible  <bruno@clisp.org>
63207
63208         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Use GL_NOCRASH to
63209         avoid a segmentation fault of the configure test on x86_64 systems.
63210
63211 2007-12-15  Jim Meyering  <meyering@redhat.com>
63212
63213         * build-aux/gnupload (GPG): Don't hard-code absolute name of gpg binary.
63214
63215 2007-12-13  Eric Blake  <ebb9@byu.net>
63216
63217         Another fseek test.
63218         * tests/test-fseek.c (main): Also test ungetc handling.
63219         * tests/test-fseeko.c (main): Likewise.
63220         * modules/fseeko (Depends-on): Add verify.
63221         * lib/fseeko.c [!HAVE_FSEEKO]: Verify that off_t is not too
63222         large.
63223         Reported by Larry Jones.
63224
63225         Fix fseeko on mingw.
63226         * lib/fseeko.c (rpl_fseeko) [_IOERR]: Reset EOF flag on successful
63227         seek.
63228
63229         Beef up fseek tests.
63230         * tests/test-fseek.c (main): Also test eof handling.
63231         * tests/test-fseeko.c (main): Likewise.
63232         Reported by Larry Jones.
63233
63234 2007-12-13  Larry Jones  <lawrence.jones@siemens.com>  (tiny change)
63235
63236         Fix fseeko on BSD-based platforms.
63237         * lib/fseeko.c (rpl_fseeko) [__sferror]: Reset EOF flag on
63238         successful seek.
63239
63240 2007-12-12  Eric Blake  <ebb9@byu.net>
63241
63242         Allow circular dependency of separate libtests.a
63243         * gnulib-tool (func_emit_tests_Makefile_am): Add AM_LIBTOOLFLAGS
63244         when use_libtests.
63245
63246 2007-12-11  Eric Blake  <ebb9@byu.net>
63247
63248         Fix bug with -0.0L in previous patch.
63249         * lib/isnan.c (rpl_isnanl): Make robust to -0.0L and pad bits.
63250         * tests/test-isnan.c (main): Also test on zeroes.
63251         * tests/test-isnanf.c (main): Likewise.
63252         * tests/test-isnanl.h (main): Likewise.
63253
63254         Detect pseudo-denormals on x86 even when cross-compiling.
63255         * lib/isnan.c (rpl_isnanl) [!KNOWN_EXPBIT0_LOCATION
63256         && USE_LONG_DOUBLE && x86]: Add one more check to filter out
63257         invalid bit patterns that happen to satisfy ==.
63258
63259         Avoid link failures with separate libtests.a.
63260         * gnulib-tool (func_emit_tests_Makefile_am): Also list local_ldadd
63261         last, to satisfy circular dependencies.
63262
63263 2007-12-11  Eric Blake  <ebb9@byu.net>
63264         and Bruno Haible  <bruno@clisp.org>
63265
63266         Fix OpenBSD 4.0 <float.h> handling of long double.
63267         * m4/float_h.m4 (gl_FLOAT_H): Also claim OpenBSD is broken.
63268         * lib/float.in.h [__OpenBSD__]: Add fixes for OpenBSD.
63269         * doc/headers/float.texi (float.h): Document OpenBSD bug.
63270
63271 2007-12-11  Jim Meyering  <meyering@redhat.com>
63272
63273         * users.txt: Add libvirt.
63274
63275         Support versions of autoconf prior to 2.59c.
63276         * gnulib-tool (func_emit_initmacro_done): Define m4_foreach_w
63277         if it is not already defined.
63278
63279 2007-12-09  Bruno Haible  <bruno@clisp.org>
63280
63281         Let 'gnulib-tool --import' collect sources needed for the tests in
63282         tests/ rather than in lib/.
63283         * gnulib-tool (func_emit_tests_Makefile_am): Accept use_libtests
63284         argument. If true, add rules to generate libtests.a, and put libtests.a
63285         into $(LDADD). Consider source files in subdirectories and set
63286         uses_subdirs.
63287         (func_emit_initmacro_start, func_emit_initmacro_end,
63288         func_emit_initmacro_done): Pass all arguments explicitly.
63289         (func_import): Determine two module lists main_modules,
63290         testsrelated_modules. Determine use_libtests. Determine two variables
63291         sed_transform_main_lib_file, sed_transform_testsrelated_lib_file
63292         instead of just sed_transform_lib_file. Determine two variables
63293         main_files and testsrelated_files. Compute 'files' as the union of
63294         both. Adjust sed_rewrite_old_files, sed_rewrite_new_files,
63295         func_add_or_update. In the generated gnulib-comp.m4, collect the
63296         object files for tests/ in different variables than those for lib/.
63297         Substitute LIBTESTS_LIBDEPS.
63298         (func_create_testdir): Combine the uses_subdirs results from
63299         func_emit_lib_Makefile_am and from func_emit_tests_Makefile_am.
63300
63301 2007-12-09  Bruno Haible  <bruno@clisp.org>
63302
63303         * gnulib-tool (func_emit_tests_Makefile_am): Expand references to
63304         the build-aux directory.
63305
63306 2007-12-09  Bruno Haible  <bruno@clisp.org>
63307
63308         * gnulib-tool (func_emit_tests_Makefile_am): Remove redundant code
63309         introduced on 2006-09-09.
63310
63311 2007-12-07  Jim Meyering  <meyering@redhat.com>
63312
63313         Let these macros work also with autoconf-2.59.
63314         * m4/getline.m4 (gl_FUNC_GETLINE): Require only autoconf-2.59.  2.60
63315         is not needed, since gnulib now permits use of AC_CHECK_DECLS_ONCE.
63316         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
63317
63318 2007-12-06  Jim Meyering  <meyering@redhat.com>
63319
63320         Avoid a configure-time syntax error in gl_FUNC_ACL.
63321         * m4/acl.m4 (gl_FUNC_ACL): Be careful to check for the acl_trivial
63322         function in each branch, before testing the cache variable.
63323
63324 2007-12-04  Eric Blake  <ebb9@byu.net>
63325
63326         Make scripts executable.
63327         * build-aux/config.guess: Add execute permissions.
63328         * build-aux/config.sub: Likewise.
63329         * build-aux/gendocs.sh: Likewise.
63330
63331         Fix frexp on mingw.
63332         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Detect mingw bug when
63333         cross-compiling.
63334         * doc/functions/frexp.texi (frexp): Document the bug.
63335
63336         Make cygwin fseeko check more reliable.
63337         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Use cygwin
63338         version numbers, rather than unrelated feature check.
63339         * doc/functions/fseeko.texi (fseeko): Tweak failure report.
63340         * doc/functions/ftello.texi (ftello): Likewise.
63341         Reported by Bruno Haible.
63342
63343         * m4/strerror.m4: Bump version number.
63344
63345 2007-12-03  Bruno Haible  <bruno@clisp.org>
63346
63347         * doc/functions/mprotect.texi: Mention the mingw problem.
63348
63349 2007-12-03  Eric Blake  <ebb9@byu.net>
63350
63351         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): Ensure
63352         REPLACE_STRERROR is initialized before this macro.
63353
63354 2007-12-03  Paul Eggert  <eggert@cs.ucla.edu>
63355
63356         Add support for Solaris 10 ACLs.  Also, ACLs are Gnulib, not Autoconf.
63357         * modules/acl (configure.ac): Rename AC_FUNC_ACL to gl_FUNC_ACL.
63358         * m4/acl.m4 (gl_FUNC_ACL): Renamed from AC_FUNC_ACL.  On Solaris,
63359         put -lsec in even for programs other than 'ls'.  This fixes a problem
63360         for gettext reported by Bruno Haible in
63361         <http://lists.gnu.org/archive/html/bug-gnulib/2007-12/msg00007.html>.
63362         * lib/acl.c (copy_acl, qset_acl) [USE_ACL && defined ACL_NO_TRIVIAL]:
63363         Add support for Solaris 10.  This isn't efficient, but should get the
63364         job done for now.
63365
63366 2007-12-03  James Youngman  <jay@gnu.org>
63367
63368         * doc/regexprops-generic.texi: change "an close-group" to "a
63369         close-group" and "illegal" to "not allowed".
63370
63371 2007-11-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63372
63373         * lib/unictype/pr_byname.c: Include unictype/pr_byname.h instead of
63374         pr_byname.h. Needed for the rare case when the maintainer has done
63375         "make maintainer-clean" in the source directory and then attempts a
63376         build outside the source directory.
63377         * lib/unictype/scripts.c: Include unictype/scripts_byname.h instead of
63378         scripts_byname.h.
63379
63380 2007-12-02  Martin Lambers <marlam@marlam.de>
63381             Bruno Haible  <bruno@clisp.org>
63382
63383         * lib/getpagesize.h: Remove file.
63384         * lib/unistd.in.h: Include declaration of getpagesize here.
63385         * m4/getpagesize.m4 (gl_FUNC_GETPAGESIZE): Renamed from gl_GETPAGESIZE.
63386         Invoke gl_UNISTD_H_DEFAULTS. Set HAVE_GETPAGESIZE, HAVE_OS_H,
63387         HAVE_SYS_PARAM_H.
63388         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_GETPAGESIZE,
63389         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63390         * modules/getpagesize (Files): Remove lib/getpagesize.h.
63391         (Depends-on): Add unistd.
63392         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
63393         (Include): Use <unistd.h> instead of getpagesize.h.
63394         * modules/unistd (Makefile.am): Substitute also GNULIB_GETPAGESIZE,
63395         HAVE_GETPAGESIZE, HAVE_OS_H, HAVE_SYS_PARAM_H.
63396         * m4/pagealign_alloc.m4 (gl_PREREQ_PAGEALIGN_ALLOC): Remove
63397         gl_GETPAGESIZE invocation, already handled by module dependency.
63398         * lib/pagealign_alloc.c: Don't include getpagesize.h.
63399
63400 2007-12-02  Bruno Haible  <bruno@clisp.org>
63401
63402         * modules/strings-tests: New file.
63403         * tests/test-strings.c: New file.
63404
63405         Move declarations of str{,n}casecmp from <string.h> to <strings.h>.
63406         * lib/strings.in.h: New file.
63407         * lib/string.in.h (strcasecmp, strncasecmp): Remove declarations.
63408         * m4/strings_h.m4: New file.
63409         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Remove initialization
63410         of HAVE_STRCASECMP, HAVE_DECL_STRNCASECMP.
63411         * modules/strings: New file.
63412         * modules/string (Makefile.am): Update.
63413         * modules/strcase (Include): Mention <strings.h>, not <string.h>.
63414         Reported by Karl Berry.
63415
63416 2007-12-01  Eric Blake  <ebb9@byu.net>
63417
63418         * m4/stdio_h.m4 (gl_STDIN_LARGE_OFFSET) [__CYGWIN__]: Rewrite to
63419         accommodate fix in cygwin 1.5.25.
63420
63421 2007-12-01  Jim Meyering  <meyering@redhat.com>
63422
63423         Fix a bug that inhibited much of the utf8-optimization in regcomp.c.
63424         * lib/regcomp.c (optimize_utf8): Fix a typo, s/idx/ctx_type/,
63425         that would inhibit utf8-optimization of a regexp containing line-
63426         or buffer-anchors, e.g., `^', `$'.
63427
63428 2007-11-30  Bruno Haible  <bruno@clisp.org>
63429
63430         * lib/lock.h (gl_recursive_lock_init) [PTHREAD &&
63431         PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: Call
63432         glthread_recursive_lock_init.
63433         * lib/lock.c (glthread_recursive_lock_init)
63434         [PTHREAD_RECURSIVE_MUTEX_INITIALIZER]: New function.
63435         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
63436
63437 2007-11-28  Paul Eggert  <eggert@cs.ucla.edu>
63438
63439         New function qset_acl, like set_acl but with syscall semantics.
63440         * lib/acl.h (qset_acl): New decl.
63441         * lib/acl.c (qset_acl): New function.
63442         (set_acl): Use new function.  Use more-consistent diagnostics.
63443
63444 2007-11-28  Jim Meyering  <meyering@redhat.com>
63445
63446         * modules/physmem (License): Change from GPL to LGPLv2+.
63447
63448 2007-11-26  Bruno Haible  <bruno@clisp.org>
63449
63450         * lib/vasnprintf.c (decode_long_double): Don't abort if the
63451         'long double' type has excess precision.
63452         Reported by Jim Meyering in
63453         <http://lists.gnu.org/archive/html/bug-gnulib/2007-11/msg00120.html>.
63454
63455 2007-11-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
63456
63457         * doc/fdl.texi, doc/gpl-3.0.texi, doc/lgpl-3.0.texi:
63458         Sync from <http://gnu.org/licenses>.
63459         * modules/agpl-3.0, doc/agpl-3.0.texi: New module,
63460         with license text from same location.
63461         * doc/maintain.texi, doc/standards.texi:  Sync from
63462         <http://savannah.gnu.org/projects/gnustandards>.
63463
63464 2007-11-22  Ondřej Vašík  <ovasik@redhat.com>
63465         and Jim Meyering  <meyering@redhat.com>
63466
63467         Adjust getdate' grammar to accept a slightly more regular language.
63468         E.g., accept "YYYYMMDD +N days" as well as "YYYYMMDD N days".
63469         Before, the former was rejected.
63470         * lib/getdate.y (digits_to_date_time): New function, factored
63471         out of ...
63472         (number): ...here.  Just call digits_to_date_time.
63473         (hybrid): New non-terminal to handle an <unsigned number,
63474         signed relative offset> sequence consistently.
63475
63476 2007-11-18  Jim Meyering  <meyering@redhat.com>
63477
63478         Pull my changes from coreutils:
63479         bootstrap: fix typo to enable use of $gnulib_tool_option_extras.
63480         * build-aux/bootstrap (gnulib_tool_options): Add a space before the
63481         use of $gnulib_tool_option_extras, so that it's separated from the
63482         preceding argument.
63483
63484         Fix bootstrap failure to handle files like lib/uniwidth/cjk.h.
63485         * build-aux/bootstrap (cp_mark_as_generated): Create any required
63486         parent destination directories before copying a file into place.
63487
63488 2007-11-18  Sergey Poznyakoff  <gray@gnu.org.ua>
63489
63490         bootstrap: work also with 4-argument variant of AC_INIT
63491         * build-aux/bootstrap (gnulib_extra_files): Adjust sed command.
63492
63493 2007-11-16  Paul Eggert  <eggert@cs.ucla.edu>
63494
63495         Port test-getaddrinfo to Solaris.
63496         Problem reported by Bruno Haible in
63497         <http://lists.gnu.org/archive/html/bug-gnulib/2007-03/msg00171.html>.
63498         * tests/test-getaddrinfo.c (simple): Add a comment asking for an
63499         explanation of setting 'hints'.
63500         Don't reject an implementation merely because it returns EAI_SERVICE.
63501         (EAI_SERVICE): Define to 0 if not defined.
63502
63503 2007-11-15  Paul Eggert  <eggert@cs.ucla.edu>
63504
63505         The license of gnu-make and posix-shell is now "GPLed build tool".
63506         * modules/gnu-make (License): Likewise.
63507         * modules/posix-shell (License): Likewise.
63508
63509         New module posix-shell, for determining a POSIX shell
63510         or perhaps something that is close enough to a POSIX shell.
63511         * m4/posix-shell.m4: New file.
63512         * modules/posix-shell: New file.
63513
63514         * MODULES.html.sh: Mention new module.
63515
63516         New module gnu-make, for determining whether we're using GNU Make.
63517         * m4/gnu-make.m4: New file.
63518         * modules/gnu-make: New file.
63519         * MODULES.html.sh: Mention new module.
63520
63521 2007-11-14  Jim Meyering  <meyering@redhat.com>
63522
63523         Define a sometimes-link-required function using ARGMATCH_DIE_DECL.
63524         * tests/test-argmatch.c (ARGMATCH_DIE_DECL): When defined,
63525         use this macro to create a function _definition_.
63526         Remove useless "#undef ARGMATCH_DIE".
63527
63528 2007-11-14  Bruno Haible  <bruno@clisp.org>
63529
63530         * lib/config.charset: Update for OpenBSD 4.1.
63531         Reported and helped by Ben Pfaff <blp@cs.stanford.edu>.
63532
63533 2007-11-12  Paul Eggert  <eggert@cs.ucla.edu>
63534
63535         Document 64-bit #if problems in stdint.texi.
63536         * doc/headers/stdint.texi (stdint.h): Mention problems with
63537         64-bit-#if, and how to work around them.
63538
63539         Don't insist on 'long long int' support in the preprocessor.  It
63540         breaks too many things.  For example, PRIdMAX still uses a 'long
63541         long int' format with the latest Sun compiler, even though
63542         HAVE_LONG_LONG_INT isn't defined due to that compiler's
63543         preprocessor problem.  This causes the latest coreutils to dump
63544         core on Solaris 10 sparc with the Sun C compiler.
63545         Instead, fix the 2007-10-16 problem in a different way, by evaluating
63546         the troublesome expressions at configure-time, not at #if-time.
63547         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): Don't test the
63548         preprocessor.
63549         * m4/inttypes.m4 (gl_INTTYPES_H): Move the #if checks into
63550         compile-time C checks, done at 'configure'-time.
63551         (gl_INTTYPES_CHECK_LONG_LONG_INT_CONDITION): New macro.
63552         * modules/inttypes (Makefile): Substitute the new symbols that
63553         gl_INTTYPES_H now generates.
63554         * lib/inttypes.in.h: Don't use constants wider than 'long' in #if.
63555
63556 2007-11-12  Bruno Haible  <bruno@clisp.org>
63557
63558         Tests for Unicode character classification functions.
63559
63560         * modules/unictype/bidicategory-byname-tests: New file.
63561         * modules/unictype/bidicategory-name-tests: New file.
63562         * modules/unictype/bidicategory-of-tests: New file.
63563         * modules/unictype/bidicategory-test-tests: New file.
63564         * modules/unictype/block-list-tests: New file.
63565         * modules/unictype/block-of-tests: New file.
63566         * modules/unictype/block-test-tests: New file.
63567         * modules/unictype/category-C-tests: New file.
63568         * modules/unictype/category-Cc-tests: New file.
63569         * modules/unictype/category-Cf-tests: New file.
63570         * modules/unictype/category-Cn-tests: New file.
63571         * modules/unictype/category-Co-tests: New file.
63572         * modules/unictype/category-Cs-tests: New file.
63573         * modules/unictype/category-L-tests: New file.
63574         * modules/unictype/category-Ll-tests: New file.
63575         * modules/unictype/category-Lm-tests: New file.
63576         * modules/unictype/category-Lo-tests: New file.
63577         * modules/unictype/category-Lt-tests: New file.
63578         * modules/unictype/category-Lu-tests: New file.
63579         * modules/unictype/category-M-tests: New file.
63580         * modules/unictype/category-Mc-tests: New file.
63581         * modules/unictype/category-Me-tests: New file.
63582         * modules/unictype/category-Mn-tests: New file.
63583         * modules/unictype/category-N-tests: New file.
63584         * modules/unictype/category-Nd-tests: New file.
63585         * modules/unictype/category-Nl-tests: New file.
63586         * modules/unictype/category-No-tests: New file.
63587         * modules/unictype/category-P-tests: New file.
63588         * modules/unictype/category-Pc-tests: New file.
63589         * modules/unictype/category-Pd-tests: New file.
63590         * modules/unictype/category-Pe-tests: New file.
63591         * modules/unictype/category-Pf-tests: New file.
63592         * modules/unictype/category-Pi-tests: New file.
63593         * modules/unictype/category-Po-tests: New file.
63594         * modules/unictype/category-Ps-tests: New file.
63595         * modules/unictype/category-S-tests: New file.
63596         * modules/unictype/category-Sc-tests: New file.
63597         * modules/unictype/category-Sk-tests: New file.
63598         * modules/unictype/category-Sm-tests: New file.
63599         * modules/unictype/category-So-tests: New file.
63600         * modules/unictype/category-Z-tests: New file.
63601         * modules/unictype/category-Zl-tests: New file.
63602         * modules/unictype/category-Zp-tests: New file.
63603         * modules/unictype/category-Zs-tests: New file.
63604         * modules/unictype/category-and-not-tests: New file.
63605         * modules/unictype/category-and-tests: New file.
63606         * modules/unictype/category-byname-tests: New file.
63607         * modules/unictype/category-name-tests: New file.
63608         * modules/unictype/category-none-tests: New file.
63609         * modules/unictype/category-of-tests: New file.
63610         * modules/unictype/category-or-tests: New file.
63611         * modules/unictype/category-test-withtable-tests: New file.
63612         * modules/unictype/combining-class-tests: New file.
63613         * modules/unictype/ctype-alnum-tests: New file.
63614         * modules/unictype/ctype-alpha-tests: New file.
63615         * modules/unictype/ctype-blank-tests: New file.
63616         * modules/unictype/ctype-cntrl-tests: New file.
63617         * modules/unictype/ctype-digit-tests: New file.
63618         * modules/unictype/ctype-graph-tests: New file.
63619         * modules/unictype/ctype-lower-tests: New file.
63620         * modules/unictype/ctype-print-tests: New file.
63621         * modules/unictype/ctype-punct-tests: New file.
63622         * modules/unictype/ctype-space-tests: New file.
63623         * modules/unictype/ctype-upper-tests: New file.
63624         * modules/unictype/ctype-xdigit-tests: New file.
63625         * modules/unictype/decimal-digit-tests: New file.
63626         * modules/unictype/digit-tests: New file.
63627         * modules/unictype/mirror-tests: New file.
63628         * modules/unictype/numeric-tests: New file.
63629         * modules/unictype/property-alphabetic-tests: New file.
63630         * modules/unictype/property-ascii-hex-digit-tests: New file.
63631         * modules/unictype/property-bidi-arabic-digit-tests: New file.
63632         * modules/unictype/property-bidi-arabic-right-to-left-tests: New file.
63633         * modules/unictype/property-bidi-block-separator-tests: New file.
63634         * modules/unictype/property-bidi-boundary-neutral-tests: New file.
63635         * modules/unictype/property-bidi-common-separator-tests: New file.
63636         * modules/unictype/property-bidi-control-tests: New file.
63637         * modules/unictype/property-bidi-embedding-or-override-tests: New file.
63638         * modules/unictype/property-bidi-eur-num-separator-tests: New file.
63639         * modules/unictype/property-bidi-eur-num-terminator-tests: New file.
63640         * modules/unictype/property-bidi-european-digit-tests: New file.
63641         * modules/unictype/property-bidi-hebrew-right-to-left-tests: New file.
63642         * modules/unictype/property-bidi-left-to-right-tests: New file.
63643         * modules/unictype/property-bidi-non-spacing-mark-tests: New file.
63644         * modules/unictype/property-bidi-other-neutral-tests: New file.
63645         * modules/unictype/property-bidi-pdf-tests: New file.
63646         * modules/unictype/property-bidi-segment-separator-tests: New file.
63647         * modules/unictype/property-bidi-whitespace-tests: New file.
63648         * modules/unictype/property-byname-tests: New file.
63649         * modules/unictype/property-combining-tests: New file.
63650         * modules/unictype/property-composite-tests: New file.
63651         * modules/unictype/property-currency-symbol-tests: New file.
63652         * modules/unictype/property-dash-tests: New file.
63653         * modules/unictype/property-decimal-digit-tests: New file.
63654         * modules/unictype/property-default-ignorable-code-point-tests: New file.
63655         * modules/unictype/property-deprecated-tests: New file.
63656         * modules/unictype/property-diacritic-tests: New file.
63657         * modules/unictype/property-extender-tests: New file.
63658         * modules/unictype/property-format-control-tests: New file.
63659         * modules/unictype/property-grapheme-base-tests: New file.
63660         * modules/unictype/property-grapheme-extend-tests: New file.
63661         * modules/unictype/property-grapheme-link-tests: New file.
63662         * modules/unictype/property-hex-digit-tests: New file.
63663         * modules/unictype/property-hyphen-tests: New file.
63664         * modules/unictype/property-id-continue-tests: New file.
63665         * modules/unictype/property-id-start-tests: New file.
63666         * modules/unictype/property-ideographic-tests: New file.
63667         * modules/unictype/property-ids-binary-operator-tests: New file.
63668         * modules/unictype/property-ids-trinary-operator-tests: New file.
63669         * modules/unictype/property-ignorable-control-tests: New file.
63670         * modules/unictype/property-iso-control-tests: New file.
63671         * modules/unictype/property-join-control-tests: New file.
63672         * modules/unictype/property-left-of-pair-tests: New file.
63673         * modules/unictype/property-line-separator-tests: New file.
63674         * modules/unictype/property-logical-order-exception-tests: New file.
63675         * modules/unictype/property-lowercase-tests: New file.
63676         * modules/unictype/property-math-tests: New file.
63677         * modules/unictype/property-non-break-tests: New file.
63678         * modules/unictype/property-not-a-character-tests: New file.
63679         * modules/unictype/property-numeric-tests: New file.
63680         * modules/unictype/property-other-alphabetic-tests: New file.
63681         * modules/unictype/property-other-default-ignorable-code-point-tests: New file.
63682         * modules/unictype/property-other-grapheme-extend-tests: New file.
63683         * modules/unictype/property-other-id-continue-tests: New file.
63684         * modules/unictype/property-other-id-start-tests: New file.
63685         * modules/unictype/property-other-lowercase-tests: New file.
63686         * modules/unictype/property-other-math-tests: New file.
63687         * modules/unictype/property-other-uppercase-tests: New file.
63688         * modules/unictype/property-paired-punctuation-tests: New file.
63689         * modules/unictype/property-paragraph-separator-tests: New file.
63690         * modules/unictype/property-pattern-syntax-tests: New file.
63691         * modules/unictype/property-pattern-white-space-tests: New file.
63692         * modules/unictype/property-private-use-tests: New file.
63693         * modules/unictype/property-punctuation-tests: New file.
63694         * modules/unictype/property-quotation-mark-tests: New file.
63695         * modules/unictype/property-radical-tests: New file.
63696         * modules/unictype/property-sentence-terminal-tests: New file.
63697         * modules/unictype/property-soft-dotted-tests: New file.
63698         * modules/unictype/property-space-tests: New file.
63699         * modules/unictype/property-terminal-punctuation-tests: New file.
63700         * modules/unictype/property-test-tests: New file.
63701         * modules/unictype/property-titlecase-tests: New file.
63702         * modules/unictype/property-unassigned-code-value-tests: New file.
63703         * modules/unictype/property-unified-ideograph-tests: New file.
63704         * modules/unictype/property-uppercase-tests: New file.
63705         * modules/unictype/property-variation-selector-tests: New file.
63706         * modules/unictype/property-white-space-tests: New file.
63707         * modules/unictype/property-xid-continue-tests: New file.
63708         * modules/unictype/property-xid-start-tests: New file.
63709         * modules/unictype/property-zero-width-tests: New file.
63710         * modules/unictype/scripts-tests: New file.
63711         * modules/unictype/syntax-c-ident-tests: New file.
63712         * modules/unictype/syntax-c-whitespace-tests: New file.
63713         * modules/unictype/syntax-java-ident-tests: New file.
63714         * modules/unictype/syntax-java-whitespace-tests: New file.
63715         * tests/unictype/test-bidi_byname.c: New file.
63716         * tests/unictype/test-bidi_name.c: New file.
63717         * tests/unictype/test-bidi_of.c: New file.
63718         * tests/unictype/test-bidi_test.c: New file.
63719         * tests/unictype/test-block_list.c: New file.
63720         * tests/unictype/test-block_of.c: New file.
63721         * tests/unictype/test-block_test.c: New file.
63722         * tests/unictype/test-categ_and.c: New file.
63723         * tests/unictype/test-categ_and_not.c: New file.
63724         * tests/unictype/test-categ_byname.c: New file.
63725         * tests/unictype/test-categ_name.c: New file.
63726         * tests/unictype/test-categ_none.c: New file.
63727         * tests/unictype/test-categ_of.c: New file.
63728         * tests/unictype/test-categ_or.c: New file.
63729         * tests/unictype/test-categ_test_withtable.c: New file.
63730         * tests/unictype/test-combining.c: New file.
63731         * tests/unictype/test-decdigit.c: New file.
63732         * tests/unictype/test-digit.c: New file.
63733         * tests/unictype/test-mirror.c: New file.
63734         * tests/unictype/test-numeric.c: New file.
63735         * tests/unictype/test-pr_byname.c: New file.
63736         * tests/unictype/test-pr_test.c: New file.
63737         * tests/unictype/test-predicate-part1.h: New file.
63738         * tests/unictype/test-predicate-part2.h: New file.
63739         * tests/unictype/test-scripts.c: New file.
63740         * tests/unictype/test-sy_c_ident.c: New file.
63741         * tests/unictype/test-sy_java_ident.c: New file.
63742
63743         * tests/unictype/test-categ_C.c: New file, generated by gen-ctype.c
63744         for Unicode 5.0.0.
63745         * tests/unictype/test-categ_Cc.c: Likewise.
63746         * tests/unictype/test-categ_Cf.c: Likewise.
63747         * tests/unictype/test-categ_Cn.c: Likewise.
63748         * tests/unictype/test-categ_Co.c: Likewise.
63749         * tests/unictype/test-categ_Cs.c: Likewise.
63750         * tests/unictype/test-categ_L.c: Likewise.
63751         * tests/unictype/test-categ_Ll.c: Likewise.
63752         * tests/unictype/test-categ_Lm.c: Likewise.
63753         * tests/unictype/test-categ_Lo.c: Likewise.
63754         * tests/unictype/test-categ_Lt.c: Likewise.
63755         * tests/unictype/test-categ_Lu.c: Likewise.
63756         * tests/unictype/test-categ_M.c: Likewise.
63757         * tests/unictype/test-categ_Mc.c: Likewise.
63758         * tests/unictype/test-categ_Me.c: Likewise.
63759         * tests/unictype/test-categ_Mn.c: Likewise.
63760         * tests/unictype/test-categ_N.c: Likewise.
63761         * tests/unictype/test-categ_Nd.c: Likewise.
63762         * tests/unictype/test-categ_Nl.c: Likewise.
63763         * tests/unictype/test-categ_No.c: Likewise.
63764         * tests/unictype/test-categ_P.c: Likewise.
63765         * tests/unictype/test-categ_Pc.c: Likewise.
63766         * tests/unictype/test-categ_Pd.c: Likewise.
63767         * tests/unictype/test-categ_Pe.c: Likewise.
63768         * tests/unictype/test-categ_Pf.c: Likewise.
63769         * tests/unictype/test-categ_Pi.c: Likewise.
63770         * tests/unictype/test-categ_Po.c: Likewise.
63771         * tests/unictype/test-categ_Ps.c: Likewise.
63772         * tests/unictype/test-categ_S.c: Likewise.
63773         * tests/unictype/test-categ_Sc.c: Likewise.
63774         * tests/unictype/test-categ_Sk.c: Likewise.
63775         * tests/unictype/test-categ_Sm.c: Likewise.
63776         * tests/unictype/test-categ_So.c: Likewise.
63777         * tests/unictype/test-categ_Z.c: Likewise.
63778         * tests/unictype/test-categ_Zl.c: Likewise.
63779         * tests/unictype/test-categ_Zp.c: Likewise.
63780         * tests/unictype/test-categ_Zs.c: Likewise.
63781         * tests/unictype/test-ctype_alnum.c: Likewise.
63782         * tests/unictype/test-ctype_alpha.c: Likewise.
63783         * tests/unictype/test-ctype_blank.c: Likewise.
63784         * tests/unictype/test-ctype_cntrl.c: Likewise.
63785         * tests/unictype/test-ctype_digit.c: Likewise.
63786         * tests/unictype/test-ctype_graph.c: Likewise.
63787         * tests/unictype/test-ctype_lower.c: Likewise.
63788         * tests/unictype/test-ctype_print.c: Likewise.
63789         * tests/unictype/test-ctype_punct.c: Likewise.
63790         * tests/unictype/test-ctype_space.c: Likewise.
63791         * tests/unictype/test-ctype_upper.c: Likewise.
63792         * tests/unictype/test-ctype_xdigit.c: Likewise.
63793         * tests/unictype/test-decdigit.h: Likewise.
63794         * tests/unictype/test-digit.h: Likewise.
63795         * tests/unictype/test-numeric.h: Likewise.
63796         * tests/unictype/test-pr_alphabetic.c: Likewise.
63797         * tests/unictype/test-pr_ascii_hex_digit.c: Likewise.
63798         * tests/unictype/test-pr_bidi_arabic_digit.c: Likewise.
63799         * tests/unictype/test-pr_bidi_arabic_right_to_left.c: Likewise.
63800         * tests/unictype/test-pr_bidi_block_separator.c: Likewise.
63801         * tests/unictype/test-pr_bidi_boundary_neutral.c: Likewise.
63802         * tests/unictype/test-pr_bidi_common_separator.c: Likewise.
63803         * tests/unictype/test-pr_bidi_control.c: Likewise.
63804         * tests/unictype/test-pr_bidi_embedding_or_override.c: Likewise.
63805         * tests/unictype/test-pr_bidi_eur_num_separator.c: Likewise.
63806         * tests/unictype/test-pr_bidi_eur_num_terminator.c: Likewise.
63807         * tests/unictype/test-pr_bidi_european_digit.c: Likewise.
63808         * tests/unictype/test-pr_bidi_hebrew_right_to_left.c: Likewise.
63809         * tests/unictype/test-pr_bidi_left_to_right.c: Likewise.
63810         * tests/unictype/test-pr_bidi_non_spacing_mark.c: Likewise.
63811         * tests/unictype/test-pr_bidi_other_neutral.c: Likewise.
63812         * tests/unictype/test-pr_bidi_pdf.c: Likewise.
63813         * tests/unictype/test-pr_bidi_segment_separator.c: Likewise.
63814         * tests/unictype/test-pr_bidi_whitespace.c: Likewise.
63815         * tests/unictype/test-pr_combining.c: Likewise.
63816         * tests/unictype/test-pr_composite.c: Likewise.
63817         * tests/unictype/test-pr_currency_symbol.c: Likewise.
63818         * tests/unictype/test-pr_dash.c: Likewise.
63819         * tests/unictype/test-pr_decimal_digit.c: Likewise.
63820         * tests/unictype/test-pr_default_ignorable_code_point.c: Likewise.
63821         * tests/unictype/test-pr_deprecated.c: Likewise.
63822         * tests/unictype/test-pr_diacritic.c: Likewise.
63823         * tests/unictype/test-pr_extender.c: Likewise.
63824         * tests/unictype/test-pr_format_control.c: Likewise.
63825         * tests/unictype/test-pr_grapheme_base.c: Likewise.
63826         * tests/unictype/test-pr_grapheme_extend.c: Likewise.
63827         * tests/unictype/test-pr_grapheme_link.c: Likewise.
63828         * tests/unictype/test-pr_hex_digit.c: Likewise.
63829         * tests/unictype/test-pr_hyphen.c: Likewise.
63830         * tests/unictype/test-pr_id_continue.c: Likewise.
63831         * tests/unictype/test-pr_id_start.c: Likewise.
63832         * tests/unictype/test-pr_ideographic.c: Likewise.
63833         * tests/unictype/test-pr_ids_binary_operator.c: Likewise.
63834         * tests/unictype/test-pr_ids_trinary_operator.c: Likewise.
63835         * tests/unictype/test-pr_ignorable_control.c: Likewise.
63836         * tests/unictype/test-pr_iso_control.c: Likewise.
63837         * tests/unictype/test-pr_join_control.c: Likewise.
63838         * tests/unictype/test-pr_left_of_pair.c: Likewise.
63839         * tests/unictype/test-pr_line_separator.c: Likewise.
63840         * tests/unictype/test-pr_logical_order_exception.c: Likewise.
63841         * tests/unictype/test-pr_lowercase.c: Likewise.
63842         * tests/unictype/test-pr_math.c: Likewise.
63843         * tests/unictype/test-pr_non_break.c: Likewise.
63844         * tests/unictype/test-pr_not_a_character.c: Likewise.
63845         * tests/unictype/test-pr_numeric.c: Likewise.
63846         * tests/unictype/test-pr_other_alphabetic.c: Likewise.
63847         * tests/unictype/test-pr_other_default_ignorable_code_point.c: Likewise.
63848         * tests/unictype/test-pr_other_grapheme_extend.c: Likewise.
63849         * tests/unictype/test-pr_other_id_continue.c: Likewise.
63850         * tests/unictype/test-pr_other_id_start.c: Likewise.
63851         * tests/unictype/test-pr_other_lowercase.c: Likewise.
63852         * tests/unictype/test-pr_other_math.c: Likewise.
63853         * tests/unictype/test-pr_other_uppercase.c: Likewise.
63854         * tests/unictype/test-pr_paired_punctuation.c: Likewise.
63855         * tests/unictype/test-pr_paragraph_separator.c: Likewise.
63856         * tests/unictype/test-pr_pattern_syntax.c: Likewise.
63857         * tests/unictype/test-pr_pattern_white_space.c: Likewise.
63858         * tests/unictype/test-pr_private_use.c: Likewise.
63859         * tests/unictype/test-pr_punctuation.c: Likewise.
63860         * tests/unictype/test-pr_quotation_mark.c: Likewise.
63861         * tests/unictype/test-pr_radical.c: Likewise.
63862         * tests/unictype/test-pr_sentence_terminal.c: Likewise.
63863         * tests/unictype/test-pr_soft_dotted.c: Likewise.
63864         * tests/unictype/test-pr_space.c: Likewise.
63865         * tests/unictype/test-pr_terminal_punctuation.c: Likewise.
63866         * tests/unictype/test-pr_titlecase.c: Likewise.
63867         * tests/unictype/test-pr_unassigned_code_value.c: Likewise.
63868         * tests/unictype/test-pr_unified_ideograph.c: Likewise.
63869         * tests/unictype/test-pr_uppercase.c: Likewise.
63870         * tests/unictype/test-pr_variation_selector.c: Likewise.
63871         * tests/unictype/test-pr_white_space.c: Likewise.
63872         * tests/unictype/test-pr_xid_continue.c: Likewise.
63873         * tests/unictype/test-pr_xid_start.c: Likewise.
63874         * tests/unictype/test-pr_zero_width.c: Likewise.
63875         * tests/unictype/test-sy_c_whitespace.c: Likewise.
63876         * tests/unictype/test-sy_java_whitespace.c: Likewise.
63877
63878 2007-11-12  Bruno Haible  <bruno@clisp.org>
63879
63880         Unicode character classification functions.
63881         * lib/unictype.h: New file.
63882         * modules/unictype/base: New file.
63883         * modules/unictype/category-L: New file.
63884         * modules/unictype/category-Lu: New file.
63885         * modules/unictype/category-Ll: New file.
63886         * modules/unictype/category-Lt: New file.
63887         * modules/unictype/category-Lm: New file.
63888         * modules/unictype/category-Lo: New file.
63889         * modules/unictype/category-M: New file.
63890         * modules/unictype/category-Mn: New file.
63891         * modules/unictype/category-Mc: New file.
63892         * modules/unictype/category-Me: New file.
63893         * modules/unictype/category-N: New file.
63894         * modules/unictype/category-Nd: New file.
63895         * modules/unictype/category-Nl: New file.
63896         * modules/unictype/category-No: New file.
63897         * modules/unictype/category-P: New file.
63898         * modules/unictype/category-Pc: New file.
63899         * modules/unictype/category-Pd: New file.
63900         * modules/unictype/category-Ps: New file.
63901         * modules/unictype/category-Pe: New file.
63902         * modules/unictype/category-Pi: New file.
63903         * modules/unictype/category-Pf: New file.
63904         * modules/unictype/category-Po: New file.
63905         * modules/unictype/category-S: New file.
63906         * modules/unictype/category-Sm: New file.
63907         * modules/unictype/category-Sc: New file.
63908         * modules/unictype/category-Sk: New file.
63909         * modules/unictype/category-So: New file.
63910         * modules/unictype/category-Z: New file.
63911         * modules/unictype/category-Zs: New file.
63912         * modules/unictype/category-Zl: New file.
63913         * modules/unictype/category-Zp: New file.
63914         * modules/unictype/category-C: New file.
63915         * modules/unictype/category-Cc: New file.
63916         * modules/unictype/category-Cf: New file.
63917         * modules/unictype/category-Cs: New file.
63918         * modules/unictype/category-Co: New file.
63919         * modules/unictype/category-Cn: New file.
63920         * modules/unictype/category-or: New file.
63921         * modules/unictype/category-of: New file.
63922         * modules/unictype/category-test: New file.
63923         * modules/unictype/category-test-withtable: New file.
63924         * modules/unictype/category-byname: New file.
63925         * modules/unictype/category-none: New file.
63926         * modules/unictype/category-and: New file.
63927         * modules/unictype/category-and-not: New file.
63928         * modules/unictype/category-name: New file.
63929         * modules/unictype/combining-class: New file.
63930         * modules/unictype/category-all: New file.
63931         * modules/unictype/bidicategory-all: New file.
63932         * modules/unictype/bidicategory-byname: New file.
63933         * modules/unictype/bidicategory-name: New file.
63934         * modules/unictype/bidicategory-of: New file.
63935         * modules/unictype/bidicategory-test: New file.
63936         * modules/unictype/decimal-digit: New file.
63937         * modules/unictype/digit: New file.
63938         * modules/unictype/numeric: New file.
63939         * modules/unictype/mirror: New file.
63940         * modules/unictype/property-white-space: New file.
63941         * modules/unictype/property-alphabetic: New file.
63942         * modules/unictype/property-other-alphabetic: New file.
63943         * modules/unictype/property-not-a-character: New file.
63944         * modules/unictype/property-default-ignorable-code-point: New file.
63945         * modules/unictype/property-other-default-ignorable-code-point: New
63946         file.
63947         * modules/unictype/property-deprecated: New file.
63948         * modules/unictype/property-logical-order-exception: New file.
63949         * modules/unictype/property-variation-selector: New file.
63950         * modules/unictype/property-private-use: New file.
63951         * modules/unictype/property-unassigned-code-value: New file.
63952         * modules/unictype/property-uppercase: New file.
63953         * modules/unictype/property-other-uppercase: New file.
63954         * modules/unictype/property-lowercase: New file.
63955         * modules/unictype/property-other-lowercase: New file.
63956         * modules/unictype/property-titlecase: New file.
63957         * modules/unictype/property-soft-dotted: New file.
63958         * modules/unictype/property-id-start: New file.
63959         * modules/unictype/property-other-id-start: New file.
63960         * modules/unictype/property-id-continue: New file.
63961         * modules/unictype/property-other-id-continue: New file.
63962         * modules/unictype/property-xid-start: New file.
63963         * modules/unictype/property-xid-continue: New file.
63964         * modules/unictype/property-pattern-white-space: New file.
63965         * modules/unictype/property-pattern-syntax: New file.
63966         * modules/unictype/property-join-control: New file.
63967         * modules/unictype/property-grapheme-base: New file.
63968         * modules/unictype/property-grapheme-extend: New file.
63969         * modules/unictype/property-other-grapheme-extend: New file.
63970         * modules/unictype/property-grapheme-link: New file.
63971         * modules/unictype/property-bidi-control: New file.
63972         * modules/unictype/property-bidi-left-to-right: New file.
63973         * modules/unictype/property-bidi-hebrew-right-to-left: New file.
63974         * modules/unictype/property-bidi-arabic-right-to-left: New file.
63975         * modules/unictype/property-bidi-european-digit: New file.
63976         * modules/unictype/property-bidi-eur-num-separator: New file.
63977         * modules/unictype/property-bidi-eur-num-terminator: New file.
63978         * modules/unictype/property-bidi-arabic-digit: New file.
63979         * modules/unictype/property-bidi-common-separator: New file.
63980         * modules/unictype/property-bidi-block-separator: New file.
63981         * modules/unictype/property-bidi-segment-separator: New file.
63982         * modules/unictype/property-bidi-whitespace: New file.
63983         * modules/unictype/property-bidi-non-spacing-mark: New file.
63984         * modules/unictype/property-bidi-boundary-neutral: New file.
63985         * modules/unictype/property-bidi-pdf: New file.
63986         * modules/unictype/property-bidi-embedding-or-override: New file.
63987         * modules/unictype/property-bidi-other-neutral: New file.
63988         * modules/unictype/property-hex-digit: New file.
63989         * modules/unictype/property-ascii-hex-digit: New file.
63990         * modules/unictype/property-ideographic: New file.
63991         * modules/unictype/property-unified-ideograph: New file.
63992         * modules/unictype/property-radical: New file.
63993         * modules/unictype/property-ids-binary-operator: New file.
63994         * modules/unictype/property-ids-trinary-operator: New file.
63995         * modules/unictype/property-zero-width: New file.
63996         * modules/unictype/property-space: New file.
63997         * modules/unictype/property-non-break: New file.
63998         * modules/unictype/property-iso-control: New file.
63999         * modules/unictype/property-format-control: New file.
64000         * modules/unictype/property-dash: New file.
64001         * modules/unictype/property-hyphen: New file.
64002         * modules/unictype/property-punctuation: New file.
64003         * modules/unictype/property-line-separator: New file.
64004         * modules/unictype/property-paragraph-separator: New file.
64005         * modules/unictype/property-quotation-mark: New file.
64006         * modules/unictype/property-sentence-terminal: New file.
64007         * modules/unictype/property-terminal-punctuation: New file.
64008         * modules/unictype/property-currency-symbol: New file.
64009         * modules/unictype/property-math: New file.
64010         * modules/unictype/property-other-math: New file.
64011         * modules/unictype/property-paired-punctuation: New file.
64012         * modules/unictype/property-left-of-pair: New file.
64013         * modules/unictype/property-combining: New file.
64014         * modules/unictype/property-composite: New file.
64015         * modules/unictype/property-decimal-digit: New file.
64016         * modules/unictype/property-numeric: New file.
64017         * modules/unictype/property-diacritic: New file.
64018         * modules/unictype/property-extender: New file.
64019         * modules/unictype/property-ignorable-control: New file.
64020         * modules/unictype/property-test: New file.
64021         * modules/unictype/property-byname: New file.
64022         * modules/unictype/property-all: New file.
64023         * modules/unictype/scripts: New file.
64024         * modules/unictype/scripts-all: New file.
64025         * modules/unictype/block-of: New file.
64026         * modules/unictype/block-test: New file.
64027         * modules/unictype/block-list: New file.
64028         * modules/unictype/block-all: New file.
64029         * modules/unictype/syntax-c-whitespace: New file.
64030         * modules/unictype/syntax-java-whitespace: New file.
64031         * modules/unictype/syntax-c-ident: New file.
64032         * modules/unictype/syntax-java-ident: New file.
64033         * modules/unictype/ctype-alnum: New file.
64034         * modules/unictype/ctype-alpha: New file.
64035         * modules/unictype/ctype-cntrl: New file.
64036         * modules/unictype/ctype-digit: New file.
64037         * modules/unictype/ctype-graph: New file.
64038         * modules/unictype/ctype-lower: New file.
64039         * modules/unictype/ctype-print: New file.
64040         * modules/unictype/ctype-punct: New file.
64041         * modules/unictype/ctype-space: New file.
64042         * modules/unictype/ctype-upper: New file.
64043         * modules/unictype/ctype-xdigit: New file.
64044         * modules/unictype/ctype-blank: New file.
64045         * lib/unictype/bidi_byname.c: New file.
64046         * lib/unictype/bidi_name.c: New file.
64047         * lib/unictype/bidi_of.c: New file.
64048         * lib/unictype/bidi_test.c: New file.
64049         * lib/unictype/bitmap.h: New file.
64050         * lib/unictype/block_test.c: New file.
64051         * lib/unictype/blocks.c: New file.
64052         * lib/unictype/categ_C.c: New file.
64053         * lib/unictype/categ_Cc.c: New file.
64054         * lib/unictype/categ_Cf.c: New file.
64055         * lib/unictype/categ_Cn.c: New file.
64056         * lib/unictype/categ_Co.c: New file.
64057         * lib/unictype/categ_Cs.c: New file.
64058         * lib/unictype/categ_L.c: New file.
64059         * lib/unictype/categ_Ll.c: New file.
64060         * lib/unictype/categ_Lm.c: New file.
64061         * lib/unictype/categ_Lo.c: New file.
64062         * lib/unictype/categ_Lt.c: New file.
64063         * lib/unictype/categ_Lu.c: New file.
64064         * lib/unictype/categ_M.c: New file.
64065         * lib/unictype/categ_Mc.c: New file.
64066         * lib/unictype/categ_Me.c: New file.
64067         * lib/unictype/categ_Mn.c: New file.
64068         * lib/unictype/categ_N.c: New file.
64069         * lib/unictype/categ_Nd.c: New file.
64070         * lib/unictype/categ_Nl.c: New file.
64071         * lib/unictype/categ_No.c: New file.
64072         * lib/unictype/categ_P.c: New file.
64073         * lib/unictype/categ_Pc.c: New file.
64074         * lib/unictype/categ_Pd.c: New file.
64075         * lib/unictype/categ_Pe.c: New file.
64076         * lib/unictype/categ_Pf.c: New file.
64077         * lib/unictype/categ_Pi.c: New file.
64078         * lib/unictype/categ_Po.c: New file.
64079         * lib/unictype/categ_Ps.c: New file.
64080         * lib/unictype/categ_S.c: New file.
64081         * lib/unictype/categ_Sc.c: New file.
64082         * lib/unictype/categ_Sk.c: New file.
64083         * lib/unictype/categ_Sm.c: New file.
64084         * lib/unictype/categ_So.c: New file.
64085         * lib/unictype/categ_Z.c: New file.
64086         * lib/unictype/categ_Zl.c: New file.
64087         * lib/unictype/categ_Zp.c: New file.
64088         * lib/unictype/categ_Zs.c: New file.
64089         * lib/unictype/categ_and.c: New file.
64090         * lib/unictype/categ_and_not.c: New file.
64091         * lib/unictype/categ_byname.c: New file.
64092         * lib/unictype/categ_name.c: New file.
64093         * lib/unictype/categ_none.c: New file.
64094         * lib/unictype/categ_of.c: New file.
64095         * lib/unictype/categ_or.c: New file.
64096         * lib/unictype/categ_test.c: New file.
64097         * lib/unictype/combining.c: New file.
64098         * lib/unictype/ctype_alnum.c: New file.
64099         * lib/unictype/ctype_alpha.c: New file.
64100         * lib/unictype/ctype_blank.c: New file.
64101         * lib/unictype/ctype_cntrl.c: New file.
64102         * lib/unictype/ctype_digit.c: New file.
64103         * lib/unictype/ctype_graph.c: New file.
64104         * lib/unictype/ctype_lower.c: New file.
64105         * lib/unictype/ctype_print.c: New file.
64106         * lib/unictype/ctype_punct.c: New file.
64107         * lib/unictype/ctype_space.c: New file.
64108         * lib/unictype/ctype_upper.c: New file.
64109         * lib/unictype/ctype_xdigit.c: New file.
64110         * lib/unictype/decdigit.c: New file.
64111         * lib/unictype/digit.c: New file.
64112         * lib/unictype/identsyntaxmap.h: New file.
64113         * lib/unictype/mirror.c: New file.
64114         * lib/unictype/numeric.c: New file.
64115         * lib/unictype/pr_alphabetic.c: New file.
64116         * lib/unictype/pr_ascii_hex_digit.c: New file.
64117         * lib/unictype/pr_bidi_arabic_digit.c: New file.
64118         * lib/unictype/pr_bidi_arabic_right_to_left.c: New file.
64119         * lib/unictype/pr_bidi_block_separator.c: New file.
64120         * lib/unictype/pr_bidi_boundary_neutral.c: New file.
64121         * lib/unictype/pr_bidi_common_separator.c: New file.
64122         * lib/unictype/pr_bidi_control.c: New file.
64123         * lib/unictype/pr_bidi_embedding_or_override.c: New file.
64124         * lib/unictype/pr_bidi_eur_num_separator.c: New file.
64125         * lib/unictype/pr_bidi_eur_num_terminator.c: New file.
64126         * lib/unictype/pr_bidi_european_digit.c: New file.
64127         * lib/unictype/pr_bidi_hebrew_right_to_left.c: New file.
64128         * lib/unictype/pr_bidi_left_to_right.c: New file.
64129         * lib/unictype/pr_bidi_non_spacing_mark.c: New file.
64130         * lib/unictype/pr_bidi_other_neutral.c: New file.
64131         * lib/unictype/pr_bidi_pdf.c: New file.
64132         * lib/unictype/pr_bidi_segment_separator.c: New file.
64133         * lib/unictype/pr_bidi_whitespace.c: New file.
64134         * lib/unictype/pr_byname.c: New file.
64135         * lib/unictype/pr_byname.gperf: New file.
64136         * lib/unictype/pr_combining.c: New file.
64137         * lib/unictype/pr_composite.c: New file.
64138         * lib/unictype/pr_currency_symbol.c: New file.
64139         * lib/unictype/pr_dash.c: New file.
64140         * lib/unictype/pr_decimal_digit.c: New file.
64141         * lib/unictype/pr_default_ignorable_code_point.c: New file.
64142         * lib/unictype/pr_deprecated.c: New file.
64143         * lib/unictype/pr_diacritic.c: New file.
64144         * lib/unictype/pr_extender.c: New file.
64145         * lib/unictype/pr_format_control.c: New file.
64146         * lib/unictype/pr_grapheme_base.c: New file.
64147         * lib/unictype/pr_grapheme_extend.c: New file.
64148         * lib/unictype/pr_grapheme_link.c: New file.
64149         * lib/unictype/pr_hex_digit.c: New file.
64150         * lib/unictype/pr_hyphen.c: New file.
64151         * lib/unictype/pr_id_continue.c: New file.
64152         * lib/unictype/pr_id_start.c: New file.
64153         * lib/unictype/pr_ideographic.c: New file.
64154         * lib/unictype/pr_ids_binary_operator.c: New file.
64155         * lib/unictype/pr_ids_trinary_operator.c: New file.
64156         * lib/unictype/pr_ignorable_control.c: New file.
64157         * lib/unictype/pr_iso_control.c: New file.
64158         * lib/unictype/pr_join_control.c: New file.
64159         * lib/unictype/pr_left_of_pair.c: New file.
64160         * lib/unictype/pr_line_separator.c: New file.
64161         * lib/unictype/pr_logical_order_exception.c: New file.
64162         * lib/unictype/pr_lowercase.c: New file.
64163         * lib/unictype/pr_math.c: New file.
64164         * lib/unictype/pr_non_break.c: New file.
64165         * lib/unictype/pr_not_a_character.c: New file.
64166         * lib/unictype/pr_numeric.c: New file.
64167         * lib/unictype/pr_other_alphabetic.c: New file.
64168         * lib/unictype/pr_other_default_ignorable_code_point.c: New file.
64169         * lib/unictype/pr_other_grapheme_extend.c: New file.
64170         * lib/unictype/pr_other_id_continue.c: New file.
64171         * lib/unictype/pr_other_id_start.c: New file.
64172         * lib/unictype/pr_other_lowercase.c: New file.
64173         * lib/unictype/pr_other_math.c: New file.
64174         * lib/unictype/pr_other_uppercase.c: New file.
64175         * lib/unictype/pr_paired_punctuation.c: New file.
64176         * lib/unictype/pr_paragraph_separator.c: New file.
64177         * lib/unictype/pr_pattern_syntax.c: New file.
64178         * lib/unictype/pr_pattern_white_space.c: New file.
64179         * lib/unictype/pr_private_use.c: New file.
64180         * lib/unictype/pr_punctuation.c: New file.
64181         * lib/unictype/pr_quotation_mark.c: New file.
64182         * lib/unictype/pr_radical.c: New file.
64183         * lib/unictype/pr_sentence_terminal.c: New file.
64184         * lib/unictype/pr_soft_dotted.c: New file.
64185         * lib/unictype/pr_space.c: New file.
64186         * lib/unictype/pr_terminal_punctuation.c: New file.
64187         * lib/unictype/pr_test.c: New file.
64188         * lib/unictype/pr_titlecase.c: New file.
64189         * lib/unictype/pr_unassigned_code_value.c: New file.
64190         * lib/unictype/pr_unified_ideograph.c: New file.
64191         * lib/unictype/pr_uppercase.c: New file.
64192         * lib/unictype/pr_variation_selector.c: New file.
64193         * lib/unictype/pr_white_space.c: New file.
64194         * lib/unictype/pr_xid_continue.c: New file.
64195         * lib/unictype/pr_xid_start.c: New file.
64196         * lib/unictype/pr_zero_width.c: New file.
64197         * lib/unictype/scripts.c: New file.
64198         * lib/unictype/sy_c_ident.c: New file.
64199         * lib/unictype/sy_c_whitespace.c: New file.
64200         * lib/unictype/sy_java_ident.c: New file.
64201         * lib/unictype/sy_java_whitespace.c: New file.
64202
64203         * lib/unictype/bidi_of.h: New file, generated by gen-ctype.c for
64204         Unicode 5.0.0.
64205         * lib/unictype/blocks.h: Likewise.
64206         * lib/unictype/categ_C.h: Likewise.
64207         * lib/unictype/categ_Cc.h: Likewise.
64208         * lib/unictype/categ_Cf.h: Likewise.
64209         * lib/unictype/categ_Cn.h: Likewise.
64210         * lib/unictype/categ_Co.h: Likewise.
64211         * lib/unictype/categ_Cs.h: Likewise.
64212         * lib/unictype/categ_L.h: Likewise.
64213         * lib/unictype/categ_Ll.h: Likewise.
64214         * lib/unictype/categ_Lm.h: Likewise.
64215         * lib/unictype/categ_Lo.h: Likewise.
64216         * lib/unictype/categ_Lt.h: Likewise.
64217         * lib/unictype/categ_Lu.h: Likewise.
64218         * lib/unictype/categ_M.h: Likewise.
64219         * lib/unictype/categ_Mc.h: Likewise.
64220         * lib/unictype/categ_Me.h: Likewise.
64221         * lib/unictype/categ_Mn.h: Likewise.
64222         * lib/unictype/categ_N.h: Likewise.
64223         * lib/unictype/categ_Nd.h: Likewise.
64224         * lib/unictype/categ_Nl.h: Likewise.
64225         * lib/unictype/categ_No.h: Likewise.
64226         * lib/unictype/categ_P.h: Likewise.
64227         * lib/unictype/categ_Pc.h: Likewise.
64228         * lib/unictype/categ_Pd.h: Likewise.
64229         * lib/unictype/categ_Pe.h: Likewise.
64230         * lib/unictype/categ_Pf.h: Likewise.
64231         * lib/unictype/categ_Pi.h: Likewise.
64232         * lib/unictype/categ_Po.h: Likewise.
64233         * lib/unictype/categ_Ps.h: Likewise.
64234         * lib/unictype/categ_S.h: Likewise.
64235         * lib/unictype/categ_Sc.h: Likewise.
64236         * lib/unictype/categ_Sk.h: Likewise.
64237         * lib/unictype/categ_Sm.h: Likewise.
64238         * lib/unictype/categ_So.h: Likewise.
64239         * lib/unictype/categ_Z.h: Likewise.
64240         * lib/unictype/categ_Zl.h: Likewise.
64241         * lib/unictype/categ_Zp.h: Likewise.
64242         * lib/unictype/categ_Zs.h: Likewise.
64243         * lib/unictype/categ_of.h: Likewise.
64244         * lib/unictype/combining.h: Likewise.
64245         * lib/unictype/ctype_alnum.h: Likewise.
64246         * lib/unictype/ctype_alpha.h: Likewise.
64247         * lib/unictype/ctype_blank.h: Likewise.
64248         * lib/unictype/ctype_cntrl.h: Likewise.
64249         * lib/unictype/ctype_digit.h: Likewise.
64250         * lib/unictype/ctype_graph.h: Likewise.
64251         * lib/unictype/ctype_lower.h: Likewise.
64252         * lib/unictype/ctype_print.h: Likewise.
64253         * lib/unictype/ctype_punct.h: Likewise.
64254         * lib/unictype/ctype_space.h: Likewise.
64255         * lib/unictype/ctype_upper.h: Likewise.
64256         * lib/unictype/ctype_xdigit.h: Likewise.
64257         * lib/unictype/decdigit.h: Likewise.
64258         * lib/unictype/digit.h: Likewise.
64259         * lib/unictype/mirror.h: Likewise.
64260         * lib/unictype/numeric.h: Likewise.
64261         * lib/unictype/pr_alphabetic.h: Likewise.
64262         * lib/unictype/pr_ascii_hex_digit.h: Likewise.
64263         * lib/unictype/pr_bidi_arabic_digit.h: Likewise.
64264         * lib/unictype/pr_bidi_arabic_right_to_left.h: Likewise.
64265         * lib/unictype/pr_bidi_block_separator.h: Likewise.
64266         * lib/unictype/pr_bidi_boundary_neutral.h: Likewise.
64267         * lib/unictype/pr_bidi_common_separator.h: Likewise.
64268         * lib/unictype/pr_bidi_control.h: Likewise.
64269         * lib/unictype/pr_bidi_embedding_or_override.h: Likewise.
64270         * lib/unictype/pr_bidi_eur_num_separator.h: Likewise.
64271         * lib/unictype/pr_bidi_eur_num_terminator.h: Likewise.
64272         * lib/unictype/pr_bidi_european_digit.h: Likewise.
64273         * lib/unictype/pr_bidi_hebrew_right_to_left.h: Likewise.
64274         * lib/unictype/pr_bidi_left_to_right.h: Likewise.
64275         * lib/unictype/pr_bidi_non_spacing_mark.h: Likewise.
64276         * lib/unictype/pr_bidi_other_neutral.h: Likewise.
64277         * lib/unictype/pr_bidi_pdf.h: Likewise.
64278         * lib/unictype/pr_bidi_segment_separator.h: Likewise.
64279         * lib/unictype/pr_bidi_whitespace.h: Likewise.
64280         * lib/unictype/pr_combining.h: Likewise.
64281         * lib/unictype/pr_composite.h: Likewise.
64282         * lib/unictype/pr_currency_symbol.h: Likewise.
64283         * lib/unictype/pr_dash.h: Likewise.
64284         * lib/unictype/pr_decimal_digit.h: Likewise.
64285         * lib/unictype/pr_default_ignorable_code_point.h: Likewise.
64286         * lib/unictype/pr_deprecated.h: Likewise.
64287         * lib/unictype/pr_diacritic.h: Likewise.
64288         * lib/unictype/pr_extender.h: Likewise.
64289         * lib/unictype/pr_format_control.h: Likewise.
64290         * lib/unictype/pr_grapheme_base.h: Likewise.
64291         * lib/unictype/pr_grapheme_extend.h: Likewise.
64292         * lib/unictype/pr_grapheme_link.h: Likewise.
64293         * lib/unictype/pr_hex_digit.h: Likewise.
64294         * lib/unictype/pr_hyphen.h: Likewise.
64295         * lib/unictype/pr_id_continue.h: Likewise.
64296         * lib/unictype/pr_id_start.h: Likewise.
64297         * lib/unictype/pr_ideographic.h: Likewise.
64298         * lib/unictype/pr_ids_binary_operator.h: Likewise.
64299         * lib/unictype/pr_ids_trinary_operator.h: Likewise.
64300         * lib/unictype/pr_ignorable_control.h: Likewise.
64301         * lib/unictype/pr_iso_control.h: Likewise.
64302         * lib/unictype/pr_join_control.h: Likewise.
64303         * lib/unictype/pr_left_of_pair.h: Likewise.
64304         * lib/unictype/pr_line_separator.h: Likewise.
64305         * lib/unictype/pr_logical_order_exception.h: Likewise.
64306         * lib/unictype/pr_lowercase.h: Likewise.
64307         * lib/unictype/pr_math.h: Likewise.
64308         * lib/unictype/pr_non_break.h: Likewise.
64309         * lib/unictype/pr_not_a_character.h: Likewise.
64310         * lib/unictype/pr_numeric.h: Likewise.
64311         * lib/unictype/pr_other_alphabetic.h: Likewise.
64312         * lib/unictype/pr_other_default_ignorable_code_point.h: Likewise.
64313         * lib/unictype/pr_other_grapheme_extend.h: Likewise.
64314         * lib/unictype/pr_other_id_continue.h: Likewise.
64315         * lib/unictype/pr_other_id_start.h: Likewise.
64316         * lib/unictype/pr_other_lowercase.h: Likewise.
64317         * lib/unictype/pr_other_math.h: Likewise.
64318         * lib/unictype/pr_other_uppercase.h: Likewise.
64319         * lib/unictype/pr_paired_punctuation.h: Likewise.
64320         * lib/unictype/pr_paragraph_separator.h: Likewise.
64321         * lib/unictype/pr_pattern_syntax.h: Likewise.
64322         * lib/unictype/pr_pattern_white_space.h: Likewise.
64323         * lib/unictype/pr_private_use.h: Likewise.
64324         * lib/unictype/pr_punctuation.h: Likewise.
64325         * lib/unictype/pr_quotation_mark.h: Likewise.
64326         * lib/unictype/pr_radical.h: Likewise.
64327         * lib/unictype/pr_sentence_terminal.h: Likewise.
64328         * lib/unictype/pr_soft_dotted.h: Likewise.
64329         * lib/unictype/pr_space.h: Likewise.
64330         * lib/unictype/pr_terminal_punctuation.h: Likewise.
64331         * lib/unictype/pr_titlecase.h: Likewise.
64332         * lib/unictype/pr_unassigned_code_value.h: Likewise.
64333         * lib/unictype/pr_unified_ideograph.h: Likewise.
64334         * lib/unictype/pr_uppercase.h: Likewise.
64335         * lib/unictype/pr_variation_selector.h: Likewise.
64336         * lib/unictype/pr_white_space.h: Likewise.
64337         * lib/unictype/pr_xid_continue.h: Likewise.
64338         * lib/unictype/pr_xid_start.h: Likewise.
64339         * lib/unictype/pr_zero_width.h: Likewise.
64340         * lib/unictype/scripts.h: Likewise.
64341         * lib/unictype/scripts_byname.gperf: Likewise.
64342         * lib/unictype/sy_c_ident.h: Likewise.
64343         * lib/unictype/sy_c_whitespace.h: Likewise.
64344         * lib/unictype/sy_java_ident.h: Likewise.
64345         * lib/unictype/sy_java_whitespace.h: Likewise.
64346
64347         * lib/unictype/Makefile: New file.
64348         * lib/unictype/gen-ctype.c: New file, based on gen-unicode-ctype.c in
64349         glibc.
64350         * lib/unictype/3level.h: New file, copied from glibc.
64351         * lib/unictype/3levelbit.h: New file.
64352
64353 2007-11-11  Bruno Haible  <bruno@clisp.org>
64354
64355         * modules/gperf: New file.
64356         * modules/iconv_open (Depends-on): Add it.
64357         (Makefile.am): Remove the GPERF definition.
64358
64359 2007-11-11  Bruno Haible  <bruno@clisp.org>
64360
64361         * m4/round.m4 (gl_FUNC_ROUND): Test against NetBSD 3.0 bug.
64362         * doc/functions/round.texi: Mention the NetBSD 3.0 bug.
64363
64364 2007-11-11  Bruno Haible  <bruno@clisp.org>
64365
64366         * tests/test-argmatch.c (ARGMATCH_DIE): Undefine.
64367         (usage): Remove function.
64368
64369 2007-11-11  Bruno Haible  <bruno@clisp.org>
64370
64371         * m4/roundf.m4 (gl_FUNC_ROUNDF): Use gl_FUNC_FLOORF_LIBS and
64372         gl_FUNC_CEILF_LIBS.
64373         * m4/round.m4 (gl_FUNC_ROUND): Use gl_FUNC_FLOOR_LIBS and
64374         gl_FUNC_CEIL_LIBS.
64375         * m4/roundl.m4 (gl_FUNC_ROUNDL): Use gl_FUNC_FLOORL_LIBS and
64376         gl_FUNC_CEILL_LIBS.
64377         * modules/roundf (Files): Add m4/floorf.m4, m4/ceilf.m4.
64378         * modules/round (Files): Add m4/floor.m4, m4/ceil.m4.
64379         * modules/roundl (Files): Add m4/floorl.m4, m4/ceill.m4.
64380
64381 2007-11-11  Bruno Haible  <bruno@clisp.org>
64382
64383         * m4/roundf.m4 (gl_FUNC_ROUNDF): Handle the case that floorf and
64384         roundf were declared but do not exist on functions.
64385         * m4/roundl.m4 (gl_FUNC_ROUNDL): Handle the case that floorl and
64386         roundl were declared but do not exist on functions.
64387         * lib/round.c (HAVE_FLOOR_AND_CEIL): Use HAVE_FLOORF_AND_CEILF and
64388         HAVE_FLOORL_AND_CEILL, respectively.
64389         Needed for Sun C on Solaris 10.
64390
64391 2007-11-11  Bruno Haible  <bruno@clisp.org>
64392
64393         * m4/roundf.m4 (gl_FUNC_ROUNDF): Set REPLACE_ROUNDF instead of
64394         HAVE_DECL_ROUNDF. Remove redundant AC_SUBST.
64395         * m4/round.m4 (gl_FUNC_ROUND): Set REPLACE_ROUND instead of
64396         HAVE_DECL_ROUND. Remove redundant AC_SUBST.
64397         * m4/roundl.m4 (gl_FUNC_ROUNDL): Set REPLACE_ROUNDL instead of
64398         HAVE_DECL_ROUNDL. Remove redundant AC_SUBST.
64399         * lib/math.in.h (roundf): Use REPLACE_ROUNDF instead of
64400         HAVE_DECL_ROUNDF.
64401         (round): Use REPLACE_ROUND instead of HAVE_DECL_ROUND.
64402         (roundl): Use REPLACE_ROUNDL instead of HAVE_DECL_ROUNDL.
64403         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_ROUND* instead
64404         of HAVE_DECL_ROUND*.
64405         * modules/math (Makefile.am): Update.
64406
64407 2007-11-10  Bruno Haible  <bruno@clisp.org>
64408
64409         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Use same check for
64410         ptrdiff_t as m4/intl.m4.
64411
64412 2007-11-10  Jim Meyering  <meyering@redhat.com>
64413
64414         Avoid link failure for the argmatch test.
64415         * tests/test-argmatch.c (usage): Define function to avoid a link
64416         failure: argmatch_die requires a usage function.
64417
64418 2007-11-09  Bruno Haible  <bruno@clisp.org>
64419
64420         * doc/functions/snprintf.texi: Mention BeOS deficiency.
64421         * doc/functions/vsnprintf.texi: Likewise.
64422         * lib/vasnprintf.c (VASNPRINTF): Ensure that we never call snprintf
64423         with a size argument < 2.
64424
64425 2007-11-09  Bruno Haible  <bruno@clisp.org>
64426
64427         * lib/vasnprintf.c (VASNPRINTF): Increase reallocation of snprintf
64428         buffer. Fixes an inefficiency introduced on 2007-11-03.
64429
64430 2007-11-09  Bruno Haible  <bruno@clisp.org>
64431
64432         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8) [BeOS]: Make this test return
64433         none instead of tr_TR. Fixes a failure of test-c-strcasecmp.c.
64434
64435 2007-11-08  Jim Meyering  <meyering@redhat.com>
64436
64437         Change cache variable name prefix "jm_" to "gl_" everywhere.
64438         * m4/d-type.m4, m4/jm-winsz1.m4, m4/jm-winsz2.m4, m4/link-follow.m4:
64439         * m4/putenv.m4, m4/strtoimax.m4, m4/strtoumax.m4, m4/unlink-busy.m4:
64440         * m4/uptime.m4: s/gl_/jm_/
64441
64442 2007-11-07  Bruno Haible  <bruno@clisp.org>
64443
64444         Update to GNU gettext 0.17.
64445         * m4/intl.m4: Update to GNU gettext 0.17.
64446         * m4/po.m4: Likewise.
64447         * modules/gettext (Files): Remove m4/ulonglong.m4.
64448         (configure.ac): Require gettext infrastructure from version 0.17.
64449
64450 2007-11-06  Bruno Haible  <bruno@clisp.org>
64451
64452         * lib/fbufmode.c (fbufmode) [QNX]: Use numerical values for flags; the
64453         symbolic values are not defined in a public header.
64454         * lib/freadable.c (freadable) [QNX]: Likewise.
64455         * lib/freadahead.c (freadahead) [QNX]: Likewise.
64456         * lib/freading.c (freading) [QNX]: Likewise.
64457         * lib/fseterr.c (fseterr) [QNX]: Likewise.
64458         * lib/fwritable.c (fwritable) [QNX]: Likewise.
64459         * lib/fwriting.c (fwriting) [QNX]: Likewise.
64460         * lib/fpurge.c (fpurge) [QNX]: Likewise. Add a return statement.
64461         Reported by Alain Magloire.
64462
64463         * m4/fpending.m4 (gl_FUNC_FPENDING): Add a variant for QNX.
64464
64465 2007-11-05  Bruno Haible  <bruno@clisp.org>
64466
64467         * lib/vasnprintf.c (VASNPRINTF): Expand the NEED_PRINTF_DIRECTIVE_A
64468         code when NEED_PRINTF_LONG_DOUBLE or NEED_PRINTF_DOUBLE is set.
64469         Needed on Cygwin, where !NEED_PRINTF_DIRECTIVE_A && NEED_PRINTF_DOUBLE.
64470         Reported by Eric Blake.
64471
64472 2007-10-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64473             Bruno Haible  <bruno@clisp.org>
64474
64475         * modules/malloc (configure.ac): Define GNULIB_MALLOC_GNU always.
64476         * modules/realloc (configure.ac): Define GNULIB_REALLOC_GNU always.
64477         * lib/realloc.c (SYSTEM_MALLOC_GLIBC_COMPATIBLE): New macro.
64478         (malloc): Undefine also before including <stdlib.h>.
64479         (rpl_realloc): Turn malloc(0) into malloc(1) if necessary.
64480         Needed on OSF/1 4.0.
64481
64482 2007-11-05  Jim Meyering  <meyering@redhat.com>
64483
64484         git-version-gen: sync from coreutils.
64485         * build-aux/git-version-gen: Add comments.
64486         Change the first '-' to '.' in the snapshot version string,
64487         e.g., 6.9-377-08144 -> 6.9.377-08144
64488         Remove first parameter.
64489         Don't declare a version "-dirty" merely because a time
64490         stamp has changed.
64491
64492 2007-11-04  Bruno Haible  <bruno@clisp.org>
64493
64494         * lib/lock.h: Protect all macro definitions containing an 'if'
64495         statement through a "do { ... } while (0)".
64496         * lib/tls.h: Likewise.
64497
64498 2007-11-04  Bruno Haible  <bruno@clisp.org>
64499
64500         * lib/vasnprintf.c (DCHAR_IS_TCHAR, DCHAR_CPY): Undefine at the end.
64501
64502 2007-11-04  Bruno Haible  <bruno@clisp.org>
64503
64504         * m4/printf.m4 (gl_PRINTF_ENOMEM): Use GL_NOCRASH.
64505         * modules/fprintf-posix (Depends-on): Add nocrash.
64506         * modules/snprintf-posix (Depends-on): Likewise.
64507         * modules/sprintf-posix (Depends-on): Likewise.
64508         * modules/vasnprintf-posix (Depends-on): Likewise.
64509         * modules/vasprintf-posix (Depends-on): Likewise.
64510         * modules/vfprintf-posix (Depends-on): Likewise.
64511         * modules/vsnprintf-posix (Depends-on): Likewise.
64512         * modules/vsprintf-posix (Depends-on): Likewise.
64513         * modules/unistdio/u8-vasnprintf (Depends-on): Likewise.
64514         * modules/unistdio/u8-u8-vasnprintf (Depends-on): Likewise.
64515         * modules/unistdio/u16-vasnprintf (Depends-on): Likewise.
64516         * modules/unistdio/u16-u16-vasnprintf (Depends-on): Likewise.
64517         * modules/unistdio/u32-vasnprintf (Depends-on): Likewise.
64518         * modules/unistdio/u32-u32-vasnprintf (Depends-on): Likewise.
64519         * modules/unistdio/ulc-vasnprintf (Depends-on): Likewise.
64520
64521 2007-11-04  Bruno Haible  <bruno@clisp.org>
64522
64523         * modules/nocrash: New file.
64524         * m4/nocrash.m4: New file, taken from GNU clisp. Code taken from
64525         GNU libsigsegv, with permission of GNU libsigsegv's copyright holders.
64526
64527 2007-11-04  Bruno Haible  <bruno@clisp.org>
64528
64529         * tests/test-vasnprintf-posix.c (test_function): Add some tests of
64530         precision handling.
64531         * tests/test-vasprintf-posix.c (test_function): Likewise.
64532         * tests/test-snprintf-posix.h (test_function): Likewise.
64533         * tests/test-sprintf-posix.h (test_function): Likewise.
64534
64535         Fix *printf behaviour for large precisions on mingw and BeOS.
64536         * m4/printf.m4 (gl_PRINTF_PRECISION): New macro.
64537         * lib/vasnprintf.c (VASNPRINTF): Handle NEED_PRINTF_UNBOUNDED_PRECISION.
64538         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_PRECISION): New macro.
64539         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64540         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64541         gl_PRINTF_PRECISION and test its result. Invoke
64542         gl_PREREQ_VASNPRINTF_PRECISION.
64543         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64544         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64545         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64546         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64547         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64548         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64549         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64550         * doc/functions/fprintf.texi: Update.
64551         * doc/functions/printf.texi: Update.
64552         * doc/functions/snprintf.texi: Update.
64553         * doc/functions/sprintf.texi: Update.
64554         * doc/functions/vfprintf.texi: Update.
64555         * doc/functions/vprintf.texi: Update.
64556         * doc/functions/vsnprintf.texi: Update.
64557         * doc/functions/vsprintf.texi: Update.
64558
64559 2007-11-04  Bruno Haible  <bruno@clisp.org>
64560
64561         * lib/vasnprintf.c (scale10_round_decimal_decoded): Fix shift loop.
64562
64563 2007-11-04  Bruno Haible  <bruno@clisp.org>
64564
64565         * modules/relocatable-prog (Files): Add m4/lib-ld.m4.
64566         Reported by Sylvain Beucler <beuc@gnu.org>.
64567
64568 2007-11-03  Bruno Haible  <bruno@clisp.org>
64569
64570         * tests/test-fprintf-posix2.sh: New file.
64571         * tests/test-fprintf-posix2.c: New file.
64572         * modules/fprintf-posix-tests (Files): Add them.
64573         (TESTS): Add test-fprintf-posix2.sh.
64574         (configure.ac): Check for getrlimit and setrlimit.
64575         (check_PROGRAMS): Add test-fprintf-posix2.
64576
64577         * tests/test-printf-posix2.sh: New file.
64578         * tests/test-printf-posix2.c: New file.
64579         * modules/printf-posix-tests (Files): Add them.
64580         (TESTS): Add test-printf-posix2.sh.
64581         (configure.ac): Check for getrlimit and setrlimit.
64582         (check_PROGRAMS): Add test-printf-posix2.
64583
64584         Fix *printf behaviour in out-of-memory situations on MacOS X and *BSD.
64585         * m4/printf.m4 (gl_PRINTF_ENOMEM): New macro.
64586         * lib/vasnprintf.c: Implement NEED_PRINTF_DOUBLE.
64587         (decode_double): New function, copied from decode_long_double.
64588         (scale10_round_decimal_decoded): New function, extracted from
64589         scale10_round_decimal_long_double.
64590         (scale10_round_decimal_long_double): Use it.
64591         (scale10_round_decimal_double): New function.
64592         (floorlog10): New function.
64593         (VASNPRINTF): Handle NEED_PRINTF_DOUBLE case.
64594         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_ENOMEM): New macro.
64595         (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): Invoke it.
64596         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
64597         gl_PRINTF_ENOMEM and test its result. Invoke
64598         gl_PREREQ_VASNPRINTF_ENOMEM.
64599         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
64600         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
64601         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
64602         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
64603         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
64604         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
64605         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
64606         * modules/fprintf-posix (Depends-on): Add frexp-nolibm.
64607         * modules/snprintf-posix (Depends-on): Likewise.
64608         * modules/sprintf-posix (Depends-on): Likewise.
64609         * modules/vasnprintf-posix (Depends-on): Likewise.
64610         * modules/vasprintf-posix (Depends-on): Likewise.
64611         * modules/vfprintf-posix (Depends-on): Likewise.
64612         * modules/vsnprintf-posix (Depends-on): Likewise.
64613         * modules/vsprintf-posix (Depends-on): Likewise.
64614         * doc/functions/fprintf.texi: Update.
64615         * doc/functions/printf.texi: Update.
64616         * doc/functions/snprintf.texi: Update.
64617         * doc/functions/sprintf.texi: Update.
64618         * doc/functions/vfprintf.texi: Update.
64619         * doc/functions/vprintf.texi: Update.
64620         * doc/functions/vsnprintf.texi: Update.
64621         * doc/functions/vsprintf.texi: Update.
64622
64623 2007-11-03  Bruno Haible  <bruno@clisp.org>
64624
64625         * modules/frexp-nolibm-tests: New file.
64626
64627         * modules/frexp-nolibm: New file.
64628         * m4/frexp.m4 (gl_FUNC_FREXP_NO_LIBM): New macro.
64629
64630 2007-11-03  Bruno Haible  <bruno@clisp.org>
64631
64632         * lib/vasnprintf.c (VASNPRINTF): Don't assume that snprintf's return
64633         value is C99 compliant.
64634         Needed for OSF/1 5.1.
64635
64636 2007-11-03  Bruno Haible  <bruno@clisp.org>
64637
64638         Fix out-of-memory handling of vasnprintf.
64639         * lib/printf-parse.c: Include <errno.h>.
64640         (PRINTF_PARSE): When failing, set errno to EINVAL or ENOMEM.
64641         * lib/vasnprintf.c (VASNPRINTF): When PRINTF_PARSE fails, assume errno
64642         is already set.
64643
64644 2007-11-02  Eric Blake  <ebb9@byu.net>
64645
64646         Fix tests on cygwin.
64647         * modules/xprintf-posix-tests (Makefile.am): Link against -lintl.
64648
64649 2007-11-01  Bruno Haible  <bruno@clisp.org>
64650
64651         * lib/stdlib.in.h (putenv): Remove the "not POSIX compliant everywhere"
64652         warning.
64653         * doc/functions/putenv.texi: Clarify that the 'putenv' module is not
64654         needed for POSIX compatibility.
64655
64656 2007-11-01  Paul Eggert  <eggert@cs.ucla.edu>
64657
64658         * m4/putenv.m4 (gl_FUNC_PUTENV): Also mention that we're checking
64659         for compatibility with GNU.
64660
64661 2007-11-01  Bruno Haible  <bruno@clisp.org>
64662
64663         * lib/putenv.c: Include <stdlib.h>. Remove rpl_putenv declaration.
64664         (putenv): Renamed from rpl_putenv. Change argument type from
64665         'const char *' to 'char *'.
64666         * m4/putenv.m4 (gl_FUNC_PUTENV): Require gl_STDLIB_H_DEFAULTS. Instead
64667         of defining putenv in config.h, just set REPLACE_PUTENV.
64668         * modules/putenv (Depends-on): Add stdlib.
64669         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
64670         (Include): Use <stdlib.h>.
64671         * lib/stdlib.in.h (putenv): New declaration.
64672         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize GNULIB_PUTENV and
64673         REPLACE_PUTENV.
64674         * modules/stdlib (Makefile.am): Substitute GNULIB_PUTENV and
64675         REPLACE_PUTENV.
64676         Needed for MacOS X 10.5.0.
64677         Reported by Peter O'Gorman <peter@pogma.com>.
64678
64679 2007-11-01  Jim Meyering  <meyering@redhat.com>
64680
64681         Treat an empty date string exactly like "0".
64682         * lib/getdate.y (get_date): Once any isspace or TZ= prefix is consumed,
64683         if the remaining date string (to be parsed) is empty, use "0".
64684         Reported by Mischa Molhoek and discussed in this thread:
64685         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/11726>.
64686
64687 2007-10-31  Bruno Haible  <bruno@clisp.org>
64688
64689         * m4/intmax_t.m4 (gl_AC_TYPE_INTMAX_T, gt_AC_TYPE_INTMAX_T): Use
64690         AC_TYPE_LONG_LONG_INT instead of gl_AC_TYPE_LONG_LONG.
64691         * m4/uintmax_t.m4 (gl_AC_TYPE_UINTMAX_T): Use
64692         AC_TYPE_UNSIGNED_LONG_LONG_INT instead of gl_AC_TYPE_UNSIGNED_LONG_LONG.
64693         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Remove macro.
64694         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Remove macro.
64695
64696 2007-10-31  Bruno Haible  <bruno@clisp.org>
64697
64698         * m4/longlong.m4 (_AC_TYPE_LONG_LONG_SNIPPET): New macro, extracted
64699         from AC_TYPE_LONG_LONG_INT and AC_TYPE_UNSIGNED_LONG_LONG_INT.
64700         (AC_TYPE_LONG_LONG_INT): Use it.
64701         (AC_TYPE_UNSIGNED_LONG_LONG_INT): Moved here from m4/ulonglong.m4. Use
64702         it as well.
64703         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Remove macro; moved
64704         to m4/longlong.m4.
64705         * modules/stdint (Files): Remove m4/ulonglong.m4.
64706         * modules/strtoull (Files): Use m4/longlong.m4 instead of
64707         m4/ulonglong.m4.
64708         * modules/strtoumax (Files): Likewise.
64709
64710 2007-10-30  Bruno Haible  <bruno@clisp.org>
64711
64712         * modules/xvasprintf-posix: New file.
64713         Suggested by Eric Blake.
64714
64715 2007-10-30  Bruno Haible  <bruno@clisp.org>
64716
64717         * modules/xprintf-posix-tests: New file.
64718         * tests/test-xprintf-posix.sh: New file.
64719         * tests/test-xprintf-posix.c: New file.
64720         * tests/test-xfprintf-posix.c: New file.
64721
64722         * modules/xprintf-posix: New file.
64723
64724 2007-10-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64725
64726         * modules/fbufmode-tests (MOSTLYCLEANFILES): Remove temp files.
64727         * modules/freadable-tests (MOSTLYCLEANFILES): Likewise.
64728         * modules/fwritable-tests (MOSTLYCLEANFILES): Likewise.
64729
64730 2007-10-29  Bruno Haible  <bruno@clisp.org>
64731
64732         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): Rename the cache variable to
64733         contain the special marker '_cv_'.
64734         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): Likewise.
64735         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): Likewise.
64736         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): Likewise.
64737         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): Likewise.
64738         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): Likewise.
64739         Reported by Ralf Wildenhues.
64740
64741 2007-10-29  Bruno Haible  <bruno@clisp.org>
64742
64743         * gnulib-tool (func_import): When --lgpl is not specified, set
64744         sed_transform_lib_file to convert LGPL and GPLv2+ copyright headers to
64745         GPLv3.
64746         Reported by Simon Josefsson.
64747
64748 2007-10-28  Bruno Haible  <bruno@clisp.org>
64749
64750         * lib/math.in.h: Test REPLACE_ISFINITE instead of HAVE_DECL_ISFINITE.
64751         * m4/isfinite.m4 (gl_ISFINITE): Initialize REPLACE_ISFINITE instead of
64752         HAVE_DECL_ISFINITE.
64753         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64754         * modules/math (Makefile.am): Substitute REPLACE_ISFINITE instead of
64755         HAVE_DECL_ISFINITE.
64756
64757 2007-10-28  Bruno Haible  <bruno@clisp.org>
64758
64759         * lib/stdint.in.h (_STDINT_MAX): Subtract 1 from an unused signed
64760         integer shift in the signed case. Fixes warnings with OSF/1 5.1 cc.
64761
64762 2007-10-28  Bruno Haible  <bruno@clisp.org>
64763
64764         Fix link errors with Sun C 5.0 on Solaris 10.
64765         * m4/floorf.m4 (gl_FUNC_FLOORF): Consider also the case that the
64766         function is declared but not present in the compiler's libm.
64767         * m4/floorl.m4 (gl_FUNC_FLOORL): Likewise.
64768         * m4/ceilf.m4 (gl_FUNC_CEILF): Likewise.
64769         * m4/ceill.m4 (gl_FUNC_CEILL: Likewise.
64770         * lib/math.in.h: Test REPLACE_CEILF instead of HAVE_DECL_CEILF.
64771         Test REPLACE_CEILL instead of HAVE_DECL_CEILL.
64772         Test REPLACE_FLOORF instead of HAVE_DECL_FLOORF.
64773         Test REPLACE_FLOORL instead of HAVE_DECL_FLOORL.
64774         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Update.
64775         * modules/math (Makefile.am): Substitute REPLACE_CEILF instead of
64776         HAVE_DECL_CEILF, REPLACE_CEILL instead of HAVE_DECL_CEILL,
64777         REPLACE_FLOORF instead of HAVE_DECL_FLOORF, REPLACE_FLOORL instead of
64778         HAVE_DECL_FLOORL.
64779
64780 2007-10-28  Bruno Haible  <bruno@clisp.org>
64781
64782         * m4/floorl.m4 (gl_FUNC_FLOORL_LIBS): New macro, extracted from
64783         gl_FUNC_FLOORL. Cache the result.
64784         (gl_FUNC_FLOORL): Use it.
64785         * m4/ceill.m4 (gl_FUNC_CEILL_LIBS): New macro, extracted from
64786         gl_FUNC_CEILL. Cache the result.
64787         (gl_FUNC_CEILL): Use it.
64788
64789         * m4/floor.m4 (gl_FUNC_FLOOR_LIBS): New macro, extracted from
64790         gl_FUNC_FLOOR. Cache the result.
64791         (gl_FUNC_FLOOR): Use it.
64792         * m4/ceil.m4 (gl_FUNC_CEIL_LIBS): New macro, extracted from
64793         gl_FUNC_CEIL. Cache the result.
64794         (gl_FUNC_CEIL): Use it.
64795
64796         * m4/floorf.m4 (gl_FUNC_FLOORF_LIBS): New macro, extracted from
64797         gl_FUNC_FLOORF. Cache the result.
64798         (gl_FUNC_FLOORF): Use it.
64799         * m4/ceilf.m4 (gl_FUNC_CEILF_LIBS): New macro, extracted from
64800         gl_FUNC_CEILF. Cache the result.
64801         (gl_FUNC_CEILF): Use it.
64802
64803 2007-10-28  Bruno Haible  <bruno@clisp.org>
64804
64805         * gnulib-tool: Allow specifying the LGPL version number through
64806         --lgpl=2 or --lgpl=3.
64807         (func_usage): Document --lgpl with argument.
64808         Handle --lgpl=... arguments.
64809         (func_import): Recognize also gl_LGPL calls with an argument. When
64810         --lgpl=2 is used and the module's license is just LGPL, report an
64811         error. Set sed_transform_lib_file according to the lgpl variable. In
64812         the generated files, use --lgpl or gl_LGPL invocations with argument,
64813         if necessary.
64814         * doc/gnulib-intro.texi (Copyright): Explain how to get modules under
64815         an LGPv2+ license.
64816         * doc/gnulib-tool.texi (Modified imports): Update explanation of
64817         gl_LGPL macro.
64818
64819 2007-10-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64820             Bruno Haible  <bruno@clisp.org>
64821
64822         * lib/unistr.h (u8_uctomb_aux): Declare also if !HAVE_INLINE.
64823         (u16_uctomb_aux): Likewise.
64824         * lib/unistr/u8-uctomb-aux.c (u8_uctomb_aux): Define also if
64825         !HAVE_INLINE.
64826         * lib/unistr/u16-uctomb-aux.c (u16_uctomb_aux): Likewise
64827
64828 2007-10-28  Bruno Haible  <bruno@clisp.org>
64829
64830         * modules/error: Add a notice recommending to change XGETTEXT_OPTIONS.
64831         Invoke AM_GETTEXT_OPTION if it exists.
64832         * modules/vasprintf: Likewise.
64833         * modules/verror: Likewise.
64834         * modules/xprintf: Likewise.
64835         * modules/xvasprintf: Likewise.
64836
64837 2007-10-27  Ben Pfaff  <blp@gnu.org>
64838
64839         * lib/math.in.h: Define isfinite macro and prototypes for
64840         gl_isfinitef, gl_isfinited, gl_isfinitel if we are providing
64841         implementations.
64842         * m4/math_h.m4: New substitutions for isfinite module.
64843         * lib/isfinite.c: New file.
64844         * m4/isfinite.m4: New file.
64845         * modules/math: Replace isfinite-related @VARS@ in math.in.h.
64846         * modules/isfinite: New file.
64847         * modules/isfinite-tests: New file.
64848         * tests/tests-isfinite.c: New file.
64849         * doc/functions/isfinite.texi: Mention isfinite module.
64850         * MODULES.html.sh: Mention new module.
64851
64852 2007-10-27  Ben Pfaff  <blp@gnu.org>
64853
64854         Ralf Wildenhues reported that Tru64 4.0D declares the round
64855         functions but does not have definitions.
64856         * m4/check-math-lib.m4 (gl_CHECK_MATH_LIB): If the target function
64857         cannot be found in any library, set the output variable to
64858         "missing" instead of "".
64859         * m4/round.m4: Also use our substitute if we cannot find round in
64860         any library, even if it is declared.
64861         * m4/roundf.m4: Likewise for roundf.
64862         * m4/roundl.m4: Likewise for roundl.
64863         * lib/math.in.h: Undefine roundf, round, roundl before defining
64864         their replacements, to allow for hypothetical systems where these
64865         may be defined as macros but not available in libraries.
64866
64867 2007-10-27  Bruno Haible  <bruno@clisp.org>
64868
64869         * doc/gnulib.texi: Invoke @firstparagraphindent.
64870         * doc/gnulib-tool.texi (Simple update): Mention possible incompatible
64871         changes in gnulib.
64872         (Source changes): New section.
64873
64874 2007-10-26  Bruno Haible  <bruno@clisp.org>
64875
64876         * m4/gnulib-common.m4 (AC_C_RESTRICT): New overriding definition,
64877         borrowed from autoconf.
64878
64879 2007-10-26  Bruno Haible  <bruno@clisp.org>
64880
64881         * lib/strerror.c (rpl_strerror): Return "Unknown error ..." also if
64882         strerror returned the empty string. Needed on HP-UX 11.00.
64883
64884 2007-10-24  Micah Cowan  <micah@cowan.name>
64885
64886         Remove vestiges of cvs-gnulib-checkout process.  Now we use git.
64887         * build-aux/bootstrap: Remove support for now-unnecessary option,
64888         --cvs-user, and envvars CVS_USER, CVS_RSH.
64889
64890 2007-10-24  Jim Meyering  <meyering@redhat.com>
64891
64892         Avoid diagnostics from sha1sum when there is no cached checksum.
64893         * build-aux/bootstrap (update_po_files): Skip the sha1sum check
64894         if the po.s1 file hasn't been created yet.
64895
64896         * build-aux/bootstrap: Sync from coreutils:
64897         2007-10-24  Jim Meyering  <meyering@redhat.com>
64898         Get gnulib from the git repository, not from an obsolete cvs one.
64899         * build-aux/bootstrap: Suggestion from Micah Cowan.
64900         2007-10-04  Jim Meyering  <jim@meyering.net>
64901         * build-aux/bootstrap (slurp): Adapt to _.h -> .in.h name change.
64902         (update_po_files): Work also when there are no .po files in po/.
64903
64904 2007-10-24  Paul Eggert  <eggert@cs.ucla.edu>
64905
64906         * README: Append ".git" to git and cg examples.
64907         Problem reported by Benoit Sigoure.
64908
64909 2007-10-23  Micah Cowan  <micah@cowan.name>
64910
64911         * users.txt: Add wget.
64912
64913 2007-10-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64914
64915         Fix linking of some unistdio tests on FreeBSD.
64916         * modules/unistdio/u16-vsnprintf-tests
64917         (test_u16_vsprintf1_LDADD): Add @LIBINTL@.
64918         * modules/unistdio/u16-vsprintf-tests
64919         (test_u16_vsnprintf1_LDADD): Likewise.
64920         * modules/unistdio/u32-vsnprintf-tests
64921         (test_u32_vsnprintf1_LDADD): Likewise.
64922         * modules/unistdio/u32-vsprintf-tests
64923         (test_u32_vsprintf1_LDADD): Likewise.
64924         * modules/unistdio/u8-vsnprintf-tests
64925         (test_u8_vsnprintf1_LDADD): Likewise.
64926         * modules/unistdio/u8-vsprintf-tests
64927         (test_u8_vsprintf1_LDADD): Likewise.
64928         * modules/unistdio/ulc-vsnprintf-tests
64929         (test_ulc_vsnprintf1_LDADD): Likewise.
64930         * modules/unistdio/ulc-vsprintf-tests
64931         (test_ulc_vsprintf1_LDADD): Likewise.
64932
64933         Fix linking of some uniconv tests on FreeBSD.
64934         * modules/uniconv/u16-conv-from-enc-tests
64935         (test_u16_conv_from_enc_LDADD): Link $(LDADD) before @LIBICONV@.
64936         * modules/uniconv/u16-conv-to-enc-tests
64937         (test_u16_conv_to_enc_LDADD): Likewise.
64938         * modules/uniconv/u16-strconv-from-enc-tests
64939         (test_u16_strconv_from_enc_LDADD): Likewise.
64940         * modules/uniconv/u16-strconv-to-enc-tests
64941         (test_u16_strconv_to_enc_LDADD): Likewise.
64942         * modules/uniconv/u32-conv-from-enc-tests
64943         (test_u32_conv_from_enc_LDADD): Likewise.
64944         * modules/uniconv/u32-conv-to-enc-tests
64945         (test_u32_conv_to_enc_LDADD): Likewise.
64946         * modules/uniconv/u32-strconv-from-enc-tests
64947         (test_u32_strconv_from_enc_LDADD): Likewise.
64948         * modules/uniconv/u32-strconv-to-enc-tests
64949         (test_u32_strconv_to_enc_LDADD): Likewise.
64950         * modules/uniconv/u8-conv-from-enc-tests
64951         (test_u8_conv_from_enc_LDADD): Likewise.
64952         * modules/uniconv/u8-conv-to-enc-tests
64953         (test_u8_conv_to_enc_LDADD): Likewise.
64954         * modules/uniconv/u8-strconv-from-enc-tests
64955         (test_u8_strconv_from_enc_LDADD): Likewise.
64956         * modules/uniconv/u8-strconv-to-enc-tests
64957         (test_u8_strconv_to_enc_LDADD): Likewise.
64958
64959 2007-10-22  Bruno Haible  <bruno@clisp.org>
64960
64961         * lib/stdint.in.h: Add check that intmax_t and uintmax_t have the same
64962         size.
64963
64964 2007-10-22  Eric Blake  <ebb9@byu.net>
64965
64966         Tweak x*printf documentation.
64967         * lib/xprintf.c (xprintf, xvprintf, xfprintf, xvfprintf): Adjust
64968         variable name and comments.
64969         Suggested by Bruno Haible.
64970
64971 2007-10-22  Bruno Haible  <bruno@clisp.org>
64972
64973         * lib/acl.c (copy_acl): Fix file name in comment.
64974
64975 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
64976
64977         Fix Tru64 problem with stdbool.h.
64978         * lib/stdbool.in.h (false, true):
64979         [! (defined __cplusplus || defined __BEOS__) && !defined __GNUC__]:
64980         Don't declare as an enum in this situation; it runs afoul of Tru64.
64981         Problem reported by Steven M. Schweda in
64982         <http://lists.gnu.org/archive/html/bug-autoconf/2007-10/msg00019.html>.
64983
64984 2007-10-22  Eric Blake  <ebb9@byu.net>
64985
64986         Also wrap vf?printf.
64987         * lib/xprintf.h (xvprintf, xvfprintf): New declarations.
64988         * lib/xprintf.c (xprintf, xfprintf): Work for C89.
64989         (xvprintf, xvfprintf): New functions.
64990
64991 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
64992
64993         * modules/fstrcmp-tests (test_fstrcmp_LDADD): New, add
64994         @LIBINTL@ for FreeBSD 6.2, $(LIBTHREAD) for AIX 4.3.3.
64995
64996         * lib/uniconv/u16-conv-to-enc.c (U_MBLEN): Define.
64997         * lib/uniconv/u32-conv-to-enc.c (U_MBLEN): Likewise.
64998
64999 2007-10-22  Paul Eggert  <eggert@cs.ucla.edu>
65000
65001         * lib/acl.c (copy_acl): Adjust to IRIX 6.5.  Problem reported
65002         by Bruno Haible.
65003
65004 2007-10-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65005
65006         * lib/getloadavg.c
65007         [defined (__osf__) && (defined (__alpha) || defined (__alpha__)]:
65008         Undef `sys' after including sys/table.h, for Tru64 4.0D.
65009
65010         * tests/test-i-ring.c: Work for C89.
65011
65012 2007-10-22  Bruno Haible  <bruno@clisp.org>
65013
65014         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Use -1ull, not
65015         -1u, in preprocessor expression, so that we don't test for the bug
65016         in HP-UX 11.00 cpp.  Testing for this bug caused problems; see
65017         <http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00329.html>.
65018
65019 2007-10-22  Eric Blake  <ebb9@byu.net>
65020
65021         * tests/test-yesno.sh: Silence stderr during test.
65022
65023 2007-10-22  Simon Josefsson  <simon@josefsson.org>
65024
65025         * modules/crypto/gc-camellia: New file.
65026
65027         * m4/gc-camellia.m4: New file.
65028
65029         * lib/gc-libgcrypt.c (gc_cipher_open): Support Camellia.
65030
65031         * lib/gc.h (enum Gc_cipher): Add GC_CAMELLIA128, GC_CAMELLIA256.
65032
65033 2007-10-22  Simon Josefsson  <simon@josefsson.org>
65034
65035         * build-aux/maint.mk (gzip_rsyncable): Don't fail if gzip sends
65036         --help to stdout.  Reported by sms@antinode.org (Steven
65037         M. Schweda).
65038
65039 2007-10-22  Simon Josefsson  <simon@josefsson.org>
65040
65041         * users.txt: Fix link to libksba.
65042
65043 2007-10-21  Ben Pfaff  <blp@gnu.org>
65044
65045         * modules/roundf-tests: Add dependency on floorf, ceilf to allow
65046         round.c roundf implementation that depends on floorf and ceilf to
65047         be tested unconditionally.
65048
65049 2007-10-21  Ben Pfaff  <blp@gnu.org>
65050
65051         * m4/check-libm-func.m4: Removed.
65052         * m4/check-math-lib.m4: New file.
65053         * m4/round.m4: Rewrite to use gl_CHECK_MATH_LIB.
65054         * m4/roundf.m4: Ditto, and fix lack of HAVE_DECL_ROUNDF
65055         definition and lack of AC_LIBOBJ([roundf]).
65056         * m4/roundl.m4: Ditto, and similarly for roundl.
65057         * modules/round: Reference new m4 file.
65058         * modules/roundf: Ditto.
65059         * modules/roundl: Ditto.
65060         * tests/test-round2.c (main): Use ROUND instead of round.
65061         Bug report from Bruno Haible.
65062
65063 2007-10-21  Bruno Haible  <bruno@clisp.org>
65064
65065         * lib/printf-parse.c: Don't assume <stdint.h> exists in IN_LIBASPRINTF
65066         context.
65067
65068 2007-10-21  Bruno Haible  <bruno@clisp.org>
65069
65070         * tests/test-wcwidth.c (main): Allow negative result for some control
65071         characters.
65072
65073         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Check also the width of U+200B.
65074         Needed on OSF/1 5.1.
65075
65076 2007-10-21  Bruno Haible  <bruno@clisp.org>
65077
65078         * tests/test-floorf1.c: Include isnanf.h.
65079         (main): Use isnanf() instead of isnan().
65080         * tests/test-ceilf1.c: Include isnanf.h.
65081         (main): Use isnanf() instead of isnan().
65082         * tests/test-truncf1.c: Include isnanf.h.
65083         (main): Use isnanf() instead of isnan().
65084         * tests/test-roundf1.c: Include isnanf.h.
65085         (main): Use isnanf() instead of isnan().
65086
65087 2007-10-21  Eric Blake  <ebb9@byu.net>
65088
65089         * users.txt: Update URL for m4.
65090
65091 2007-10-21  Bruno Haible  <bruno@clisp.org>
65092
65093         * users.txt: Add clisp. Update URLs to Simon Josefsson's projects.
65094
65095 2007-10-21  Bruno Haible  <bruno@clisp.org>
65096
65097         * gnulib-tool (func_create_megatestdir): Determine the cvsdate from
65098         Git's management files if the CVS files are not present.
65099
65100 2007-10-20  Bruno Haible  <bruno@clisp.org>
65101
65102         * lib/count-one-bits.h (COUNT_ONE_BITS): Use the builtin also for
65103         gcc-3.4.x.
65104
65105 2007-10-20  Ben Pfaff  <blp@gnu.org>
65106
65107         * lib/math.in.h: Declare round, roundf, roundl if we are providing
65108         implementations.
65109         * m4/math_h.m4: New substitutions for round, roundf, roundl modules.
65110         * lib/round.c: New file.
65111         * lib/roundf.c: New file.
65112         * lib/roundl.c: New file.
65113         * m4/round.m4: New file.
65114         * m4/roundf.m4: New file.
65115         * m4/roundl.m4: New file.
65116         * m4/check-libm-func-m4: New file.
65117         * modules/math: Replace round, roundf, roundl related @VARS@ in
65118         math.in.h.
65119         * modules/round: New file.
65120         * modules/round-tests: New file.
65121         * modules/roundf: New file.
65122         * modules/roundf-tests: New file.
65123         * modules/roundl: New file.
65124         * modules/roundl-tests: New file.
65125         * tests/test-round1.c: New file.
65126         * tests/test-round2.c: New file.
65127         * tests/test-roundf1.c: New file.
65128         * tests/test-roundf2.c: New file.
65129         * tests/test-roundl.c: New file.
65130         * doc/functions/round.texi: Mention round module.
65131         * doc/functions/roundf.texi: Mention roundf module.
65132         * doc/functions/roundl.texi: Mention roundl module.
65133         * MODULES.html.sh: Mention new modules.
65134         Thanks to Bruno Haible for suggestions.
65135
65136 2007-10-20  Jim Meyering  <meyering@redhat.com>
65137
65138         * lib/xprintf.c: Include <config.h> unconditionally.
65139
65140         Change xprintf's license to GPL.
65141         * modules/xprintf (License): s/LGPL/GPL/, since this module
65142         depends on modules (exit and exitfail) which are GPL.
65143         Suggestion from Bruno Haible.
65144
65145         xprintf fixes.
65146         * lib/xprintf.c (xprintf, xfprintf): Use va_end.
65147         Use a clearer diagnostic.
65148         Patch from Bruno Haible.
65149
65150 2007-10-20  Bruno Haible  <bruno@clisp.org>
65151
65152         * lib/vasnprintf.c (VASNPRINTF): Don't report overflow if the available
65153         length is INT_MAX and sizeof (DCHAR_T) > sizeof (TCHAR_T).
65154         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65155
65156 2007-10-20  Bruno Haible  <bruno@clisp.org>
65157
65158         * tests/test-floorf2.c (correct_result_p): Don't rely on excess
65159         precision in the comparison result > x - 1 or similar.
65160         * tests/test-ceilf2.c (correct_result_p): Likewise.
65161         * tests/test-truncf2.c (correct_result_p): Likewise.
65162         * tests/test-trunc2.c (correct_result_p): Likewise.
65163         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
65164
65165 2007-10-20  Bruno Haible  <bruno@clisp.org>
65166
65167         * modules/ceil: New file.
65168         * m4/ceil.m4: New file.
65169         * doc/functions/ceil.texi: Mention the 'ceil' module.
65170
65171 2007-10-20  Bruno Haible  <bruno@clisp.org>
65172
65173         * modules/floor: New file.
65174         * m4/floor.m4: New file.
65175         * doc/functions/floor.texi: Mention the 'floor' module.
65176
65177 2007-10-20  Bruno Haible  <bruno@clisp.org>
65178
65179         * modules/ceilf-tests (Depends-on): Add fprintf-posix. Needed for use
65180         of %a.
65181         * modules/floorf-tests (Depends-on): Likewise.
65182         * modules/truncf-tests (Depends-on): Likewise.
65183         * modules/trunc-tests (Depends-on): Likewise.
65184         Reported by Ben Pfaff.
65185
65186 2007-10-19  Jim Meyering  <meyering@redhat.com>
65187
65188         * lib/xprintf.c (xprintf, xfprintf): Test err < 0, not just "err".
65189         Don't bother testing specific errno values.  Just test ferror.
65190
65191         New module: xprintf
65192         * modules/xprintf, lib/xprintf.c, lib/xprintf.h: New files.
65193
65194 2007-10-19  Bruno Haible  <bruno@clisp.org>
65195
65196         * modules/csharpexec (Makefile.am): Use @FOO@ syntax instead of $(FOO)
65197         syntax.
65198         * modules/javaexec (Makefile.am): Likewise.
65199         * modules/relocatable-prog (Makefile.am): Likewise.
65200         Suggested by Jim Meyering.
65201
65202 2007-10-18  Bruno Haible  <bruno@clisp.org>
65203
65204         * lib/vasnprintf.c (VASNPRINTF): Don't use %n on glibc >= 2.3 systems.
65205         Reported by Jim Meyering.
65206
65207 2007-10-18  Eric Blake  <ebb9@byu.net>
65208
65209         * modules/filenamecat-tests (Makefile.am): Link against -lintl.
65210
65211 2007-10-18  Bruno Haible  <bruno@clisp.org>
65212
65213         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_N, gl_SNPRINTF_DIRECTIVE_N): Put
65214         the format string into writable memory. Needed in Fortify conditions.
65215
65216 2007-10-18  Colin Watson <cjwatson@debian.org>  (tiny change)
65217             Bruno Haible  <bruno@clisp.org>
65218
65219         * lib/trim.c: Include config.h unconditionally. Include trim.h always.
65220         Include ctype.h always. Include stdlib.h, not mbuiter.h, for MB_CUR_MAX.
65221         * modules/trim (Depends-on): Add mbchar.
65222         (configure.ac): Add gl_FUNC_MBRTOWC.
65223         (Makefile.am): Augment lib_SOURCES.
65224
65225 2007-10-17  Paul Eggert  <eggert@cs.ucla.edu>
65226
65227         Modify glob.c to use fstatat and dirfd, to simplify it.
65228         Suggested by Eric Blake.
65229         * lib/glob.c (__fxstatat64) [!_LIBC]: New macro.
65230         Don't include <stdbool.h>; not used.
65231         (link_exists2_p, glob_in_dir) [!_LIBC]: No longer a special case.
65232         (link_exists_p): Simplify implementation, since we can now assume
65233         dirfd and fstatat.
65234         * modules/glob (Depends-on): Add dirfd, openat.  Remove stdbool.
65235
65236 2007-10-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65237
65238         * gnulib-tool (func_get_dependencies): Fix sed script to
65239         match only tests.
65240
65241 2007-10-17  Bruno Haible  <bruno@clisp.org>
65242
65243         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): On Cygwin, don't
65244         allow locale names without encoding suffix.
65245         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): Likewise.
65246         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
65247
65248 2007-10-16  Bruno Haible  <bruno@clisp.org>
65249
65250         * lib/getcwd.c (__getcwd): Define with explicit rpl_ prefix.
65251         * lib/getgroups.c (getgroups): Likewise.
65252         * lib/gettimeofday.c (localtime, gmtime, tzset): Likewise.
65253
65254 2007-10-16  Bruno Haible  <bruno@clisp.org>
65255
65256         * modules/absolute-header (License): Change from LGPL to LGPLv2+.
65257         * modules/malloc-posix (License): Likewise.
65258         * modules/realloc-posix (License): Likewise.
65259         * modules/calloc-posix (License): Likewise.
65260         * modules/intprops (License): Change from GPL to LGPL, with
65261         Paul Eggert's approval.
65262
65263 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
65264
65265         Merge glibc changes into lib/glob.c.
65266
65267         * lib/glob.c (glob_in_dir): Sync with glibc/posix/glob.c, dated
65268         2007-10-15 04:59:03 UTC.  Here are the changes:
65269
65270         2007-10-14  Ulrich Drepper  <drepper@redhat.com>
65271
65272         * lib/glob.c: Reimplement link_exists_p to use fstatat64.
65273
65274         * lib/glob.c: Add some branch prediction throughout.
65275
65276         2007-10-07  Ulrich Drepper  <drepper@redhat.com>
65277
65278         [BZ #5103]
65279         * lib/glob.c (glob): Recognize patterns starting \/.
65280
65281         2007-02-14  Jakub Jelinek  <jakub@redhat.com>
65282
65283         [BZ #3996]
65284         * lib/glob.c (attribute_hidden): Define if not defined.
65285         (glob): Unescape dirname, filename or username when needed and not
65286         GLOB_NOESCAPE.  Handle \/ correctly.  Handle GLOB_MARK if filename
65287         is NULL.  Handle unescaped [ in pattern without closing ].
65288         Don't pass GLOB_CHECK down to recursive glob for directories.
65289         (__glob_pattern_type): New function.
65290         (__glob_pattern_p): Implement using __glob_pattern_type.
65291         (glob_in_dir): Handle GLOB_NOCHECK patterns containing no meta
65292         characters and backslashes if not GLOB_NOESCAPE or unterminated [.
65293         Remove unreachable code.
65294
65295         2006-09-30  Ulrich Drepper  <drepper@redhat.com>
65296
65297         * lib/glob.c (glob_in_dir): Add some comments and asserts to
65298         explain why there are no leaks.
65299
65300         2006-09-25  Jakub Jelinek  <jakub@redhat.com>
65301
65302         [BZ #3253]
65303         * lib/glob.c (glob_in_dir): Don't alloca one struct globlink at a
65304         time, rather allocate increasingly bigger arrays of pointers, if
65305         possible with alloca, if too large with malloc.
65306
65307 2007-10-16  Paul Eggert  <eggert@cs.ucla.edu>
65308
65309         Check for 64-bit int errors in HP-UX 10.20 preprocessor.
65310         Problem reported by H.Merijn Brand in
65311         <http://lists.gnu.org/archive/html/bug-tar/2007-10/msg00018.html>.
65312         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Check preprocessor too.
65313         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
65314
65315 2007-10-15  Bruno Haible  <bruno@clisp.org>
65316
65317         * lib/fchdir.c (close, open, closedir, opendir, dup, dup2): Define
65318         with explicit rpl_ prefix.
65319         * lib/fopen.c (fopen): Likewise.
65320         * lib/freopen.c (freopen): Likewise.
65321         * lib/iconv.c (iconv): Likewise.
65322         * lib/iconv_close.c (iconv_close): Likewise.
65323
65324 2007-10-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
65325
65326         * m4/iconv_open (gl_FUNC_ICONV_OPEN_UTF): Fix cache variable name.
65327
65328 2007-10-15  Bruno Haible  <bruno@clisp.org>
65329
65330         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Use
65331         <stddef.h> instead of <stdlib.h> since we only need NULL.
65332         Reported by Ben Pfaff <blp@cs.stanford.edu>.
65333
65334 2007-10-15  Bruno Haible  <bruno@clisp.org>
65335
65336         * doc/gnulib-tool.texi (Initial import): Swap order of -I directives.
65337         Replace paragraph talking about LIBOBJS.
65338         Reported by Colin Watson <cjwatson@debian.org>.
65339
65340 2007-10-15  Bruno Haible  <bruno@clisp.org>
65341
65342         * m4/getaddrinfo.m4 (gl_GETADDRINFO, gl_PREREQ_GETADDRINFO): Include
65343         <stdlib.h> before using NULL.
65344
65345 2007-10-15  Simon Josefsson  <simon@josefsson.org>
65346
65347         * m4/getaddrinfo.m4: Use NULL rather than 0 for pointers.
65348         Reported by Albert Chin <china@thewrittenword.com>.
65349
65350 2007-10-14  Bruno Haible  <bruno@clisp.org>
65351
65352         * modules/iconv_open-utf-tests: New file.
65353         * tests/test-iconv-utf.c: New file.
65354
65355         Enhance iconv_open to support UTF-16BE, UTF-16LE, UTF-32BE, UTF-32LE.
65356         * modules/iconv_open-utf: New file.
65357         * lib/iconv.in.h (_ICONV_UTF8_UTF*, _ICONV_UTF*_UTF8): New macros.
65358         (iconv, iconv_close): New declarations.
65359         * lib/iconv_open.c: Include c-strcase.h. Don't require ICONV_FLAVOR to
65360         be defined.
65361         (iconv_open): Add special handling of conversion between UTF-8 and
65362         UTF-{16,32}{BE,LE}.
65363         * lib/iconv.c: New file, incorporating code from GNU libiconv 1.11.
65364         * lib/iconv_close.c: New file.
65365         * m4/iconv_open.m4 (gl_REPLACE_ICONV_OPEN): New macro, extracted from
65366         gl_FUNC_ICONV_OPEN.
65367         (gl_FUNC_ICONV_OPEN): Use it.
65368         (gl_FUNC_ICONV_OPEN_UTF): New macro.
65369         * m4/iconv_h.m4 (gl_ICONV_H_DEFAULTS): Initialize also REPLACE_ICONV
65370         and REPLACE_ICONV_UTF.
65371         * modules/iconv_open (Depends-on): Add c-strcase.
65372         (Makefile.am): Substitute also REPLACE_ICONV, REPLACE_ICONV_UTF,
65373         ICONV_CONST.
65374         * doc/functions/iconv_open.texi: Mention the iconv_open-utf module.
65375
65376 2007-10-13  Albert Chin  <china@thewrittenword.com>
65377             Bruno Haible  <bruno@clisp.org>
65378
65379         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Perform the test for getaddrinfo
65380         through a link check that includes <netdb.h>. Needed for OSF/1 5.1.
65381
65382 2007-10-13  Bruno Haible  <bruno@clisp.org>
65383
65384         * lib/argp-fmtstream.h (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is
65385         defined, use the ISO C99 inline semantics.
65386         * lib/argp.h (ARGP_EI): Likewise.
65387
65388 2007-10-13  Bruno Haible  <bruno@clisp.org>
65389
65390         Handle 'inline' change in gcc 4.3.0.
65391         * lib/argp-fmtstream.h (argp_fmtstream_putc, argp_fmtstream_puts,
65392         argp_fmtstream_write, argp_fmtstream_set_lmargin,
65393         argp_fmtstream_set_rmargin, argp_fmtstream_set_wmargin,
65394         argp_fmtstream_point): Disable 'extern' declaration if the function
65395         definition is going to be provided inline.
65396         (ARGP_FS_EI): If __GNUC_STDC_INLINE__ is defined, use the GNU C inline
65397         semantics, not the ISO C99 inline semantics.
65398         * lib/argp.h (argp_usage, _option_is_short, _option_is_end): Disable
65399         'extern' declaration if the function definition is going to be provided
65400         inline.
65401         (ARGP_EI): Don't assume GNU C. If __GNUC_STDC_INLINE__ is defined, use
65402         the GNU C inline semantics, not the ISO C99 inline semantics. With
65403         GCC 4.2, avoid a warning.
65404
65405 2007-10-13  Bruno Haible  <bruno@clisp.org>
65406
65407         * lib/freading.h (freading): Enable the use of __freading for
65408         glibc >= 2.7.
65409         * lib/freading.c (freading): Likewise.
65410
65411 2007-10-12  Paul Eggert  <eggert@cs.ucla.edu>
65412
65413         * lib/argp-fmtstream.h (ARGP_FS_EI): Work around GCC 4.2.1 diagnostic
65414         "warning: C99 inline functions are not supported; using GNU89".
65415
65416 2007-10-12  Bruno Haible  <bruno@clisp.org>
65417
65418         * lib/ceil.c (FUNC): Avoid rounding errors for values near a power
65419         of 2.
65420         * tests/test-ceilf2.c: New file.
65421         * modules/ceilf-tests: (Files, Depends-on, Makefile.am): Add new test.
65422
65423         * tests/test-ceilf1.c: Renamed from tests/test-ceilf.c.
65424         * modules/ceilf-tests: Update.
65425
65426 2007-10-12  Bruno Haible  <bruno@clisp.org>
65427
65428         * lib/floor.c (FUNC): Avoid rounding errors for values near a power
65429         of 2.
65430         * tests/test-floorf2.c: New file.
65431         * modules/floorf-tests: (Files, Depends-on, Makefile.am): Add new test.
65432
65433         * tests/test-floorf1.c: Renamed from tests/test-floorf.c.
65434         * modules/floorf-tests: Update.
65435
65436 2007-10-12  Bruno Haible  <bruno@clisp.org>
65437
65438         * tests/test-trunc2.c: New file.
65439         * modules/trunc-tests: (Files, Depends-on, Makefile.am): Add new test.
65440
65441         * tests/test-trunc1.c: Renamed from tests/test-trunc.c.
65442         * modules/trunc-tests: Update.
65443
65444 2007-10-12  Bruno Haible  <bruno@clisp.org>
65445
65446         * lib/trunc.c (FUNC): Avoid rounding errors for values near a power
65447         of 2.
65448         * tests/test-truncf2.c: New file.
65449         * modules/truncf-tests: (Files, Depends-on, Makefile.am): Add new test.
65450
65451         * tests/test-truncf1.c: Renamed from tests/test-truncf.c.
65452         * modules/truncf-tests: Update.
65453
65454 2007-10-11  Eric Blake  <ebb9@byu.net>
65455
65456         Don't claim strerror is broken on Interix.
65457         * doc/functions/strerror.texi (strerror): Known broken systems are
65458         now Solaris 8, and not Interix.
65459         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): No longer filter out
65460         Interix on cross-compile.
65461         Reported by Martin Koeppe in
65462         http://lists.gnu.org/archive/html/bug-gnulib/2007-10/msg00005.html.
65463
65464 2007-10-11  Bruno Haible  <bruno@clisp.org>
65465
65466         * modules/i-ring-tests: New file.
65467         * tests/test-i-ring.c: Renamed from lib/i-ring-test.c. Use ASSERT
65468         instead of assert.
65469
65470 2007-10-11  Bruno Haible  <bruno@clisp.org>
65471
65472         * modules/filenamecat-tests: New file.
65473         * tests/test-filenamecat.c: New file, extracted from lib/filenamecat.c.
65474         * lib/filenamecat.c: Remove test code.
65475
65476 2007-10-11  Paul Eggert  <eggert@cs.ucla.edu>
65477
65478         Simplify and modernize strerror substitute, partly to fix Solaris 8 bug.
65479
65480         * lib/strerror.c: Include <string.h> always, to test interface,
65481         and to remove the need for the dummy.
65482         Include intprops.h to compute width instead of doing it ourselves
65483         and missing a CHAR_BIT declaration, which broke tar 1.19 on Solaris 8.
65484         (strerror): Define it to return NULL if there's no system strerror.
65485         (rpl_strerror): Use INT_STRLEN_BOUND to compute bound.
65486         Omit !HAVE_STRERROR code.  We don't need to worry about supporting
65487         ancient pre-strerror Unix systems well any more.  Saying "unknown
65488         system error" is enough.
65489         * lib/string.in.h (strerror): Simplify the ifdef to reflect the
65490         simpler strerror.c implementation.
65491         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE, gl_PREREQ_STDERROR):
65492         Simplify the tests to reflect the simpler strerror implementation.
65493         * modules/strerror (Depends-on): Add intprops.
65494
65495 2007-10-09  Eric Blake  <ebb9@byu.net>
65496
65497         Silence test-fpending.
65498         * modules/fpending-tests (Files): Add wrapper script.
65499         * tests/test-fpending.sh: New file.
65500
65501 2007-10-09  Bruno Haible  <bruno@clisp.org>
65502
65503         * MODULES.html.sh (func_module): Don't create a hyperlink for
65504         function names like 'printf_frexp'.
65505         (Misc): Add crc, memxor.
65506         (Characteristics of floating types): New section.
65507         (Mathematics): Add ceilf, ceill, floorf, floorl, frexpl-nolibm,
65508         isnanf-nolibm, signbit, trunc, truncf, truncl.
65509         (Enhancements for ISO C 99 functions): New subsection Input/output.
65510         (Support for systems lacking POSIX:2001): Add arpa_inet, calloc-posix,
65511         fcntl, fopen, freopen, fseek, fseeko, ftell, ftello, iconv_open,
65512         locale, malloc-posix, netinet_in, open, realloc-posix, signal, sleep.
65513         (Compatibility checks for POSIX:2001 functions): Add clock-time.
65514         (Enhancements for POSIX:2001 functions): Add chdir-long.
65515         (File system functions): Add areadlink, chdir-safer, read-file.
65516         Remove cycle-check.
65517         (File system as inode set): New section.
65518         (Date and time): Add gethrxtime.
65519         (Multithreading): Add openmp.
65520         (Internationalization functions): Add localename.
65521         (Unicode string functions): Add unistr/u*-mbsnlen.
65522         (Support for maintaining and releasing projects): Add git-version-gen.
65523         (Lone files): Remove directories.
65524
65525 2007-10-08  Ben Pfaff  <blp@gnu.org>
65526
65527         * lib/xmalloca.h: Fix typo in comment.
65528
65529 2007-10-08  Paul Eggert  <eggert@cs.ucla.edu>
65530
65531         * lib/xnanosleep.c (xnanosleep): Don't assume GCC 4.3.0 behavior
65532         when avoiding problems with integer overflow.  Use a portable test
65533         instead.
65534
65535 2007-10-08  Simon Josefsson  <simon@josefsson.org>
65536
65537         * modules/dummy (License): Change to LGPLv2+.
65538         * modules/float (License): Likewise
65539         * modules/realloc (License): Likewise
65540         * modules/stdlib (License): Likewise
65541
65542 2007-10-07  Bruno Haible  <bruno@clisp.org>
65543
65544         * trunc.c (TWO_MANT_DIG): Change type to DOUBLE.
65545         * floor.c (TWO_MANT_DIG): Likewise.
65546         * ceil.c (TWO_MANT_DIG): Likewise.
65547         Reported by Ben Pfaff.
65548
65549 2007-10-07  Bruno Haible  <bruno@clisp.org>
65550
65551         Avoid gcc warnings "declaration of 'exp' shadows a global declaration".
65552         * lib/math.in.h (frexp, frexpl): Change parameter name to 'expptr'.
65553         * lib/frexp.c (FUNC): Likewise.
65554         * lib/printf-frexp.h (printf_frexp): Likewise.
65555         * lib/printf-frexpl.h (printf_frexpl): Likewise.
65556         * lib/printf-frexp.c (FUNC): Likewise.
65557         Suggested by Jim Meyering.
65558
65559 2007-10-07  Jim Meyering  <meyering@redhat.com>
65560
65561         Make xnanosleep's integer overflow test more robust.
65562         * lib/xnanosleep.c (xnanosleep): Declare a temporary to be "volatile",
65563         so that gcc-4.3.0 doesn't optimize away this test for overflow.
65564
65565 2007-10-07  Bruno Haible  <bruno@clisp.org>
65566
65567         * NEWS: Mention the license change.
65568
65569         * doc/gnulib-intro.texi (Copyright): Update the meaning of the license
65570         abbreviations in the modules files.
65571
65572         Change copyright notice from GPLv2+ to GPLv3+.
65573         * README: Change copyright notice.
65574         * MODULES.html.sh: Likewise.
65575         * build-aux/bootstrap.conf: Likewise.
65576         * build-aux/config.libpath: Likewise.
65577         * build-aux/csharpcomp.sh.in: Likewise.
65578         * build-aux/csharpexec.sh.in: Likewise.
65579         * build-aux/install-reloc: Likewise.
65580         * build-aux/javacomp.sh.in: Likewise.
65581         * build-aux/javaexec.sh.in: Likewise.
65582         * build-aux/ldd.sh.in: Likewise.
65583         * build-aux/reloc-ldflags: Likewise.
65584         * build-aux/relocatable.sh.in: Likewise.
65585         * build-aux/x-to-1.in: Likewise.
65586         * check-module: Likewise.
65587         * config/srclistvars.sh: Likewise.
65588         * gnulib-tool: Likewise.
65589         * lib/acl-internal.h: Likewise.
65590         * lib/acl.c: Likewise.
65591         * lib/acl.h: Likewise.
65592         * lib/acl_entries.c: Likewise.
65593         * lib/areadlink-with-size.c: Likewise.
65594         * lib/areadlink.c: Likewise.
65595         * lib/areadlink.h: Likewise.
65596         * lib/argmatch.c: Likewise.
65597         * lib/argmatch.h: Likewise.
65598         * lib/argp-ba.c: Likewise.
65599         * lib/argp-eexst.c: Likewise.
65600         * lib/argp-fmtstream.c: Likewise.
65601         * lib/argp-fmtstream.h: Likewise.
65602         * lib/argp-fs-xinl.c: Likewise.
65603         * lib/argp-help.c: Likewise.
65604         * lib/argp-namefrob.h: Likewise.
65605         * lib/argp-parse.c: Likewise.
65606         * lib/argp-pin.c: Likewise.
65607         * lib/argp-pv.c: Likewise.
65608         * lib/argp-pvh.c: Likewise.
65609         * lib/argp-xinl.c: Likewise.
65610         * lib/argp.h: Likewise.
65611         * lib/at-func.c: Likewise.
65612         * lib/atanl.c: Likewise.
65613         * lib/backupfile.c: Likewise.
65614         * lib/backupfile.h: Likewise.
65615         * lib/basename.c: Likewise.
65616         * lib/binary-io.h: Likewise.
65617         * lib/byteswap.in.h: Likewise.
65618         * lib/c-stack.c: Likewise.
65619         * lib/c-stack.h: Likewise.
65620         * lib/c-strcasestr.c: Likewise.
65621         * lib/c-strcasestr.h: Likewise.
65622         * lib/c-strstr.c: Likewise.
65623         * lib/c-strstr.h: Likewise.
65624         * lib/c-strtod.c: Likewise.
65625         * lib/calloc.c: Likewise.
65626         * lib/canon-host.c: Likewise.
65627         * lib/canon-host.h: Likewise.
65628         * lib/canonicalize-lgpl.c: Likewise.
65629         * lib/canonicalize.c: Likewise.
65630         * lib/canonicalize.h: Likewise.
65631         * lib/ceil.c: Likewise.
65632         * lib/ceilf.c: Likewise.
65633         * lib/ceill.c: Likewise.
65634         * lib/chdir-long.c: Likewise.
65635         * lib/chdir-long.h: Likewise.
65636         * lib/chdir-safer.c: Likewise.
65637         * lib/chdir-safer.h: Likewise.
65638         * lib/chown.c: Likewise.
65639         * lib/classpath.c: Likewise.
65640         * lib/classpath.h: Likewise.
65641         * lib/clean-temp.c: Likewise.
65642         * lib/clean-temp.h: Likewise.
65643         * lib/cloexec.c: Likewise.
65644         * lib/close-stream.c: Likewise.
65645         * lib/closein.c: Likewise.
65646         * lib/closein.h: Likewise.
65647         * lib/closeout.c: Likewise.
65648         * lib/closeout.h: Likewise.
65649         * lib/concat-filename.c: Likewise.
65650         * lib/copy-file.c: Likewise.
65651         * lib/copy-file.h: Likewise.
65652         * lib/count-one-bits.h: Likewise.
65653         * lib/crc.c: Likewise.
65654         * lib/crc.h: Likewise.
65655         * lib/creat-safer.c: Likewise.
65656         * lib/csharpcomp.c: Likewise.
65657         * lib/csharpcomp.h: Likewise.
65658         * lib/csharpexec.c: Likewise.
65659         * lib/csharpexec.h: Likewise.
65660         * lib/cycle-check.c: Likewise.
65661         * lib/cycle-check.h: Likewise.
65662         * lib/diacrit.c: Likewise.
65663         * lib/diacrit.h: Likewise.
65664         * lib/diffseq.h: Likewise.
65665         * lib/dirchownmod.c: Likewise.
65666         * lib/dirent.in.h: Likewise.
65667         * lib/dirfd.c: Likewise.
65668         * lib/dirfd.h: Likewise.
65669         * lib/dirname.c: Likewise.
65670         * lib/dirname.h: Likewise.
65671         * lib/dummy.c: Likewise.
65672         * lib/dup-safer.c: Likewise.
65673         * lib/dup2.c: Likewise.
65674         * lib/eealloc.h: Likewise.
65675         * lib/error.c: Likewise.
65676         * lib/error.h: Likewise.
65677         * lib/euidaccess.c: Likewise.
65678         * lib/exclude.c: Likewise.
65679         * lib/exclude.h: Likewise.
65680         * lib/execute.c: Likewise.
65681         * lib/execute.h: Likewise.
65682         * lib/exitfail.c: Likewise.
65683         * lib/exitfail.h: Likewise.
65684         * lib/expl.c: Likewise.
65685         * lib/fatal-signal.c: Likewise.
65686         * lib/fatal-signal.h: Likewise.
65687         * lib/fbufmode.c: Likewise.
65688         * lib/fbufmode.h: Likewise.
65689         * lib/fchdir.c: Likewise.
65690         * lib/fchmodat.c: Likewise.
65691         * lib/fchownat.c: Likewise.
65692         * lib/fcntl--.h: Likewise.
65693         * lib/fcntl-safer.h: Likewise.
65694         * lib/fcntl.in.h: Likewise.
65695         * lib/fd-safer.c: Likewise.
65696         * lib/fflush.c: Likewise.
65697         * lib/file-has-acl.c: Likewise.
65698         * lib/file-set.c: Likewise.
65699         * lib/file-type.c: Likewise.
65700         * lib/file-type.h: Likewise.
65701         * lib/fileblocks.c: Likewise.
65702         * lib/filemode.c: Likewise.
65703         * lib/filemode.h: Likewise.
65704         * lib/filename.h: Likewise.
65705         * lib/filenamecat.c: Likewise.
65706         * lib/filenamecat.h: Likewise.
65707         * lib/findprog.c: Likewise.
65708         * lib/findprog.h: Likewise.
65709         * lib/float.in.h: Likewise.
65710         * lib/floor.c: Likewise.
65711         * lib/floorf.c: Likewise.
65712         * lib/floorl.c: Likewise.
65713         * lib/fopen-safer.c: Likewise.
65714         * lib/fopen.c: Likewise.
65715         * lib/fpending.c: Likewise.
65716         * lib/fpending.h: Likewise.
65717         * lib/fprintf.c: Likewise.
65718         * lib/fprintftime.h: Likewise.
65719         * lib/fpucw.h: Likewise.
65720         * lib/fpurge.c: Likewise.
65721         * lib/fpurge.h: Likewise.
65722         * lib/freadable.c: Likewise.
65723         * lib/freadable.h: Likewise.
65724         * lib/freadahead.c: Likewise.
65725         * lib/freadahead.h: Likewise.
65726         * lib/freading.c: Likewise.
65727         * lib/freading.h: Likewise.
65728         * lib/free.c: Likewise.
65729         * lib/freopen.c: Likewise.
65730         * lib/frexp.c: Likewise.
65731         * lib/frexpl.c: Likewise.
65732         * lib/fseek.c: Likewise.
65733         * lib/fseterr.c: Likewise.
65734         * lib/fseterr.h: Likewise.
65735         * lib/fstatat.c: Likewise.
65736         * lib/fstrcmp.c: Likewise.
65737         * lib/fstrcmp.h: Likewise.
65738         * lib/fsusage.c: Likewise.
65739         * lib/fsusage.h: Likewise.
65740         * lib/ftell.c: Likewise.
65741         * lib/ftello.c: Likewise.
65742         * lib/fts-cycle.c: Likewise.
65743         * lib/fts.c: Likewise.
65744         * lib/fts_.h: Likewise.
65745         * lib/full-read.c: Likewise.
65746         * lib/full-read.h: Likewise.
65747         * lib/full-write.c: Likewise.
65748         * lib/full-write.h: Likewise.
65749         * lib/fwritable.c: Likewise.
65750         * lib/fwritable.h: Likewise.
65751         * lib/fwriteerror.c: Likewise.
65752         * lib/fwriteerror.h: Likewise.
65753         * lib/fwriting.c: Likewise.
65754         * lib/fwriting.h: Likewise.
65755         * lib/gcd.c: Likewise.
65756         * lib/gcd.h: Likewise.
65757         * lib/getcwd.c: Likewise.
65758         * lib/getdate.h: Likewise.
65759         * lib/getdate.y: Likewise.
65760         * lib/getdomainname.c: Likewise.
65761         * lib/getdomainname.h: Likewise.
65762         * lib/getgroups.c: Likewise.
65763         * lib/gethostname.c: Likewise.
65764         * lib/gethrxtime.c: Likewise.
65765         * lib/gethrxtime.h: Likewise.
65766         * lib/getloadavg.c: Likewise.
65767         * lib/getndelim2.c: Likewise.
65768         * lib/getndelim2.h: Likewise.
65769         * lib/getnline.c: Likewise.
65770         * lib/getnline.h: Likewise.
65771         * lib/getopt.c: Likewise.
65772         * lib/getopt.in.h: Likewise.
65773         * lib/getopt1.c: Likewise.
65774         * lib/getopt_int.h: Likewise.
65775         * lib/getpagesize.h: Likewise.
65776         * lib/getsubopt.c: Likewise.
65777         * lib/gettime.c: Likewise.
65778         * lib/getugroups.c: Likewise.
65779         * lib/getugroups.h: Likewise.
65780         * lib/getusershell.c: Likewise.
65781         * lib/gl_anyavltree_list1.h: Likewise.
65782         * lib/gl_anyavltree_list2.h: Likewise.
65783         * lib/gl_anyhash_list1.h: Likewise.
65784         * lib/gl_anyhash_list2.h: Likewise.
65785         * lib/gl_anylinked_list1.h: Likewise.
65786         * lib/gl_anylinked_list2.h: Likewise.
65787         * lib/gl_anyrbtree_list1.h: Likewise.
65788         * lib/gl_anyrbtree_list2.h: Likewise.
65789         * lib/gl_anytree_list1.h: Likewise.
65790         * lib/gl_anytree_list2.h: Likewise.
65791         * lib/gl_anytree_oset.h: Likewise.
65792         * lib/gl_anytreehash_list1.h: Likewise.
65793         * lib/gl_anytreehash_list2.h: Likewise.
65794         * lib/gl_array_list.c: Likewise.
65795         * lib/gl_array_list.h: Likewise.
65796         * lib/gl_array_oset.c: Likewise.
65797         * lib/gl_array_oset.h: Likewise.
65798         * lib/gl_avltree_list.c: Likewise.
65799         * lib/gl_avltree_list.h: Likewise.
65800         * lib/gl_avltree_oset.c: Likewise.
65801         * lib/gl_avltree_oset.h: Likewise.
65802         * lib/gl_avltreehash_list.c: Likewise.
65803         * lib/gl_avltreehash_list.h: Likewise.
65804         * lib/gl_carray_list.c: Likewise.
65805         * lib/gl_carray_list.h: Likewise.
65806         * lib/gl_linked_list.c: Likewise.
65807         * lib/gl_linked_list.h: Likewise.
65808         * lib/gl_linkedhash_list.c: Likewise.
65809         * lib/gl_linkedhash_list.h: Likewise.
65810         * lib/gl_list.c: Likewise.
65811         * lib/gl_list.h: Likewise.
65812         * lib/gl_oset.c: Likewise.
65813         * lib/gl_oset.h: Likewise.
65814         * lib/gl_rbtree_list.c: Likewise.
65815         * lib/gl_rbtree_list.h: Likewise.
65816         * lib/gl_rbtree_oset.c: Likewise.
65817         * lib/gl_rbtree_oset.h: Likewise.
65818         * lib/gl_rbtreehash_list.c: Likewise.
65819         * lib/gl_rbtreehash_list.h: Likewise.
65820         * lib/gl_sublist.c: Likewise.
65821         * lib/gl_sublist.h: Likewise.
65822         * lib/group-member.c: Likewise.
65823         * lib/group-member.h: Likewise.
65824         * lib/hard-locale.c: Likewise.
65825         * lib/hard-locale.h: Likewise.
65826         * lib/hash-pjw.c: Likewise.
65827         * lib/hash-pjw.h: Likewise.
65828         * lib/hash-triple.c: Likewise.
65829         * lib/hash.c: Likewise.
65830         * lib/hash.h: Likewise.
65831         * lib/human.c: Likewise.
65832         * lib/human.h: Likewise.
65833         * lib/i-ring.c: Likewise.
65834         * lib/i-ring.h: Likewise.
65835         * lib/idcache.c: Likewise.
65836         * lib/imaxabs.c: Likewise.
65837         * lib/imaxdiv.c: Likewise.
65838         * lib/inet_pton.c: Likewise.
65839         * lib/inet_pton.h: Likewise.
65840         * lib/intprops.h: Likewise.
65841         * lib/inttostr.c: Likewise.
65842         * lib/inttostr.h: Likewise.
65843         * lib/inttypes.in.h: Likewise.
65844         * lib/isapipe.c: Likewise.
65845         * lib/isdir.c: Likewise.
65846         * lib/isnan.c: Likewise.
65847         * lib/isnan.h: Likewise.
65848         * lib/isnanf.c: Likewise.
65849         * lib/isnanf.h: Likewise.
65850         * lib/isnanl-nolibm.h: Likewise.
65851         * lib/isnanl.c: Likewise.
65852         * lib/isnanl.h: Likewise.
65853         * lib/javacomp.c: Likewise.
65854         * lib/javacomp.h: Likewise.
65855         * lib/javaexec.c: Likewise.
65856         * lib/javaexec.h: Likewise.
65857         * lib/javaversion.c: Likewise.
65858         * lib/javaversion.h: Likewise.
65859         * lib/javaversion.java: Likewise.
65860         * lib/lbrkprop.h: Likewise.
65861         * lib/lchmod.h: Likewise.
65862         * lib/lchown.c: Likewise.
65863         * lib/ldexpl.c: Likewise.
65864         * lib/linebreak.c: Likewise.
65865         * lib/linebreak.h: Likewise.
65866         * lib/linebuffer.c: Likewise.
65867         * lib/linebuffer.h: Likewise.
65868         * lib/locale.in.h: Likewise.
65869         * lib/logl.c: Likewise.
65870         * lib/long-options.c: Likewise.
65871         * lib/long-options.h: Likewise.
65872         * lib/lstat.c: Likewise.
65873         * lib/lstat.h: Likewise.
65874         * lib/math.in.h: Likewise.
65875         * lib/mbchar.c: Likewise.
65876         * lib/mbchar.h: Likewise.
65877         * lib/mbfile.h: Likewise.
65878         * lib/mbiter.h: Likewise.
65879         * lib/mbscasecmp.c: Likewise.
65880         * lib/mbscasestr.c: Likewise.
65881         * lib/mbschr.c: Likewise.
65882         * lib/mbscspn.c: Likewise.
65883         * lib/mbslen.c: Likewise.
65884         * lib/mbsncasecmp.c: Likewise.
65885         * lib/mbsnlen.c: Likewise.
65886         * lib/mbspbrk.c: Likewise.
65887         * lib/mbspcasecmp.c: Likewise.
65888         * lib/mbsrchr.c: Likewise.
65889         * lib/mbssep.c: Likewise.
65890         * lib/mbsspn.c: Likewise.
65891         * lib/mbsstr.c: Likewise.
65892         * lib/mbstok_r.c: Likewise.
65893         * lib/mbswidth.c: Likewise.
65894         * lib/mbswidth.h: Likewise.
65895         * lib/mbuiter.h: Likewise.
65896         * lib/memcasecmp.c: Likewise.
65897         * lib/memcasecmp.h: Likewise.
65898         * lib/memchr.c: Likewise.
65899         * lib/memcmp.c: Likewise.
65900         * lib/memcoll.c: Likewise.
65901         * lib/memcoll.h: Likewise.
65902         * lib/memcpy.c: Likewise.
65903         * lib/memrchr.c: Likewise.
65904         * lib/mkancesdirs.c: Likewise.
65905         * lib/mkdir-p.c: Likewise.
65906         * lib/mkdir-p.h: Likewise.
65907         * lib/mkdir.c: Likewise.
65908         * lib/mkdirat.c: Likewise.
65909         * lib/mkdtemp.c: Likewise.
65910         * lib/mkstemp-safer.c: Likewise.
65911         * lib/mkstemp.c: Likewise.
65912         * lib/modechange.c: Likewise.
65913         * lib/modechange.h: Likewise.
65914         * lib/mountlist.c: Likewise.
65915         * lib/mountlist.h: Likewise.
65916         * lib/mpsort.c: Likewise.
65917         * lib/nanosleep.c: Likewise.
65918         * lib/obstack.c: Likewise.
65919         * lib/obstack.h: Likewise.
65920         * lib/open-safer.c: Likewise.
65921         * lib/open.c: Likewise.
65922         * lib/openat-die.c: Likewise.
65923         * lib/openat-priv.h: Likewise.
65924         * lib/openat-proc.c: Likewise.
65925         * lib/openat.c: Likewise.
65926         * lib/openat.h: Likewise.
65927         * lib/pagealign_alloc.c: Likewise.
65928         * lib/pagealign_alloc.h: Likewise.
65929         * lib/physmem.c: Likewise.
65930         * lib/physmem.h: Likewise.
65931         * lib/pipe-safer.c: Likewise.
65932         * lib/pipe.c: Likewise.
65933         * lib/pipe.h: Likewise.
65934         * lib/posixtm.c: Likewise.
65935         * lib/posixtm.h: Likewise.
65936         * lib/posixver.c: Likewise.
65937         * lib/printf-frexp.c: Likewise.
65938         * lib/printf-frexp.h: Likewise.
65939         * lib/printf-frexpl.c: Likewise.
65940         * lib/printf-frexpl.h: Likewise.
65941         * lib/printf.c: Likewise.
65942         * lib/progname.c: Likewise.
65943         * lib/progname.h: Likewise.
65944         * lib/progreloc.c: Likewise.
65945         * lib/putenv.c: Likewise.
65946         * lib/quote.c: Likewise.
65947         * lib/quote.h: Likewise.
65948         * lib/quotearg.c: Likewise.
65949         * lib/quotearg.h: Likewise.
65950         * lib/raise.c: Likewise.
65951         * lib/readline.c: Likewise.
65952         * lib/readline.h: Likewise.
65953         * lib/readlink.c: Likewise.
65954         * lib/readtokens.c: Likewise.
65955         * lib/readtokens.h: Likewise.
65956         * lib/readtokens0.c: Likewise.
65957         * lib/readtokens0.h: Likewise.
65958         * lib/readutmp.c: Likewise.
65959         * lib/readutmp.h: Likewise.
65960         * lib/realloc.c: Likewise.
65961         * lib/relocwrapper.c: Likewise.
65962         * lib/rename-dest-slash.c: Likewise.
65963         * lib/rename.c: Likewise.
65964         * lib/rmdir.c: Likewise.
65965         * lib/rpmatch.c: Likewise.
65966         * lib/safe-read.c: Likewise.
65967         * lib/safe-read.h: Likewise.
65968         * lib/safe-write.c: Likewise.
65969         * lib/safe-write.h: Likewise.
65970         * lib/same-inode.h: Likewise.
65971         * lib/same.c: Likewise.
65972         * lib/same.h: Likewise.
65973         * lib/save-cwd.c: Likewise.
65974         * lib/save-cwd.h: Likewise.
65975         * lib/savedir.c: Likewise.
65976         * lib/savedir.h: Likewise.
65977         * lib/savewd.c: Likewise.
65978         * lib/savewd.h: Likewise.
65979         * lib/search.in.h: Likewise.
65980         * lib/setenv.c: Likewise.
65981         * lib/setenv.h: Likewise.
65982         * lib/settime.c: Likewise.
65983         * lib/sh-quote.c: Likewise.
65984         * lib/sh-quote.h: Likewise.
65985         * lib/sig2str.c: Likewise.
65986         * lib/sig2str.h: Likewise.
65987         * lib/signal.in.h: Likewise.
65988         * lib/signbitd.c: Likewise.
65989         * lib/signbitf.c: Likewise.
65990         * lib/signbitl.c: Likewise.
65991         * lib/sigprocmask.c: Likewise.
65992         * lib/sincosl.c: Likewise.
65993         * lib/sleep.c: Likewise.
65994         * lib/sprintf.c: Likewise.
65995         * lib/sqrtl.c: Likewise.
65996         * lib/stat-time.h: Likewise.
65997         * lib/stdio--.h: Likewise.
65998         * lib/stdio-safer.h: Likewise.
65999         * lib/stdlib--.h: Likewise.
66000         * lib/stdlib-safer.h: Likewise.
66001         * lib/stdlib.in.h: Likewise.
66002         * lib/stpcpy.c: Likewise.
66003         * lib/stpncpy.c: Likewise.
66004         * lib/strchrnul.c: Likewise.
66005         * lib/strcspn.c: Likewise.
66006         * lib/strerror.c: Likewise.
66007         * lib/strftime.c: Likewise.
66008         * lib/strftime.h: Likewise.
66009         * lib/striconveh.c: Likewise.
66010         * lib/striconveh.h: Likewise.
66011         * lib/striconveha.c: Likewise.
66012         * lib/striconveha.h: Likewise.
66013         * lib/stripslash.c: Likewise.
66014         * lib/strnlen1.c: Likewise.
66015         * lib/strnlen1.h: Likewise.
66016         * lib/strtod.c: Likewise.
66017         * lib/strtoimax.c: Likewise.
66018         * lib/strtok_r.c: Likewise.
66019         * lib/strtol.c: Likewise.
66020         * lib/strtoll.c: Likewise.
66021         * lib/strtoul.c: Likewise.
66022         * lib/strtoull.c: Likewise.
66023         * lib/sysexits.in.h: Likewise.
66024         * lib/tempname.c: Likewise.
66025         * lib/tempname.h: Likewise.
66026         * lib/timespec.h: Likewise.
66027         * lib/tls.c: Likewise.
66028         * lib/tls.h: Likewise.
66029         * lib/tmpdir.c: Likewise.
66030         * lib/tmpdir.h: Likewise.
66031         * lib/tmpfile-safer.c: Likewise.
66032         * lib/tmpfile.c: Likewise.
66033         * lib/trigl.c: Likewise.
66034         * lib/trigl.h: Likewise.
66035         * lib/trim.c: Likewise.
66036         * lib/trim.h: Likewise.
66037         * lib/trunc.c: Likewise.
66038         * lib/truncf.c: Likewise.
66039         * lib/truncl.c: Likewise.
66040         * lib/tsearch.c: Likewise.
66041         * lib/unicodeio.c: Likewise.
66042         * lib/unicodeio.h: Likewise.
66043         * lib/unistd--.h: Likewise.
66044         * lib/unistd-safer.h: Likewise.
66045         * lib/unistdio/ulc-fprintf.c: Likewise.
66046         * lib/unistdio/ulc-vfprintf.c: Likewise.
66047         * lib/unlinkdir.c: Likewise.
66048         * lib/unlinkdir.h: Likewise.
66049         * lib/unlocked-io.h: Likewise.
66050         * lib/unsetenv.c: Likewise.
66051         * lib/userspec.c: Likewise.
66052         * lib/utime.c: Likewise.
66053         * lib/utimecmp.c: Likewise.
66054         * lib/utimecmp.h: Likewise.
66055         * lib/utimens.c: Likewise.
66056         * lib/verify.h: Likewise.
66057         * lib/verror.c: Likewise.
66058         * lib/verror.h: Likewise.
66059         * lib/version-etc-fsf.c: Likewise.
66060         * lib/version-etc.c: Likewise.
66061         * lib/version-etc.h: Likewise.
66062         * lib/vfprintf.c: Likewise.
66063         * lib/vprintf.c: Likewise.
66064         * lib/vsprintf.c: Likewise.
66065         * lib/w32spawn.h: Likewise.
66066         * lib/wait-process.c: Likewise.
66067         * lib/wait-process.h: Likewise.
66068         * lib/wcwidth.c: Likewise.
66069         * lib/write-any-file.c: Likewise.
66070         * lib/xalloc-die.c: Likewise.
66071         * lib/xalloc.h: Likewise.
66072         * lib/xasprintf.c: Likewise.
66073         * lib/xgetcwd.c: Likewise.
66074         * lib/xgetcwd.h: Likewise.
66075         * lib/xgetdomainname.c: Likewise.
66076         * lib/xgetdomainname.h: Likewise.
66077         * lib/xgethostname.c: Likewise.
66078         * lib/xmalloc.c: Likewise.
66079         * lib/xmalloca.c: Likewise.
66080         * lib/xmalloca.h: Likewise.
66081         * lib/xmemcoll.c: Likewise.
66082         * lib/xnanosleep.c: Likewise.
66083         * lib/xreadlink.c: Likewise.
66084         * lib/xreadlink.h: Likewise.
66085         * lib/xsetenv.c: Likewise.
66086         * lib/xsetenv.h: Likewise.
66087         * lib/xstriconv.c: Likewise.
66088         * lib/xstriconv.h: Likewise.
66089         * lib/xstrndup.c: Likewise.
66090         * lib/xstrndup.h: Likewise.
66091         * lib/xstrtod.c: Likewise.
66092         * lib/xstrtod.h: Likewise.
66093         * lib/xstrtol-error.c: Likewise.
66094         * lib/xstrtol.c: Likewise.
66095         * lib/xstrtol.h: Likewise.
66096         * lib/xtime.h: Likewise.
66097         * lib/xvasprintf.c: Likewise.
66098         * lib/xvasprintf.h: Likewise.
66099         * lib/yesno.c: Likewise.
66100         * lib/yesno.h: Likewise.
66101         * posix-modules: Likewise.
66102         * tests/test-alloca-opt.c: Likewise.
66103         * tests/test-arcfour.c: Likewise.
66104         * tests/test-arctwo.c: Likewise.
66105         * tests/test-argmatch.c: Likewise.
66106         * tests/test-argp-2.sh: Likewise.
66107         * tests/test-argp.c: Likewise.
66108         * tests/test-arpa_inet.c: Likewise.
66109         * tests/test-array_list.c: Likewise.
66110         * tests/test-array_oset.c: Likewise.
66111         * tests/test-atexit.c: Likewise.
66112         * tests/test-avltree_list.c: Likewise.
66113         * tests/test-avltree_oset.c: Likewise.
66114         * tests/test-avltreehash_list.c: Likewise.
66115         * tests/test-base64.c: Likewise.
66116         * tests/test-binary-io.c: Likewise.
66117         * tests/test-byteswap.c: Likewise.
66118         * tests/test-c-ctype.c: Likewise.
66119         * tests/test-c-strcasecmp.c: Likewise.
66120         * tests/test-c-strcasestr.c: Likewise.
66121         * tests/test-c-strncasecmp.c: Likewise.
66122         * tests/test-c-strstr.c: Likewise.
66123         * tests/test-canonicalize-lgpl.c: Likewise.
66124         * tests/test-canonicalize.c: Likewise.
66125         * tests/test-carray_list.c: Likewise.
66126         * tests/test-ceilf.c: Likewise.
66127         * tests/test-ceill.c: Likewise.
66128         * tests/test-count-one-bits.c: Likewise.
66129         * tests/test-crc.c: Likewise.
66130         * tests/test-dirname.c: Likewise.
66131         * tests/test-fbufmode.c: Likewise.
66132         * tests/test-fcntl.c: Likewise.
66133         * tests/test-fflush.c: Likewise.
66134         * tests/test-floorf.c: Likewise.
66135         * tests/test-floorl.c: Likewise.
66136         * tests/test-fopen.c: Likewise.
66137         * tests/test-fprintf-posix.c: Likewise.
66138         * tests/test-fprintf-posix.h: Likewise.
66139         * tests/test-fpurge.c: Likewise.
66140         * tests/test-freadable.c: Likewise.
66141         * tests/test-freadahead.c: Likewise.
66142         * tests/test-freading.c: Likewise.
66143         * tests/test-freopen.c: Likewise.
66144         * tests/test-frexp.c: Likewise.
66145         * tests/test-frexpl.c: Likewise.
66146         * tests/test-fseek.c: Likewise.
66147         * tests/test-fseeko.c: Likewise.
66148         * tests/test-fseterr.c: Likewise.
66149         * tests/test-fstrcmp.c: Likewise.
66150         * tests/test-ftell.c: Likewise.
66151         * tests/test-ftello.c: Likewise.
66152         * tests/test-fwritable.c: Likewise.
66153         * tests/test-fwriting.c: Likewise.
66154         * tests/test-getaddrinfo.c: Likewise.
66155         * tests/test-getpass.c: Likewise.
66156         * tests/test-gettimeofday.c: Likewise.
66157         * tests/test-hmac-md5.c: Likewise.
66158         * tests/test-hmac-sha1.c: Likewise.
66159         * tests/test-iconv.c: Likewise.
66160         * tests/test-iconvme.c: Likewise.
66161         * tests/test-inttypes.c: Likewise.
66162         * tests/test-isnan.c: Likewise.
66163         * tests/test-isnanf.c: Likewise.
66164         * tests/test-isnanl-nolibm.c: Likewise.
66165         * tests/test-isnanl.c: Likewise.
66166         * tests/test-isnanl.h: Likewise.
66167         * tests/test-ldexpl.c: Likewise.
66168         * tests/test-linked_list.c: Likewise.
66169         * tests/test-linkedhash_list.c: Likewise.
66170         * tests/test-locale.c: Likewise.
66171         * tests/test-localename.c: Likewise.
66172         * tests/test-lock.c: Likewise.
66173         * tests/test-lseek.c: Likewise.
66174         * tests/test-malloca.c: Likewise.
66175         * tests/test-math.c: Likewise.
66176         * tests/test-mbscasecmp.c: Likewise.
66177         * tests/test-mbscasestr1.c: Likewise.
66178         * tests/test-mbscasestr2.c: Likewise.
66179         * tests/test-mbscasestr3.c: Likewise.
66180         * tests/test-mbscasestr4.c: Likewise.
66181         * tests/test-mbschr.c: Likewise.
66182         * tests/test-mbscspn.c: Likewise.
66183         * tests/test-mbsncasecmp.c: Likewise.
66184         * tests/test-mbspbrk.c: Likewise.
66185         * tests/test-mbspcasecmp.c: Likewise.
66186         * tests/test-mbsrchr.c: Likewise.
66187         * tests/test-mbsspn.c: Likewise.
66188         * tests/test-mbsstr1.c: Likewise.
66189         * tests/test-mbsstr2.c: Likewise.
66190         * tests/test-mbsstr3.c: Likewise.
66191         * tests/test-md5.c: Likewise.
66192         * tests/test-memmem.c: Likewise.
66193         * tests/test-netinet_in.c: Likewise.
66194         * tests/test-open.c: Likewise.
66195         * tests/test-printf-frexp.c: Likewise.
66196         * tests/test-printf-frexpl.c: Likewise.
66197         * tests/test-printf-posix.c: Likewise.
66198         * tests/test-printf-posix.h: Likewise.
66199         * tests/test-rbtree_list.c: Likewise.
66200         * tests/test-rbtree_oset.c: Likewise.
66201         * tests/test-rbtreehash_list.c: Likewise.
66202         * tests/test-read-file.c: Likewise.
66203         * tests/test-rijndael.c: Likewise.
66204         * tests/test-search.c: Likewise.
66205         * tests/test-signbit.c: Likewise.
66206         * tests/test-sleep.c: Likewise.
66207         * tests/test-snprintf-posix.c: Likewise.
66208         * tests/test-snprintf-posix.h: Likewise.
66209         * tests/test-snprintf.c: Likewise.
66210         * tests/test-sprintf-posix.c: Likewise.
66211         * tests/test-sprintf-posix.h: Likewise.
66212         * tests/test-stat-time.c: Likewise.
66213         * tests/test-stdbool.c: Likewise.
66214         * tests/test-stdint.c: Likewise.
66215         * tests/test-stdio.c: Likewise.
66216         * tests/test-stdlib.c: Likewise.
66217         * tests/test-stpncpy.c: Likewise.
66218         * tests/test-strcasestr.c: Likewise.
66219         * tests/test-striconv.c: Likewise.
66220         * tests/test-striconveh.c: Likewise.
66221         * tests/test-striconveha.c: Likewise.
66222         * tests/test-string.c: Likewise.
66223         * tests/test-sys_select.c: Likewise.
66224         * tests/test-sys_socket.c: Likewise.
66225         * tests/test-sys_stat.c: Likewise.
66226         * tests/test-sys_time.c: Likewise.
66227         * tests/test-sysexits.c: Likewise.
66228         * tests/test-time.c: Likewise.
66229         * tests/test-tls.c: Likewise.
66230         * tests/test-trunc.c: Likewise.
66231         * tests/test-truncf.c: Likewise.
66232         * tests/test-truncl.c: Likewise.
66233         * tests/test-unistd.c: Likewise.
66234         * tests/test-vasnprintf-posix.c: Likewise.
66235         * tests/test-vasnprintf-posix2.c: Likewise.
66236         * tests/test-vasnprintf.c: Likewise.
66237         * tests/test-vasprintf-posix.c: Likewise.
66238         * tests/test-vasprintf.c: Likewise.
66239         * tests/test-verify.c: Likewise.
66240         * tests/test-vfprintf-posix.c: Likewise.
66241         * tests/test-vprintf-posix.c: Likewise.
66242         * tests/test-vsnprintf-posix.c: Likewise.
66243         * tests/test-vsnprintf.c: Likewise.
66244         * tests/test-vsprintf-posix.c: Likewise.
66245         * tests/test-wchar.c: Likewise.
66246         * tests/test-wctype.c: Likewise.
66247         * tests/test-wcwidth.c: Likewise.
66248         * tests/test-xstrtol.c: Likewise.
66249         * tests/test-xvasprintf.c: Likewise.
66250         * tests/uniconv/test-u16-conv-from-enc.c: Likewise.
66251         * tests/uniconv/test-u16-conv-to-enc.c: Likewise.
66252         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
66253         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
66254         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
66255         * tests/uniconv/test-u32-conv-to-enc.c: Likewise.
66256         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
66257         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
66258         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
66259         * tests/uniconv/test-u8-conv-to-enc.c: Likewise.
66260         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
66261         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
66262         * tests/uniname/test-uninames.c: Likewise.
66263         * tests/unistdio/test-u16-asnprintf1.c: Likewise.
66264         * tests/unistdio/test-u16-asnprintf1.h: Likewise.
66265         * tests/unistdio/test-u16-printf1.h: Likewise.
66266         * tests/unistdio/test-u16-vasnprintf1.c: Likewise.
66267         * tests/unistdio/test-u16-vasnprintf2.c: Likewise.
66268         * tests/unistdio/test-u16-vasnprintf3.c: Likewise.
66269         * tests/unistdio/test-u16-vasprintf1.c: Likewise.
66270         * tests/unistdio/test-u16-vsnprintf1.c: Likewise.
66271         * tests/unistdio/test-u16-vsprintf1.c: Likewise.
66272         * tests/unistdio/test-u32-asnprintf1.c: Likewise.
66273         * tests/unistdio/test-u32-asnprintf1.h: Likewise.
66274         * tests/unistdio/test-u32-printf1.h: Likewise.
66275         * tests/unistdio/test-u32-vasnprintf1.c: Likewise.
66276         * tests/unistdio/test-u32-vasnprintf2.c: Likewise.
66277         * tests/unistdio/test-u32-vasnprintf3.c: Likewise.
66278         * tests/unistdio/test-u32-vasprintf1.c: Likewise.
66279         * tests/unistdio/test-u32-vsnprintf1.c: Likewise.
66280         * tests/unistdio/test-u32-vsprintf1.c: Likewise.
66281         * tests/unistdio/test-u8-asnprintf1.c: Likewise.
66282         * tests/unistdio/test-u8-asnprintf1.h: Likewise.
66283         * tests/unistdio/test-u8-printf1.h: Likewise.
66284         * tests/unistdio/test-u8-vasnprintf1.c: Likewise.
66285         * tests/unistdio/test-u8-vasnprintf2.c: Likewise.
66286         * tests/unistdio/test-u8-vasnprintf3.c: Likewise.
66287         * tests/unistdio/test-u8-vasprintf1.c: Likewise.
66288         * tests/unistdio/test-u8-vsnprintf1.c: Likewise.
66289         * tests/unistdio/test-u8-vsprintf1.c: Likewise.
66290         * tests/unistdio/test-ulc-asnprintf1.c: Likewise.
66291         * tests/unistdio/test-ulc-asnprintf1.h: Likewise.
66292         * tests/unistdio/test-ulc-printf1.h: Likewise.
66293         * tests/unistdio/test-ulc-vasnprintf1.c: Likewise.
66294         * tests/unistdio/test-ulc-vasnprintf2.c: Likewise.
66295         * tests/unistdio/test-ulc-vasnprintf3.c: Likewise.
66296         * tests/unistdio/test-ulc-vasprintf1.c: Likewise.
66297         * tests/unistdio/test-ulc-vsnprintf1.c: Likewise.
66298         * tests/unistdio/test-ulc-vsprintf1.c: Likewise.
66299         * tests/uniwidth/test-u16-strwidth.c: Likewise.
66300         * tests/uniwidth/test-u16-width.c: Likewise.
66301         * tests/uniwidth/test-u32-strwidth.c: Likewise.
66302         * tests/uniwidth/test-u32-width.c: Likewise.
66303         * tests/uniwidth/test-u8-strwidth.c: Likewise.
66304         * tests/uniwidth/test-u8-width.c: Likewise.
66305         * tests/uniwidth/test-uc_width.c: Likewise.
66306         * config/srclist-update: Likewise.
66307         (fixlicense): Update to GPLv3+.
66308
66309         Change copyright notice from LGPLv2.1+ to LGPLv3+.
66310         * tests/test-tsearch.c: Change copyright notice.
66311
66312         Change copyright notice from LGPLv2.0+ to LGPLv3+.
66313         * lib/c-strcaseeq.h: Change copyright notice.
66314         * lib/streq.h: Likewise.
66315         * lib/uniconv.h: Likewise.
66316         * lib/uniconv/u-conv-from-enc.h: Likewise.
66317         * lib/uniconv/u-conv-to-enc.h: Likewise.
66318         * lib/uniconv/u-strconv-from-enc.h: Likewise.
66319         * lib/uniconv/u-strconv-to-enc.h: Likewise.
66320         * lib/uniconv/u16-conv-from-enc.c: Likewise.
66321         * lib/uniconv/u16-conv-to-enc.c: Likewise.
66322         * lib/uniconv/u16-strconv-from-enc.c: Likewise.
66323         * lib/uniconv/u16-strconv-from-locale.c: Likewise.
66324         * lib/uniconv/u16-strconv-to-enc.c: Likewise.
66325         * lib/uniconv/u16-strconv-to-locale.c: Likewise.
66326         * lib/uniconv/u32-conv-from-enc.c: Likewise.
66327         * lib/uniconv/u32-conv-to-enc.c: Likewise.
66328         * lib/uniconv/u32-strconv-from-enc.c: Likewise.
66329         * lib/uniconv/u32-strconv-from-locale.c: Likewise.
66330         * lib/uniconv/u32-strconv-to-enc.c: Likewise.
66331         * lib/uniconv/u32-strconv-to-locale.c: Likewise.
66332         * lib/uniconv/u8-conv-from-enc.c: Likewise.
66333         * lib/uniconv/u8-conv-to-enc.c: Likewise.
66334         * lib/uniconv/u8-strconv-from-enc.c: Likewise.
66335         * lib/uniconv/u8-strconv-from-locale.c: Likewise.
66336         * lib/uniconv/u8-strconv-to-enc.c: Likewise.
66337         * lib/uniconv/u8-strconv-to-locale.c: Likewise.
66338         * lib/uniname.h: Likewise.
66339         * lib/uniname/uniname.c: Likewise.
66340         * lib/unistdio.h: Likewise.
66341         * lib/unistdio/u-asnprintf.h: Likewise.
66342         * lib/unistdio/u-asprintf.h: Likewise.
66343         * lib/unistdio/u-printf-args.c: Likewise.
66344         * lib/unistdio/u-printf-args.h: Likewise.
66345         * lib/unistdio/u-printf-parse.h: Likewise.
66346         * lib/unistdio/u-snprintf.h: Likewise.
66347         * lib/unistdio/u-sprintf.h: Likewise.
66348         * lib/unistdio/u-vasprintf.h: Likewise.
66349         * lib/unistdio/u-vsnprintf.h: Likewise.
66350         * lib/unistdio/u-vsprintf.h: Likewise.
66351         * lib/unistdio/u16-asnprintf.c: Likewise.
66352         * lib/unistdio/u16-asprintf.c: Likewise.
66353         * lib/unistdio/u16-printf-parse.c: Likewise.
66354         * lib/unistdio/u16-snprintf.c: Likewise.
66355         * lib/unistdio/u16-sprintf.c: Likewise.
66356         * lib/unistdio/u16-u16-asnprintf.c: Likewise.
66357         * lib/unistdio/u16-u16-asprintf.c: Likewise.
66358         * lib/unistdio/u16-u16-snprintf.c: Likewise.
66359         * lib/unistdio/u16-u16-sprintf.c: Likewise.
66360         * lib/unistdio/u16-u16-vasnprintf.c: Likewise.
66361         * lib/unistdio/u16-u16-vasprintf.c: Likewise.
66362         * lib/unistdio/u16-u16-vsnprintf.c: Likewise.
66363         * lib/unistdio/u16-u16-vsprintf.c: Likewise.
66364         * lib/unistdio/u16-vasnprintf.c: Likewise.
66365         * lib/unistdio/u16-vasprintf.c: Likewise.
66366         * lib/unistdio/u16-vsnprintf.c: Likewise.
66367         * lib/unistdio/u16-vsprintf.c: Likewise.
66368         * lib/unistdio/u32-asnprintf.c: Likewise.
66369         * lib/unistdio/u32-asprintf.c: Likewise.
66370         * lib/unistdio/u32-printf-parse.c: Likewise.
66371         * lib/unistdio/u32-snprintf.c: Likewise.
66372         * lib/unistdio/u32-sprintf.c: Likewise.
66373         * lib/unistdio/u32-u32-asnprintf.c: Likewise.
66374         * lib/unistdio/u32-u32-asprintf.c: Likewise.
66375         * lib/unistdio/u32-u32-snprintf.c: Likewise.
66376         * lib/unistdio/u32-u32-sprintf.c: Likewise.
66377         * lib/unistdio/u32-u32-vasnprintf.c: Likewise.
66378         * lib/unistdio/u32-u32-vasprintf.c: Likewise.
66379         * lib/unistdio/u32-u32-vsnprintf.c: Likewise.
66380         * lib/unistdio/u32-u32-vsprintf.c: Likewise.
66381         * lib/unistdio/u32-vasnprintf.c: Likewise.
66382         * lib/unistdio/u32-vasprintf.c: Likewise.
66383         * lib/unistdio/u32-vsnprintf.c: Likewise.
66384         * lib/unistdio/u32-vsprintf.c: Likewise.
66385         * lib/unistdio/u8-asnprintf.c: Likewise.
66386         * lib/unistdio/u8-asprintf.c: Likewise.
66387         * lib/unistdio/u8-printf-parse.c: Likewise.
66388         * lib/unistdio/u8-snprintf.c: Likewise.
66389         * lib/unistdio/u8-sprintf.c: Likewise.
66390         * lib/unistdio/u8-u8-asnprintf.c: Likewise.
66391         * lib/unistdio/u8-u8-asprintf.c: Likewise.
66392         * lib/unistdio/u8-u8-snprintf.c: Likewise.
66393         * lib/unistdio/u8-u8-sprintf.c: Likewise.
66394         * lib/unistdio/u8-u8-vasnprintf.c: Likewise.
66395         * lib/unistdio/u8-u8-vasprintf.c: Likewise.
66396         * lib/unistdio/u8-u8-vsnprintf.c: Likewise.
66397         * lib/unistdio/u8-u8-vsprintf.c: Likewise.
66398         * lib/unistdio/u8-vasnprintf.c: Likewise.
66399         * lib/unistdio/u8-vasprintf.c: Likewise.
66400         * lib/unistdio/u8-vsnprintf.c: Likewise.
66401         * lib/unistdio/u8-vsprintf.c: Likewise.
66402         * lib/unistdio/ulc-asnprintf.c: Likewise.
66403         * lib/unistdio/ulc-asprintf.c: Likewise.
66404         * lib/unistdio/ulc-printf-parse.c: Likewise.
66405         * lib/unistdio/ulc-snprintf.c: Likewise.
66406         * lib/unistdio/ulc-sprintf.c: Likewise.
66407         * lib/unistdio/ulc-vasnprintf.c: Likewise.
66408         * lib/unistdio/ulc-vasprintf.c: Likewise.
66409         * lib/unistdio/ulc-vsnprintf.c: Likewise.
66410         * lib/unistdio/ulc-vsprintf.c: Likewise.
66411         * lib/unistr.h: Likewise.
66412         * lib/unistr/u-cpy-alloc.h: Likewise.
66413         * lib/unistr/u-cpy.h: Likewise.
66414         * lib/unistr/u-endswith.h: Likewise.
66415         * lib/unistr/u-move.h: Likewise.
66416         * lib/unistr/u-set.h: Likewise.
66417         * lib/unistr/u-startswith.h: Likewise.
66418         * lib/unistr/u-stpcpy.h: Likewise.
66419         * lib/unistr/u-stpncpy.h: Likewise.
66420         * lib/unistr/u-strcat.h: Likewise.
66421         * lib/unistr/u-strcpy.h: Likewise.
66422         * lib/unistr/u-strcspn.h: Likewise.
66423         * lib/unistr/u-strdup.h: Likewise.
66424         * lib/unistr/u-strlen.h: Likewise.
66425         * lib/unistr/u-strncat.h: Likewise.
66426         * lib/unistr/u-strncpy.h: Likewise.
66427         * lib/unistr/u-strnlen.h: Likewise.
66428         * lib/unistr/u-strpbrk.h: Likewise.
66429         * lib/unistr/u-strspn.h: Likewise.
66430         * lib/unistr/u-strstr.h: Likewise.
66431         * lib/unistr/u-strtok.h: Likewise.
66432         * lib/unistr/u16-check.c: Likewise.
66433         * lib/unistr/u16-chr.c: Likewise.
66434         * lib/unistr/u16-cmp.c: Likewise.
66435         * lib/unistr/u16-cpy-alloc.c: Likewise.
66436         * lib/unistr/u16-cpy.c: Likewise.
66437         * lib/unistr/u16-endswith.c: Likewise.
66438         * lib/unistr/u16-mblen.c: Likewise.
66439         * lib/unistr/u16-mbsnlen.c: Likewise.
66440         * lib/unistr/u16-mbtouc-aux.c: Likewise.
66441         * lib/unistr/u16-mbtouc-unsafe-aux.c: Likewise.
66442         * lib/unistr/u16-mbtouc-unsafe.c: Likewise.
66443         * lib/unistr/u16-mbtouc.c: Likewise.
66444         * lib/unistr/u16-mbtoucr.c: Likewise.
66445         * lib/unistr/u16-move.c: Likewise.
66446         * lib/unistr/u16-next.c: Likewise.
66447         * lib/unistr/u16-prev.c: Likewise.
66448         * lib/unistr/u16-set.c: Likewise.
66449         * lib/unistr/u16-startswith.c: Likewise.
66450         * lib/unistr/u16-stpcpy.c: Likewise.
66451         * lib/unistr/u16-stpncpy.c: Likewise.
66452         * lib/unistr/u16-strcat.c: Likewise.
66453         * lib/unistr/u16-strchr.c: Likewise.
66454         * lib/unistr/u16-strcmp.c: Likewise.
66455         * lib/unistr/u16-strcpy.c: Likewise.
66456         * lib/unistr/u16-strcspn.c: Likewise.
66457         * lib/unistr/u16-strdup.c: Likewise.
66458         * lib/unistr/u16-strlen.c: Likewise.
66459         * lib/unistr/u16-strmblen.c: Likewise.
66460         * lib/unistr/u16-strmbtouc.c: Likewise.
66461         * lib/unistr/u16-strncat.c: Likewise.
66462         * lib/unistr/u16-strncmp.c: Likewise.
66463         * lib/unistr/u16-strncpy.c: Likewise.
66464         * lib/unistr/u16-strnlen.c: Likewise.
66465         * lib/unistr/u16-strpbrk.c: Likewise.
66466         * lib/unistr/u16-strrchr.c: Likewise.
66467         * lib/unistr/u16-strspn.c: Likewise.
66468         * lib/unistr/u16-strstr.c: Likewise.
66469         * lib/unistr/u16-strtok.c: Likewise.
66470         * lib/unistr/u16-to-u32.c: Likewise.
66471         * lib/unistr/u16-to-u8.c: Likewise.
66472         * lib/unistr/u16-uctomb-aux.c: Likewise.
66473         * lib/unistr/u16-uctomb.c: Likewise.
66474         * lib/unistr/u32-check.c: Likewise.
66475         * lib/unistr/u32-chr.c: Likewise.
66476         * lib/unistr/u32-cmp.c: Likewise.
66477         * lib/unistr/u32-cpy-alloc.c: Likewise.
66478         * lib/unistr/u32-cpy.c: Likewise.
66479         * lib/unistr/u32-endswith.c: Likewise.
66480         * lib/unistr/u32-mblen.c: Likewise.
66481         * lib/unistr/u32-mbsnlen.c: Likewise.
66482         * lib/unistr/u32-mbtouc-unsafe.c: Likewise.
66483         * lib/unistr/u32-mbtouc.c: Likewise.
66484         * lib/unistr/u32-mbtoucr.c: Likewise.
66485         * lib/unistr/u32-move.c: Likewise.
66486         * lib/unistr/u32-next.c: Likewise.
66487         * lib/unistr/u32-prev.c: Likewise.
66488         * lib/unistr/u32-set.c: Likewise.
66489         * lib/unistr/u32-startswith.c: Likewise.
66490         * lib/unistr/u32-stpcpy.c: Likewise.
66491         * lib/unistr/u32-stpncpy.c: Likewise.
66492         * lib/unistr/u32-strcat.c: Likewise.
66493         * lib/unistr/u32-strchr.c: Likewise.
66494         * lib/unistr/u32-strcmp.c: Likewise.
66495         * lib/unistr/u32-strcpy.c: Likewise.
66496         * lib/unistr/u32-strcspn.c: Likewise.
66497         * lib/unistr/u32-strdup.c: Likewise.
66498         * lib/unistr/u32-strlen.c: Likewise.
66499         * lib/unistr/u32-strmblen.c: Likewise.
66500         * lib/unistr/u32-strmbtouc.c: Likewise.
66501         * lib/unistr/u32-strncat.c: Likewise.
66502         * lib/unistr/u32-strncmp.c: Likewise.
66503         * lib/unistr/u32-strncpy.c: Likewise.
66504         * lib/unistr/u32-strnlen.c: Likewise.
66505         * lib/unistr/u32-strpbrk.c: Likewise.
66506         * lib/unistr/u32-strrchr.c: Likewise.
66507         * lib/unistr/u32-strspn.c: Likewise.
66508         * lib/unistr/u32-strstr.c: Likewise.
66509         * lib/unistr/u32-strtok.c: Likewise.
66510         * lib/unistr/u32-to-u16.c: Likewise.
66511         * lib/unistr/u32-to-u8.c: Likewise.
66512         * lib/unistr/u32-uctomb.c: Likewise.
66513         * lib/unistr/u8-check.c: Likewise.
66514         * lib/unistr/u8-chr.c: Likewise.
66515         * lib/unistr/u8-cmp.c: Likewise.
66516         * lib/unistr/u8-cpy-alloc.c: Likewise.
66517         * lib/unistr/u8-cpy.c: Likewise.
66518         * lib/unistr/u8-endswith.c: Likewise.
66519         * lib/unistr/u8-mblen.c: Likewise.
66520         * lib/unistr/u8-mbsnlen.c: Likewise.
66521         * lib/unistr/u8-mbtouc-aux.c: Likewise.
66522         * lib/unistr/u8-mbtouc-unsafe-aux.c: Likewise.
66523         * lib/unistr/u8-mbtouc-unsafe.c: Likewise.
66524         * lib/unistr/u8-mbtouc.c: Likewise.
66525         * lib/unistr/u8-mbtoucr.c: Likewise.
66526         * lib/unistr/u8-move.c: Likewise.
66527         * lib/unistr/u8-next.c: Likewise.
66528         * lib/unistr/u8-prev.c: Likewise.
66529         * lib/unistr/u8-set.c: Likewise.
66530         * lib/unistr/u8-startswith.c: Likewise.
66531         * lib/unistr/u8-stpcpy.c: Likewise.
66532         * lib/unistr/u8-stpncpy.c: Likewise.
66533         * lib/unistr/u8-strcat.c: Likewise.
66534         * lib/unistr/u8-strchr.c: Likewise.
66535         * lib/unistr/u8-strcmp.c: Likewise.
66536         * lib/unistr/u8-strcpy.c: Likewise.
66537         * lib/unistr/u8-strcspn.c: Likewise.
66538         * lib/unistr/u8-strdup.c: Likewise.
66539         * lib/unistr/u8-strlen.c: Likewise.
66540         * lib/unistr/u8-strmblen.c: Likewise.
66541         * lib/unistr/u8-strmbtouc.c: Likewise.
66542         * lib/unistr/u8-strncat.c: Likewise.
66543         * lib/unistr/u8-strncmp.c: Likewise.
66544         * lib/unistr/u8-strncpy.c: Likewise.
66545         * lib/unistr/u8-strnlen.c: Likewise.
66546         * lib/unistr/u8-strpbrk.c: Likewise.
66547         * lib/unistr/u8-strrchr.c: Likewise.
66548         * lib/unistr/u8-strspn.c: Likewise.
66549         * lib/unistr/u8-strstr.c: Likewise.
66550         * lib/unistr/u8-strtok.c: Likewise.
66551         * lib/unistr/u8-to-u16.c: Likewise.
66552         * lib/unistr/u8-to-u32.c: Likewise.
66553         * lib/unistr/u8-uctomb-aux.c: Likewise.
66554         * lib/unistr/u8-uctomb.c: Likewise.
66555         * lib/unitypes.h: Likewise.
66556         * lib/uniwidth.h: Likewise.
66557         * lib/uniwidth/cjk.h: Likewise.
66558         * lib/uniwidth/u16-strwidth.c: Likewise.
66559         * lib/uniwidth/u16-width.c: Likewise.
66560         * lib/uniwidth/u32-strwidth.c: Likewise.
66561         * lib/uniwidth/u32-width.c: Likewise.
66562         * lib/uniwidth/u8-strwidth.c: Likewise.
66563         * lib/uniwidth/u8-width.c: Likewise.
66564         * lib/uniwidth/width.c: Likewise.
66565
66566 2007-10-07  Bruno Haible  <bruno@clisp.org>
66567
66568         * lib/inttypes.in.h: Change copyright notice from LGPL to GPL.
66569         The file is still under LGPL (see modules/inttypes).
66570
66571 2007-10-06  Bruno Haible  <bruno@clisp.org>
66572
66573         * modules/trunc (Dependencies): Add 'extensions'.
66574         * m4/trunc.m4 (gl_FUNC_TRUNC): Require gl_USE_SYSTEM_EXTENSIONS.
66575         Reported by Ben Pfaff <blp@gnu.org>.
66576
66577 2007-10-06  Bruno Haible  <bruno@clisp.org>
66578
66579         * modules/freopen-tests: New file.
66580         * tests/test-freopen.c: New file.
66581
66582         * modules/fopen-tests: New file.
66583         * tests/test-fopen.c: New file.
66584
66585         * modules/fopen: New file.
66586         * lib/fopen.c: New file.
66587         * m4/fopen.m4: New file.
66588         * modules/freopen: New file.
66589         * lib/freopen.c: New file.
66590         * m4/freopen.m4: New file.
66591         * lib/stdio.in.h (fopen, freopen): New declarations.
66592         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Initialize also GNULIB_FOPEN,
66593         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66594         * modules/stdio (Makefile.am): Substitute also GNULIB_FOPEN,
66595         GNULIB_FREOPEN, REPLACE_FOPEN, REPLACE_FREOPEN.
66596         * doc/functions/fopen.texi: Mention the 'fopen' module.
66597         * doc/functions/freopen.texi: Mention the 'freopen' module.
66598
66599 2007-10-06  Bruno Haible  <bruno@clisp.org>
66600
66601         * modules/open-tests: New file.
66602         * tests/test-open.c: New file.
66603
66604         * modules/open: New file.
66605         * lib/open.c: New file.
66606         * m4/open.m4: New file.
66607         * lib/fchdir.c (open): If the gnulib module 'open' is used, do what
66608         lib/open.c does.
66609         * lib/fcntl.in.h (open): Declare also if replaced by the 'open' module.
66610         * m4/fcntl_h.m4 (gl_FCNTL_MODULE_INDICATOR, gl_FCNTL_H_DEFAULTS): New
66611         macros.
66612         (gl_FCNTL_H): Require gl_FCNTL_H_DEFAULTS.
66613         * modules/fcntl (Makefile.am): Also substitute GNULIB_OPEN and
66614         REPLACE_OPEN.
66615         * doc/functions/open.texi: Mention the 'open' module.
66616
66617 2007-10-04  Bruno Haible  <bruno@clisp.org>
66618
66619         * modules/ceill-tests: New file.
66620         * tests/test-ceill.c: New file.
66621
66622         * modules/ceill: New file.
66623         * lib/ceill.c: Replace entire file.
66624         * m4/ceill.m4: New file.
66625         * lib/math.in.h (ceill): Replace declaration.
66626         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILL.
66627         * modules/math (Makefile.am): Substitute also GNULIB_CEILL.
66628         * doc/functions/ceill.texi: Mention the 'ceill' module.
66629         * modules/mathl (Files): Remove lib/ceill.c.
66630         (Depends-on): Add ceill.
66631
66632 2007-10-04  Bruno Haible  <bruno@clisp.org>
66633
66634         * modules/ceilf-tests: New file.
66635         * tests/test-ceilf.c: New file.
66636
66637         * modules/ceilf: New file.
66638         * lib/ceil.c: New file.
66639         * lib/ceilf.c: New file.
66640         * m4/ceilf.m4: New file.
66641         * lib/math.in.h (ceilf): New declaration.
66642         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_CEILF and
66643         HAVE_DECL_CEILF.
66644         * modules/math (Makefile.am): Substitute also GNULIB_CEILF and
66645         HAVE_DECL_CEILF.
66646         * doc/functions/ceilf.texi: Mention the 'ceilf' module.
66647
66648 2007-10-04  Bruno Haible  <bruno@clisp.org>
66649
66650         * modules/floorl-tests: New file.
66651         * tests/test-floorl.c: New file.
66652
66653         * modules/floorl: New file.
66654         * lib/floorl.c: Replace entire file.
66655         * m4/floorl.m4: New file.
66656         * lib/math.in.h (floorl): Replace declaration.
66657         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORL.
66658         * modules/math (Makefile.am): Substitute also GNULIB_FLOORL.
66659         * doc/functions/floorl.texi: Mention the 'floorl' module.
66660         * modules/mathl (Files): Remove lib/floorl.c.
66661         (Depends-on): Add floorl.
66662
66663 2007-10-04  Bruno Haible  <bruno@clisp.org>
66664
66665         * modules/floorf-tests: New file.
66666         * tests/test-floorf.c: New file.
66667
66668         * modules/floorf: New file.
66669         * lib/floor.c: New file.
66670         * lib/floorf.c: New file.
66671         * m4/floorf.m4: New file.
66672         * lib/math.in.h (floorf): New declaration.
66673         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FLOORF and
66674         HAVE_DECL_FLOORF.
66675         * modules/math (Makefile.am): Substitute also GNULIB_FLOORF and
66676         HAVE_DECL_FLOORF.
66677         * doc/functions/floorf.texi: Mention the 'floorf' module.
66678
66679 2007-10-04  Benoit Sigoure  <tsuna@lrde.epita.fr>
66680             Bruno Haible  <bruno@clisp.org>
66681
66682         Advertise for the Git server instead of the CVS server.
66683         * doc/gnulib-intro.texi (Steady Development): Mention the Git
66684         repository instead of the CVS one.
66685         * doc/gnulib-tool.texi (VCS Issues): Renamed from "CVS Issues". Talk
66686         about all VCS systems generically.
66687         * doc/gnulib.texi (Introduction): Capitalize `Git'.
66688
66689 2007-10-04  Bruno Haible  <bruno@clisp.org>
66690
66691         * doc/gnulib.texi (Function Substitutes): Explain what an absent module
66692         means.
66693         Reported by Benoît Sigoure <tsuna@lrde.epita.fr>.
66694
66695 2007-10-04  Bruno Haible  <bruno@clisp.org>
66696
66697         * modules/truncl-tests: New file.
66698         * tests/test-truncl.c: New file.
66699
66700         * modules/truncl: New file.
66701         * lib/truncl.c: New file.
66702         * m4/truncl.m4: New file.
66703         * lib/math.in.h (truncl): New declaration.
66704         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCL and
66705         HAVE_DECL_TRUNCL.
66706         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCL and
66707         HAVE_DECL_TRUNCL.
66708         * doc/functions/truncl.texi: Mention the 'truncl' module.
66709
66710 2007-10-04  Bruno Haible  <bruno@clisp.org>
66711
66712         * modules/truncf-tests: New file.
66713         * tests/test-truncf.c: New file.
66714
66715         * modules/truncf: New file.
66716         * lib/trunc.c: Make paramerizable through USE_* macros.
66717         * lib/truncf.c: New file.
66718         * m4/truncf.m4: New file.
66719         * lib/math.in.h (truncf): New declaration.
66720         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNCF and
66721         HAVE_DECL_TRUNCF.
66722         * modules/math (Makefile.am): Substitute also GNULIB_TRUNCF and
66723         HAVE_DECL_TRUNCF.
66724         * doc/functions/truncf.texi: Mention the 'truncf' module.
66725
66726 2007-10-03  Bruno Haible  <bruno@clisp.org>
66727
66728         * gnulib-tool (func_get_automake_snippet): Synthesize an EXTRA_DIST
66729         augmentation also for tests modules.
66730         * modules/argp-tests (Makefile.am): Remove EXTRA_DIST augmentation.
66731         * modules/atexit-tests (Makefile.am): Likewise.
66732         * modules/binary-io-tests (Makefile.am): Likewise.
66733         * modules/c-strcase-tests (Makefile.am): Likewise.
66734         * modules/canonicalize-lgpl-tests (Makefile.am): Likewise.
66735         * modules/canonicalize-tests (Makefile.am): Likewise.
66736         * modules/closein-tests (Makefile.am): Likewise.
66737         * modules/fprintf-posix-tests (Makefile.am): Likewise.
66738         * modules/freadahead-tests (Makefile.am): Likewise.
66739         * modules/fseek-tests (Makefile.am): Likewise.
66740         * modules/fseeko-tests (Makefile.am): Likewise.
66741         * modules/ftell-tests (Makefile.am): Likewise.
66742         * modules/ftello-tests (Makefile.am): Likewise.
66743         * modules/isnanl-nolibm-tests (Makefile.am): Likewise.
66744         * modules/isnanl-tests (Makefile.am): Likewise.
66745         * modules/lseek-tests (Makefile.am): Likewise.
66746         * modules/mbscasecmp-tests (Makefile.am): Likewise.
66747         * modules/mbscasestr-tests (Makefile.am): Likewise.
66748         * modules/mbschr-tests (Makefile.am): Likewise.
66749         * modules/mbscspn-tests (Makefile.am): Likewise.
66750         * modules/mbsncasecmp-tests (Makefile.am): Likewise.
66751         * modules/mbspbrk-tests (Makefile.am): Likewise.
66752         * modules/mbspcasecmp-tests (Makefile.am): Likewise.
66753         * modules/mbsrchr-tests (Makefile.am): Likewise.
66754         * modules/mbsspn-tests (Makefile.am): Likewise.
66755         * modules/mbsstr-tests (Makefile.am): Likewise.
66756         * modules/printf-posix-tests (Makefile.am): Likewise.
66757         * modules/snprintf-posix-tests (Makefile.am): Likewise.
66758         * modules/sprintf-posix-tests (Makefile.am): Likewise.
66759         * modules/tsearch-tests (Makefile.am): Likewise.
66760         * modules/uniname/uniname-tests (Makefile.am): Likewise.
66761         * modules/unistdio/u16-vasnprintf-tests (Makefile.am): Likewise.
66762         * modules/unistdio/u32-vasnprintf-tests (Makefile.am): Likewise.
66763         * modules/unistdio/u8-vasnprintf-tests (Makefile.am): Likewise.
66764         * modules/unistdio/ulc-vasnprintf-tests (Makefile.am): Likewise.
66765         * modules/vasnprintf-posix-tests (Makefile.am): Likewise.
66766         * modules/vfprintf-posix-tests (Makefile.am): Likewise.
66767         * modules/vprintf-posix-tests (Makefile.am): Likewise.
66768         * modules/vsnprintf-posix-tests (Makefile.am): Likewise.
66769         * modules/vsprintf-posix-tests (Makefile.am): Likewise.
66770         * modules/xstrtoimax-tests (Makefile.am): Likewise.
66771         * modules/xstrtol-tests (Makefile.am): Likewise.
66772         * modules/xstrtoumax-tests (Makefile.am): Likewise.
66773         * modules/yesno-tests (Makefile.am): Likewise.
66774
66775 2007-10-03  Bruno Haible  <bruno@clisp.org>
66776
66777         * modules/trunc-tests: New file.
66778         * tests/test-trunc.c: New file.
66779
66780         * modules/trunc: New file.
66781         * lib/trunc.c: New file.
66782         * m4/trunc.m4: New file.
66783         * lib/math.in.h (trunc): New declaration.
66784         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_TRUNC and
66785         HAVE_DECL_TRUNC.
66786         * modules/math (Makefile.am): Substitute also GNULIB_TRUNC and
66787         HAVE_DECL_TRUNC.
66788         * doc/functions/trunc.texi: Mention the 'trunc' module.
66789
66790 2007-10-03  Bruno Haible  <bruno@clisp.org>
66791
66792         * tests/test-fpending.c: New file, mostly copied
66793         from coreutils/lib/t-fpending.c.
66794         * modules/fpending-tests: New file.
66795
66796 2007-10-03  Bruno Haible  <bruno@clisp.org>
66797
66798         Port the stdio extensions to QNX (untested).
66799         * lib/fseterr.c (fseterr): Add support for QNX.
66800         * lib/fbufmode.c (fbufmode): Likewise.
66801         * lib/freadable.c (freadable): Likewise.
66802         * lib/fwritable.c (fwritable): Likewise.
66803         * lib/freading.c (freading): Likewise.
66804         * lib/fwriting.c (fwriting): Likewise.
66805         * lib/freadahead.c (freadahed): Likewise.
66806         * lib/fpurge.c (fpurge): Likewise.
66807         * lib/fseeko.c (rpl_fseeko): Likewise.
66808
66809 2007-10-03  Bruno Haible  <bruno@clisp.org>
66810             Jim Meyering  <jim@meyering.net>
66811             Eric Blake  <ebb9@byu.net>
66812
66813         * doc/relocatable.texi: Use @command instead of @program.
66814
66815 2007-10-02  Jim Meyering  <jim@meyering.net>
66816
66817         Perform one more "_.h" -> ".in.h" substitution.
66818         * modules/unistd (Makefile.am) [unistd.h]: Use unistd.h.in
66819         instead of unistd_.h here, too.
66820
66821 2007-10-01  Bruno Haible  <bruno@clisp.org>
66822
66823         * gnulib-tool (func_emit_initmacro_done): Special case for alloca.c.
66824         Needed for the alloca-opt module.
66825
66826 2007-09-30  Bruno Haible  <bruno@clisp.org>
66827
66828         * lib/alloca.in.h: Renamed from lib/alloca_.h.
66829         * modules/alloca-opt (Files, Makefile.am): Use alloca.in.h instead of
66830         alloca_.h.
66831         * lib/argz.in.h: Renamed from lib/argz_.h.
66832         * modules/argz (Files, Makefile.am): Use argz.in.h instead of argz_.h.
66833         * lib/byteswap.in.h: Renamed from lib/byteswap_.h.
66834         * modules/byteswap (Files, Makefile.am): Use byteswap.in.h instead of
66835         byteswap_.h.
66836         * lib/dirent.in.h: Renamed from lib/dirent_.h.
66837         * modules/fchdir (Files, Makefile.am): Use dirent.in.h instead of
66838         dirent_.h.
66839         * lib/fcntl.in.h: Renamed from lib/fcntl_.h.
66840         * modules/fcntl (Files, Makefile.am): Use fcntl.in.h instead of
66841         fcntl_.h.
66842         * lib/float.in.h: Renamed from lib/float_.h.
66843         * modules/float (Files, Makefile.am): Use float.in.h instead of
66844         float_.h.
66845         * lib/fnmatch.in.h: Renamed from lib/fnmatch_.h.
66846         * modules/fnmatch (Files, Makefile.am): Use fnmatch.in.h instead of
66847         fnmatch_.h.
66848         * lib/getopt.in.h: Renamed from lib/getopt_.h.
66849         * modules/getopt (Files, Makefile.am): Use getopt.in.h instead of
66850         getopt_.h.
66851         * lib/glob.in.h: Renamed from lib/glob_.h.
66852         * modules/glob (Files, Makefile.am): Use glob.in.h instead of glob_.h.
66853         * lib/iconv.in.h: Renamed from lib/iconv_.h.
66854         * modules/iconv_open (Files, Makefile.am): Use iconv.in.h instead of
66855         iconv_.h.
66856         * lib/inttypes.in.h: Renamed from lib/inttypes_.h.
66857         * modules/inttypes (Files, Makefile.am): Use inttypes.in.h instead of
66858         inttypes_.h.
66859         * lib/locale.in.h: Renamed from lib/locale_.h.
66860         * modules/locale (Files, Makefile.am): Use locale.in.h instead of
66861         locale_.h.
66862         * lib/math.in.h: Renamed from lib/math_.h.
66863         * modules/math (Files, Makefile.am): Use math.in.h instead of math_.h.
66864         * lib/netinet_in.in.h: Renamed from lib/netinet_in_.h.
66865         * modules/netinet_in (Files, Makefile.am): Use netinet_in.in.h instead
66866         of netinet_in_.h. Add dependency.
66867         * lib/poll.in.h: Renamed from lib/poll_.h.
66868         * modules/poll (Files, Makefile.am): Use poll.in.h instead of poll_.h.
66869         * lib/search.in.h: Renamed from lib/search_.h.
66870         * modules/search (Files, Makefile.am): Use search.in.h instead of
66871         search_.h.
66872         * lib/signal.in.h: Renamed from lib/signal_.h.
66873         * modules/signal (Files, Makefile.am): Use signal.in.h instead of
66874         _signal.h.
66875         * lib/stdbool.in.h: Renamed from lib/stdbool_.h.
66876         * modules/stdbool (Files, Makefile.am): Use stdbool.in.h instead of
66877         stdbool_.h.
66878         * lib/stdint.in.h: Renamed from lib/stdint_.h.
66879         * modules/stdint (Files, Makefile.am): Use stdint.in.h instead of
66880         stdint_.h.
66881         * lib/stdio.in.h: Renamed from lib/stdio_.h.
66882         * modules/stdio (Files, Makefile.am): Use stdio.in.h instead of
66883         stdio_.h.
66884         * lib/stdlib.in.h: Renamed from lib/stdlib_.h.
66885         * modules/stdlib (Files, Makefile.am): Use stdlib.in.h instead of
66886         stdlib_.h.
66887         * lib/string.in.h: Renamed from lib/string_.h.
66888         * modules/string (Files, Makefile.am): Use string.in.h instead of
66889         string_.h.
66890         * doc/gnulib-tool.texi (Initial import): Update.
66891         * lib/sys_select.in.h: Renamed from lib/sys_select_.h.
66892         * modules/sys_select (Files, Makefile.am): Use sys_select.in.h instead
66893         of sys_select_.h. Add dependency.
66894         * lib/sys_socket.in.h: Renamed from lib/sys_socket_.h.
66895         * modules/sys_socket (Files, Makefile.am): Use sys_socket.in.h instead
66896         of sys_socket_.h.
66897         * lib/sys_stat.in.h: Renamed from lib/sys_stat_.h.
66898         * modules/sys_stat (Files, Makefile.am): Use sys_stat.in.h instead of
66899         sys_stat_.h.
66900         * lib/sys_time.in.h: Renamed from lib/sys_time_.h.
66901         * modules/sys_time (Files, Makefile.am): Use sys_time.in.h instead of
66902         sys_time_.h.
66903         * lib/sysexits.in.h: Renamed from lib/sysexits_.h.
66904         * modules/sysexits (Files, Makefile.am): Use sysexits.in.h instead of
66905         sysexits_.h.
66906         * lib/time.in.h: Renamed from lib/time_.h.
66907         * modules/time (Files, Makefile.am): Use time.in.h instead of time_.h.
66908         * lib/unistd.in.h: Renamed from lib/unistd_.h.
66909         * modules/unistd (Files, Makefile.am): Use unistd.in.h instead of
66910         unistd_.h.
66911         * lib/wchar.in.h: Renamed from lib/wchar_.h.
66912         * modules/wchar (Files, Makefile.am): Use wchar.in.h instead of
66913         wchar_.h.
66914         * lib/wctype.in.h: Renamed from lib/wctype_.h.
66915         * modules/wctype (Files, Makefile.am): Use wctype.in.h instead of
66916         wctype_.h.
66917         * build-aux/bootstrap (slurp): Update.
66918         * lib/.cppi-disable: Update.
66919
66920 2007-09-30  Bruno Haible  <bruno@clisp.org>
66921
66922         * tests/test-getaddrinfo.c (AF_UNSPEC): Provide a fallback definition.
66923         Needed on BeOS.
66924
66925 2007-09-30  Bruno Haible  <bruno@clisp.org>
66926
66927         * modules/dirname-tests (check_PROGRAMS): Renamed from noinst_PROGRAMS.
66928
66929 2007-09-29  Bruno Haible  <bruno@clisp.org>
66930
66931         * lib/stdio_.h (getdelim, getline): Add identifiers. Doc tweak.
66932
66933 2007-09-29  Bruno Haible  <bruno@clisp.org>
66934
66935         * lib/xreadlink.c (xreadlink): Simplify to a wrapper around areadlink.
66936         * modules/xreadlink (Depends-on): Add areadlink, remove readlink etc.
66937         * build-aux/install-reloc: Compile also areadlink.c.
66938         * modules/relocatable-prog-wrapper (Files): Add lib/areadlink.[hc].
66939
66940 2007-09-29  Bruno Haible  <bruno@clisp.org>
66941
66942         * gnulib-tool (func_emit_initmacro_done): Indentation.
66943
66944 2007-09-29  Bruno Haible  <bruno@clisp.org>
66945
66946         * README: Add CVS checkout update instructions.
66947         Info from Bob Proulx <bob@proulx.com>.
66948
66949 2007-09-28  Eric Blake  <ebb9@byu.net>
66950
66951         Provide move-if-change.
66952         * build-aux/move-if-change: New file, based on best practice
66953         rather than any canonical upstream location.
66954
66955 2007-09-28  Jim Meyering  <jim@meyering.net>
66956
66957         Fix canonicalize loop-detection corner case.
66958         Do not attempt to stat the symlink values stored via seen_triple.
66959         Without this, coreutils' tests/misc/readlink-fp-loop test would fail
66960         on linux-2.6.18, (but not 2.6.22).
66961         * lib/canonicalize.c (seen_triple): Use triple_compare_ino_str, not
66962         triple_compare.  The former compares dev,ino,filename, while the latter
66963         would actually stat dirname(filename) when dev and ino were equal.
66964         * lib/hash-triple.c: Install <string.h>.
66965         (STREQ): Define.
66966         (triple_compare_ino_str): New function.
66967         * lib/hash-triple.h (triple_compare_ino_str): Declare it.
66968
66969 2007-09-28  Eric Blake  <ebb9@byu.net>
66970
66971         Enforce that AC_REPLACE_FUNCS files exist.
66972         * gnulib-tool (func_emit_initmacro_done): Make AC_LIBSOURCES
66973         override check for typos.
66974
66975         Fix test-closein on Solaris 10.
66976         * tests/test-closein.c (main): Don't assume stdin can be inherited
66977         closed on all systems.
66978         * tests/test-closein.sh: Likewise.
66979         Reported by Piotr Tarnowski.
66980
66981 2007-09-28  Jim Meyering  <jim@meyering.net>
66982
66983         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Fix typo in comment.
66984
66985 2007-09-27  Jim Meyering  <jim@meyering.net>
66986
66987         canonicalize: Avoid a false-positive cycle failure.
66988         * modules/canonicalize (Depends-on): Add file-set and hash-triple.
66989         Sort.  Remove cycle-check.
66990         * lib/canonicalize.c: Include file-set.h and hash-triple.h,
66991         not cycle-check.h.
66992         (seen_triple): New function.
66993         (canonicalize_filename_mode): Use it instead of cycle-check.
66994         * tests/test-canonicalize.c: Add a test for this bug.
66995         * tests/test-canonicalize.sh: Set up and run the test.
66996
66997         New module, file-set, from coreutils.
66998         * modules/file-set: Define it.
66999         * lib/file-set.c, lib/file-set.h: Implement.
67000
67001         New module, hash-triple, from coreutils.
67002         * modules/hash-triple: Define it.
67003         * lib/hash-triple.c, lib/hash-triple.h: Implement.
67004
67005 2007-09-25  Eric Blake  <ebb9@byu.net>
67006
67007         Fix strerror on Interix.
67008         * lib/string_.h (strerror): Declare replacement.
67009         * doc/functions/strerror.texi (strerror): Document the Interix
67010         shortcoming.
67011         * modules/string (Makefile.am): Support new hooks.
67012         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Add new hooks.
67013         * m4/strerror.m4 (gl_FUNC_STRERROR): Defer to
67014         gl_FUNC_STRERROR_SEPARATE.
67015         (gl_FUNC_STRERROR_SEPARATE): Check for Interix bug.
67016         * lib/strerror.c (rpl_strerror): Provide replacement.
67017         * modules/strerror (Depends-on): Add string.
67018         (configure.ac): Detect use of module.
67019         * tests/test-strerror.c: New file.
67020         * modules/strerror-tests: New test module.
67021         * modules/argp (Depends-on): Add strerror.
67022         * modules/error (Depends-on): Likewise.
67023         Reported by Martin Koeppe.
67024
67025 2007-09-24  Bruno Haible  <bruno@clisp.org>
67026
67027         * README: Update git instructions.
67028
67029 2007-09-24  Eric Blake  <ebb9@byu.net>
67030
67031         Revert fpending breakage from 2007-09-08.
67032         * m4/fpending.m4 (gl_FUNC_FPENDING): Don't require existence of
67033         __fpending.c.
67034
67035 2007-09-24  Jim Meyering  <jim@meyering.net>
67036
67037         filenamecat.c: Add a test.
67038         * lib/filenamecat.c (main) [TEST_FILE_NAME_CONCAT]: Add a test
67039         showing how the function works when DIR is the empty string.
67040
67041 2007-09-21  Simon Josefsson  <simon@josefsson.org>
67042
67043         * tests/test-canonicalize.sh: Turn on executable bit.
67044
67045 2007-09-19  Eric Blake  <ebb9@byu.net>
67046
67047         * README: Update CVS instructions.
67048
67049 2007-09-18  Bruno Haible  <bruno@clisp.org>
67050
67051         * modules/areadlink: New file.
67052         * lib/areadlink.h (areadlink): New declaration.
67053         * lib/areadlink.c: New file, based on lib/xreadlink.c.
67054
67055 2007-09-17  Jim Meyering  <jim@meyering.net>
67056
67057         * lib/savewd.c (ESTALE) [!defined]: Define.
67058         Reported to be required on Interix by Martin Koeppe.
67059
67060 2007-09-17  Bruno Haible  <bruno@clisp.org>
67061
67062         * gnulib-tool (func_version): Use $version.
67063
67064 2007-09-16  Bruno Haible  <bruno@clisp.org>
67065
67066         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE, gl_PRINTF_INFINITE,
67067         gl_PRINTF_INFINITE_LONG_DOUBLE): Increase buf's size from 100 to 10000.
67068         Needed on glibc-2.6.1 with -fstack-protector -D_FORTIFY_SOURCE=2.
67069         Reported by Greg Schafer <gschafer@zip.com.au>.
67070
67071 2007-09-15  Bruno Haible  <bruno@clisp.org>
67072
67073         * gnulib-tool (sed): Try a little harder to make bash understand the
67074         alias.
67075         Reported by Bruce Korb <bruce.korb@gmail.com>.
67076
67077 2007-09-13  Eric Blake  <ebb9@byu.net>
67078
67079         * ChangeLog: Remove conflict markers.
67080
67081 2007-09-13  Simon Josefsson  <simon@josefsson.org>
67082
67083         * lib/gc-gnulib.c (gc_hash_open): Catch NULL calloc return value.
67084         Reported by Bruno Haible <bruno@clisp.org>.
67085
67086 2007-09-12  Bruno Haible  <bruno@clisp.org>
67087
67088         * m4/lock.m4: Don't provide an AC_USE_SYSTEM_EXTENSIONS definition.
67089         (gl_LOCK_EARLY_BODY): Use AC_GNU_SOURCE when AC_USE_SYSTEM_EXTENSIONS
67090         is not defined.
67091
67092 2007-09-12  Eric Blake  <ebb9@byu.net>
67093
67094         Track CVS Autoconf on AC_USE_SYSTEM_EXTENSIONS.
67095         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Update to CVS
67096         Autoconf definition.
67097         * modules/euidaccess (Depends-on): Add extensions, for
67098         AC_USE_SYSTEM_EXTENSIONS with autoconf <= 2.59.
67099         * modules/fnmatch (Depends-on): Likewise.
67100         * modules/getaddrinfo (Depends-on): Likewise.
67101         * modules/getdelim (Depends-on): Likewise.
67102         * modules/getline (Depends-on): Likewise.
67103         * modules/getsubopt (Depends-on): Likewise.
67104         * modules/gettext (Depends-on): Likewise.
67105         * modules/group-member (Depends-on): Likewise.
67106         * modules/mbchar (Depends-on): Likewise.
67107         * modules/memmem (Depends-on): Likewise.
67108         * modules/mempcpy (Depends-on): Likewise.
67109         * modules/memrchr (Depends-on): Likewise.
67110         * modules/pagealign_alloc (Depends-on): Likewise.
67111         * modules/readutmp (Depends-on): Likewise.
67112         * modules/stpcpy (Depends-on): Likewise.
67113         * modules/stpncpy (Depends-on): Likewise.
67114         * modules/strchrnul (Depends-on): Likewise.
67115         * modules/strndup (Depends-on): Likewise.
67116         * modules/strsep (Depends-on): Likewise.
67117         * modules/strverscmp (Depends-on): Likewise.
67118         * modules/vasprintf (Depends-on): Likewise.
67119         * modules/wcwidth (Depends-on): Likewise.
67120         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): AC_GNU_SOURCE will be
67121         obsolete in Autoconf 2.62; use AC_USE_SYSTEM_EXTENSIONS instead.
67122         * m4/fnmatch.m4 (gl_FUNC_FNMATCH_GNU): Likewise.
67123         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDR_INFO): Likewise.
67124         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Likewise.
67125         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
67126         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Likewise.
67127         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
67128         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER): Likewise.
67129         * m4/mbchar.m4 (gl_MBCHAR): Likewise.
67130         * m4/memmem.m4 (gl_FUNC_MEMMEM): Likewise.
67131         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
67132         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
67133         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Likewise.
67134         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC): Likewise.
67135         * m4/readutmp.m4 (gl_READUTMP): Likewise.
67136         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
67137         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
67138         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
67139         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
67140         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
67141         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
67142         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
67143         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP): Likewise.
67144         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): Likewise.
67145         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
67146         * m4/lock.m4 (gl_LOCK_EARLY_BODY): Likewise, but provide fallback,
67147         so that lock.m4 can be used in gettext without extensions module.
67148
67149 2007-09-11  Bruno Haible  <bruno@clisp.org>
67150
67151         * m4/isc-posix.m4: Remove file.
67152         Suggested by Eric Blake.
67153
67154 2007-09-11  Eric Blake  <ebb9@byu.net>
67155
67156         * ChangeLog: Restore lines accidentally truncated 2007-04-06.
67157
67158 2007-09-10  Bruno Haible  <bruno@clisp.org>
67159
67160         * posix-modules: Fix typo in error message.
67161         Reported by Matt <mkraai@beckman.com>.
67162
67163 2007-09-09  Bruno Haible  <bruno@clisp.org>
67164
67165         * doc/functions/getdelim.texi: Update list of platforms lacking the
67166         function.
67167         * doc/functions/getline.texi: Likewise.
67168
67169 2007-09-09  Jim Meyering  <jim@meyering.net>
67170
67171         * lib/hash.c (hash_initialize): Detect calloc failure.
67172         Reported by Bruno Haible.
67173
67174 2007-09-09  Bruno Haible  <bruno@clisp.org>
67175
67176         * lib/canonicalize-lgpl.c (__realpath): Set errno to ENOMEM when
67177         malloc or realloc fails.
67178
67179 2007-09-09  Bruno Haible  <bruno@clisp.org>
67180
67181         * modules/getcwd (Depends-on): Add malloc-posix.
67182         * modules/glob (Depends-on): Likewise.
67183         * modules/putenv (Depends-on): Likewise.
67184         * modules/strdup (Depends-on): Likewise.
67185         * modules/getdelim (Depends-on): Add realloc-posix.
67186         * modules/read-file (Depends-on): Likewise.
67187
67188 2007-09-09  Bruno Haible  <bruno@clisp.org>
67189
67190         * m4/malloc.m4 (gl_CHECK_MALLOC_POSIX): New macro.
67191         (gl_FUNC_MALLOC_POSIX): Require it.
67192         * m4/realloc.m4 (gl_FUNC_REALLOC_POSIX): Likewise.
67193         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): Likewise.
67194         * modules/realloc (Files): Add m4/malloc.m4.
67195         * modules/calloc (Files): Likewise.
67196
67197 2007-09-09  Bruno Haible  <bruno@clisp.org>
67198
67199         * modules/malloc-posix: New file.
67200         * modules/malloc (Depends-on): Add malloc-posix.
67201         * lib/malloc.c: Include errno.h.
67202         (rpl_malloc): Merge the requirements of a glibc-compatible malloc
67203         and a POSIX-compatible malloc into a single function. Set ENOMEM
67204         when returning NULL.
67205         * m4/malloc.m4: New file.
67206         * doc/functions/malloc.texi: Mention the malloc-posix module.
67207         * lib/stdlib_.h (malloc): New declaration.
67208         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67209         GNULIB_MALLOC_POSIX and HAVE_MALLOC_POSIX.
67210         * modules/stdlib (stdlib.h): Substitute also GNULIB_MALLOC_POSIX
67211         and HAVE_MALLOC_POSIX.
67212
67213 2007-09-09  Bruno Haible  <bruno@clisp.org>
67214
67215         * modules/realloc-posix: New file.
67216         * modules/realloc (Depends-on): Add realloc-posix.
67217         * lib/realloc.c: Include errno.h.
67218         (rpl_realloc): Merge the requirements of a glibc-compatible realloc
67219         and a POSIX-compatible realloc into a single function. Set ENOMEM
67220         when returning NULL.
67221         * m4/realloc.m4: New file.
67222         * doc/functions/realloc.texi: Mention the realloc-posix module.
67223         * lib/stdlib_.h (realloc): New declaration.
67224         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67225         GNULIB_REALLOC_POSIX and HAVE_REALLOC_POSIX.
67226         * modules/stdlib (stdlib.h): Substitute also GNULIB_REALLOC_POSIX
67227         and HAVE_REALLOC_POSIX.
67228
67229 2007-09-09  Bruno Haible  <bruno@clisp.org>
67230
67231         * modules/calloc-posix: New file.
67232         * modules/calloc (Depends-on): Add calloc-posix.
67233         * lib/calloc.c: Include errno.h.
67234         (rpl_calloc): Merge the requirements of a glibc-compatible calloc
67235         and a POSIX-compatible calloc into a single function. Set ENOMEM
67236         when returning NULL.
67237         * m4/calloc.m4 (gl_FUNC_CALLOC_POSIX): New macro.
67238         * doc/functions/calloc.texi: Mention the calloc-posix module.
67239         * lib/stdlib_.h (calloc): New declaration.
67240         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Initialize
67241         GNULIB_CALLOC_POSIX and HAVE_CALLOC_POSIX.
67242         * modules/stdlib (stdlib.h): Substitute also GNULIB_CALLOC_POSIX
67243         and HAVE_CALLOC_POSIX.
67244
67245 2007-09-09  Bruno Haible  <bruno@clisp.org>
67246
67247         Allow for modules to show an arbitrary notice.
67248         * modules/TEMPLATE-EXTENDED: Add 'Notice' field.
67249         * gnulib-tool: New option --extract-notice.
67250         (func_usage): Document it.
67251         (sed_extract_prog): Update.
67252         (func_get_notice): New function.
67253         (func_modules_notice): New function.
67254         (func_import, func_create_testdir): Invoke it.
67255         Suggested by Jim Meyering.
67256
67257 2007-09-09  Bruno Haible  <bruno@clisp.org>
67258
67259         * gnulib-tool: New options --verbose, --quiet.
67260         (func_usage): Document them.
67261         (verbose): New variable.
67262         (func_execute_command): New function.
67263         (func_import): Don't show the module list and the file list if
67264         $verbose < 0.
67265         (func_create_testdir): Likewise. Use func_execute_command.
67266         (func_create_megatestdir): Use func_execute_command.
67267
67268 2007-09-08  Bruno Haible  <bruno@clisp.org>
67269
67270         * gnulib-tool (func_import): Prefer rsync over wget when available,
67271         for fetching the PO files.
67272
67273 2007-09-08  Bruno Haible  <bruno@clisp.org>
67274
67275         * posix-modules: New file. Portions copied from gnulib-tool.
67276         * doc/gnulib.texi (POSIX Substitutes Library): New chapter.
67277
67278 2007-09-08  Jim Meyering  <jim@meyering.net>
67279
67280         Rename __fpending.c -> fpending.c and __fpending.h -> fpending.h
67281         * lib/fpending.h: Rename from __fpending.h.
67282         * lib/fpending.c: Rename from __fpending.c.
67283         Include "fpending.h", not "__fpending.h".
67284         * lib/__fpending.h, lib/__fpending.c: Remove files.
67285         * modules/fpending (Files): Reflect new file names.
67286         * lib/close-stream.c: Include "fpending.h", not "__fpending.h".
67287
67288 2007-09-08  Bruno Haible  <bruno@clisp.org>
67289
67290         * m4/inttypes-h.m4: Remove stub file.
67291
67292 2007-09-07  Simon Josefsson  <simon@josefsson.org>
67293
67294         * doc/headers/stdint.texi: Discuss #include_next issue.
67295
67296 2007-09-06  Paul Eggert  <eggert@cs.ucla.edu>
67297
67298         * build-aux/bootstrap: Remove obsolete comment about wget --help.
67299
67300 2007-09-06  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67301
67302         * m4/time_h.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Fix misspelling
67303         in variable name.
67304
67305 2007-09-03  Jim Meyering  <jim@meyering.net>
67306
67307         New module: git-version-gen.
67308         * modules/git-version-gen: New file.
67309
67310         Import changes from coreutils for bootstrap script.
67311
67312         * build-aux/bootstrap (WGET_COMMAND): Remove code to set this variable.
67313
67314         bootstrap: uses rsync to download the .po files
67315         * build-aux/bootstrap (po_download_command_format): New global.
67316         (download_po_files): Use rsync.
67317         (update_po_files): Don't remove .po files after download,
67318         so future rsync runs can take advantage of the copies.
67319
67320         * build-aux/bootstrap (gnulib_tool): Make sha1sum check quietly.
67321
67322         Solve the unnecessary-.po-file-regeneration problem once and for all.
67323         * build-aux/bootstrap (download_po_files): New function, renamed from
67324         get_translations.  Now, downloads, but doesn't update LINGUAS.
67325         (update_po_files): New function.
67326
67327         bootstrap: Ignore more.
67328         * build-aux/bootstrap (symlink_to_dir): Add a directory name like
67329         uniwidth to e.g., lib/.gitignore.
67330         (slurp): Handle the sys_stat_.h -> sys mapping, too.
67331
67332         * build-aux/bootstrap: New setting: vc_ignore.
67333         (insert_sorted_if_absent): Create $file if absent.
67334         Adapt to new, possibly empty, list: $vc_ignore.
67335
67336         bootstrap: generate more ignorable names
67337         * build-aux/bootstrap (slurp): When generating ignorable names,
67338         also map .sin to .sed, .gperf to .c, and .y to .c.
67339
67340 2007-09-03  Jim Meyering  <jim@meyering.net>
67341
67342         * build-aux/git-version-gen: New file, from coreutils.  For details, see
67343         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commitdiff;h=bfe49f506
67344
67345 2007-09-02  Bruno Haible  <bruno@clisp.org>
67346
67347         Fix mis-recognition of 'mcs' on QNX 6.
67348         * m4/csharpcomp.m4 (gt_CSHARPCOMP): Test whether the "mcs --version"
67349         output contains the string "Mono".
67350         * lib/csharpcomp.c (compile_csharp_using_mono): Likewise.
67351         Reported by <kraai@ftbfs.org> at <https://savannah.gnu.org/bugs/?18337>.
67352
67353 2007-09-01  Bruno Haible  <bruno@clisp.org>
67354
67355         Fix collision between uniwidth/* and linebreak modules.
67356         * lib/linebreak.h (locale_charset, uc_width, u8_width, u16_width,
67357         u32_width): Remove declarations.
67358         * lib/linebreak.c: Include uniwidth.h, uniwidth/cjk.h, streq.h.
67359         (u32_mbtouc_unsafe, streq9, streq8, streq7, streq6, streq5, streq4,
67360         streq3, streq2, streq1, streq0): Remove functions.
67361         (STREQ): Remove macro.
67362         (is_cjk_encoding): Remove function.
67363         (nonspacing_table_data, nonspacing_table_ind): Remove constants.
67364         (uc_width, u8_width, u16_width, u32_width): Remove functions.
67365         * modules/linebreak (Depends-on): Add streq, uniwidth/width.
67366         * NEWS: Document the change.
67367
67368 2007-09-01  Bruno Haible  <bruno@clisp.org>
67369
67370         * lib/streq.h: Add double-inclusion guard.
67371
67372 2007-09-01  Karl Berry  <karl@gnu.org>
67373
67374         * MODULES.html.sh: Rename mreadlink_with_size to areadlink_with_size.
67375
67376 2007-08-28  Jim Meyering  <jim@meyering.net>
67377
67378         Rename mreadlink_with_size to areadlink_with_size.
67379         * NEWS: Document the change.
67380         * lib/mreadlink-with-size.c (mreadlink_with_size): Rename this to...
67381         * lib/areadlink-with-size.c (areadlink_with_size): ...this.
67382         * lib/mreadlink.h: Rename this to...
67383         * lib/areadlink.h: ...this.
67384         * modules/mreadlink-with-size: Rename this to...
67385         * modules/areadlink-with-size: ...this.
67386         * lib/canonicalize.c: Reflect the renaming.
67387         * modules/canonicalize: Likewise.
67388
67389 2007-08-26  Bruno Haible  <bruno@clisp.org>
67390
67391         * gnulib-tool (func_import): When deciding which files to remove,
67392         consider also dangling symbolic links.
67393         Reported by Eric Blake.
67394
67395 2007-08-26  Bruno Haible  <bruno@clisp.org>
67396
67397         * gnulib-tool (func_ln_if_changed): Use "test -h", not "test -L".
67398
67399 2007-08-23  Simon Josefsson  <simon@josefsson.org>
67400
67401         * lib/readline.c: Don't include getline.h, the prototype is now
67402         found in stdio.h.
67403
67404 2007-08-23  Jim Meyering  <jim@meyering.net>
67405
67406         Getdelim touchup.
67407         * lib/getdelim.c (getdelim): Don't bother to save/restore errno
67408         around the funlockfile call, since funlockfile never sets errno.
67409         Don't set errno upon failed realloc.
67410
67411 2007-08-22  Eric Blake  <ebb9@byu.net>
67412
67413         Getline touchups.
67414         * lib/getdelim.c (getdelim): Revert regression that required *n to
67415         be 0 when *lineptr is NULL.  Preserve errno across funlockfile.
67416         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Check for declaration of
67417         getdelim, rather than whether implementation is missing.
67418         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise for getline.
67419         * lib/stdio_.h (getline): Also declare if replacement is
67420         required.
67421         * doc/functions/getdelim.texi: New file.
67422         * doc/functions/getline.texi: Likewise.
67423         * doc/gnulib.texi (Function Substitutes): Add new files.
67424         Reported by Bruno Haible.
67425
67426 2007-08-22  Ludovic Courtès  <ludo@gnu.org>
67427
67428         * users.txt: Add Guile.
67429
67430 2007-08-22  Eric Blake  <ebb9@byu.net>
67431
67432         * tests/test-getdelim.c (main): Use remove, not unlink.
67433         * tests/test-getline.c (main): Likewise.
67434
67435         Move getline and getdelim into stdio.h, per POSIX 200x.
67436         * modules/getline (Files): Remove getline.h.
67437         (Depends-on): Add stdio.
67438         (configure.ac): Add module indicator.
67439         * modules/getdelim (Files): Remove getdelim.h.
67440         (Depends-on): Add stdio.
67441         (configure.ac): Add module indicator.
67442         * modules/stdio (Makefile.am): Work with new indicators.
67443         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Add new defaults.
67444         * m4/getdelim.m4 (gl_FUNC_GETDELIM): Work with stdio needs.
67445         * m4/getline.m4 (gl_FUNC_GETLINE): Likewise.
67446         * lib/getdelim.h: Delete.
67447         * lib/getline.h: Delete.
67448         * lib/stdio_.h (getdelim, getline): Declare.
67449         * modules/getdelim-tests: New module.
67450         * modules/getline-tests: Likewise.
67451         * tests/test-getdelim.c: New file.
67452         * tests/test-getline.c: Likewise.
67453         * NEWS: Document the change.
67454         * lib/getline.c: Update choice of header.
67455         * lib/csharpcomp.c: Likewise.
67456         * lib/getpass.c: Likewise.
67457         * lib/javacomp.c: Likewise.
67458         * lib/javaversion.c: Likewise.
67459         * lib/yesno.c: Likewise.
67460         * lib/getdelim.c: Likewise.
67461         (getdelim): Set errno on failure, and avoid memory leak.
67462
67463 2007-08-19  Bruno Haible  <bruno@clisp.org>
67464
67465         * modules/closein (Depends-on): Add freadahead.
67466         * lib/closein.c: Include freadahead.h.
67467         (close_stdin): Skip the fseeko and fflush calls if freadahead(stdin)
67468         is zero.
67469
67470 2007-08-19  Bruno Haible  <bruno@clisp.org>
67471
67472         * modules/freadahead-tests: New file.
67473         * tests/test-freadahead.sh: New file.
67474         * tests/test-freadahead.c: New file.
67475
67476         * modules/freadahead: New file.
67477         * lib/freadahead.h: New file.
67478         * lib/freadahead.c: New file.
67479         * MODULES.html.sh (File stream based Input/Output): Add freadahead,
67480         fbufmode, fpurge, freadable, fwritable.
67481
67482 2007-08-19  Eric Blake  <ebb9@byu.net>
67483
67484         Test yesno in combination with closein.
67485         * lib/yesno.c (yesno): Document use of stdin.
67486         * modules/yesno-tests (Files): New module.
67487         * tests/test-yesno.c (main): New file.
67488         * tests/test-yesno.sh: Likewise.
67489
67490 2007-08-19  Bruno Haible  <bruno@clisp.org>
67491
67492         * lib/fbufmode.c (fbufmode): Add tentative support for Solaris/AMD64.
67493         * lib/fseeko.c (rpl_fseeko): Likewise.
67494         * lib/fseterr.c (fseterr): Likewise.
67495
67496 2007-08-19  Bruno Haible  <bruno@clisp.org>
67497
67498         * tests/test-lseek.c (main): Disable a test for BeOS.
67499         * doc/functions/lseek.texi: Document the BeOS bug.
67500
67501 2007-08-19  Bruno Haible  <bruno@clisp.org>
67502             Eric Blake  <ebb9@byu.net>
67503
67504         * lib/lseek.c: Include <sys/stat.h>.
67505         (rpl_lseek): Add workaround code also for Unix platforms.
67506         Needed for BeOS.
67507         * m4/lseek.m4 (gl_FUNC_LSEEK): When cross-compiling, fail on BeOS.
67508         * doc/functions/lseek.texi: Document BeOS definiency.
67509
67510 2007-08-18  Bruno Haible  <bruno@clisp.org>
67511
67512         * modules/fstrcmp-tests: New file.
67513         * tests/test-fstrcmp.c: New file.
67514
67515 2007-08-18  Bruno Haible  <bruno@clisp.org>
67516
67517         * modules/fstrcmp: New file, from GNU gettext with modifications.
67518         * lib/fstrcmp.h: New file, from GNU gettext.
67519         * lib/fstrcmp.c: New file, from GNU gettext.
67520         * MODULES.html.sh (String handling): Add fstrcmp.
67521
67522 2007-08-18  Bruno Haible  <bruno@clisp.org>
67523
67524         * lib/diffseq.h (struct context): Change type of 'heuristic' field to
67525         'bool'.
67526         (diag, compareseq): Remove const from the ctxt argument.
67527         (USE_HEURISTIC): Undefine at the end.
67528
67529 2007-08-18  Jim Meyering  <jim@meyering.net>
67530
67531         New file: lib/idcache.h
67532         * NEWS: Mention the addition.
67533         * modules/idcache (Files): Add lib/idcache.h
67534         * lib/idcache.c: Include "idcache.h".
67535         Don't include <sys/types.h>.
67536         Add a FIXME comment.
67537         Move file-scoped "static" declarations to the top.
67538         * lib/idcache.h: New file.  Include <sys/types.h> here, instead.
67539
67540 2007-08-17  Bruno Haible  <bruno@clisp.org>
67541         and Paul Eggert  <eggert@cs.ucla.edu>
67542
67543         * MODULES.html.sh: Add diffseq.
67544         * modules/diffseq: New file.
67545         * lib/diffseq.h: New file, from GNU gettext with a few minor changes,
67546         extracted from GNU gettext's fstrcmp.c and GNU diff's analyze.c.
67547
67548 2007-08-15  Paul Eggert  <eggert@cs.ucla.edu>
67549
67550         Import changes from coreutils for bootstrap script.
67551
67552         2007-07-21  Paul Eggert  <eggert@cs.ucla.edu>
67553
67554         * build-aux/bootstrap (slurp): Work even in environments where
67555         "ls" defaults to "ls -A".  Put in a FIXME, though, since the
67556         current code does not slurp files whose names start with ".", and
67557         this looks like it might be a troublesome area.
67558
67559         2007-07-11  Jim Meyering  <jim@meyering.net>
67560
67561         If there's a GPL vN copyright comment, require that N == 3.
67562
67563         2007-07-08  Jim Meyering  <jim@meyering.net>
67564
67565         Run the coreutils-specific code only if tests/Makefile.am.in exists.
67566         * build-aux/bootstrap (mam_template): Move definition out of loop.
67567
67568         Create symlinks for gl/{lib,m4}/*, just as for gnulib/{lib,m4}/*.
67569
67570         * build-aux/bootstrap (symlink_to_dir): Rename function from
67571         symlink_to_gnulib.  Add a directory parameter.  Update all
67572         callers.
67573         (cp_mark_as_generated): Also check for -- and link to -- files in
67574         gl/.
67575
67576         2007-07-08  Jim Meyering  <jim@meyering.net>
67577
67578         Adapt to deeper hierarchy in gnulib.
67579         * build-aux/bootstrap (symlink_to_dir): If the destination
67580         directory doesn't exist, create it. This is required at least for
67581         "lib/uniwidth/cjk.h".
67582
67583         2007-05-15  Jim Meyering  <jim@meyering.net>
67584
67585         * build-aux/bootstrap: Now that generated Makefile.am files
67586         are no longer under version control, they must be created at
67587         bootstrap time.
67588
67589 2007-08-14  Ben Pfaff  <blp@gnu.org>
67590
67591         * lib/count-one-bits.h: Add comments.  From Bruno Haible.
67592
67593 2007-08-14  Paul Eggert  <eggert@cs.ucla.edu>
67594
67595         * lib/count-one-bits.h: Don't include <limits.h>; no longer needed
67596         given the changes below.
67597         (COUNT_ONE_BITS): Use 'verify' rather than 'verify_true'.  Work
67598         even on hosts that have padding bits beyond the supported 64.
67599
67600 2007-08-10  Paul Eggert  <eggert@cs.ucla.edu>
67601
67602         * NEWS: In xstrtol, remove STRTOL_FATAL_ERROR and add xstrtol_fatal.
67603         * lib/xstrtol.h: Don't include exitfail.h; that's now internal to
67604         xstrtol.c.  Include getopt.h, since xstrtol_fatal's signature
67605         depends on it.
67606         (xstrtol_error): Remove.
67607         (xstrtol_fatal): New decl, replacing the functionality of xstrtol_error
67608         but with a different signature.
67609         (ATTRIBUTE_NORETURN, __attribute__): New macros.
67610         * lib/xstrtol-error.c: Include exitfail.h.
67611         (xstrtol_fatal): New function, with a different signature from the
67612         old xstrtol_error, so that the caller need not worry about passing
67613         in an exit status, or about storage management of the option argument.
67614         (xstrtol_error): Now a static function.  Redo signature to
67615         implement xstrtol_fatal.  Output the correct number of hyphens in
67616         front of the option so that the caller need not worry about
67617         storage management.
67618         (N_): New macro.
67619         (_): Remove; not used now.
67620         * modules/xstrtol: Depend on getopt.
67621         * tests/test-xstrtol.c (main): Use new xstrtol_error function instead
67622         of old STRTOL_FATAL_ERROR macro.
67623         * tests/test-xstrtol.sh (t-xstrtol.xo): Adjust to match new behavior
67624         of test program.
67625         * tests/test-xstrtoimax.sh (t-xstrtoimax.xo): Likewise.
67626         * tests/test-xstrtoumax.sh (t-xstrtoumax.xo): Likewise.
67627
67628 2007-08-08  Eric Blake  <ebb9@byu.net>
67629
67630         * lib/xstrtol-error.c: Add missing include.
67631
67632         Move xstrtol messages into gnulib domain, when --pobase is used.
67633         * lib/xstrtol.h (_STRTOL_ERROR): Move messages out of macro...
67634         * lib/xstrtol-error.c (xstrtol_error): ...into new file.
67635         * modules/xstrtol (Files): Distribute new file.
67636         * m4/xstrtol.m4 (gl_XSTRTOL): Build new file.
67637         * lib/xstrtol.c (TESTING_XSTRTO): Move tests...
67638         * tests/test-xstrtol.c: ...into new file.
67639         * tests/test-xstrtoul.c: Also test xstrtoul.
67640         * tests/test-xstrtoimax.c: Also test xstrtoimax.
67641         * tests/test-xstrtoumax.c: Also test xstrtoumax.
67642         * tests/test-xstrtol.sh: Drive the tests.
67643         * tests/test-xstrtoimax.sh: Likewise.
67644         * tests/test-xstrtoumax.sh: Likewise.
67645         * modules/xstrtol-tests: New module.
67646         * modules/xstrtoimax-tests: Likewise.
67647         * modules/xstrtoumax-tests: Likewise.
67648
67649 2007-08-08  Jim Meyering  <jim@meyering.net>
67650
67651         New function: mfile_name_concat.
67652         * lib/filenamecat.c (mfile_name_concat): New function, just like
67653         file_name_concat, but return NULL upon failure rather than exiting
67654         with a diagnostic.
67655         * lib/filenamecat.h: Declare it.
67656
67657 2007-08-07  Bruno Haible  <bruno@clisp.org>
67658
67659         * m4/inttypes.m4 (gl_INTTYPES_H): Use GL_TRIGGER_STDC_LIMIT_MACROS
67660         instead of __STDC_LIMIT_MACROS_TRIGGER. This avoids a redefinition
67661         warning from gcc.
67662         Reported by Eric Blake.
67663
67664 2007-08-07  Simon Josefsson  <simon@josefsson.org>
67665
67666         * modules/crypto/arctwo (License): Use the synonymous term "LGPLv2+".
67667         * modules/crypto/arcfour (License): Likewise.
67668         * modules/crypto/des-tests (License): Likewise.
67669         * modules/crypto/gc-arctwo-tests (License): Likewise.
67670         * modules/crypto/gc-des-tests (License): Likewise.
67671         * modules/crypto/gc-hmac-md5-tests (License): Likewise.
67672         * modules/crypto/gc-hmac-sha1-tests (License): Likewise.
67673         * modules/crypto/gc-md2-tests (License): Likewise.
67674         * modules/crypto/gc-md4-tests (License): Likewise.
67675         * modules/crypto/gc-md5-tests (License): Likewise.
67676         * modules/crypto/gc-pbkdf2-sha1-tests (License): Likewise.
67677         * modules/crypto/gc-rijndael-tests (License): Likewise.
67678         * modules/crypto/gc-sha1-tests (License): Likewise.
67679         * modules/crypto/gc-tests (License): Likewise.
67680         * modules/crypto/hmac-md5 (License): Likewise.
67681         * modules/crypto/hmac-sha1 (License): Likewise.
67682         * modules/crypto/md2-tests (License): Likewise.
67683         * modules/crypto/md4-tests (License): Likewise.
67684         * modules/crypto/md5 (License): Likewise.
67685         * modules/crypto/rijndael (License): Likewise.
67686         * modules/crypto/sha1 (License): Likewise.
67687         * modules/memxor (License): Likewise.
67688
67689 2007-08-06  Paul Eggert  <eggert@cs.ucla.edu>
67690         and Bruno Haible  <bruno@clisp.org>
67691
67692         * NEWS: Describe interface changes to human, xstrtol.
67693         * lib/human.h: Include <xstrtol.h>.
67694         (human_options): Return enum strtol_error, not int.  Remove
67695         bool arg; take int * instead.
67696         * lib/human.c: Don't include "gettext.h".
67697         (_): Remove; no longer used.
67698         Don't include <xstrtol.h>, since human.h does it.
67699         (human_options): Adjust to abovementioned interface changes.
67700         Do not report error to stderr; that's now the caller's
67701         responsibility.
67702         * lib/xstrtol.c (main) [defined TESTING_XSTRTO]: Adjust to
67703         interface change.
67704         * lib/xstrtol.h (_STRTOL_ERROR): Take Option, Arg rather than
67705         Str, Argument_type_string.  All uses changed.  Put " argument"
67706         in diagnostics to make them clearer.  Change wording of suffix
67707         message for clarity.
67708         (STRTOL_FATAL_ERROR): Take Option, Arg rather than Str,
67709         Argument_type_string.
67710         (STRTOL_FATAL_WARN): Remove; no longer used.
67711         * modules/human (Depends-on): Remove gettext-h.
67712
67713 2007-08-06  Simon Josefsson  <simon@josefsson.org>
67714
67715         * build-aux/maint.mk, build-aux/GNUmakefile: Relicense to GPLv3+.
67716
67717 2007-07-31  Bruno Haible  <bruno@clisp.org>
67718
67719         * m4/stdint.m4 (gl_STDINT_H): Test whether WCHAR_MIN and WCHAR_MAX
67720         are defined by <stdint.h> (as opposed to <wchar.h>, as on Dragonfly).
67721         Reported by Joerg Sonnenberger <joerg@britannica.bec.de>.
67722
67723 2007-07-31  Bruno Haible  <bruno@clisp.org>
67724
67725         * lib/fflush.c (rpl_fflush): On BSD systems, use the __SNPT flag.
67726         Suggested by Joerg Sonnenberger <joerg@britannica.bec.de>.
67727
67728 2007-07-30  Bruno Haible  <bruno@clisp.org>
67729
67730         * modules/base64 (License): Use the synonymous term "LGPLv2+".
67731         * modules/c-ctype (License): Likewise.
67732         * modules/c-strcase (License): Likewise.
67733         * modules/check-version (License): Likewise.
67734         * modules/iconv (License): Likewise.
67735         * modules/iconv_open (License): Likewise.
67736         * modules/read-file (License): Likewise.
67737         * modules/striconv (License): Likewise.
67738         * modules/strverscmp (License): Likewise.
67739         * modules/vasprintf (License): Likewise.
67740         * modules/crypto/des (License): Likewise.
67741         * modules/crypto/gc (License): Likewise.
67742         * modules/crypto/gc-arcfour (License): Likewise.
67743         * modules/crypto/gc-arctwo (License): Likewise.
67744         * modules/crypto/gc-des (License): Likewise.
67745         * modules/crypto/gc-hmac-md5 (License): Likewise.
67746         * modules/crypto/gc-hmac-sha1 (License): Likewise.
67747         * modules/crypto/gc-md2 (License): Likewise.
67748         * modules/crypto/gc-md4 (License): Likewise.
67749         * modules/crypto/gc-md5 (License): Likewise.
67750         * modules/crypto/gc-pbkdf2-sha1 (License): Likewise.
67751         * modules/crypto/gc-random (License): Likewise.
67752         * modules/crypto/gc-rijndael (License): Likewise.
67753         * modules/crypto/gc-sha1 (License): Likewise.
67754         * modules/crypto/md2 (License): Likewise.
67755         * modules/crypto/md4 (License): Likewise.
67756
67757 2007-07-30  Jim Meyering  <jim@meyering.net>
67758
67759         * lib/fts.c (fts_read): Upon failure to chdir into a subdirectory,
67760         set fts_info to FTS_DNR, not to FTS_ERR, so that the caller knows
67761         it has valid stat data.  This bug would cause du not to count the
67762         sizes of inaccessible directories.
67763         Patch by Bryan Mason <bmason@redhat.com>, via Jose Maria Plans
67764         in <http://bugzilla.redhat.com/250077>.
67765
67766 2007-07-25  Peter O'Gorman  <peter@pogma.com>
67767             Bruno Haible  <bruno@clisp.org>
67768
67769         * m4/include_next.m4 (gl_INCLUDE_NEXT): Test whether #include_next
67770         really works. Needed because AIX 4.3 "xlc -E" doesn't understand
67771         #include_next, gives a diagnostic about it, but reports no error in
67772         the exit code.
67773         Reported by Gary V. Vaughan <gary@thewrittenword.com>.
67774
67775 2007-07-24  Ben Pfaff  <blp@gnu.org>
67776
67777         Improve name: "count-one-bits" is better than "popcount".
67778         * MODULES.html.sh: Update name.
67779         * lib/popcount.h: Renamed lib/count-one-bits.h.
67780         (popcount): Renamed count_one_bits.
67781         (popcountl): Renamed count_one_bits_l.
67782         (popcountll): Renamed count_one_bits_ll.
67783         * m4/popcount.m4: Renamed m4/count-one-bits.m4.
67784         * modules/popcount: Renamed module/count-one-bits.
67785         * modules/popcount-tests: Renamed module/count-one-bits-tests.
67786         * tests/test-popcount.c: Renamed tests/test-count-one-bits.c.
67787
67788 2007-07-23  Ben Pfaff  <blp@gnu.org>
67789
67790         * lib/popcount.h (popcount32): Reduce size of constants, to allow
67791         better code generation, and add U to large constants to avoid
67792         warnings, in non-GCC case.
67793         Suggested by Bruno Haible.
67794
67795 2007-07-23  Ben Pfaff  <blp@gnu.org>
67796
67797         * lib/popcount.h: Use verify_true instead of if...abort.
67798         * modules/popcount: Depend on verify module.
67799         Suggested by Jim Meyering.
67800
67801 2007-07-23  Bruno Haible  <bruno@clisp.org>
67802
67803         * gnulib-tool (func_import): Create a .cvsignore file also when the
67804         directory is not yet in CVS but the toplevel directory is. When
67805         creating a .cvsignore file, add ".deps" and ".dirstamp" to it.
67806         Reported by Karl Berry.
67807
67808 2007-07-22  Ben Pfaff  <blp@gnu.org>
67809
67810         * lib/popcount.h: Use faster, branchless algorithm for non-GCC
67811         case.
67812         Suggested by Eric Blake.
67813
67814 2007-07-22  Ben Pfaff  <blp@gnu.org>
67815
67816         New module: popcount.
67817         * MODULES.html.sh: Add popcount.
67818         * modules/popcount: New file.
67819         * modules/popcount-tests: New file.
67820         * tests/test-popcount.c: New file.
67821         * lib/popcount.h: New file.
67822         * m4/popcount.m4: New file.
67823
67824 2007-07-22  Paul Eggert  <eggert@cs.ucla.edu>
67825
67826         * build-aux/announce-gen: Update to GPLv3.
67827
67828         * build-aux/config.guess: Update from config.
67829
67830 2007-07-21  Bruno Haible  <bruno@clisp.org>
67831
67832         * lib/error.c (_) [ENABLE_NLS]: Define to gettext.
67833         * lib/verror.c (_) [ENABLE_NLS]: Likewise.
67834
67835 2007-07-20  Jim Meyering  <jim@meyering.net>
67836
67837         * check-module: Diagnose a self-dependency.
67838
67839 2007-07-19  Bruno Haible  <bruno@clisp.org>
67840
67841         * gnulib-tool (func_import): Don't abort if pobase or po_domain is
67842         empty.
67843         Reported by Eric Blake.
67844
67845 2007-07-18  Bruno Haible  <bruno@clisp.org>
67846
67847         * gnulib-tool: New options --po-base, --po-domain.
67848         (func_usage): Document them.
67849         (pobase, po_domain): New variables.
67850         (func_emit_lib_Makefile_am): Augment AM_CPPFLAGS, defining
67851         DEFAULT_TEXT_DOMAIN.
67852         (func_emit_po_Makevars, func_emit_po_POTFILES_in): New functions.
67853         (func_import): Consider pobase and po_domain. Create a po/ directory.
67854         (func_create_testdir): Set pobase and po_domain to empty.
67855         * build-aux/po/Makefile.in.in: New file, from GNU gettext 0.16.1.
67856         * build-aux/po/remove-potcdate.sin: New file, from GNU gettext 0.16.1.
67857
67858 2007-07-18  Bruno Haible  <bruno@clisp.org>
67859
67860         * gnulib-tool (func_get_automake_snippet): Synthesize also an
67861         EXTRA_DIST augmentation for files in build-aux/.
67862
67863 2007-07-16  Bruno Haible  <bruno@clisp.org>
67864
67865         * modules/lseek (License): Use the synonymous term "LGPLv2+".
67866         * modules/getdelim (License): Likewise.
67867
67868 2007-07-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
67869
67870         * modules/arpa_inet (License): Use the synonymous term LGPLv2+.
67871         * modules/d-type (License): Likewise.
67872         * modules/extensions (License): Likewise.
67873         * modules/fnmatch (License): Likewise.
67874         * modules/fseeko (License): Likewise.
67875         * modules/getaddrinfo (License): Likewise.
67876         * modules/getline (License): Likewise.
67877         * modules/getlogin_r (License): Likewise.
67878         * modules/getpass (License): Likewise.
67879         * modules/gettimeofday (License): Likewise.
67880         * modules/glob (License): Likewise.
67881         * modules/inet_ntop (License): Likewise.
67882         * modules/malloc (License): Likewise.
67883         * modules/malloca (License): Likewise.
67884         * modules/memmem (License): Likewise.
67885         * modules/mempcpy (License): Likewise.
67886         * modules/memset (License): Likewise.
67887         * modules/minmax (License): Likewise.
67888         * modules/mktime (License): Likewise.
67889         * modules/netinet_in (License): Likewise.
67890         * modules/pathmax (License): Likewise.
67891         * modules/poll (License): Likewise.
67892         * modules/regex (License): Likewise.
67893         * modules/snprintf (License): Likewise.
67894         * modules/stdbool (License): Likewise.
67895         * modules/stdint (License): Likewise.
67896         * modules/stdio (License): Likewise.
67897         * modules/strcase (License): Likewise.
67898         * modules/strcasestr (License): Likewise.
67899         * modules/strdup (License): Likewise.
67900         * modules/string (License): Likewise.
67901         * modules/strndup (License): Likewise.
67902         * modules/strnlen (License): Likewise.
67903         * modules/strpbrk (License): Likewise.
67904         * modules/strptime (License): Likewise.
67905         * modules/strsep (License): Likewise.
67906         * modules/sys_select (License): Likewise.
67907         * modules/sys_socket (License): Likewise.
67908         * modules/sys_stat (License): Likewise.
67909         * modules/sys_time (License): Likewise.
67910         * modules/time (License): Likewise.
67911         * modules/time_r (License): Likewise.
67912         * modules/timegm (License): Likewise.
67913         * modules/unistd (License): Likewise.
67914         * modules/vsnprintf (License): Likewise.
67915         * modules/wctype (License): Likewise.
67916
67917 2007-07-16  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
67918
67919         * modules/argz (License): LGPLv2+.
67920
67921 2007-07-15  Karl Berry  <karl@gnu.org>
67922
67923         * doc/gnulib.texi: revise node structure per new fdl.texi.
67924
67925 2007-07-14  Bruno Haible  <bruno@clisp.org>
67926
67927         * lib/uniname/gen-uninames.lisp (main): Emit a "do not edit" line to
67928         the output file.
67929         * lib/uniname/uninames.h: Regenerated.
67930
67931 2007-07-14  Karl Berry  <karl@gnu.org>
67932
67933         * doc/*gpl*.texi, doc/fdl.texi: new versions, consistently
67934         omitting sectioning and index commands.
67935
67936 2007-07-13  Bruno Haible  <bruno@clisp.org>
67937
67938         New gnulib-tool option --more-symlinks.
67939         * gnulib-tool (func_usage): Document --more-symlinks.
67940         (do_copyrights): New variable.
67941         Recognize option --more-symlinks.
67942         (func_import): Don't add a copyright notice transform to
67943         sed_transform_lib_file if do_copyrights is empty.
67944
67945 2007-07-13  Bruno Haible  <bruno@clisp.org>
67946
67947         * lib/vasnprintf.c (decimal_point_char): Define also if
67948         (NEED_PRINTF_LONG_DOUBLE || NEED_PRINTF_INFINITE_DOUBLE)
67949         && !NEED_PRINTF_DIRECTIVE_A.
67950         Reported by Clemens Koller <clemens.koller@anagramm.de> via
67951         Gary V. Vaughan <gary@gnu.org>.
67952
67953 2007-07-13  Paul Eggert  <eggert@cs.ucla.edu>
67954
67955         * lib/inttypes_.h: Undo previous change, since it was fixed
67956         in a different way in the 2007-07-02 fix to m4/inttypes.m4.
67957
67958 2007-07-13  Bruno Haible  <bruno@clisp.org>
67959
67960         * lib/stdint_.h: Fix typo: _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H was
67961         misspelled as _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H.
67962
67963 2007-07-13  Jim Meyering  <jim@meyering.net>
67964
67965         df: Don't fail for Tru64's "file-on-file mount".
67966         * m4/fsusage.m4 (gl_FSUSAGE): Reject Tru64's buggy statvfs,
67967         so we fall through and use statfs instead.  Details here:
67968         <http://thread.gmane.org/gmane.comp.gnu.coreutils.bugs/10878>
67969         Reported by Albert Chin.
67970
67971 2007-07-13  Bruno Haible  <bruno@clisp.org>
67972
67973         * modules/alloca-opt (License): Use the synonymous term "LGPLv2+".
67974         * modules/configmake (License): Likewise.
67975         * modules/gettext (License): Likewise.
67976         * modules/gettext-h (License): Likewise.
67977         * modules/include_next (License): Likewise.
67978         * modules/link-warning (License): Likewise.
67979         * modules/localcharset (License): Likewise.
67980         * modules/localename (License): Likewise.
67981         * modules/lock (License): Likewise.
67982         * modules/relocatable-lib-lgpl (License): Likewise.
67983         * modules/size_max (License): Likewise.
67984         * modules/vasnprintf (License): Likewise.
67985         * modules/wchar (License): Likewise.
67986         * modules/xsize (License): Likewise.
67987
67988 2007-07-13  Bruno Haible  <bruno@clisp.org>
67989
67990         * gnulib-tool (func_import): Treat LGPLv2 as synonymous to LGPL.
67991         (func_create_testdir): Handle copying terms "GPLv2+" and "LGPLv2+".
67992
67993 2007-07-12  Bruno Haible  <bruno@clisp.org>
67994
67995         * doc/gnulib-intro.texi (Copyright): Clarify the license abbreviations
67996         in the modules files.
67997
67998 2007-07-11  Karl Berry  <karl@gnu.org>
67999
68000         * MODULES.html.sh (func_module): use
68001          sed -e '\|^'"${includefile}"'$|d'
68002          instead of /.../d, to avoid errors on $includefile's containing /.
68003
68004 2007-07-10  Sergey Poznyakoff  <gray@gnu.org.ua>
68005
68006         * gnulib-tool (func_import): Avoid duplication of --avoid
68007         statements
68008         (func_dest_tmpfilename,func_create_testdir): Translate `-' in file
68009         names to `_' in variable names.
68010
68011 2007-07-10  Eric Blake  <ebb9@byu.net>
68012
68013         * lib/version-etc.c (version_etc_va): Default to GPLv3+.
68014         * NEWS: Document this change.
68015
68016 2007-07-08  Bruno Haible  <bruno@clisp.org>
68017
68018         Update to Unicode 5.0.
68019         * lib/uniwidth/width.c (nonspacing_table_data): Add U+00AD,
68020         U+0350..U+035F, U+05A2, U+05BA, U+05C5, U+05C7, U+0600..U+0603,
68021         U+0610..U+0615, U+0656..U+065E, U+07EB..U+07F3, U+0A01, U+0AE2..U+0AE3,
68022         U+0CBC. Remove U+0CBF, U+0CC6. Add U+0CE2..U+0CE3, U+135F,
68023         U+17B4..U+17B5, U+17DD. Remove U+180E. Add U+1920..U+1922,
68024         U+1927..U+192B, U+1932, U+1939..U+193B, U+1A17..U+1A18, U+1B00..U+1B03,
68025         U+1B34, U+1B36..U+1B3A, U+1B3C, U+1B42, U+1B6B..U+1B73, U+1DC0..U+1DCA,
68026         U+1DFE..U+1DFF, U+20EB..U+20EF, U+A802, U+A806, U+A80B, U+A825..U+A826,
68027         U+10A01..U+10A03, U+10A05..U+10A06, U+10A0C..U+10A0F, U+10A38..U+10A3A,
68028         U+10A3F, U+1D242..U+1D244.
68029         (nonspacing_table_ind): Update.
68030         (uc_width): Assign width 0 to U+E0100..U+E01EF. Assign width 1 to
68031         U+4DC0..U+4DFF. Assign width 2 to U+2329..U+232A, U+FE10..U+FE1F.
68032
68033 2007-07-08  Bruno Haible  <bruno@clisp.org>
68034
68035         Update to Unicode 5.0.
68036         * lib/uniname/gen-uninames.lisp (main): Add the range 0x12xxx to the
68037         code transform. Extend the name index field of unicode_name_to_code and
68038         unicode_code_to_name from 16 to 24 bits.
68039         * lib/uniname/uniname.c (unicode_character_name,
68040         unicode_name_character): Add the range 0x12xxx to the code transform.
68041         * lib/uniname/uninames.h: Regenerated.
68042         * tests/uniname/UnicodeDataNames.txt: Update to Unicode 5.0.
68043
68044 2007-07-07  Bruno Haible  <bruno@clisp.org>
68045
68046         * modules/wcwidth-tests: New file.
68047         * tests/test-wcwidth.c: New file.
68048
68049         Work around MacOS X wcwidth() bug.
68050         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Test against MacOS X 10.3 bug.
68051         * lib/wcwidth.c: Include localcharset.h, streq.h, uniwidth.h.
68052         (rpl_wcwidth): Special-case the UTF-8 locales. Fall back to the
68053         original wcwidth in non-UTF-8 locales.
68054         * modules/wcwidth (Depends-on): Add localcharset, streq,
68055         uniwidth/width.
68056         * doc/functions/wcwidth.texi: Update.
68057
68058 2007-07-07  Bruno Haible  <bruno@clisp.org>
68059
68060         * lib/wchar_.h: Include the GL_LINK_WARNING macro.
68061         (wcwidth): New declaration.
68062         * m4/wchar.m4 (gl_WCHAR_MODULE_INDICATOR, gl_WCHAR_H_DEFAULTS): New
68063         macros.
68064         (gl_WCHAR_H): Require gl_WCHAR_H_DEFAULTS. Don't set WCHAR_H to empty
68065         here. Prepare for creating <wchar.h> unconditionally.
68066         * modules/wchar (Depends-on): Add link-warning.
68067         (Makefile.am): Substitute also GNULIB_WCWIDTH, HAVE_DECL_WCWIDTH,
68068         REPLACE_WCWIDTH, and GL_LINK_WARNING.
68069         * lib/wcwidth.h: Remove file.
68070         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gl_WCHAR_H_DEFAULTS. Set
68071         HAVE_DECL_WCWIDTH, REPLACE_WCWIDTH, WCHAR_H.
68072         * modules/wcwidth (Files): Remove lib/wcwidth.h.
68073         (configure.ac): Invoke gl_WCHAR_MODULE_INDICATOR.
68074         (Include): Replace wcwidth.h with <wchar.h>.
68075         * lib/wcwidth.c: Include <wchar.h> instead of wcwidth.h.
68076         * lib/mbchar.h: Don't include wcwidth.h.
68077         * lib/mbswidth.c: Likewise.
68078         * NEWS: Mention the change.
68079
68080 2007-07-07  Bruno Haible  <bruno@clisp.org>
68081
68082         * lib/wcwidth.c: New file, extracted from lib/wcwidth.h.
68083         * lib/wcwidth.h: Don't include wctype.h. Replace inline function
68084         definition with an external declaration.
68085         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Use wcwidth.c when wcwidth is not
68086         defined as a function. Remove AC_C_INLINE requirement.
68087         * modules/wcwidth (Files): Add lib/wcwidth.c.
68088         (Makefile.am): Remove redundant statement.
68089
68090 2007-07-07  Bruno Haible  <bruno@clisp.org>
68091
68092         * MODULES.html.sh (Unicode string functions): Add the new modules.
68093
68094         * tests/uniwidth/test-u32-strwidth.c: New file.
68095         * modules/uniwidth/u32-strwidth-tests: New file.
68096
68097         * lib/uniwidth/u32-strwidth.c: New file.
68098         * modules/uniwidth/u32-strwidth: New file.
68099
68100         * tests/uniwidth/test-u16-strwidth.c: New file.
68101         * modules/uniwidth/u16-strwidth-tests: New file.
68102
68103         * lib/uniwidth/u16-strwidth.c: New file.
68104         * modules/uniwidth/u16-strwidth: New file.
68105
68106         * tests/uniwidth/test-u8-strwidth.c: New file.
68107         * modules/uniwidth/u8-strwidth-tests: New file.
68108
68109         * lib/uniwidth/u8-strwidth.c: New file.
68110         * modules/uniwidth/u8-strwidth: New file.
68111
68112         * tests/uniwidth/test-u32-width.c: New file.
68113         * modules/uniwidth/u32-width-tests: New file.
68114
68115         * lib/uniwidth/u32-width.c: New file.
68116         * modules/uniwidth/u32-width: New file.
68117
68118         * tests/uniwidth/test-u16-width.c: New file.
68119         * modules/uniwidth/u16-width-tests: New file.
68120
68121         * lib/uniwidth/u16-width.c: New file.
68122         * modules/uniwidth/u16-width: New file.
68123
68124         * tests/uniwidth/test-u8-width.c: New file.
68125         * modules/uniwidth/u8-width-tests: New file.
68126
68127         * lib/uniwidth/u8-width.c: New file.
68128         * modules/uniwidth/u8-width: New file.
68129
68130         * tests/uniwidth/test-uc_width.c: New file.
68131         * modules/uniwidth/width-tests: New file.
68132
68133         * lib/uniwidth/width.c: New file, from GNU libiconv.
68134         * lib/uniwidth/cjk.h: New file, from GNU libiconv.
68135         * modules/uniwidth/width: New file.
68136
68137         * lib/uniwidth.h: New file, from GNU libiconv.
68138         * modules/uniwidth/base: New file.
68139
68140 2007-07-07  Bruno Haible  <bruno@clisp.org>
68141
68142         * lib/uniname.h: New file, from GNU gettext.
68143         * lib/uniname/gen-uninames.lisp: New file, from GNU gettext.
68144         * lib/uniname/uninames.h: New file, from GNU gettext.
68145         * lib/uniname/uniname.c: New file, from GNU gettext.
68146         * tests/uniname/test-uninames.sh: New file.
68147         * tests/uniname/test-uninames.c: New file, from GNU gettext.
68148         * tests/uniname/UnicodeDataNames.txt: New file, from GNU gettext.
68149         * modules/uniname/base: New file.
68150         * modules/uniname/uniname: New file.
68151         * modules/uniname/uniname-tests: New file.
68152         * MODULES.html.sh (Unicode string functions): Add the new modules.
68153
68154 2007-07-06  Bruno Haible  <bruno@clisp.org>
68155
68156         * doc/Makefile (TEXI2HTML): Specify a --reference-limit.
68157
68158 2007-07-06  Bruno Haible  <bruno@clisp.org>
68159
68160         * lib/sys_time_.h: Use a recursion-safe inclusion guard rather than
68161         a split double-inclusion guard. Needed for cygwin, where <sys/time.h>
68162         includes <cygwin/sys_time.h> which includes <sys/select.h> which
68163         include <sys/time.h>.
68164         Reported by Eric Blake.
68165
68166 2007-07-06  Eric Blake  <ebb9@byu.net>
68167
68168         Fix testing canonicalize on cygwin.
68169         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
68170         Revert patch from 2007-06-19.
68171         * tests/test-canonicalize-lgpl.c (main): Instead, skip test when
68172         canonicalize module is also in use.
68173         * tests/test-canonicalize.c: New file.
68174         * tests/test-canonicalize.sh: Likewise.
68175         * modules/canonicalize-tests: Likewise.
68176
68177 2007-07-06  Jim Meyering  <jim@meyering.net>
68178
68179         * lib/getugroups.c (getugroups): Detect getgrent failure.
68180         Adjust comment to reflect reality: this function may return -1.
68181
68182 2007-07-05  Sergey Poznyakoff  <gray@gnu.org.ua>
68183
68184         * build-aux/bootstrap (TP_URL,get_translations): Update to use
68185         the new TP address.
68186         (usage): Fix typo
68187         (gnulib_mk): New variable.
68188
68189 2007-07-05  Jim Meyering  <jim@meyering.net>
68190
68191         Don't let endgrent clobber errno, no matter how improbable.
68192         * lib/getugroups.c (getugroups): Save and restore errno around
68193         endgrent call.
68194
68195         Close the group DB even when failing with 2^31 or more members.
68196         * lib/getugroups.c (getugroups): Don't return without calling endgrent.
68197
68198 2007-07-04  Jim Meyering  <jim@meyering.net>
68199
68200         * lib/getugroups.h: New file.
68201         * lib/getugroups.c: Include "getugroups.h".
68202         Remove uses of "register" keyword.
68203         Move local variable, "cp", down into scope where used.
68204         Give "username" parameter the "const" attribute.
68205         * modules/getugroups (Files): Add lib/getugroups.h
68206
68207 2007-07-04  Karl Berry  <karl@gnu.org>
68208
68209         * MODULES.html.sh (func_all_modules): Complete rename of
68210         gpl/lgpl to gpl-2.0 and lgpl-2.1, and add gpl-3.0.
68211
68212 2007-07-02  Bruno Haible  <bruno@clisp.org>
68213
68214         * m4/inttypes.m4 (gl_INTTYPES_H): Define __STDC_LIMIT_MACROS in C++
68215         mode, when inttypes.h comes from gnulib.
68216         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
68217
68218 2007-07-02  Simon Josefsson  <simon@josefsson.org>
68219
68220         * NEWS: Mention lgpl module name change.
68221
68222         * modules/lgpl-2.1: Renamed from lgpl.
68223
68224         * NEWS: Mention gpl module name change.
68225
68226         * modules/gpl-3.0: New file, based on gpl-2.0.
68227
68228         * modules/gpl-2.0: Renamed from gpl.
68229
68230         * modules/gpl: Fix filename, doc/gpl.texi is now found at
68231         doc/gpl-2.0.texi.
68232
68233 2007-07-02  Paul Eggert  <eggert@cs.ucla.edu>
68234
68235         * lib/inttypes_.h [defined __cplusplus&&!defined __STDC_LIMIT_MACROS]:
68236         #define __STDC_LIMIT_MACROS temporarily while including
68237         <stdint.h>, so that __STDC_LIMIT_MACROS is defined.
68238         Problem reported by Joel E. Denny in
68239         <http://lists.gnu.org/archive/html/bug-gnulib/2007-07/msg00008.html>.
68240
68241 2007-07-01  Bruno Haible  <bruno@clisp.org>
68242
68243         * lib/unistdio.h: New file.
68244         * lib/unistdio/u-asnprintf.h: New file.
68245         * lib/unistdio/u-asprintf.h: New file.
68246         * lib/unistdio/u-printf-args.c: New file.
68247         * lib/unistdio/u-printf-args.h: New file.
68248         * lib/unistdio/u-printf-parse.h: New file.
68249         * lib/unistdio/u-snprintf.h: New file.
68250         * lib/unistdio/u-sprintf.h: New file.
68251         * lib/unistdio/u-vasprintf.h: New file.
68252         * lib/unistdio/u-vsnprintf.h: New file.
68253         * lib/unistdio/u-vsprintf.h: New file.
68254         * lib/unistdio/ulc-asnprintf.c: New file.
68255         * lib/unistdio/ulc-asprintf.c: New file.
68256         * lib/unistdio/ulc-fprintf.c: New file, based on lib/fprintf.c.
68257         * lib/unistdio/ulc-printf-parse.c: New file.
68258         * lib/unistdio/ulc-snprintf.c: New file.
68259         * lib/unistdio/ulc-sprintf.c: New file.
68260         * lib/unistdio/ulc-vasnprintf.c: New file.
68261         * lib/unistdio/ulc-vasprintf.c: New file.
68262         * lib/unistdio/ulc-vfprintf.c: New file, based on lib/vfprintf.c.
68263         * lib/unistdio/ulc-vsnprintf.c: New file.
68264         * lib/unistdio/ulc-vsprintf.c: New file.
68265         * lib/unistdio/u8-asnprintf.c: New file.
68266         * lib/unistdio/u8-asprintf.c: New file.
68267         * lib/unistdio/u8-printf-parse.c: New file.
68268         * lib/unistdio/u8-snprintf.c: New file.
68269         * lib/unistdio/u8-sprintf.c: New file.
68270         * lib/unistdio/u8-vasnprintf.c: New file.
68271         * lib/unistdio/u8-vasprintf.c: New file.
68272         * lib/unistdio/u8-vsnprintf.c: New file.
68273         * lib/unistdio/u8-vsprintf.c: New file.
68274         * lib/unistdio/u8-u8-asnprintf.c: New file.
68275         * lib/unistdio/u8-u8-asprintf.c: New file.
68276         * lib/unistdio/u8-u8-snprintf.c: New file.
68277         * lib/unistdio/u8-u8-sprintf.c: New file.
68278         * lib/unistdio/u8-u8-vasnprintf.c: New file.
68279         * lib/unistdio/u8-u8-vasprintf.c: New file.
68280         * lib/unistdio/u8-u8-vsnprintf.c: New file.
68281         * lib/unistdio/u8-u8-vsprintf.c: New file.
68282         * lib/unistdio/u16-asnprintf.c: New file.
68283         * lib/unistdio/u16-asprintf.c: New file.
68284         * lib/unistdio/u16-printf-parse.c: New file.
68285         * lib/unistdio/u16-snprintf.c: New file.
68286         * lib/unistdio/u16-sprintf.c: New file.
68287         * lib/unistdio/u16-vasnprintf.c: New file.
68288         * lib/unistdio/u16-vasprintf.c: New file.
68289         * lib/unistdio/u16-vsnprintf.c: New file.
68290         * lib/unistdio/u16-vsprintf.c: New file.
68291         * lib/unistdio/u16-u16-asnprintf.c: New file.
68292         * lib/unistdio/u16-u16-asprintf.c: New file.
68293         * lib/unistdio/u16-u16-snprintf.c: New file.
68294         * lib/unistdio/u16-u16-sprintf.c: New file.
68295         * lib/unistdio/u16-u16-vasnprintf.c: New file.
68296         * lib/unistdio/u16-u16-vasprintf.c: New file.
68297         * lib/unistdio/u16-u16-vsnprintf.c: New file.
68298         * lib/unistdio/u16-u16-vsprintf.c: New file.
68299         * lib/unistdio/u32-asnprintf.c: New file.
68300         * lib/unistdio/u32-asprintf.c: New file.
68301         * lib/unistdio/u32-printf-parse.c: New file.
68302         * lib/unistdio/u32-snprintf.c: New file.
68303         * lib/unistdio/u32-sprintf.c: New file.
68304         * lib/unistdio/u32-vasnprintf.c: New file.
68305         * lib/unistdio/u32-vasprintf.c: New file.
68306         * lib/unistdio/u32-vsnprintf.c: New file.
68307         * lib/unistdio/u32-vsprintf.c: New file.
68308         * lib/unistdio/u32-u32-asnprintf.c: New file.
68309         * lib/unistdio/u32-u32-asprintf.c: New file.
68310         * lib/unistdio/u32-u32-snprintf.c: New file.
68311         * lib/unistdio/u32-u32-sprintf.c: New file.
68312         * lib/unistdio/u32-u32-vasnprintf.c: New file.
68313         * lib/unistdio/u32-u32-vasprintf.c: New file.
68314         * lib/unistdio/u32-u32-vsnprintf.c: New file.
68315         * lib/unistdio/u32-u32-vsprintf.c: New file.
68316         * tests/unistdio/test-ulc-asnprintf1.c: New file.
68317         * tests/unistdio/test-ulc-asnprintf1.h: New file.
68318         * tests/unistdio/test-ulc-printf1.h: New file.
68319         * tests/unistdio/test-ulc-vasnprintf1.c: New file.
68320         * tests/unistdio/test-ulc-vasnprintf2.c: New file.
68321         * tests/unistdio/test-ulc-vasnprintf2.sh: New file.
68322         * tests/unistdio/test-ulc-vasnprintf3.c: New file.
68323         * tests/unistdio/test-ulc-vasnprintf3.sh: New file.
68324         * tests/unistdio/test-ulc-vasprintf1.c: New file.
68325         * tests/unistdio/test-ulc-vsnprintf1.c: New file.
68326         * tests/unistdio/test-ulc-vsprintf1.c: New file.
68327         * tests/unistdio/test-u8-asnprintf1.c: New file.
68328         * tests/unistdio/test-u8-asnprintf1.h: New file.
68329         * tests/unistdio/test-u8-printf1.h: New file.
68330         * tests/unistdio/test-u8-vasnprintf1.c: New file.
68331         * tests/unistdio/test-u8-vasnprintf2.c: New file.
68332         * tests/unistdio/test-u8-vasnprintf2.sh: New file.
68333         * tests/unistdio/test-u8-vasnprintf3.c: New file.
68334         * tests/unistdio/test-u8-vasnprintf3.sh: New file.
68335         * tests/unistdio/test-u8-vasprintf1.c: New file.
68336         * tests/unistdio/test-u8-vsnprintf1.c: New file.
68337         * tests/unistdio/test-u8-vsprintf1.c: New file.
68338         * tests/unistdio/test-u16-asnprintf1.c: New file.
68339         * tests/unistdio/test-u16-asnprintf1.h: New file.
68340         * tests/unistdio/test-u16-printf1.h: New file.
68341         * tests/unistdio/test-u16-vasnprintf1.c: New file.
68342         * tests/unistdio/test-u16-vasnprintf2.c: New file.
68343         * tests/unistdio/test-u16-vasnprintf2.sh: New file.
68344         * tests/unistdio/test-u16-vasnprintf3.c: New file.
68345         * tests/unistdio/test-u16-vasnprintf3.sh: New file.
68346         * tests/unistdio/test-u16-vasprintf1.c: New file.
68347         * tests/unistdio/test-u16-vsnprintf1.c: New file.
68348         * tests/unistdio/test-u16-vsprintf1.c: New file.
68349         * tests/unistdio/test-u32-asnprintf1.c: New file.
68350         * tests/unistdio/test-u32-asnprintf1.h: New file.
68351         * tests/unistdio/test-u32-printf1.h: New file.
68352         * tests/unistdio/test-u32-vasnprintf1.c: New file.
68353         * tests/unistdio/test-u32-vasnprintf2.c: New file.
68354         * tests/unistdio/test-u32-vasnprintf2.sh: New file.
68355         * tests/unistdio/test-u32-vasnprintf3.c: New file.
68356         * tests/unistdio/test-u32-vasnprintf3.sh: New file.
68357         * tests/unistdio/test-u32-vasprintf1.c: New file.
68358         * tests/unistdio/test-u32-vsnprintf1.c: New file.
68359         * tests/unistdio/test-u32-vsprintf1.c: New file.
68360         * modules/unistdio/base: New file.
68361         * modules/unistdio/u-printf-args: New file.
68362         * modules/unistdio/ulc-asnprintf: New file.
68363         * modules/unistdio/ulc-asprintf: New file.
68364         * modules/unistdio/ulc-fprintf: New file.
68365         * modules/unistdio/ulc-printf-parse: New file.
68366         * modules/unistdio/ulc-snprintf: New file.
68367         * modules/unistdio/ulc-sprintf: New file.
68368         * modules/unistdio/ulc-vasnprintf: New file.
68369         * modules/unistdio/ulc-vasprintf: New file.
68370         * modules/unistdio/ulc-vfprintf: New file.
68371         * modules/unistdio/ulc-vsnprintf: New file.
68372         * modules/unistdio/ulc-vsprintf: New file.
68373         * modules/unistdio/u8-asnprintf: New file.
68374         * modules/unistdio/u8-asprintf: New file.
68375         * modules/unistdio/u8-printf-parse: New file.
68376         * modules/unistdio/u8-snprintf: New file.
68377         * modules/unistdio/u8-sprintf: New file.
68378         * modules/unistdio/u8-vasnprintf: New file.
68379         * modules/unistdio/u8-vasprintf: New file.
68380         * modules/unistdio/u8-vsnprintf: New file.
68381         * modules/unistdio/u8-vsprintf: New file.
68382         * modules/unistdio/u8-u8-asnprintf: New file.
68383         * modules/unistdio/u8-u8-asprintf: New file.
68384         * modules/unistdio/u8-u8-snprintf: New file.
68385         * modules/unistdio/u8-u8-sprintf: New file.
68386         * modules/unistdio/u8-u8-vasnprintf: New file.
68387         * modules/unistdio/u8-u8-vasprintf: New file.
68388         * modules/unistdio/u8-u8-vsnprintf: New file.
68389         * modules/unistdio/u8-u8-vsprintf: New file.
68390         * modules/unistdio/u16-asnprintf: New file.
68391         * modules/unistdio/u16-asprintf: New file.
68392         * modules/unistdio/u16-printf-parse: New file.
68393         * modules/unistdio/u16-snprintf: New file.
68394         * modules/unistdio/u16-sprintf: New file.
68395         * modules/unistdio/u16-vasnprintf: New file.
68396         * modules/unistdio/u16-vasprintf: New file.
68397         * modules/unistdio/u16-vsnprintf: New file.
68398         * modules/unistdio/u16-vsprintf: New file.
68399         * modules/unistdio/u16-u16-asnprintf: New file.
68400         * modules/unistdio/u16-u16-asprintf: New file.
68401         * modules/unistdio/u16-u16-snprintf: New file.
68402         * modules/unistdio/u16-u16-sprintf: New file.
68403         * modules/unistdio/u16-u16-vasnprintf: New file.
68404         * modules/unistdio/u16-u16-vasprintf: New file.
68405         * modules/unistdio/u16-u16-vsnprintf: New file.
68406         * modules/unistdio/u16-u16-vsprintf: New file.
68407         * modules/unistdio/u32-asnprintf: New file.
68408         * modules/unistdio/u32-asprintf: New file.
68409         * modules/unistdio/u32-printf-parse: New file.
68410         * modules/unistdio/u32-snprintf: New file.
68411         * modules/unistdio/u32-sprintf: New file.
68412         * modules/unistdio/u32-vasnprintf: New file.
68413         * modules/unistdio/u32-vasprintf: New file.
68414         * modules/unistdio/u32-vsnprintf: New file.
68415         * modules/unistdio/u32-vsprintf: New file.
68416         * modules/unistdio/u32-u32-asnprintf: New file.
68417         * modules/unistdio/u32-u32-asprintf: New file.
68418         * modules/unistdio/u32-u32-snprintf: New file.
68419         * modules/unistdio/u32-u32-sprintf: New file.
68420         * modules/unistdio/u32-u32-vasnprintf: New file.
68421         * modules/unistdio/u32-u32-vasprintf: New file.
68422         * modules/unistdio/u32-u32-vsnprintf: New file.
68423         * modules/unistdio/u32-u32-vsprintf: New file.
68424         * modules/unistdio/ulc-asnprintf-tests: New file.
68425         * modules/unistdio/ulc-vasnprintf-tests: New file.
68426         * modules/unistdio/ulc-vasprintf-tests: New file.
68427         * modules/unistdio/ulc-vsnprintf-tests: New file.
68428         * modules/unistdio/ulc-vsprintf-tests: New file.
68429         * modules/unistdio/u8-asnprintf-tests: New file.
68430         * modules/unistdio/u8-vasnprintf-tests: New file.
68431         * modules/unistdio/u8-vasprintf-tests: New file.
68432         * modules/unistdio/u8-vsnprintf-tests: New file.
68433         * modules/unistdio/u8-vsprintf-tests: New file.
68434         * modules/unistdio/u16-asnprintf-tests: New file.
68435         * modules/unistdio/u16-vasnprintf-tests: New file.
68436         * modules/unistdio/u16-vasprintf-tests: New file.
68437         * modules/unistdio/u16-vsnprintf-tests: New file.
68438         * modules/unistdio/u16-vsprintf-tests: New file.
68439         * modules/unistdio/u32-asnprintf-tests: New file.
68440         * modules/unistdio/u32-vasnprintf-tests: New file.
68441         * modules/unistdio/u32-vasprintf-tests: New file.
68442         * modules/unistdio/u32-vsnprintf-tests: New file.
68443         * modules/unistdio/u32-vsprintf-tests: New file.
68444         * MODULES.html.sh (Unicode string functions): Add the new modules.
68445
68446 2007-07-01  Bruno Haible  <bruno@clisp.org>
68447
68448         * lib/sprintf.c (sprintf): Limit the available length estimation,
68449         to avoid address wraparound.
68450         * lib/vsprintf.c (vsprintf): Likewise.
68451         * modules/sprintf-posix (Dependencies): Add stdint.
68452         * modules/vsprintf-posix (Dependencies): Likewise.
68453
68454 2007-07-01  Bruno Haible  <bruno@clisp.org>
68455
68456         * gnulib-tool (self_abspathname): Determine PATH_SEPARATOR and handle
68457         Windows PATH as well. Conservative double-quoting. Comments.
68458
68459 2007-07-01  Bruno Haible  <bruno@clisp.org>
68460             Eric Blake  <ebb9@byu.net>
68461             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68462
68463         * gnulib-tool (self_abspathname): Fix algorithm to cope with
68464         empty components in $PATH, denoting '.'.
68465
68466 2007-07-01  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68467
68468         * gnulib-tool: Fix indentation.
68469         (func_create_megatestdir): Likewise.
68470         Report by Bruno Haible.
68471
68472 2007-06-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68473
68474         Sync from Automake.
68475         * build-aux/gnupload: Fix shell portability issues with for loops.
68476         Report by Karl Berry.
68477
68478 2007-06-29  Simon Josefsson  <simon@josefsson.org>
68479
68480         * build-aux/maint.mk (POURL): Use translationproject.org.
68481
68482 2007-06-27  Simon Josefsson  <simon@josefsson.org>
68483             Bruno Haible  <bruno@clisp.org>
68484
68485         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Require gl_HEADER_SYS_SOCKET
68486         before using HAVE_WS2TCPIP_H. Check for gai_strerror through an
68487         explicit link test, rather than AC_REPLACE_FUNCS - for mingw.
68488         (gl_PREREQ_GETADDRINFO): Require gl_HEADER_SYS_SOCKET before using
68489         HAVE_SYS_SOCKET_H and HAVE_WS2TCPIP_H.
68490
68491 2007-06-27  Bruno Haible  <bruno@clisp.org>
68492
68493         * build-aux/config.rpath: Upgrade to libtool-1.5.24.
68494         * build-aux/config.libpath: Upgrade to libtool-1.5.24.
68495
68496 2007-06-26  Karl Berry  <karl@gnu.org>
68497
68498         * MODULES.html.sh: remove xreadlink-with-size.
68499
68500 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68501
68502         * lib/time_.h: Port to Solaris 8 with Sun Studio 11, using a
68503         method that I hope also handles the double-include problem noted
68504         by Bruno Haible in
68505         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00186.html>.
68506
68507 2007-06-23  Bruno Haible  <bruno@clisp.org>
68508
68509         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
68510         Don't let the 'mostlyclean' target fail if the last subdirectory could
68511         not be removed.
68512         Reported by Karl Berry.
68513
68514 2007-06-23  Bruno Haible  <bruno@clisp.org>
68515
68516         * gnulib-tool (echo): Add a speedier workaround for ksh.
68517         * tests/test-echo.sh: Likewise.
68518
68519 2007-06-23  Bruno Haible  <bruno@clisp.org>
68520
68521         * gnulib-tool (echo): Add workarounds also for bash versions < 2.04.
68522         * tests/test-echo.sh: Likewise.
68523
68524 2007-06-23  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68525
68526         * gnulib-tool (IFS): Initialize early, so we don't set it to
68527         empty later.
68528         (self_abspathname): Rewrite algorithm to set it, reindent.
68529         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am)
68530         (func_create_megatestdir): Merge some sed scripts.
68531
68532 2007-06-23  Paul Eggert  <eggert@cs.ucla.edu>
68533
68534         * m4/include_next.m4 (gl_CHECK_NEXT_HEADERS): Check some typos
68535         exposed by Sun Studio 11 cc on Solaris 8.
68536
68537 2007-06-22  Bruno Haible  <bruno@clisp.org>
68538
68539         * gnulib-tool (echo): Ensure the echo primitive does not interpret
68540         backslashes.
68541         * tests/test-echo.sh: New file.
68542
68543 2007-06-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
68544
68545         * gnulib-tool (func_add_or_update, func_create_testdir): Do not
68546         simplify `sed_replace_build_aux' scripts, they are portable but
68547         echoing them with `echo' is not.
68548         Report and analysis by Fernando Ferreira <fernando.prog@netcabo.pt>.
68549
68550 2007-06-21  Karl Berry  <karl@gnu.org>
68551
68552         * config/srclist.txt: guess we can't handle the licenses via
68553         srclist at the moment.
68554
68555 2007-06-21  Paul Eggert  <eggert@cs.ucla.edu>
68556
68557         * MODULES.html.sh: Add include_next.
68558         * modules/include_next: New file.
68559
68560 2007-06-20  Paul Eggert  <eggert@cs.ucla.edu>
68561
68562         * m4/include_next.m4 (gl_INCLUDE_NEXT): Define and AC_SUBST
68563         INCLUDE_NEXT.
68564         (gl_CHECK_NEXT_HEADERS): New macro.
68565         * m4/fcntl_h.m4 (gl_FCNTL_H): use gl_CHECK_NEXT_HEADERS instead of
68566         the obsolescent gl_ABSOLUTE_HEADER.
68567         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Likewise.
68568         * m4/float_h.m4 (gl_FLOAT_H): Likewise.
68569         * m4/iconv_h.m4 (gl_ICONV_H): Likewise.
68570         * m4/inttypes.m4 (gl_INTTYPES_H): Likewise.
68571         * m4/locale_h.m4 (gl_LOCALE_H): Likewise.
68572         * m4/math_h.m4 (gl_MATH_H): Likewise.
68573         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Likewise.
68574         * m4/search_h.m4 (gl_SEARCH_H): Likewise.
68575         * m4/signal_h.m4 (gl_SIGNAL_H): Likewise.
68576         * m4/stdint.m4 (gl_STDINT_H): Likewise.
68577         * m4/stdio_h.m4 (gl_STDIO_H): Likewise.
68578         * m4/stdlib_h.m4 (gl_STDLIB_H): Likewise.
68579         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Likewise.
68580         * m4/sys_select_h.m4 (gl_HEADER_SYS_SELECT): Likewise.
68581         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Likewise.
68582         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Likewise.
68583         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Likewise.
68584         * m4/sysexits.m4 (gl_SYSEXITS): Likewise.
68585         * m4/time_h.m4 (gl_HEADER_TIME_H_BODY): Likewise.
68586         * m4/unistd_h.m4 (gl_UNISTD_H): Likewise.
68587         * m4/wchar.m4 (gl_WCHAR_H): Likewise.
68588         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
68589         * m4/inttypes.m4 (gl_INTTYPES_H): Define
68590         _GL_JUST_INCLUDE_SYSTEM_INTTYPES_H to avoid the problem of unclean
68591         builds, since ABSOLUTE_INTTYPES_H is no longer being defined.
68592         * m4/stdint.m4 (gl_STDINT_H): Likewise, for
68593         _GL_JUST_INCLUDE_SYSTEM_STDINT_H.
68594         * lib/fcntl_.h: Use @INCLUDE_NEXT@ @NEXT_foo_H@
68595         rather than @HAVE_INCLUDE_NEXT@ and @ABSOLUTE_foo_H@.
68596         * lib/float_.h: Likewise.
68597         * lib/inttypes_.h: Likewise.
68598         * lib/math_.h: Likewise.
68599         * lib/search_.h: Likewise.
68600         * lib/signal_.h: Likewise.
68601         * lib/stdint_.h: Likewise.
68602         * lib/stdio_.h: Likewise.
68603         * lib/stdlib_.h: Likewise.
68604         * lib/string_.h: Likewise.
68605         * lib/sys_stat_.h: Likewise.
68606         * lib/sys_time_.h: Likewise.
68607         * lib/time_.h: Likewise.
68608         * lib/unistd_.h: Likewise.
68609         * lib/wchar_.h: Likewise.
68610         * lib/wctype_.h: Likewise.
68611         * lib/dirent_.h: Likewise.
68612         * lib/iconv_.h: Likewise.
68613         * lib/locale_.h: Likewise.
68614         * lib/netinet_in_.h: Likewise.
68615         * lib/sys_select_.h: Likewise.
68616         * lib/sys_socket_.h: Likewise.
68617         * lib/sysexits_.h: Likewise.
68618         * modules/fcntl (Depends-on): Depend on include_next, not
68619         absolute_header.
68620         (Makefile): Substitute INCLUDE_NEXT and NEXT_foo_H, not
68621         HAVE_INCLUDE_NEXT and ABSOLUTE_foo_H.
68622         * modules/fchdir: Likewise.
68623         * modules/float: Likewise.
68624         * modules/iconv_open: Likewise.
68625         * modules/inttypes: Likewise.
68626         * modules/locale: Likewise.
68627         * modules/math: Likewise.
68628         * modules/netinet_in: Likewise.
68629         * modules/search: Likewise.
68630         * modules/signal: Likewise.
68631         * modules/stdint: Likewise.
68632         * modules/stdio: Likewise.
68633         * modules/stdlib: Likewise.
68634         * modules/string: Likewise.
68635         * modules/sys_select: Likewise.
68636         * modules/sys_socket: Likewise.
68637         * modules/sys_stat: Likewise.
68638         * modules/sys_time: Likewise.
68639         * modules/sysexits: Likewise.
68640         * modules/time: Likewise.
68641         * modules/unistd: Likewise.
68642         * modules/wchar: Likewise.
68643         * modules/wctype: Likewise.
68644         * modules/sys_stat: Change maintainer to "all".
68645         * modules/unistd: Likewise.
68646
68647 2007-06-20  Karl Berry  <karl@gnu.org>
68648
68649         * config/srclist.txt: track www changes in license files.
68650
68651 2007-06-20  Sergey Poznyakoff  <gray@gnu.org.ua>
68652
68653         * build-aux/bootstrap: Remove stray dot.
68654         Make sure build_aux settings are honored when linking
68655         gnulib_extra_files.
68656
68657 2007-06-19  Eric Blake  <ebb9@byu.net>
68658
68659         * modules/canonicalize-lgpl-tests (test_canonicalize_lgpl_LDADD):
68660         Allow compilation on cygwin.
68661
68662 2007-06-19  Jim Meyering  <jim@meyering.net>
68663
68664         xreadlink-with-size: Remove module.  No longer used.
68665         Ex-callers now use xreadlink or mreadlink-with-size.
68666         * modules/xreadlink-with-size: Remove module.
68667         * lib/xreadlink-with-size.c: Remove file.
68668         * lib/xreadlink.h (xreadlink_with_size): Remove prototype.
68669         (xreadlink): Remove inaccurate comment.  The one in xreadlink.c,
68670         just before the function definition *is* accurate.
68671
68672         Eliminate one way canonicalize_filename_mode could exit.
68673         * lib/canonicalize.c (canonicalize_filename_mode):
68674         Use mreadlink_with_size, not xreadlink_with_size.
68675
68676 2007-06-18  Paul Eggert  <eggert@cs.ucla.edu>
68677
68678         Detect porting problems to FreeBSD/arm, which has time_t wider than
68679         long int.  Original problem reported for GNU diff by Xin Li in
68680         <http://lists.gnu.org/archive/html/bug-gnu-utils/2007-06/msg00091.html>.
68681         * modules/getdate (Depends-on): Add intprops, verify.
68682         * lib/getdate.y: Include intprops.h, verify.h.  Verify that time_t
68683         is an integer type no wider than long int.
68684
68685 2007-06-18  Jim Meyering  <jim@meyering.net>
68686
68687         New module: mreadlink-with-size.
68688         * MODULES.html.sh: Add mreadlink-with-size.
68689         * modules/mreadlink-with-size: New module
68690         * modules/canonicalize (Depends-on): Depend on mreadlink-with-size,
68691         not xreadlink-with-size.
68692         * lib/mreadlink-with-size.c, lib/mreadlink.h: New files.
68693
68694 2007-06-16  Bruno Haible  <bruno@clisp.org>
68695
68696         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Catch the MacOS X 10.4 bug.
68697         * doc/functions/frexpl.texi: Document the MacOS X 10.4 bug.
68698         Reported by Gary V. Vaughan <gary@gnu.org>.
68699
68700 2007-06-15  Paul Eggert  <eggert@cs.ucla.edu>
68701
68702         Revamp lchown so that it lives in unistd.h where it belongs.
68703         * lib/lchown.h: Remove.
68704         * lib/dirchownmod.c: Don't include lib/lchown.h.
68705         * lib/fchownat.c: Likewise.
68706         * lib/openat.c: Likewise.
68707         * lib/lchown.c (REPLACE_CHOWN): Define to 0 if the system chown
68708         does not follow symlinks.
68709         (EOPNOTSUPP): Define if not defined.
68710         * lib/unistd_.h (chown): Do not replace if REPLADE_CHOWN
68711         is defined to 0.
68712         (lchown): New decl.
68713         * m4/lchown.m4 (gl_FUNC_LCHOWN): Require gl_UNISTD_H_DEFAULTS.
68714         Do not check for lchown decl.
68715         Set REPLACE_LCHOWN.
68716         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Set GNULIB_LCHOWN,
68717         REPLACE_LCHOWN.
68718         * modules/chown: Make it clear it follows symlinks.
68719         * modules/lchown: Make it clear it doesn't follow symlinks.
68720         (Files): Remove lib/lchown.h
68721         (Depends-on): Add unistd.
68722         (configure.ac): Add gl_UNISTD_MODULE_INDICATOR([lchown]).
68723         (Include): Include <unistd.h>, not "lchown.h".
68724         * modules/unistd (unistd.h): Substitude GNULIB_LCHOWN and
68725         REPLACE_LCHOWN.
68726
68727 2007-06-15  Jim Meyering  <jim@meyering.net>
68728
68729         Change license (GPL to LGPL) of fsusage and dependents.
68730         * modules/fsusage (License): Change to LGPL.
68731         * modules/full-read (License): Likewise.
68732         * modules/full-write (License): Likewise.
68733         * modules/safe-read (License): Likewise.
68734         * modules/safe-write (License): Likewise.
68735
68736 2007-06-14  Ben Pfaff  <blp@gnu.org>
68737
68738         Missing part of allocsa -> malloca transition.
68739         * modules/relocatable-prog-wrapper: gl_ALLOCSA should be
68740         gl_MALLOCA.
68741
68742 2007-06-12  Bruno Haible  <bruno@clisp.org>
68743
68744         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Guess no when cross-compiling
68745         to ia64, x86_64, i386.
68746         Reported by Eric Blake.
68747
68748 2007-06-12  Bruno Haible  <bruno@clisp.org>
68749
68750         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Guess no also when
68751         cross-compiling to x86_64.
68752
68753 2007-06-12  Paul Eggert  <eggert@cs.ucla.edu>
68754
68755         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Fix POSIX sed portability
68756         glitch reported by Ralf Wildenhues in
68757         <http://lists.gnu.org/archive/html/bug-gnulib/2007-06/msg00114.html>.
68758
68759         * m4/regex.m4 (gl_REGEX): Catch a bug with [[:alnum:]_-] reported by
68760         Vin Shelton.
68761
68762 2007-06-11  Bruno Haible  <bruno@clisp.org>
68763
68764         * lib/printf-args.c (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Fix NULL
68765         replacement string.
68766         Reported by Eric Blake.
68767
68768 2007-06-10  Bruno Haible  <bruno@clisp.org>
68769
68770         Prepare vasnprintf code for use with Unicode strings.
68771         * lib/printf-args.h (PRINTF_FETCHARGS): New macro.
68772         (arg_type) [ENABLE_UNISTDIO]: Define TYPE_U8_STRING, TYPE_U16_STRING,
68773         TYPE_U32_STRING.
68774         (argument) [ENABLE_UNISTDIO]: Add a_u8_string, a_u16_string,
68775         a_u32_string variants.
68776         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68777         * lib/printf-args.c: Don't include config.h and the specification
68778         header if PRINTF_FETCHARGS is already defined.
68779         (PRINTF_FETCHARGS): Renamed from printf_fetchargs.
68780         (PRINTF_FETCHARGS) [ENABLE_UNISTDIO]: Add code for TYPE_U8_STRING,
68781         TYPE_U16_STRING, TYPE_U32_STRING.
68782         * lib/printf-parse.h [ENABLE_UNISTDIO] (u8_directive, u8_directives,
68783         u16_directive, u16_directives, u32_directive, u32_directives): New
68784         types.
68785         (ulc_printf_parse, u8_printf_parse, u16_printf_parse, u32_printf_parse):
68786         New declarations.
68787         * lib/printf-parse.c: Don't include config.h and the specification
68788         header if PRINTF_PARSE is already defined. Eliminate the set of
68789         parameters for WIDE_CHAR_VERSION; the user of this file must provide
68790         them now. Include c-ctype.h.
68791         (PRINTF_PARSE) [ENABLE_UNISTDIO]: Add code implementing the 'U'
68792         directive and CHAR_T_ONLY_ASCII.
68793         * lib/vasnprintf.c: Don't include config.h and the specification header
68794         if VASNPRINTF is already defined.
68795         (DCHAR_IS_TCHAR, DCHAR_CPY): New macros.
68796         (VASNPRINTF): Use PRINTF_FETCHARGS instead of printf_fetchargs. Use
68797         DCHAR_CPY. Handle the case that DCHAR_T and FCHAR_T are not the same
68798         type. Handle the case that TCHAR_T and FCHAR_T are not of the same
68799         size. Handle the case that DCHAR_T and TCHAR_T are not the same type,
68800         add a conversion from TCHAR_T[] to DCHAR_T[], and rework the padding
68801         code accordingly.
68802         (VASNPRINTF) [ENABLE_UNISTDIO]: Implement the 'U' directive. Enable
68803         pad_ourselves also in this case, with the 'c' and 's' directives, and
68804         with a different notion of "width".
68805         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_WITH_EXTRAS): New macros.
68806
68807 2007-06-10  Bruno Haible  <bruno@clisp.org>
68808
68809         * modules/unistr/u32-mbsnlen: New file.
68810         * lib/unistr/u32-mbsnlen.c: New file.
68811
68812         * modules/unistr/u16-mbsnlen: New file.
68813         * lib/unistr/u16-mbsnlen.c: New file.
68814
68815         * modules/unistr/u8-mbsnlen: New file.
68816         * lib/unistr/u8-mbsnlen.c: New file.
68817
68818         * lib/unistr.h (u8_mbsnlen, u16_mbsnlen, u32_mbsnlen): New
68819         declarations.
68820
68821 2007-06-10  Bruno Haible  <bruno@clisp.org>
68822
68823         * lib/string_.h (mbsnlen): New declaration.
68824         * lib/mbsnlen.c: New file.
68825         * m4/mbsnlen.m4: New file.
68826         * modules/mbsnlen: New file.
68827         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Set GNULIB_MBSNLEN.
68828         * modules/string (string.h): Substitute GNULIB_MBSNLEN.
68829         * MODULES.html.sh (Internationalization functions): Add mbsnlen.
68830
68831 2007-06-10  Bruno Haible  <bruno@clisp.org>
68832
68833         * lib/mbslen.c: Include <stdlib.h>, needed for MB_CUR_MAX.
68834
68835 2007-06-10  Bruno Haible  <bruno@clisp.org>
68836
68837         * lib/mbiter.h: Include <stddef.h>, needed for ptrdiff_t.
68838         * lib/mbuiter.h: Likewise.
68839
68840 2007-06-10  Bruno Haible  <bruno@clisp.org>
68841
68842         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Check for _snprintf
68843         declaration.
68844
68845 2007-06-10  Karl Berry  <karl@gnu.org>
68846
68847         * config/srclist.txt: remove gettext entries, Bruno prefers
68848         to update individually.
68849
68850 2007-06-10  Bruno Haible  <bruno@clisp.org>
68851
68852         * lib/vasnprintf.c (VASNPRINTF) [!USE_SNPRINTF]: Remove variable
68853         'maxlen'. Ensure only length + width bytes are allocated, not
68854         length + 1 + width.
68855
68856 2007-06-09  Bruno Haible  <bruno@clisp.org>
68857
68858         * lib/vasnprintf.c (FCHAR_T, DCHAR_T, TCHAR_T): New macros.
68859         (CHAR_T): Remove macro.
68860         (VASNPRINTF): Update.
68861
68862 2007-06-09  Bruno Haible  <bruno@clisp.org>
68863
68864         * MODULES.html.sh (Unicode string functions): Add the new modules.
68865
68866         * modules/uniconv/u32-conv-to-enc: New file.
68867         * lib/uniconv/u32-conv-to-enc.c: New file.
68868         * modules/uniconv/u32-conv-to-enc-tests: New file.
68869         * tests/uniconv/test-u32-conv-to-enc.c: New file.
68870
68871         * modules/uniconv/u16-conv-to-enc: New file.
68872         * lib/uniconv/u16-conv-to-enc.c: New file.
68873         * lib/uniconv/u-conv-to-enc.h: New file.
68874         * modules/uniconv/u16-conv-to-enc-tests: New file.
68875         * tests/uniconv/test-u16-conv-to-enc.c: New file.
68876
68877         * modules/uniconv/u8-conv-to-enc: New file.
68878         * lib/uniconv/u8-conv-to-enc.c: New file.
68879         * modules/uniconv/u8-conv-to-enc-tests: New file.
68880         * tests/uniconv/test-u8-conv-to-enc.c: New file.
68881
68882         * lib/uniconv.h (u8_conv_to_encoding, u16_conv_to_encoding,
68883         u32_conv_to_encoding): New declarations.
68884
68885 2007-06-09  Bruno Haible  <bruno@clisp.org>
68886
68887         * tests/uniconv/test-u32-strconv-to-enc.c (main): Remove unused code.
68888
68889 2007-06-09  Bruno Haible  <bruno@clisp.org>
68890
68891         Rename 'allocsa' -> 'malloca', 'freesa' -> 'freea'.
68892         * modules/malloca: Renamed from modules/allocsa, updated.
68893         * lib/malloca.h: Renamed from lib/allocsa.h, updated.
68894         * lib/malloca.c: Renamed from lib/allocsa.c, updated.
68895         * lib/malloca.valgrind: Renamed from lib/allocsa.valgrind, updated.
68896         * m4/malloca.m4: Renamed from m4/allocsa.m4, updated.
68897         * modules/malloca-tests: Renamed from modules/allocsa-tests, updated.
68898         * tests/test-malloca.c: Renamed from tests/test-allocsa.c, updated.
68899         * modules/xmalloca: Renamed from modules/xallocsa, updated.
68900         * lib/xmalloca.h: Renamed from lib/xallocsa.h, updated.
68901         * lib/xmalloca.c: Renamed from lib/xallocsa.c, updated.
68902         * modules/c-strcasestr (Depends-on): Update.
68903         * lib/c-strcasestr.c: Update.
68904         * modules/c-strstr (Depends-on): Update.
68905         * lib/c-strstr.c: Update.
68906         * modules/canonicalize-lgpl (Depends-on): Update.
68907         * lib/canonicalize-lgpl.c: Update.
68908         * modules/clean-temp (Depends-on): Update.
68909         * lib/clean-temp.c: Update.
68910         * modules/csharpcomp (Depends-on): Update.
68911         * lib/csharpcomp.c: Update.
68912         * modules/csharpexec (Depends-on): Update.
68913         * lib/csharpexec.c: Update.
68914         * modules/javacomp (Depends-on): Update.
68915         * lib/javacomp.c: Update.
68916         * modules/javaexec (Depends-on): Update.
68917         * lib/javaexec.c: Update.
68918         * modules/mbscasestr (Depends-on): Update.
68919         * lib/mbscasestr.c: Update.
68920         * modules/mbsstr (Depends-on): Update.
68921         * lib/mbsstr.c: Update.
68922         * modules/setenv (Depends-on): Update.
68923         * lib/setenv.c: Update.
68924         * modules/strcasestr (Depends-on): Update.
68925         * lib/strcasestr.c: Update.
68926         * modules/striconveha (Depends-on): Update.
68927         * lib/striconveha.c: Update.
68928         * modules/relocatable-prog-wrapper (Files): Update.
68929         * lib/relocwrapper.c: Update.
68930         * build-aux/install-reloc: Update.
68931         * MODULES.html.sh (Memory management functions <stdlib.h>): Update.
68932
68933 2007-06-08  Bruno Haible  <bruno@clisp.org>
68934
68935         Port to uClibc.
68936         * lib/fbufmode.c (fbufmode): Add special code for uClibc.
68937         * lib/fpurge.c (fpurge): Likewise.
68938         * lib/freading.c (freading): Likewise.
68939         * lib/fseeko.c (rpl_fseeko): Likewise.
68940         * lib/fseterr.c (fseterr): Likewise.
68941         * lib/fwriting.c (fwriting): Likewise.
68942         * tests/test-fflush.c (main): Avoid a failure on uClibc.
68943
68944 2007-06-08  Bruno Haible  <bruno@clisp.org>
68945
68946         * m4/intlmacosx.m4: New file, extracted from gettext.m4.
68947         * m4/gettext.m4 (gt_INTL_MACOSX): Remove macro, moved to intlmacosx.m4.
68948         * modules/gettext (Files): Add m4/intlmacosx.m4.
68949
68950 2007-06-07  Bruno Haible  <bruno@clisp.org>
68951
68952         * modules/localename-tests: New file.
68953         * tests/test-localename.c: New file.
68954
68955         New module 'localename'.
68956         * lib/localename.h: New file.
68957         * lib/localename.c: New file, from GNU gettext.
68958         * m4/localename.m4: New file.
68959         * modules/localename: New file.
68960
68961 2007-06-07  Bruno Haible  <bruno@clisp.org>
68962
68963         Work around the lack of <wchar.h> on some builds of uClibc.
68964         * doc/headers/wchar.texi: Update.
68965         * lib/wchar_.h: Include <wchar.h> only if it exists.
68966         * m4/wchar.m4 (gl_WCHAR_H): Check for <wchar.h>. Set HAVE_WCHAR_H.
68967         * m4/stdint.m4 (gl_STDINT_H): Check for <wchar.h>.
68968         (gl_STDINT_TYPE_PROPERTIES): Don't try to include <wchar.h> if it
68969         doesn't exist.
68970         * modules/wchar (wchar.h): Substitute HAVE_WCHAR_H.
68971         * modules/mbfile (Depends-on): Add wchar.
68972         * modules/mbiter (Depends-on): Likewise.
68973         * modules/mbuiter (Depends-on): Likewise.
68974         Reported by Simon Josefsson.
68975
68976 2007-06-06  Paul Eggert  <eggert@cs.ucla.edu>
68977
68978         Work around problem reported by Steven M. Schweda in
68979         <http://lists.gnu.org/archive/html/bug-tar/2007-06/msg00002.html>:
68980         Tru64 5.1B with the Compaq compiler environment installed declares
68981         an 'isblank' function but does not define it in the C library.
68982         * lib/fnmatch.c (isblank): Check for HAVE_ISBLANK, too.
68983         * lib/regex_internal.h (isblank): Likewise.
68984         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for isblank existence.
68985         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
68986
68987 2007-06-05  Bruno Haible  <bruno@clisp.org>
68988
68989         Fix *printf so that it recognizes non-IEEE numbers on i386, x86_64,
68990         ia64.
68991         * modules/printf-safe: New file.
68992         * modules/fprintf-posix (Depends-on): Add printf-safe.
68993         * modules/printf-posix (Depends-on): Likewise.
68994         * modules/snprintf-posix (Depends-on): Likewise.
68995         * modules/sprintf-posix (Depends-on): Likewise.
68996         * modules/vasnprintf-posix (Depends-on): Likewise.
68997         * modules/vasprintf-posix (Depends-on): Likewise.
68998         * modules/vfprintf-posix (Depends-on): Likewise.
68999         * modules/vprintf-posix (Depends-on): Likewise.
69000         * modules/vsnprintf-posix (Depends-on): Likewise.
69001         * modules/vsprintf-posix (Depends-on): Likewise.
69002         * m4/printf.m4 (gl_PRINTF_INFINITE_LONG_DOUBLE): Require
69003         AC_C_BIGENDIAN. Define CHECK_PRINTF_SAFE if printf-safe is used. Test
69004         non-IEEE numbers on i386, x86_64, ia64. When cross-compiling, guess
69005         "no" on i386, x86_64, ia64.
69006         * tests/test-snprintf-posix.h (LDBL80_WORDS): New macro.
69007         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69008         on i386, x86_64, ia64.
69009         * tests/test-sprintf-posix.h (LDBL80_WORDS): New macro.
69010         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69011         on i386, x86_64, ia64.
69012         * tests/test-vasnprintf-posix.c: Include float.h.
69013         (LDBL80_WORDS): New macro.
69014         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69015         on i386, x86_64, ia64.
69016         * tests/test-vasprintf-posix.c: Include float.h.
69017         (LDBL80_WORDS): New macro.
69018         (test_function): Check result of %La, %Lf, %Le, %Lg on non-IEEE numbers
69019         on i386, x86_64, ia64.
69020         * tests/test-snprintf-posix.c: Include float.h.
69021         * tests/test-sprintf-posix.c: Likewise.
69022         * tests/test-vsnprintf-posix.c: Likewise.
69023         * tests/test-vsprintf-posix.c: Likewise.
69024
69025 2007-06-05  Bruno Haible  <bruno@clisp.org>
69026
69027         Fix isnanl so that it recognizes non-IEEE numbers on i386, x86_64, ia64.
69028         * m4/isnanl.m4 (gl_FUNC_ISNANL_WORKS): Require AC_C_BIGENDIAN. Test
69029         non-IEEE numbers on i386, x86_64, ia64.
69030         (gl_LONG_DOUBLE_EXPONENT_LOCATION): Require AC_C_BIGENDIAN.
69031         * lib/isnan.c (FUNC): Add special code for i386, x86_64, ia64.
69032         * tests/test-isnanl.h: Include float.h.
69033         (main): Check also non-IEEE numbers on i386, x86_64, ia64.
69034
69035 2007-06-05  Bruno Haible  <bruno@clisp.org>
69036
69037         * lib/vasnprintf.c (VASNPRINTF): Do the extra handling of NaN and Inf
69038         also the %a / %A. Handle the %a / %A code before this extra handling.
69039
69040 2007-06-05  Bruno Haible  <bruno@clisp.org>
69041
69042         * lib/vasnprintf.c [NEED_PRINTF_LONG_DOUBLE ||
69043         NEED_PRINTF_INFINITE_LONG_DOUBLE]: Include fpucw.h.
69044
69045 2007-06-05  Bruno Haible  <bruno@clisp.org>
69046
69047         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): Fix
69048         typo in variable name.
69049
69050 2007-06-05  Eric Blake  <ebb9@byu.net>
69051
69052         * m4/lseek.m4 (gl_FUNC_LSEEK): Work when cross-compiling.
69053         Reported by Simon Josefsson.
69054
69055 2007-06-04  Bruno Haible  <bruno@clisp.org>
69056
69057         Avoid test failures on some PowerPC platforms.
69058         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP):
69059         Define differently for PowerPC.
69060         * tests/test-frexpl.c (MIN_NORMAL_EXP): Likewise.
69061         Reported by Gary V. Vaughan <gary@gnu.org>.
69062
69063 2007-06-02  Bruno Haible  <bruno@clisp.org>
69064
69065         Fix test-stdint failure on FreeBSD/ia64.
69066         * m4/stdint.m4 (gl_STDINT_H): Check the values of PTRDIFF_MIN,
69067         PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN,
69068         WCHAR_MAX, WINT_MIN, WINT_MAX entirely, not only for plausibility.
69069         * doc/headers/stdint.texi: Update.
69070
69071 2007-06-01  Bruno Haible  <bruno@clisp.org>
69072
69073         * tests/test-binary-io.c (main): Pass a third argument to open().
69074         Reported by Gary V. Vaughan <gary@gnu.org>.
69075
69076 2007-06-01  Bruno Haible  <bruno@clisp.org>
69077
69078         * doc/functions/frexpl.texi: Update for mingw.
69079
69080 2007-06-01  Bruno Haible  <bruno@clisp.org>
69081
69082         * tests/test-lseek.c (main): Disable test of errno for invalid third
69083         argument.
69084         * doc/functions/lseek.texi: Update.
69085         Reported by Gary V. Vaughan <gary@gnu.org>.
69086
69087 2007-05-28  Bruno Haible  <bruno@clisp.org>
69088
69089         * m4/intl.m4 (AM_INTL_SUBDIR): Substitute variables WOE32, WINDRES.
69090
69091 2007-05-31  Eric Blake  <ebb9@byu.net>
69092
69093         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Guess no on mingw when
69094         cross compiling.
69095
69096 2007-05-30  Eric Blake  <ebb9@byu.net>
69097         and Bruno Haible  <bruno@clisp.org>
69098
69099         Work around mingw test failures exposed by m4-1.4.9b.
69100         * m4/stdint.m4 (gl_STDINT_H): Detect mingw bug.
69101         * tests/test-unistd.c: Disable uid_t and git_t tests for the
69102         moment.
69103
69104 2007-05-30  Bruno Haible  <bruno@clisp.org>
69105
69106         * tests/test-lseek.c: Explicitly close file descriptors 0 and 1 before
69107         assuming that they are closed. Needed on HP-UX 11.
69108
69109 2007-05-29  Bruno Haible  <bruno@clisp.org>
69110
69111         Fix a problem with #include_next.
69112         * lib/dirent_.h: Split the double-inclusion guard.
69113         * lib/fcntl_.h: Likewise.
69114         * lib/float_.h: Likewise.
69115         * lib/iconv_.h: Likewise.
69116         * lib/inttypes_.h: Likewise.
69117         * lib/locale_.h: Likewise.
69118         * lib/math_.h: Likewise.
69119         * lib/netinet_in_.h: Likewise.
69120         * lib/search_.h: Likewise.
69121         * lib/signal_.h: Likewise.
69122         * lib/stdint_.h: Likewise.
69123         * lib/stdio_.h: Likewise.
69124         * lib/stdlib_.h: Likewise.
69125         * lib/string_.h: Likewise.
69126         * lib/sys_select_.h: Likewise.
69127         * lib/sys_socket_.h: Likewise.
69128         * lib/sys_stat_.h: Likewise.
69129         * lib/sys_time_.h: Likewise.
69130         * lib/sysexits_.h: Likewise.
69131         * lib/time_.h: Likewise.
69132         * lib/unistd_.h: Likewise.
69133         * lib/wchar_.h: Likewise.
69134         * lib/wctype_.h: Likewise.
69135
69136 2007-05-29  Bruno Haible  <bruno@clisp.org>
69137
69138         * tests/test-unistd.c: Disable the tests for useconds_t and intptr_t
69139         for the moment.
69140
69141 2007-05-29  Bruno Haible  <bruno@clisp.org>
69142
69143         * m4/isnan.m4 (gl_DOUBLE_EXPONENT_LOCATION): Silence the AC_C_BIGENDIAN
69144         invocation.
69145         Reported by Eric Blake.
69146
69147 2007-05-29  Bruno Haible  <bruno@clisp.org>
69148
69149         * m4/isnanf.m4 (gl_FLOAT_EXPONENT_LOCATION): Fix typo in cross-
69150         compiling case.
69151
69152 2007-05-29  Eric Blake  <ebb9@byu.net>
69153             Bruno Haible  <bruno@clisp.org>
69154
69155         * m4/isnanf.m4 (gl_FUNC_ISNANF_NO_LIBM): Avoid syntax error on
69156         cross compiles.
69157
69158 2007-05-28  Eric Blake  <ebb9@byu.net>
69159
69160         * modules/closein-tests (test_closein_LDADD): Support test on
69161         cygwin with libtool.
69162
69163 2007-05-28  Bruno Haible  <bruno@clisp.org>
69164
69165         * tests/uniconv/test-u16-conv-from-enc.c: Remove #ifdef HAVE_CONFIG_H.
69166         * tests/uniconv/test-u16-strconv-from-enc.c: Likewise.
69167         * tests/uniconv/test-u16-strconv-to-enc.c: Likewise.
69168         * tests/uniconv/test-u32-conv-from-enc.c: Likewise.
69169         * tests/uniconv/test-u32-strconv-from-enc.c: Likewise.
69170         * tests/uniconv/test-u32-strconv-to-enc.c: Likewise.
69171         * tests/uniconv/test-u8-conv-from-enc.c: Likewise.
69172         * tests/uniconv/test-u8-strconv-from-enc.c: Likewise.
69173         * tests/uniconv/test-u8-strconv-to-enc.c: Likewise.
69174
69175 2007-05-28  Eric Blake  <ebb9@byu.net>
69176
69177         Unconditionally include <config.h> in unit tests.
69178         * tests/test-alloca-opt.c: Remove #ifdef HAVE_CONFIG_H.
69179         * tests/test-allocsa.c, tests/test-arcfour.c,
69180         tests/test-arctwo.c, tests/test-argmatch.c, tests/test-argp.c,
69181         tests/test-array_list.c, tests/test-array_oset.c,
69182         tests/test-atexit.c, test-avltree_list.c, test-avltree_oset.c,
69183         test-avltreehash_list.c, test-base64.c, test-binary-io.c,
69184         test-c-ctype.c, test-c-strcasecmp.c, test-c-strcasestr.c,
69185         test-c-strncasecmp.c, test-c-strstr.c, test-canonicalize-lgpl.c,
69186         test-carray_list.c, test-crc.c, test-des.c, test-dirname.c,
69187         test-fflush.c, test-fprintf-posix.c, test-gc-arcfour.c,
69188         test-gc-arctwo.c, test-gc-des.c, test-gc-hmac-md5.c,
69189         test-gc-hmac-sha1.c, test-gc-md2.c, test-gc-md4.c, test-gc-md5.c,
69190         test-gc-pbkdf2-sha1.c, test-gc-rijndael.c, test-gc-sha1.c,
69191         test-gc.c, test-getpass.c, test-hmac-md5.c, test-hmac-sha1.c,
69192         test-iconv.c, test-linked_list.c, test-linkedhash_list.c,
69193         test-lock.c, test-mbscasecmp.c, test-mbscasestr1.c,
69194         test-mbscasestr2.c, test-mbscasestr3.c, test-mbscasestr4.c,
69195         test-mbschr.c, test-mbscspn.c, test-mbsncasecmp.c, test-mbspbrk.c,
69196         test-mbspcasecmp.c, test-mbsrchr.c, test-mbsspn.c, test-mbsstr1.c,
69197         test-mbsstr2.c, test-mbsstr3.c, test-md2.c, test-md4.c,
69198         test-md5.c, test-memmem.c, test-printf-posix.c,
69199         test-rbtree_list.c, test-rbtree_oset.c, test-rbtreehash_list.c,
69200         test-read-file.c, test-rijndael.c, test-snprintf-posix.c,
69201         test-snprintf.c, test-sprintf-posix.c, test-stdint.c,
69202         test-strcasestr.c, test-striconv.c, test-striconveh.c,
69203         test-striconveha.c, test-tls.c, test-vasnprintf-posix.c,
69204         test-vasnprintf-posix2.c, test-vasnprintf.c,
69205         test-vasprintf-posix.c, test-vasprintf.c, test-verify.c,
69206         test-vfprintf-posix.c, test-vprintf-posix.c,
69207         test-vsnprintf-posix.c, test-vsnprintf.c, test-vsprintf-posix.c,
69208         test-xvasprintf.c: Likewise.
69209
69210 2007-05-28  Bruno Haible  <bruno@clisp.org>
69211
69212         * gnulib-tool (func_import): Remember the --with-tests command-line
69213         option through the macro gl_WITH_TESTS in the gnulib-cache.m4.
69214         Reported by Eric Blake.
69215
69216 2007-05-28  Bruno Haible  <bruno@clisp.org>
69217
69218         * modules/ftell-tests: New file.
69219         * tests/test-ftell.c: New file, based on tests/test-ftello.c.
69220         * tests/test-ftell.sh: New file, based on tests/test-ftello.sh.
69221
69222         * lib/ftell.c: New file.
69223         * modules/ftell: New file.
69224         * m4/ftell.m4: New file.
69225         * doc/functions/ftell.texi: Update.
69226         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELL,
69227         REPLACE_FTELL.
69228         * lib/stdio_.h (rpl_ftell): New declaration.
69229         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELL,
69230         REPLACE_FTELL.
69231
69232 2007-05-28  Eric Blake  <ebb9@byu.net>
69233
69234         * lib/allocsa.h (safe_alloca): Avoid compiler warning.
69235
69236 2007-05-28  Bruno Haible  <bruno@clisp.org>
69237
69238         * modules/fseek-tests: New file.
69239         * tests/test-fseek.c: New file, based on tests/test-fseeko.c.
69240         * tests/test-fseek.sh: New file, based on tests/test-fseeko.sh.
69241
69242         * lib/fseek.c: New file.
69243         * modules/fseek: New file.
69244         * m4/fseek.m4: New file.
69245         * doc/functions/fseek.texi: Update.
69246         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEK,
69247         REPLACE_FSEEK.
69248         * lib/stdio_.h (rpl_fseek): New declaration.
69249         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEK,
69250         REPLACE_FSEEK.
69251
69252 2007-05-28  Bruno Haible  <bruno@clisp.org>
69253
69254         * lib/stdio_.h (fflush): More comments.
69255
69256 2007-05-28  Bruno Haible  <bruno@clisp.org>
69257
69258         * m4/lseek.m4 (gl_FUNC_LSEEK): When not cross-compiling, perform a real
69259         runtime test.
69260
69261 2007-05-28  Eric Blake  <ebb9@byu.net>
69262
69263         Improve lseek module.
69264         * lib/lseek.c (rpl_lseek): Detect EBADF on mingw.
69265         * lib/unistd_.h (lseek): Scale back link warning message.
69266         * tests/test-lseek.c: Beef up test.
69267         * tests/test-lseek.sh: Exercise more facets of lseek.
69268         Reported by Bruno Haible.
69269
69270 2007-05-28  Bruno Haible  <bruno@clisp.org>
69271
69272         * tests/test-unistd.c: Test all the types that <unistd.h> is expected
69273         to define.
69274
69275 2007-05-27  Bruno Haible  <bruno@clisp.org>
69276
69277         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-31 patch.
69278
69279 2007-05-27  Bruno Haible  <bruno@clisp.org>
69280
69281         * modules/openmp: New file.
69282         * m4/openmp.m4: New file, taken from autoconf's CVS with changes by
69283         Noah Misch.
69284
69285 2007-05-26  Bruno Haible  <bruno@clisp.org>
69286
69287         * modules/chdir-long (Depends-on): Add fchdir.
69288         * modules/chdir-safer (Depends-on): Likewise.
69289         * modules/fts (Depends-on): Likewise.
69290         * modules/fts-lgpl (Depends-on): Likewise.
69291         * modules/openat (Depends-on): Likewise.
69292         * modules/savewd (Depends-on): Likewise.
69293
69294 2007-05-24  Eric Blake  <ebb9@byu.net>
69295
69296         Fix lseek on mingw.
69297         * modules/lseek: New module.
69298         * m4/lseek.m4: New file.
69299         * lib/lseek.c: New file.
69300         * modules/lseek-tests: New file.
69301         * tests/test-lseek.c: New file.
69302         * tests/test-lseek.sh: New file.
69303         * MODULES.html.sh: Document lseek module.
69304         * modules/fflush (Depends-on): Add lseek, fseeko.
69305         * modules/fseeko (Depends-on): Likewise.
69306         * modules/ftello (Depends-on): Likewise.
69307         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Replace fseek[o] if lseek is
69308         broken.
69309         * m4/ftello.m4 (gl_FUNC_FTELLO): Replace ftell[o] if lseek is
69310         broken.
69311         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Trigger fseeko module.
69312         * lib/fseeko.c (rpl_fseeko): Quit early on non-seekable files.
69313         * lib/ftello.c (rpl_ftello): Likewise.
69314         * tests/test-fseeko.c (main): Test this.
69315         * tests/test-fseeko.sh: Likewise.
69316         * tests/test-ftello.c (main): Likewise.
69317         * tests/test-ftello.sh: Likewise.
69318         * lib/stdio_.h (fseek, ftell): Simplify, since missing fseeko now
69319         implies replacing fseek.
69320         * modules/stdio (Makefile.am): No longer need HAVE_FSEEKO,
69321         HAVE_FTELLO.
69322         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Add lseek info.
69323         * modules/unistd (Makefile.am): Likewise.
69324         * lib/unistd_.h (lseek): Declare a replacement.
69325         * doc/functions/lseek.texi (lseek): Document this fix.
69326         * doc/functions/fseek.texi (fseek): Likewise.
69327         * doc/functions/ftell.texi (ftell): Likewise.
69328
69329 2007-05-24  Bruno Haible  <bruno@clisp.org>
69330
69331         * tests/test-vasnprintf-posix.c (test_function): Allow up to 50 bytes
69332         in the printed representation of a NaN.
69333         * tests/test-vasprintf-posix.c (test_function): Likewise.
69334         * tests/test-snprintf-posix.h (test_function): Likewise.
69335         * tests/test-sprintf-posix.h (test_function): Likewise.
69336         Reported by Eric Blake.
69337
69338 2007-05-23  Eric Blake  <ebb9@byu.net>
69339
69340         Fix fseeko/ftello on cygwin 1.5.24.
69341         * doc/functions/fseeko.texi (fseeko): Document the fix.
69342         * doc/functions/ftello.texi (ftello): Document the fix.
69343         * doc/functions/stdin.texi (stdin): Document the cygwin bug.
69344         * doc/functions/stdout.text (stdout): New file.
69345         * doc/functions/stderr.text (stderr): New file.
69346         * doc/gnulib.texi (Function Substitutes): Use new files.
69347         * tests/test-fseeko.c (main): Check for broken fseeko on cygwin
69348         prior to 1.7.0.
69349         * tests/test-ftello.c (main): Likewise for ftello.
69350         * tests/test-fseeko.sh: New file.
69351         * tests/test-ftello.sh: New file.
69352         * modules/fseeko-tests (Makefile.am): Ensure test-fseeko is run
69353         with seekable stdin.
69354         * modules/ftello-tests (Makefile.am): Likewise for test-ftello.
69355         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Detect the cygwin bug.
69356         (gl_REPLACE_FSEEKO): New macro.
69357         * m4/ftello.m4 (gl_FUNC_FTELLO, gl_REPLACE_FTELLO): Likewise.
69358         * modules/fseeko (Files): Distribute fseeko.c.
69359         * modules/ftello (Files): Distribute ftello.c.
69360         * lib/fseeko.c (rpl_fseeko) [__CYGWIN__]: Convert stdin to 64-bit
69361         mode.
69362         * lib/ftello.c (rpl_ftello): New file.
69363         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Allow replacement of
69364         fseeko, ftello.
69365         (gl_STDIN_LARGE_OFFSET): New macro.
69366         * modules/stdio (Makefile.am): Perform the replacement.
69367         * lib/stdio_.h (rpl_fseeko, rpl_ftello): Define when needed.
69368
69369 2007-05-23  Bruno Haible  <bruno@clisp.org>
69370
69371         * lib/stdio_.h (fseeko, ftello): Provide a link warning only if
69372         GNULIB_POSIXCHECK is defined.
69373
69374 2007-05-21  Bruno Haible  <bruno@clisp.org>
69375
69376         * m4/printf.m4 (gl_PRINTF_INFINITE, gl_PRINTF_INFINITE_LONG_DOUBLE):
69377         Check also the output for NaN arguments. When cross-compiling, guess
69378         no on IRIX.
69379         * lib/vasnprintf.c: Update comments.
69380         * tests/test-vasnprintf-posix.c (strisnan): New function.
69381         (test_function): Use it.
69382         * tests/test-vasprintf-posix.c (strisnan): New function.
69383         (test_function): Use it.
69384         * tests/test-snprintf-posix.h (strisnan): New function.
69385         (test_function): Use it.
69386         * tests/test-sprintf-posix.h (strisnan): New function.
69387         (test_function): Use it.
69388         Reported by Eric Blake.
69389
69390 2007-05-20  Bruno Haible  <bruno@clisp.org>
69391
69392         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Add test for large finite
69393         numbers that fails on BeOS.
69394         * doc/functions/frexpl.texi: Update.
69395
69396 2007-05-20  Jim Meyering  <jim@meyering.net>
69397
69398         * NEWS: Mention the incompatible change (s/futimens/gl_futimens/)
69399         forced upon us by glibc-2.6.
69400
69401 2007-05-20  Bruno Haible  <bruno@clisp.org>
69402
69403         Fix *printf result for NaN, Inf on AIX, Solaris, OSF/1.
69404         * m4/printf.m4 (gl_PRINTF_INFINITE): Update cross-compiling guesses.
69405         (gl_PRINTF_INFINITE_LONG_DOUBLE): New macro.
69406         * lib/vasnprintf.c: Use NEED_PRINTF_INFINITE_DOUBLE instead of
69407         NEED_PRINTF_INFINITE.
69408         (is_infinitel): New function.
69409         (VASNPRINTF): Handle NEED_PRINTF_INFINITE_LONG_DOUBLE case.
69410         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE): Renamed from
69411         gl_PREREQ_VASNPRINTF_INFINITE.
69412         (gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE): New macro.
69413         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69414         gl_PRINTF_INFINITE_LONG_DOUBLE and test its result. Invoke
69415         gl_PREREQ_VASNPRINTF_INFINITE_DOUBLE and
69416         gl_PREREQ_VASNPRINTF_INFINITE_LONG_DOUBLE instead of
69417         gl_PREREQ_VASNPRINTF_INFINITE.
69418         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69419         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69420         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69421         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69422         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69423         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69424         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69425         * doc/functions/fprintf.texi: Update.
69426         * doc/functions/printf.texi: Update.
69427         * doc/functions/snprintf.texi: Update.
69428         * doc/functions/sprintf.texi: Update.
69429         * doc/functions/vfprintf.texi: Update.
69430         * doc/functions/vprintf.texi: Update.
69431         * doc/functions/vsnprintf.texi: Update.
69432         * doc/functions/vsprintf.texi: Update.
69433
69434 2007-05-20  Bruno Haible  <bruno@clisp.org>
69435
69436         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): Set REPLACE_FREXPL if frexpl
69437         was not found in libc.
69438         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Likewise.
69439
69440 2007-05-20  Bruno Haible  <bruno@clisp.org>
69441
69442         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69443         printed as "-nan" instead of "nan".
69444         * tests/test-vasprintf-posix.c (test_function): Likewise.
69445         * tests/test-snprintf-posix.h (test_function): Likewise.
69446         * tests/test-sprintf-posix.h (test_function): Likewise.
69447         Needed for HP-UX 11.
69448
69449 2007-05-20  Jim Meyering  <jim@meyering.net>
69450
69451         Fix buggy test for the fchownat-deref bug.
69452         * m4/openat.m4 (gl_FUNC_FCHOWNAT_DEREF_BUG): Create the dangling
69453         symlink required for the run-test.  Without it, this test would
69454         always declare that fchownat doesn't work, and client code would
69455         unnecessarily use the replacement function with fixed libc.
69456         (gl_FUNC_FCHOWNAT): Eliminate a variable that wasn't initialized.
69457         Reported by Greg Schafer.
69458
69459 2007-05-19  Bruno Haible  <bruno@clisp.org>
69460
69461         * m4/isnanf.m4 (gl_ISNANF_WORKS): New macro.
69462         (gl_FUNC_ISNANF_NO_LIBM): Invoke it.
69463         * lib/isnan.c (FUNC): Use run-time expressions for SGI compiler.
69464         Needed for IRIX 6.5 and Solaris 2.5.1.
69465
69466 2007-05-19  Bruno Haible  <bruno@clisp.org>
69467
69468         * tests/test-vasnprintf-posix.c (have_minus_zero): New function.
69469         (test_function): Skip tests involving -0.0 on platforms where
69470         -0.0 = 0.0.
69471         * tests/test-vasprintf-posix.c (have_minus_zero): New function.
69472         (test_function): Skip tests involving -0.0 on platforms where
69473         -0.0 = 0.0.
69474         * tests/test-snprintf-posix.h (have_minus_zero): New function.
69475         (test_function): Skip tests involving -0.0 on platforms where
69476         -0.0 = 0.0.
69477         * tests/test-sprintf-posix.h (have_minus_zero): New function.
69478         (test_function): Skip tests involving -0.0 on platforms where
69479         -0.0 = 0.0.
69480         * tests/test-fprintf-posix.h (test_function): Remove all -0.0 related
69481         tests.
69482         * tests/test-printf-posix.h (test_function): Likewise.
69483         * tests/test-printf-posix.output: Remove all -0.0 related results.
69484         Needed for IRIX 6.5.
69485
69486 2007-05-19  Bruno Haible  <bruno@clisp.org>
69487
69488         * tests/test-vasnprintf-posix.c (test_function): Allow NaN to be
69489         printed as "nan0x7fffffff" instead of "nan".
69490         * tests/test-vasprintf-posix.c (test_function): Likewise.
69491         * tests/test-snprintf-posix.h (test_function): Likewise.
69492         * tests/test-sprintf-posix.h (test_function): Likewise.
69493         * tests/test-fprintf-posix.h (NaN): Remove macro.
69494         (test_function): Remove all NaN related tests.
69495         * tests/test-printf-posix.h (NaN): Remove macro.
69496         (test_function): Remove all NaN related tests.
69497         * tests/test-printf-posix.output: Remove all NaN related results.
69498         Needed for IRIX 6.5.
69499
69500 2007-05-19  Bruno Haible  <bruno@clisp.org>
69501
69502         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Fix C89 syntax error in test code.
69503         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Likewise.
69504
69505 2007-05-19  Bruno Haible  <bruno@clisp.org>
69506
69507         * lib/float_.h: New file.
69508         * m4/float_h.m4: New file.
69509         * modules/float: New file.
69510         * modules/isnanl (Dependencies): Add float.
69511         * modules/isnanl-nolibm (Dependencies): Likewise.
69512         * modules/mathl (Dependencies): Likewise.
69513         * modules/printf-frexpl (Dependencies): Likewise.
69514         * modules/signbit (Dependencies): Likewise.
69515         * modules/vasnprintf (Dependencies): Likewise.
69516         * doc/headers/float.texi: Update.
69517
69518 2007-05-19  Jim Meyering  <jim@meyering.net>
69519
69520         * lib/utimens.c (gl_futimens): Rename from futimens,
69521         now that glibc-2.6 declares futimens.
69522         * lib/utimens.h: Likewise.
69523
69524 2007-05-19  Bruno Haible  <bruno@clisp.org>
69525
69526         Avoid test failures on mingw.
69527         * tests/test-fprintf-posix.sh: Convert CR/LF to LF in output.
69528         * tests/test-printf-posix.sh: Likewise.
69529         * tests/test-vfprintf-posix.sh: Likewise.
69530         * tests/test-vprintf-posix.sh: Likewise.
69531
69532 2007-05-19  Bruno Haible  <bruno@clisp.org>
69533
69534         Fix *printf result for NaN, Inf, -0.0 on mingw.
69535         * m4/printf.m4 (gl_PRINTF_INFINITE): New macro.
69536         * lib/vasnprintf.c: Include math.h and isnan.h.
69537         (is_infinite_or_zero): New function.
69538         (VASNPRINTF): Fix also the handling of infinite or zero 'double'
69539         values in the %f, %F, %e, %E, %g, %G directives.
69540         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_INFINITE): New macro.
69541         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69542         gl_PRINTF_INFINITE and test its result. Invoke
69543         gl_PREREQ_VASNPRINTF_INFINITE.
69544         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69545         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69546         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69547         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69548         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69549         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69550         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69551         * doc/functions/fprintf.texi: Update.
69552         * doc/functions/printf.texi: Update.
69553         * doc/functions/snprintf.texi: Update.
69554         * doc/functions/sprintf.texi: Update.
69555         * doc/functions/vfprintf.texi: Update.
69556         * doc/functions/vprintf.texi: Update.
69557         * doc/functions/vsnprintf.texi: Update.
69558         * doc/functions/vsprintf.texi: Update.
69559
69560 2007-05-19  Bruno Haible  <bruno@clisp.org>
69561
69562         * lib/vasnprintf.c (convert_to_decimal): Add an extra_zeroes argument.
69563         (scale10_round_decimal_long_double): Inline scale10_round_long_double.
69564         Instead of multiplying with 10^k, set extra_zeroes to k.
69565         (scale10_round_long_double): Remove function.
69566
69567 2007-05-18  Bruno Haible  <bruno@clisp.org>
69568
69569         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Fix logic bug
69570         introduced on 2007-05-06.
69571
69572 2007-05-18  Bruno Haible  <bruno@clisp.org>
69573
69574         * tests/test-vasnprintf-posix.c (test_function): Also test the %e and
69575         %g directives.
69576         * tests/test-vasprintf-posix.c (test_function): Likewise.
69577         * tests/test-snprintf-posix.h (test_function): Likewise.
69578         * tests/test-sprintf-posix.h (test_function): Likewise.
69579
69580 2007-05-18  Bruno Haible  <bruno@clisp.org>
69581
69582         * tests/test-vasnprintf-posix.c (SIZEOF): New macro.
69583         (strmatch): New function.
69584         (test_function): Test the %f directive on numbers of various exponents.
69585         * tests/test-vasprintf-posix.c (SIZEOF): New macro.
69586         (strmatch): New function.
69587         (test_function): Test the %f directive on numbers of various exponents.
69588         * tests/test-snprintf-posix.h (strmatch): New function.
69589         (test_function): Test the %f directive on numbers of various exponents.
69590         * tests/test-sprintf-posix.h (strmatch): New function.
69591         (test_function): Test the %f directive on numbers of various exponents.
69592         * tests/test-snprintf-posix.c (SIZEOF): New macro.
69593         * tests/test-sprintf-posix.c (SIZEOF): New macro.
69594         * tests/test-vsnprintf-posix.c (SIZEOF): New macro.
69595         * tests/test-vsprintf-posix.c (SIZEOF): New macro.
69596
69597 2007-05-18  Bruno Haible  <bruno@clisp.org>
69598
69599         Add support for 'long double' number output.
69600         * m4/printf.m4 (gl_PRINTF_LONG_DOUBLE): New macro.
69601         * lib/vasnprintf.c: Include math.h and float+.h.
69602         (mp_limb_t): New type.
69603         (GMP_LIMB_BITS): New macro.
69604         (mp_twolimb_t): New type.
69605         (GMP_TWOLIMB_BITS): New macro.
69606         (mpn_t): New type.
69607         (multiply, divide, convert_to_decimal, decode_long_double,
69608         scale10_round_long_double, scale10_round_decimal_long_double,
69609         floorlog10l): New functions.
69610         (VASNPRINTF) [NEED_PRINTF_LONG_DOUBLE]: Implement 'long double' support
69611         for the %f, %F, %e, %E, %g, %G directives.
69612         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_LONG_DOUBLE): New macro.
69613         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
69614         gl_PRINTF_LONG_DOUBLE and test its result. Invoke
69615         gl_PREREQ_VASNPRINTF_LONG_DOUBLE.
69616         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
69617         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69618         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69619         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69620         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69621         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69622         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69623         * modules/fprintf-posix (Depends-on): Add frexpl-nolibm.
69624         * modules/snprintf-posix (Depends-on): Likewise.
69625         * modules/sprintf-posix (Depends-on): Likewise.
69626         * modules/vasnprintf-posix (Depends-on): Likewise.
69627         * modules/vasprintf-posix (Depends-on): Likewise.
69628         * modules/vfprintf-posix (Depends-on): Likewise.
69629         * modules/vsnprintf-posix (Depends-on): Likewise.
69630         * modules/vsprintf-posix (Depends-on): Likewise.
69631         * modules/vasnprintf (Files): Add lib/float+.h.
69632         * doc/functions/fprintf.texi: Update.
69633         * doc/functions/printf.texi: Update.
69634         * doc/functions/snprintf.texi: Update.
69635         * doc/functions/sprintf.texi: Update.
69636         * doc/functions/vfprintf.texi: Update.
69637         * doc/functions/vprintf.texi: Update.
69638         * doc/functions/vsnprintf.texi: Update.
69639         * doc/functions/vsprintf.texi: Update.
69640
69641 2007-05-18  Bruno Haible  <bruno@clisp.org>
69642
69643         * lib/vasnprintf.c (USE_SNPRINTF): Define to 0 on BeOS.
69644
69645 2007-05-18  Bruno Haible  <bruno@clisp.org>
69646
69647         * lib/vasnprintf.c (VASNPRINTF) [WIN32]: Use %I64d instead of %lld
69648         for printing 64-bit integers. Needed for mingw.
69649
69650 2007-05-18  Bruno Haible  <bruno@clisp.org>
69651
69652         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
69653         gl_FUNC_FREXPL_WORKS.
69654         * modules/printf-frexpl (Files): Add m4/frexpl.m4.
69655
69656 2007-05-18  Bruno Haible  <bruno@clisp.org>
69657
69658         * modules/frexpl-nolibm-tests: New file.
69659
69660         * modules/frexpl-nolibm: New file.
69661         * m4/frexpl.m4 (gl_FUNC_FREXPL_NO_LIBM): New macro.
69662
69663 2007-05-17  Paul Eggert  <eggert@cs.ucla.edu>
69664
69665         * lib/dirent_.h: Prefer #include_next <foo.h> to #include
69666         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69667         GCC 4.2, which otherwise issues a lot of warnings.
69668         * lib/iconv_.h, lib/locale_.h, lib/netinet_in_.h, lib/sys_select_.h:
69669         * lib/sys_socket_.h, lib/sys_stat_.h, lib/sysexits_.h, lib/unistd_.h:
69670         Likewise.
69671         * modules/fchdir (dirent.h): Substitute @HAVE_INCLUDE_NEXT@.
69672         * modules/iconv_open (iconv.h): Likewise.
69673         * modules/locale (locale.h): Likewise.
69674         * modules/netinet_in (netinet/in.h): Likewise.
69675         * modules/sys_select (sys_select.h): Likewise.
69676         * modules/sys_socket (sys/socket.h): Likewise.
69677         * modules/sys_stat (sys/stat.h): Likewise.
69678         * modules/sysexits (sysexits.h): Likewise.
69679         * modules/unistd (unistd.h): Likewise.
69680
69681 2007-05-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
69682
69683         * modules/closein-tests (Makefile.am): Distribute
69684         `test-closein.sh'.
69685
69686 2007-05-17  Bruno Haible  <bruno@clisp.org>
69687
69688         * tests/test-printf-posix.output: Renamed from
69689         tests/test-fprintf-posix.out.
69690         * modules/fprintf-posix-tests: Update.
69691         * modules/printf-posix-tests: Update.
69692         * modules/vfprintf-posix-tests: Update.
69693         * modules/vprintf-posix-tests: Update.
69694         * tests/test-fprintf-posix.sh: Update.
69695         * tests/test-printf-posix.sh: Update.
69696         * tests/test-vfprintf-posix.sh: Update.
69697         * tests/test-vprintf-posix.sh: Update.
69698         Reported by Ralf Wildenhues.
69699
69700 2007-05-16  Paul Eggert  <eggert@cs.ucla.edu>
69701
69702         * lib/fcntl_.h: Prefer #include_next <foo.h> to #include
69703         @ABSOLUTE_FOO_H@ if @HAVE_INCLUDE_NEXT@.  This works better with
69704         GCC 4.2, which otherwise issues a lot of warnings.
69705         * lib/inttypes_.h, lib/math_.h, lib/search_.h, lib/signal_.h:
69706         * lib/stdint_.h, lib/stdio_.h, lib/stdlib_.h, lib/string_.h:
69707         * lib/sys_time_.h, lib/time_.h, lib/wchar_.h, lib/wctype_.h: Likewise.
69708         * lib/stdlib_.h: Don't bother with #pragma GCC system_header, as
69709         it should no longer be needed.
69710         * lib/string_.h: Likewise.
69711         * modules/absolute-header (HAVE_INCLUDE_NEXT): New 'make' define.
69712         * modules/fcntl (fcntl.h): Substitute @HAVE_INCLUDE_NEXT@.
69713         * modules/inttypes (inttypes.h): Likewise.
69714         * modules/math (math.h): Likewise.
69715         * modules/search (search.h): Likewise.
69716         * modules/signal (signal.h): Likewise.
69717         * modules/stdint (stdint.h): Likewise.
69718         * modules/stdio (stdio.h): Likewise.
69719         * modules/stdlib (stdlib.h): Likewise.
69720         * modules/string (string.h): Likewise.
69721         * modules/sys_time (sys/time.h): Likewise.
69722         * modules/time (time.h): Likewise.
69723         * modules/wchar (wchar.h): Likewise.
69724         * modules/wctype (wtype.h): Likewise.
69725
69726 2007-05-16  Thien-Thi Nguyen  <ttn@gnuvola.org>  (tiny change)
69727
69728         * doc/gnulib-tool.texi (CVS Issues): Fix typo.
69729
69730 2007-05-13  Bruno Haible  <bruno@clisp.org>
69731
69732         * stpcpy.m4 (gl_FUNC_STPCPY): Require AC_C_RESTRICT.
69733         * stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
69734         * strsep.m4 (gl_FUNC_STRSEP): Likewise.
69735         * strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
69736         (gl_PREREQ_STRTOK_R): Don't require it here.
69737
69738 2007-05-13  Bruno Haible  <bruno@clisp.org>
69739
69740         * lib/stdlib_.h (mkdtemp, mkstemp): Comment out argument name. Needed
69741         when used in C++ mode.
69742
69743 2007-05-12  Bruno Haible  <bruno@clisp.org>
69744
69745         * lib/linebuffer.h: Tweak doc.
69746         * lib/linebuffer.c: Likewise.
69747
69748 2007-05-12  James Youngman  <jay@gnu.org>
69749
69750         * lib/linebuffer.c (readlinebuffer_delim): New function,
69751         like readlinebuffer, but use a caller-specified delimiter.
69752         (readlinebuffer): Just call readlinebuffer_delim with '\n'
69753         as the delimiter.
69754         * lib/linebuffer.h (readlinebuffer_delim): Declare it.
69755
69756 2007-05-12  Sergey Poznyakoff  <gray@gnu.org.ua>
69757
69758         * m4/openat.m4 (gl_FUNC_OPENAT): Do not require openat-die.
69759         * modules/openat (Files): Remove openat-die.c.
69760         (Depends-on): Add openat-die.
69761         * modules/openat-die: New module.
69762
69763 2007-05-06  Bruno Haible  <bruno@clisp.org>
69764
69765         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING, gl_VSNPRINTF_ZEROSIZE_C99):
69766         Update with info about Cygwin.
69767         * doc/functions/fprintf.texi: Update.
69768         * doc/functions/printf.texi: Update.
69769         * doc/functions/snprintf.texi: Update.
69770         * doc/functions/sprintf.texi: Update.
69771         * doc/functions/vfprintf.texi: Update.
69772         * doc/functions/vprintf.texi: Update.
69773         * doc/functions/vsnprintf.texi: Update.
69774         * doc/functions/vsprintf.texi: Update.
69775         Reported by Eric Blake.
69776
69777 2007-05-06  Bruno Haible  <bruno@clisp.org>
69778
69779         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_ZERO]: Perform the
69780         padding ourselves for the floating-point directives.
69781         * m4/printf.m4 (gl_PRINTF_FLAG_ZERO): New macro.
69782         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_ZERO): New macro.
69783         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69784         gl_PRINTF_FLAG_ZERO and test its result. Invoke
69785         gl_PREREQ_VASNPRINTF_FLAG_ZERO.
69786         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69787         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69788         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69789         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69790         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69791         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69792         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69793         * tests/test-snprintf-posix.h (test_function): Also check the width
69794         and some flags in the %f directive.
69795         * tests/test-sprintf-posix.h (test_function): Likewise.
69796         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69797         * tests/test-vasprintf-posix.c (test_function): Likewise.
69798         * doc/functions/fprintf.texi: Update.
69799         * doc/functions/printf.texi: Update.
69800         * doc/functions/snprintf.texi: Update.
69801         * doc/functions/sprintf.texi: Update.
69802         * doc/functions/vfprintf.texi: Update.
69803         * doc/functions/vprintf.texi: Update.
69804         * doc/functions/vsnprintf.texi: Update.
69805         * doc/functions/vsprintf.texi: Update.
69806
69807 2007-05-06  Bruno Haible  <bruno@clisp.org>
69808
69809         * lib/vasnprintf.c (VASNPRINTF) [NEED_PRINTF_FLAG_GROUPING]: Don't
69810         pass the ' flag character to sprintf or snprintf.
69811         * m4/printf.m4 (gl_PRINTF_FLAG_GROUPING): New macro.
69812         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_FLAG_GROUPING): New macro.
69813         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69814         gl_PRINTF_FLAG_GROUPING and test its result. Invoke
69815         gl_PREREQ_VASNPRINTF_FLAG_GROUPING.
69816         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
69817         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Likewise.
69818         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
69819         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
69820         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
69821         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69822         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
69823         * tests/test-snprintf-posix.h (test_function): Also check the grouping
69824         flag.
69825         * tests/test-sprintf-posix.h (test_function): Likewise.
69826         * tests/test-vasnprintf-posix.c (test_function): Likewise.
69827         * tests/test-vasprintf-posix.c (test_function): Likewise.
69828         * doc/functions/fprintf.texi: Update.
69829         * doc/functions/printf.texi: Update.
69830         * doc/functions/snprintf.texi: Update.
69831         * doc/functions/sprintf.texi: Update.
69832         * doc/functions/vfprintf.texi: Update.
69833         * doc/functions/vprintf.texi: Update.
69834         * doc/functions/vsnprintf.texi: Update.
69835         * doc/functions/vsprintf.texi: Update.
69836
69837 2007-05-01  Bruno Haible  <bruno@clisp.org>
69838
69839         * tests/test-argp-2.sh (func_compare): Drop .exe suffix.
69840
69841 2007-05-03  Paul Eggert  <eggert@cs.ucla.edu>
69842
69843         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Use better
69844         comment for D_INO_IN_DIRENT.  Problem reported by James Youngman.
69845
69846 2007-05-02  Paul Eggert  <eggert@cs.ucla.edu>
69847
69848         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Test whether
69849         readdir returns garbage in d_ino.  Problem reported by Kaz Sasayama in
69850         <http://lists.gnu.org/archive/html/bug-gnulib/2007-05/msg00021.html>.
69851
69852 2007-05-02  Sergey Poznyakoff  <gray@gnu.org.ua>
69853
69854         * lib/argp-help.c (struct hol_entry): New member `ord'.
69855         (HOL_ENTRY_PTRCMP): Use ord for comparison
69856         (hol_sort): Initialize ord.
69857
69858 2007-05-01  Bruno Haible  <bruno@clisp.org>
69859
69860         * doc/functions/_Exit_C99.texi: Renamed from doc/functions/_Exit.texi.
69861         Reported by Eric Blake.
69862         * doc/gnulib.texi (Function Substitutes): Update.
69863
69864 2007-05-01  Bruno Haible  <bruno@clisp.org>
69865
69866         * doc/functions.texi: Remove file, now redundant through
69867         doc/functions/*.texi.
69868
69869 2007-05-01  Bruno Haible  <bruno@clisp.org>
69870
69871         * modules/argp (Depends-on): Add sleep.
69872
69873 2007-05-01  Bruno Haible  <bruno@clisp.org>
69874
69875         * modules/sleep-tests: New file.
69876         * tests/test-sleep.c: New file.
69877
69878         * modules/sleep: New file.
69879         * lib/sleep.c: New file.
69880         * m4/sleep.m4: New file.
69881         * lib/unistd_.h (sleep): New declaration.
69882         * m4/unistd_h.m4 (gl_UNISTD_H_DEFAULTS): Initialize GNULIB_SLEEP,
69883         HAVE_SLEEP.
69884         * modules/unistd (Makefile.am): Substitute GNULIB_SLEEP, HAVE_SLEEP.
69885         * doc/functions/sleep.texi: Document the sleep module.
69886
69887 2007-05-01  Bruno Haible  <bruno@clisp.org>
69888
69889         * lib/sigprocmask.h: Remove file.
69890         * lib/signal_.h: Incorporate the previous contents of sigprocmask.h.
69891         * lib/sigprocmask.c: Include <signal.h> instead of sigprocmask.h.
69892         * m4/signal_h.m4 (gl_SIGNAL_H_DEFAULTS): Substitute GNULIB_SIGPROCMASK,
69893         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T.
69894         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Require
69895         gl_SIGNAL_H_DEFAULTS. Set HAVE_POSIX_SIGNALBLOCKING as a shell variable.
69896         (gl_PREREQ_SIGPROCMASK): Require gl_SIGNAL_H_DEFAULTS. Set
69897         HAVE_SIGSET_T as a shell variable.
69898         * modules/signal (Makefile.am): Substitute GNULIB_SIGPROCMASK,
69899         HAVE_POSIX_SIGNALBLOCKING, HAVE_SIGSET_T into signal.h.
69900         * modules/sigprocmask (Files): Remove lib/sigprocmask.h.
69901         (Depends-on): Add signal. Remove verify.
69902         (configure.ac): Invoke gl_SIGNAL_MODULE_INDICATOR.
69903         (Include): Mention <signal.h> instead of sigprocmask.h.
69904         * NEWS: Mention the change.
69905         * lib/fatal-signal.c: Don't include sigprocmask.h.
69906
69907 2007-05-01  Bruno Haible  <bruno@clisp.org>
69908
69909         * modules/signal: New file.
69910         * lib/signal_.h: New file.
69911         * m4/signal_h.m4: New file.
69912
69913 2007-05-01  Bruno Haible  <bruno@clisp.org>
69914
69915         * lib/wctype_.h: Test HAVE_ISWCNTRL at configure time.
69916         * m4/wctype.m4 (gl_WCTYPE_H): Substitute HAVE_ISWCNTRL.
69917         * modules/wctype (Makefile.am): Substitute HAVE_ISWCNTRL instead of
69918         HAVE_WCTYPE_CTMP_BUG into wctype.h.
69919
69920 2007-05-01  Bruno Haible  <bruno@clisp.org>
69921
69922         * lib/sys_stat_.h: Test HAVE_LSTAT, HAVE_DECL_MKDIR, HAVE_IO_H at
69923         configure time.
69924         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Substitute HAVE_LSTAT,
69925         HAVE_DECL_MKDIR, HAVE_IO_H via AC_SUBST.
69926         * modules/sys_stat (Makefile.am): Substitute their values into
69927         sys/stat.h.
69928
69929 2007-05-01  Bruno Haible  <bruno@clisp.org>
69930
69931         * lib/glob_.h: Test HAVE_SYS_CDEFS_H at configure time.
69932         * m4/glob.m4 (gl_PREREQ_GLOB): Substitute HAVE_SYS_CDEFS_H via AC_SUBST.
69933         * modules/glob (Makefile.am): Put HAVE_SYS_CDEFS_H value into glob.h.
69934
69935 2007-05-01  Bruno Haible  <bruno@clisp.org>
69936
69937         * doc/header/assert.texi: Undo last change: don't mention the gnulib
69938         'assert' module here.
69939
69940 2007-05-01  Bruno Haible  <bruno@clisp.org>
69941
69942         * doc/functions/*.texi: New files.
69943         * doc/functions/google-ranking.txt: New file.
69944         * doc/gnulib.texi (Function Substitutes): New chapter.
69945         (ctime, inet_ntoa): Remove sections.
69946         * doc/ctime.texi: Remove file.
69947         * doc/inet_ntoa.texi: Remove file.
69948         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Update
69949         dependencies.
69950         (%.info): New rule, specifying a --reference-limit.
69951
69952 2007-05-01  Bruno Haible  <bruno@clisp.org>
69953
69954         * MODULES.html.sh (posix_functions): Remove 'exec', 'toc'.
69955
69956 2007-05-01  Bruno Haible  <bruno@clisp.org>
69957
69958         * modules/mkdir (Depends-on): Add sys_stat, because sys_stat provides
69959         the portability of 'mkdir' to mingw systems.
69960
69961 2007-05-01  Bruno Haible  <bruno@clisp.org>
69962
69963         * doc/headers/google-ranking.txt: New file.
69964
69965 2007-04-30  Eric Blake  <ebb9@byu.net>
69966
69967         Prefer fseeko to fseek.
69968         * modules/getpass (Depends-on): Add fseeko.
69969         * lib/getpass.c (getpass): Use fseeko, not fseek.
69970
69971 2007-04-30  Sergey Poznyakoff  <gray@gnu.org.ua>
69972
69973         * lib/argp-help.c (hol_entry_cmp): Option sorting algorithm
69974         assumes the sorting is stable, while most qsort implementations
69975         are not.  Use argument addresses to ensure they never compare as
69976         equal.
69977
69978         * tests/test-argp-2.sh (usage-indent test): Fix output
69979         (func_compare): Restore diff options
69980         * tests/test-argp.c: Restore #include "progname.h"
69981
69982 2007-04-29  Bruno Haible  <bruno@clisp.org>
69983
69984         * m4/printf.m4 (gl_VSNPRINTF_ZEROSIZE_C99): New macro.
69985         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
69986         gl_VSNPRINTF_ZEROSIZE_C99. Test gl_cv_func_vsnprintf_zerosize_c99.
69987         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
69988         * modules/snprintf-posix-tests (Files): Add tests/test-snprintf.c.
69989         (configure.ac): Define CHECK_SNPRINTF_POSIX.
69990         (TESTS, check_PROGRAMS): Add test-snprintf.
69991         * modules/vsnprintf-posix-tests (Files): Add tests/test-vsnprintf.c.
69992         (configure.ac): Define CHECK_VSNPRINTF_POSIX.
69993         (TESTS, check_PROGRAMS): Add test-vsnprintf.
69994         * tests/test-snprintf.c (main) [!CHECK_SNPRINTF_POSIX]: Disable
69995         assertions that fail on HP-UX, OSF/1, or IRIX.
69996         * tests/test-vsnprintf.c (main) [!CHECK_VSNPRINTF_POSIX]: Likewise.
69997
69998 2007-04-29  Bruno Haible  <bruno@clisp.org>
69999
70000         * MODULES.html.sh (posix_functions): Remove 'contents'.
70001
70002 2007-04-29  Karl Berry  <karl@gnu.org>
70003
70004         * config/srclist.txt (gendocs_template_min): new entry.
70005
70006 2007-04-29  Bruno Haible  <bruno@clisp.org>
70007
70008         Work around fpurge bug on BSD systems.
70009         * modules/fpurge (Makefile.am): Compile fpurge.c unconditionally.
70010         * m4/fpurge.m4 (gl_FUNC_FPURGE): Don't invoke AC_LIBOBJ.
70011         * lib/fpurge.h (fpurge): Don't handle __fpurge wrapper here. Define
70012         fpurge to rpl_fpurge if the system already has this function.
70013         * lib/fpurge.c (fpurge): Handle also the __fpurge wrapper case and
70014         the case where the system already has this function. Correct invariants
70015         on BSD systems.
70016         * lib/fseeko.c (rpl_fseeko): Update recognition of preceding fflush on
70017         BSD systems.
70018
70019 2007-04-29  Sergey Poznyakoff  <gray@gnu.org.ua>
70020
70021         * lib/argp-help.c (hol_cluster_cmp): Reverse comparison.  Change
70022         proposed by Sven Verdoolaege.
70023
70024         * tests/test-argp.c: Fix option ordering.  Test deeply clustered
70025         options.
70026         * tests/test-argp-2.sh (func_compare): Use diff instead of cmp.
70027         (usage and help tests): Update
70028
70029 2007-04-29  Bruno Haible  <bruno@clisp.org>
70030
70031         * tests/test-fflush.c (main): Use a file of size 17, not 10.
70032         Print more information in case of failure. Disable a test on BeOS.
70033
70034 2007-04-29  Bruno Haible  <bruno@clisp.org>
70035
70036         * tests/**/test-*.[hc] (ASSERT): Use fprintf to show the line number.
70037         This helps debugging on systems on which no gdb is available.
70038
70039 2007-04-29  Bruno Haible  <bruno@clisp.org>
70040
70041         * lib/freading.h: Improve comments.
70042         * lib/fwriting.h: Likewise.
70043         * tests/test-freading.c (main): Don't check freading immediately after
70044         repositioning. Needed for glibc.
70045
70046 2007-04-29  Bruno Haible  <bruno@clisp.org>
70047
70048         * lib/freading.c (freading): Trivial simplification.
70049
70050 2007-04-28  Bruno Haible  <bruno@clisp.org>
70051
70052         * tests/test-fwriting.c (main): Also test the interaction between
70053         fflush and fwriting.
70054         * modules/fwriting-tests (Depends-on): Add fflush.
70055
70056         * tests/test-freading.c (main): Also test the interaction between
70057         fflush and freading.
70058         * modules/freading-tests (Depends-on): Add fflush.
70059
70060 2007-04-28  Bruno Haible  <bruno@clisp.org>
70061
70062         * lib/stdio_.h (fseek, ftell): Provide link warnings suggesting to use
70063         fseeko and ftello.
70064         Suggested by Eric Blake.
70065
70066 2007-04-28  Jim Meyering  <jim@meyering.net>
70067
70068         Avoid false-negative in gl_STDINT_H's C99 conformance test.
70069         * m4/stdint.m4 (gl_STDINT_H): When checking whether stdint.h conforms
70070         to C99, include all of gl_STDINT_INCLUDES, not just <stddef.h>.
70071
70072 2007-04-27  Eric Blake  <ebb9@byu.net>
70073
70074         * doc/headers/assert.texi (assert.h): Document assert module use.
70075
70076 2007-04-27  Bruno Haible  <bruno@clisp.org>
70077
70078         * doc/headers/*.texi: New files.
70079         * doc/gnulib.texi (Header File Substitutes): New chapter.
70080         * doc/Makefile (gnulib.info, gnulib.html, gnulib.dvi): Specify
70081         dependencies.
70082         (standards.info ,standards.html, standards.dvi): Update dependencies.
70083         (mostlyclean, clean): New targets.
70084
70085 2007-04-27  Bruno Haible  <bruno@clisp.org>
70086
70087         * lib/sysexits_.h: Renamed from lib/sysexit_.h.
70088         * modules/sysexits (Files, Makefile.am): Update.
70089
70090         * lib/sys_socket_.h: Renamed from lib/socket_.h.
70091         * modules/sys_socket (Files, Makefile.am): Update.
70092
70093         * lib/sys_stat_.h: Renamed from lib/stat_.h.
70094         * modules/sys_stat (Files, Makefile.am): Update.
70095
70096 2007-04-27  Eric Blake  <ebb9@byu.net>
70097
70098         * lib/freading.h: Improve comments.
70099         * lib/fwriting.h: Likewise.
70100         * lib/fflush.c: Likewise.
70101
70102         Fix closein for mingw.
70103         * modules/closein-tests: Add tests for closein.
70104         * tests/test-closein.c: New file.
70105         * tests/test-closein.sh: Likewise.
70106         * lib/unistd_.h [!SEEK_CUR]: Mingw also needs stdlib.h for _exit.
70107         * lib/closein.c (close_stdin): Don't fflush non-seekable streams.
70108
70109 2007-04-27  Bruno Haible  <bruno@clisp.org>
70110
70111         * lib/inttypes_.h [_DECC]: Don't use #include_next if the compiler
70112         version is < 6.
70113         * lib/math_.h [__DECC]: Likewise.
70114         * lib/stdio_.h [__DECC]: Likewise.
70115         * lib/stdlib_.h [__DECC]: Likewise.
70116         * lib/string_.h [__DECC]: Likewise.
70117         * lib/time_.h [__DECC]: Likewise.
70118         * lib/wchar_.h [__DECC]: Likewise.
70119         * lib/wctype_.h [__DECC]: Likewise.
70120
70121 2007-04-27  Bruno Haible  <bruno@clisp.org>
70122
70123         * tests/test-fbufmode.c (main): Relax test, to avoid failure on mingw.
70124
70125 2007-04-27  Bruno Haible  <bruno@clisp.org>
70126
70127         * lib/fflush.c: Add comments.
70128         * modules/fpurge-tests (Depends-on): Add fflush.
70129         * modules/freadable-tests (Depends-on): Likewise.
70130         * modules/fwritable-tests (Depends-on): Likewise.
70131
70132 2007-04-27  Charles Wilson  <libtool@cwilson.fastmail.fm>
70133
70134         * m4/argz.m4 (gl_FUNC_ARGZ): Use !HAVE_WORKING_ARGZ instead of
70135         SYSTEM_ARGZ_IS_BROKEN.  Also, minor stylistic improvements.
70136         Report by Bruno Haible <bruno@clisp.org>.
70137
70138 2007-04-26  Eric Blake  <ebb9@byu.net>
70139
70140         Fix fflush on mingw.
70141         * modules/fflush (Depends-on): Add freading.
70142         * lib/fflush.c (rpl_fflush): Use freading to avoid losing buffered
70143         but unread data.
70144
70145 2007-04-26  Eric Blake  <ebb9@byu.net>
70146         and Bruno Haible  <bruno@clisp.org>
70147
70148         Implement freading and fwriting.
70149         * lib/freading.c: New file.
70150         * lib/freading.h: Likewise.
70151         * m4/freading.m4: Likewise.
70152         * modules/freading: Likewise.
70153         * modules/freading-tests: Likewise.
70154         * tests/test-freading.c: Likewise.
70155         * lib/fwriting.c: New file.
70156         * lib/fwriting.h: Likewise.
70157         * m4/fwriting.m4: Likewise.
70158         * modules/fwriting: Likewise.
70159         * modules/fwriting-tests: Likewise.
70160         * tests/test-fwriting.c: Likewise.
70161         * MODULES.html.sh (File stream based Input/Output): Mention them.
70162
70163 2007-04-26  Bruno Haible  <bruno@clisp.org>
70164
70165         * lib/stdio_.h (fseeko, ftello): Check that off_t has the same size as
70166         'long' when we assume it.
70167         Suggested by Eric Blake.
70168
70169 2007-04-26  Bruno Haible  <bruno@clisp.org>
70170
70171         Ensure fseeko, ftello are declared on glibc systems.
70172         * modules/fflush (configure.ac-early): Require AC_FUNC_FSEEKO.
70173         * modules/fseeko (configure.ac-early): Likewise.
70174         * modules/ftello (configure.ac-early): Likewise.
70175         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Don't define HAVE_FSEEKO, rely on
70176         AC_FUNC_FSEEKO for this.
70177         * m4/fseeko.m4 (gl_FUNC_FSEEKO): Inline gl_CHECK_FSEEKO.
70178         (gl_CHECK_FSEEKO): Remove macro.
70179
70180 2007-04-26  Bruno Haible  <bruno@clisp.org>
70181
70182         * tests/test-fflush.c (main): Also check the ftell result after
70183         fflush and fseek/fseeko.
70184         * lib/fflush.c (rpl_fflush): For BSD implementations, update the
70185         file descriptor position cache in the stream.
70186         * lib/fseeko.c (rpl_fseeko): Likewise.
70187
70188 2007-04-26  Bruno Haible  <bruno@clisp.org>
70189
70190         * modules/fflush-tests (Depends-on): Add fseeko.
70191
70192 2007-04-25  Charles Wilson  <libtool@cwilson.fastmail.fm>
70193             Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
70194
70195         * lib/argz_.h: ensure error_t definition is obtained in same
70196         mechanism system argz.h would have.
70197         * m4/argz.m4 (gl_FUNC_ARGZ): add new test to check if $host's
70198         argz facilities are known bad.  Err on the side of caution if
70199         cross-compiling.
70200
70201 2007-04-25  Eric Blake  <ebb9@byu.net>
70202
70203         * lib/fpurge.c (includes): Use stdlib.h for free.
70204         * tests/test-fflush.c (main): Also test fflush-fseeko.
70205
70206 2007-04-25  Bruno Haible  <bruno@clisp.org>
70207
70208         Make fflush+fseek POSIX-compliant on FreeBSD and MacOS X.
70209         * lib/fseeko.c: New file.
70210         * lib/stdio_.h: Include <sys/types.h> when off_t is needed.
70211         (fseeko, fseek): Define to replacements if REPLACE_FFLUSH.
70212         * m4/fseeko.m4 (gl_CHECK_FSEEKO): New macro, extracted from
70213         gl_FUNC_FSEEKO.
70214         (gl_FUNC_FSEEKO): Invoke it.
70215         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Arrange to compile fseeko.c. Invoke
70216         gl_CHECK_FSEEKO. Define HAVE_FSEEKO.
70217         * modules/fflush (Files): Add lib/fseeko.c, m4/fseeko.m4.
70218
70219 2007-04-25  Bruno Haible  <bruno@clisp.org>
70220
70221         * modules/fflush (Depends-on): Add ftello.
70222
70223 2007-04-25  Bruno Haible  <bruno@clisp.org>
70224
70225         * modules/ftello-tests: New file.
70226         * tests/test-ftello.c: New file.
70227
70228         * modules/ftello: New file.
70229         * m4/ftello.m4: New file.
70230         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FTELLO,
70231         HAVE_FTELLO.
70232         * lib/stdio_.h (ftello): New declaration.
70233         * modules/stdio (Makefile.am): Substitute also GNULIB_FTELLO,
70234         HAVE_FTELLO.
70235
70236 2007-04-25  Bruno Haible  <bruno@clisp.org>
70237
70238         * modules/fseeko-tests: New file.
70239         * tests/test-fseeko.c: New file.
70240
70241         * modules/fseeko: New file.
70242         * m4/fseeko.m4: New file.
70243         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FSEEKO,
70244         HAVE_FSEEKO.
70245         * lib/stdio_.h (fseeko): New declaration.
70246         * modules/stdio (Makefile.am): Substitute also GNULIB_FSEEKO,
70247         HAVE_FSEEKO.
70248
70249 2007-04-25  Bruno Haible  <bruno@clisp.org>
70250
70251         * lib/stdio_.h (fflush): Add support for GNULIB_POSIXCHECK.
70252
70253 2007-04-25  Bruno Haible  <bruno@clisp.org>
70254
70255         * lib/unistd_.h: Include <stdio.h> if needed to get the SEEK_* macros.
70256         * tests/test-stdio.c: Check that the various SEEK_* macros are defined.
70257         * tests/test-unistd.c: Likewise.
70258         * tests/test-fcntl.c: Likewise.
70259
70260 2007-04-23  Eric Blake  <ebb9@byu.net>
70261
70262         * lib/fflush.c: Fix missing include.
70263         Reported by Bruno Haible.
70264
70265 2007-04-23  Bruno Haible  <bruno@clisp.org>
70266
70267         * lib/fpurge.c (fpurge) [glibc, BSD]: Free a malloc()ed ungetc buffer.
70268         Reported by Eric Blake.
70269
70270 2007-04-23  Bruno Haible  <bruno@clisp.org>
70271
70272         * lib/fbufmode.c (fbufmode): Port to Solaris/SPARC64.
70273
70274 2007-04-23  Bruno Haible  <bruno@clisp.org>
70275
70276         * lib/fseterr.c (fseterr): Don't hardcode the value of _IOERR.
70277
70278 2007-04-23  Bruno Haible  <bruno@clisp.org>
70279
70280         * tests/test-fbufmode.c (main): Be prepared to a failure of setvbuf.
70281         Needed on HP-UX 11.
70282
70283 2007-04-16  Eric Blake  <ebb9@byu.net>
70284
70285         Make fflush rely on fpurge.
70286         * lib/fflush.c (rpl_fflush): Rely on fpurge module, rather than
70287         open coding all variants.
70288         * modules/fflush (Depends-on): Add fpurge and unistd.
70289         * modules/fflush-tests (Depends-on): Unistd is no longer extra.
70290         * m4/fflush.m4 (gl_REPLACE_FFLUSH): Simplify.
70291
70292         Fix --with-tests compilation on cygwin.
70293         * modules/argmatch-tests (Makefile.am): List gnulib library first
70294         in LDADD.
70295         * modules/argp-tests (Makefile.am): Likewise.
70296         * modules/array-list-tests (Makefile.am): Likewise.
70297         * modules/array-oset-tests (Makefile.am): Likewise.
70298         * modules/avltree-list-tests (Makefile.am): Likewise.
70299         * modules/avltree-oset-tests (Makefile.am): Likewise.
70300         * modules/avltreehash-list-tests (Makefile.am): Likewise.
70301         * modules/carray-list-tests (Makefile.am): Likewise.
70302         * modules/dirname-tests (Makefile.am): Likewise.
70303         * modules/frexp-tests (Makefile.am): Likewise.
70304         * modules/isnanl-tests (Makefile.am): Likewise.
70305         * modules/linked-list-tests (Makefile.am): Likewise.
70306         * modules/linkedhash-list-tests (Makefile.am): Likewise.
70307         * modules/lock-tests (Makefile.am): Likewise.
70308         * modules/rbtree-list-tests (Makefile.am): Likewise.
70309         * modules/rbtree-oset-tests (Makefile.am): Likewise.
70310         * modules/rbtreehash-list-tests (Makefile.am): Likewise.
70311         * modules/tls-tests (Makefile.am): Likewise.
70312         * modules/tsearch-tests (Makefile.am): Likewise.
70313         * modules/xvasprintf-tests (Makefile.am): Likewise.
70314
70315         Fix fpurge for cygwin.
70316         * lib/fpurge.c (fpurge): Fix order of operation flub, and return a
70317         value.
70318         * modules/fpurge-tests (Depends-on): Clean up trash.
70319
70320 2007-04-16  Simon Josefsson  <simon@josefsson.org>
70321
70322         * lib/gc-libgcrypt.c (gc_hash_open): Shut up compiler warnings.
70323
70324         * m4/autobuild.m4: Re-indent.
70325
70326 2007-04-13  Bruno Haible  <bruno@clisp.org>
70327
70328         * modules/fpurge-tests: New file.
70329         * tests/test-fpurge.c: New file.
70330
70331         * modules/fpurge: New file.
70332         * lib/fpurge.h: New file.
70333         * lib/fpurge.c: New file.
70334         * m4/fpurge.m4: New file.
70335
70336 2007-04-13  Bruno Haible  <bruno@clisp.org>
70337
70338         * modules/fbufmode-tests: New file.
70339         * tests/test-fbufmode.c: New file.
70340
70341         * modules/fbufmode: New file.
70342         * lib/fbufmode.h: New file.
70343         * lib/fbufmode.c: New file.
70344         * m4/fbufmode.m4: New file.
70345
70346 2007-04-13  Bruno Haible  <bruno@clisp.org>
70347
70348         * modules/fwritable-tests: New file.
70349         * tests/test-fwritable.c: New file.
70350
70351         * modules/fwritable: New file.
70352         * lib/fwritable.h: New file.
70353         * lib/fwritable.c: New file.
70354         * m4/fwritable.m4: New file.
70355
70356 2007-04-13  Bruno Haible  <bruno@clisp.org>
70357
70358         * modules/freadable-tests: New file.
70359         * tests/test-freadable.c: New file.
70360
70361         * modules/freadable: New file.
70362         * lib/freadable.h: New file.
70363         * lib/freadable.c: New file.
70364         * m4/freadable.m4: New file.
70365
70366 2007-04-13  Bruno Haible  <bruno@clisp.org>
70367
70368         * modules/fflush-tests (Makefile.am): Remove EXTRA_DIST. Augment
70369         MOSTLYCLEANFILES.
70370
70371 2007-04-13  Paul Eggert  <eggert@cs.ucla.edu>
70372
70373         * build-aux/bootstrap (gnulib_tool_option_extras): New var, used by
70374         gzip bootstrap.conf to avoid dragging in i18n machinery.
70375         (gnulib_tool_option): Use it.
70376
70377 2007-04-13  Bruno Haible  <bruno@clisp.org>
70378
70379         * tests/test-vasnprintf-posix.c (test_function): Add tests for %f and
70380         %F directives.
70381         * tests/test-vasprintf-posix.c (test_function): Likewise.
70382         * tests/test-snprintf-posix.h (test_function): Likewise.
70383         * tests/test-sprintf-posix.h (test_function): Likewise.
70384         * tests/test-fprintf-posix.h (test_function): Likewise.
70385         * tests/test-printf-posix.h (test_function): Likewise.
70386         * tests/test-fprintf-posix.out: Likewise.
70387
70388 2007-04-13  Bruno Haible  <bruno@clisp.org>
70389
70390         * modules/lock-tests (configure.ac): For LIBSCHED, try also -lposix4.
70391         * modules/tls-tests (configure.ac): Likewise.
70392         Reported by Arto C. Nirkko <anirkko@insel.ch>.
70393
70394 2007-04-13  Bruno Haible  <bruno@clisp.org>
70395
70396         * lib/tls.c (glthread_tls_get): Fix return type.
70397         Patch by Arto C. Nirkko <anirkko@insel.ch>.
70398
70399 2007-04-12  Eric Blake  <ebb9@byu.net>
70400
70401         * modules/gettime (Depends-on): Remove gettime.
70402         Reported by Dmitry V. Levin.
70403
70404 2007-04-12  Bruno Haible  <bruno@clisp.org>
70405
70406         * modules/fflush (Include): Mention <stdio.h>.
70407         * modules/strtoimax (Include): Mention <inttypes.h>.
70408         * modules/strtoumax (Include): Likewise.
70409
70410 2007-04-12  Eric Blake  <ebb9@byu.net>
70411
70412         * .cvsignore: New file.
70413         * .gitignore: Likewise.
70414
70415 2007-04-12  Bruno Haible  <bruno@clisp.org>
70416
70417         * modules/iconv-tests (test_iconv_LDADD): Mention -liconv after LDADD,
70418         not before, since $(LDADD) often contains libgnu.a.
70419         * modules/striconv-tests (test_striconv_LDADD): Likewise.
70420         * modules/striconveh-tests (test_striconveh_LDADD): Likewise.
70421         * modules/striconveha-tests (test_striconveha_LDADD): Likewise.
70422         Needed on Cygwin.
70423
70424 2007-04-12  Eric Blake  <ebb9@byu.net>
70425
70426         Work around glibc's failure to flush stdin on fclose.
70427         * lib/closein.c (close_stdin): Flush stdin before closing.
70428
70429         Work around glibc's failure to reset seekable stdin on exit.
70430         * modules/closein: New module.
70431         * lib/closein.c: New file.
70432         * lib/closein.h: Likewise.
70433         * m4/closein.m4: Likewise.
70434         * MODULES.html.sh (File stream based Input/Output): Document it.
70435
70436 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70437
70438         * gnulib-tool: Rename generated 'autobuild' script to
70439         'do-autobuild' in --create-megatestdir output.
70440
70441         * doc/gnulib.texi (Build robot for gnulib): Fix.
70442
70443 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70444
70445         * modules/sysexits (Depends-on): Add absolute-header.
70446
70447 2007-04-12  Eric Blake  <ebb9@byu.net>
70448
70449         No need to preserve errno on success.
70450         * lib/fflush.c (rpl_fflush): Simplify errno tracking.
70451         Reported by Bruno Haible.
70452
70453 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70454
70455         * MODULES.html.sh (Support for maintaining and releasing
70456         projects): Add autobuild.  Suggested by Eric Blake <ebb9@byu.net>.
70457
70458 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70459
70460         * gnulib-tool (func_modules_add_dummy): Respect --avoid=dummy.
70461
70462 2007-04-12  Simon Josefsson  <simon@josefsson.org>
70463
70464         * modules/autobuild: New module.
70465
70466         * m4/autobuild.m4: New file.
70467
70468 2007-04-11  Bruno Haible  <bruno@clisp.org>
70469
70470         * lib/vasnprintf.c (VASNPRINTF): Implement the %F directive using the
70471         %f directive, if NEED_PRINTF_DIRECTIVE_F is defined.
70472         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_F): New macro.
70473         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_F): New macro.
70474         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke
70475         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70476         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70477         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Invoke
70478         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70479         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70480         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Invoke
70481         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70482         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70483         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Invoke
70484         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70485         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70486         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Invoke
70487         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70488         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70489         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Invoke
70490         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70491         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70492         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Invoke
70493         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70494         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70495         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Invoke
70496         gl_PRINTF_DIRECTIVE_F. Test gl_cv_func_printf_directive_f. Invoke
70497         gl_PREREQ_VASNPRINTF_DIRECTIVE_F for the replacement.
70498         Reported by Eric Blake.
70499
70500 2007-04-11  Bruno Haible  <bruno@clisp.org>
70501
70502         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Fix test. It always failed.
70503
70504 2007-04-10  Bruno Haible  <bruno@clisp.org>
70505
70506         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct result
70507         for NaN and Infinity. Needed on FreeBSD 6.1.
70508         * tests/test-vasnprintf-posix.c (test_function): Undo last change
70509         regarding results for "%010a" of Infinity and NaN.
70510         * tests/test-vasprintf-posix.c (test_function): Likewise.
70511         * tests/test-snprintf-posix.h (test_function): Likewise.
70512         * tests/test-sprintf-posix.h (test_function): Likewise.
70513         * tests/test-fprintf-posix.h (test_function): Likewise.
70514         * tests/test-printf-posix.h (test_function): Likewise.
70515         * tests/test-fprintf-posix.out: Likewise.
70516
70517 2007-04-10  Bruno Haible  <bruno@clisp.org>
70518
70519         * modules/locale-tests: New file.
70520         * tests/test-locale.c: New file.
70521
70522         * modules/locale: New file.
70523         * lib/locale_.h: New file.
70524         * m4/locale_h.m4: New file.
70525
70526 2007-04-10  Paul Eggert  <eggert@cs.ucla.edu>
70527             Bruno Haible  <bruno@clisp.org>
70528
70529         * m4/signbit.m4 (gl_SIGNBIT): When the sign bit position could not
70530         be determined, test for availability of the copysignf, copysign,
70531         copysignl functions.
70532         * lib/signbitf.c (gl_signbitf): Use copysignf if available in libc.
70533         * lib/signbitd.c (gl_signbitd): Use copysign if available in libc.
70534         * lib/signbitl.c (gl_signbitl): Use copysignl if available in libc.
70535
70536 2007-04-09  Eric Blake  <ebb9@byu.net>
70537
70538         * lib/stdio_.h [REPLACE_FFLUSH]: Declare rpl_fflush.
70539         * modules/stdio (Makefile.am): Support fflush.
70540         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Likewise.
70541         * modules/fflush: New file.
70542         * lib/fflush.c: Likewise.
70543         * m4/fflush.m4: Likewise.
70544         * modules/fflush-tests: New test.
70545         * tests/test-fflush.c: Likewise.
70546         * MODULES.html.sh (Input/output <stdio.h>): Document new module.
70547
70548 2007-04-06  Bruno Haible  <bruno@clisp.org>
70549
70550         * lib/vasnprintf.c: Include <math.h>. Don't include float+.h.
70551         (VASNPRINTF): Use signbit for faster determination whether to print a
70552         minus sign.
70553         * modules/vasnprintf (Files): Remove lib/float+.h.
70554         * modules/fprintf-posix (Depends-on): Add signbit.
70555         * modules/snprintf-posix (Depends-on): Likewise.
70556         * modules/sprintf-posix (Depends-on): Likewise.
70557         * modules/vasnprintf-posix (Depends-on): Likewise.
70558         * modules/vasprintf-posix (Depends-on): Likewise.
70559         * modules/vfprintf-posix (Depends-on): Likewise.
70560         * modules/vsnprintf-posix (Depends-on): Likewise.
70561         * modules/vsprintf-posix (Depends-on): Likewise.
70562
70563 2007-04-06  Bruno Haible  <bruno@clisp.org>
70564
70565         * tests/test-frexp.c (main): Test also the sign bit of zero results.
70566         * tests/test-frexpl.c (main): Likewise.
70567         * tests/test-ldexpl.c (main): Likewise.
70568         * modules/frexp-tests (Depends-on): Add signbit.
70569         * modules/frexpl-tests (Depdends-on): Likewise.
70570         * modules/ldexpl-tests (Depdends-on): Likewise.
70571
70572 2007-04-06  Bruno Haible  <bruno@clisp.org>
70573
70574         * modules/signbit-tests: New file.
70575         * tests/test-signbit.c: New file.
70576
70577         * modules/signbit: New file.
70578         * lib/signbitf.c: New file.
70579         * lib/signbitd.c: New file.
70580         * lib/signbitl.c: New file.
70581         * m4/signbit.m4: New file.
70582         * lib/math_.h (gl_signbitf, gl_signbitd, gl_signbitl): New declarations.
70583         (signbit): New macro.
70584         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_SIGNBIT and
70585         REPLACE_SIGNBIT.
70586         * modules/math (Makefile.am): Substibute also GNULIB_SIGNBIT and
70587         REPLACE_FREXPL into math.h.
70588
70589 2007-04-06  Bruno Haible  <bruno@clisp.org>
70590
70591         * modules/isnanf-nolibm-tests: New file.
70592         * tests/test-isnanf.c: New file.
70593
70594         * modules/isnanf-nolibm: New file.
70595         * lib/isnanf.h: New file.
70596         * lib/isnanf.c: New file.
70597         * lib/isnan.c: Consider the USE_FLOAT macro.
70598         * m4/isnanf.m4: New file.
70599
70600 2007-04-06  Bruno Haible  <bruno@clisp.org>
70601
70602         * modules/gettext-h (configure.ac): AC_SUBST LIBINTL and LTLIBINTL.
70603         (Link): New section.
70604
70605         * modules/canonicalize-lgpl-tests (Makefile.am): Undo last change.
70606
70607 2007-04-06  Bruno Haible  <bruno@clisp.org>
70608
70609         Assume the 'long double' type.
70610         * m4/longdouble.m4: Remove file.
70611         * config/srclist.txt: Don't mention longdouble.m4.
70612         * lib/allocsa.h: Assume HAVE_LONG_DOUBLE to be true.
70613         * lib/float+.h: Likewise.
70614         * lib/frexp.c: Likewise.
70615         * lib/printf-args.h: Likewise.
70616         * lib/printf-args.c: Likewise.
70617         * lib/printf-frexp.c: Likewise.
70618         * lib/printf-parse.c: Likewise.
70619         * lib/vasnprintf.c: Likewise.
70620         * m4/allocsa.m4: Remove gt_TYPE_LONGDOUBLE invocation.
70621         * m4/intl.m4: Likewise.
70622         * m4/isnanl.m4: Likewise.
70623         * m4/printf.m4: Likewise.
70624         * m4/printf-frexpl.m4: Likewise.
70625         * m4/vasnprintf.m4: Likewise.
70626         * modules/allocsa (Files): Remove m4/longdouble.m4.
70627         * modules/gettext (Files): Likewise.
70628         * modules/relocatable-prog-wrapper (Files): Likewise.
70629         * modules/vasnprintf (Files): Likewise.
70630         * modules/isnanl (Files): Likewise.
70631         (Include): Simplify.
70632         * modules/isnanl-nolibm (Files): Remove m4/longdouble.m4.
70633         (Include): Simplify.
70634         * modules/printf-frexpl (Files): Remove m4/longdouble.m4.
70635         (Include): Simplify.
70636         * modules/snprintf-posix-tests (Files): Remove m4/longdouble.m4.
70637         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70638         * modules/sprintf-posix-tests (Files): Remove m4/longdouble.m4.
70639         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70640         * modules/vasnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70641         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70642         * modules/vasprintf-posix-tests (Files): Remove m4/longdouble.m4.
70643         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70644         * modules/vsnprintf-posix-tests (Files): Remove m4/longdouble.m4.
70645         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70646         * modules/vsprintf-posix-tests (Files): Remove m4/longdouble.m4.
70647         (configure.ac): Remove gt_TYPE_LONGDOUBLE invocation.
70648         * tests/test-isnanl-nolibm.c: Assume HAVE_LONG_DOUBLE to be true.
70649         * tests/test-isnanl.c: Likewise.
70650         * tests/test-snprintf-posix.h: Likewise.
70651         * tests/test-sprintf-posix.h: Likewise.
70652         * tests/test-vasnprintf-posix.c: Likewise.
70653         * tests/test-vasnprintf-posix2.c: Likewise.
70654         * tests/test-vasprintf-posix.c: Likewise.
70655
70656 2007-04-06  Bruno Haible  <bruno@clisp.org>
70657
70658         Fix problem with Compaq (ex-DEC) Desktop C compiler on Tru64.
70659         * lib/math_.h [__DECC]: Include the overridden include file through
70660         #include_next, outside the double-inclusion guard.
70661         * lib/stdio_.h [__DECC]: Likewise.
70662         * lib/stdlib_.h [__DECC]: Likewise.
70663         * lib/string_.h [__DECC]: Likewise.
70664         * lib/time_.h [__DECC]: Likewise.
70665         * lib/wchar_.h [__DECC]: Likewise.
70666         * lib/wctype_.h [__DECC]: Likewise.
70667         * lib/inttypes_.h [__DECC]: Likewise.
70668         Reported by Albert Chin <china@thewrittenword.com> in
70669         <http://lists.gnu.org/archive/html/bug-gnulib/2007-04/msg00088.html>.
70670
70671 2007-04-04  Eric Blake  <ebb9@byu.net>
70672
70673         * m4/stdint.m4 (gl_STDINT_H): Detect WINT_MAX bug in cygwin
70674         1.5.x.
70675
70676 2007-04-04  Bruno Haible  <bruno@clisp.org>
70677
70678         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Add a test for correct
70679         rounding. Don't assume that FreeBSD 6 and NetBSD 4 pass this test.
70680
70681 2007-04-04  Bruno Haible  <bruno@clisp.org>
70682
70683         * tests/test-vasnprintf-posix.c (test_function): Allow two possible
70684         results for "%010a" of Infinity and NaN.
70685         * tests/test-vasprintf-posix.c (test_function): Likewise.
70686         * tests/test-snprintf-posix.h (test_function): Likewise.
70687         * tests/test-sprintf-posix.h (test_function): Likewise.
70688         * tests/test-fprintf-posix.h (test_function): Remove these tests.
70689         * tests/test-printf-posix.h (test_function): Likewise.
70690         * tests/test-fprintf-posix.out: Update.
70691         Needed for FreeBSD 6.1.
70692
70693 2007-04-04  Bruno Haible  <bruno@clisp.org>
70694
70695         * DEPENDENCIES: Remove mentions of tar and gzip, since they are not
70696         directly used by the gnulib modules nor by gnulib-tool.
70697
70698 2007-04-04  Paul Eggert  <eggert@cs.ucla.edu>
70699
70700         * DEPENDENCIES: Give overall description of version dependency
70701         desirability.  Use more-typical names for apps.
70702         Add shell, coreutils, diffutils, grep, tar, gzip.
70703
70704 2007-04-04  Simon Josefsson  <simon@josefsson.org>
70705
70706         * MODULES.html.sh: Rename crypto modules.  Remove iconvme.
70707
70708 2007-04-04  Karl Berry  <karl@gnu.org>
70709
70710         * MODULES.html.sh (func_module): missing '.
70711
70712 2007-04-03  Bruno Haible  <bruno@clisp.org>
70713
70714         * modules/argmatch-tests (Makefile.am): New variable
70715         test_argmatch_LDADD.
70716         * modules/argp-tests (Makefile.am): New variable test_argp_LDADD.
70717         * modules/array-list-tests (Makefile.am): New variable
70718         test_array_list_LDADD.
70719         * modules/array-oset-tests (Makefile.am): New variable
70720         test_array_oset_LDADD.
70721         * modules/avltree-list-tests (Makefile.am): New variable
70722         test_avltree_list_LDADD.
70723         * modules/avltree-oset-tests (Makefile.am): New variable
70724         test_avltree_oset_LDADD.
70725         * modules/avltreehash-list-tests (Makefile.am): New variable
70726         test_avltreehash_list_LDADD.
70727         * modules/canonicalize-lgpl-tests (Makefile.am): New variable
70728         test_canonicalize_lgpl_LDADD.
70729         * modules/carray-list-tests (Makefile.am): New variable
70730         test_carray_list_LDADD.
70731         * modules/dirname-tests (Makefile.am): New variable
70732         test_dirname_LDADD.
70733         * modules/linked-list-tests (Makefile.am): New variable
70734         test_linked_list_LDADD.
70735         * modules/linkedhash-list-tests (Makefile.am): New variable
70736         test_linkedhash_list_LDADD.
70737         * modules/rbtree-list-tests (Makefile.am): New variable
70738         test_rbtree_list_LDADD.
70739         * modules/rbtree-oset-tests (Makefile.am): New variable
70740         test_rbtree_oset_LDADD.
70741         * modules/rbtreehash-list-tests (Makefile.am): New variable
70742         test_rbtreehash_list_LDADD.
70743         * modules/xvasprintf-tests (Makefile.am): New variable
70744         test_xvasprintf_LDADD.
70745         Reported by Eric Blake.
70746
70747 2007-04-03  Eric Blake  <ebb9@byu.net>
70748
70749         * DEPENDENCIES: Weaken m4 requirements.
70750
70751 2007-04-03  Bruno Haible  <bruno@clisp.org>
70752
70753         * modules/frexp-tests (configure.ac): Remove AC_SUBST.
70754         * modules/isnanl-tests (configure.ac): Likewise.
70755
70756 2007-04-03  Ben Pfaff  <blp@gnu.org>
70757
70758         * modules/iconv_open: Add $(srcdir)/ to source directory
70759         references in Makefile fragments that call gperf, to fix VPATH
70760         builds.
70761
70762 2007-04-03  Bruno Haible  <bruno@clisp.org>
70763
70764         * modules/ldexpl (Depends-on): Add isnanl, remove isnanl-nolibm.
70765         * lib/ldexpl.c: Undo last change.
70766
70767 2007-04-03  Bruno Haible  <bruno@clisp.org>
70768
70769         * modules/printf-frexpl (Depends-on): Undo last change.
70770         (Files): Add m4/ldexpl.m4.
70771
70772 2007-04-03  Bruno Haible  <bruno@clisp.org>
70773
70774         * m4/isnanl.m4 (gl_FUNC_ISNANL): Substitute ISNANL_LIBM.
70775         * modules/isnanl (Link): New section.
70776
70777         * m4/frexp.m4 (gl_FUNC_FREXP): Substitute FREXP_LIBM.
70778         * modules/frexp (Link): New section.
70779
70780         * m4/frexpl.m4 (gl_FUNC_FREXPL): Substitute FREXPL_LIBM.
70781         * modules/frexpl (Link): New section.
70782
70783         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Substitute LDEXPL_LIBM.
70784         * modules/ldexpl (Link): New section.
70785
70786 2007-04-03  Bruno Haible  <bruno@clisp.org>
70787
70788         * modules/TEMPLATE-EXTENDED: New file.
70789         * gnulib-tool (func_all_modules, func_verify_module): Exclude it.
70790
70791 2007-04-03  Bruno Haible  <bruno@clisp.org>
70792
70793         * DEPENDENCIES: New file.
70794         Suggested by Simon Josefsson.
70795
70796 2007-04-03  Bruno Haible  <bruno@clisp.org>
70797
70798         * doc/gnulib.texi: Escape @.
70799
70800 2007-04-03  James Youngman  <jay@gnu.org>
70801         and Paul Eggert  <eggert@cs.ucla.edu>
70802
70803         * lib/stat-time.h (get_stat_birthtime): Check for zero-valued
70804         birthtime on all systems that have birthtime, not just those which
70805         use st_birthtimensec rather than st_birthtim.  Putting zero in
70806         st_birthtim.tv_sec is how (for example) FreeBSD/x86 6.1 indicates
70807         that the birth time is not available for files on an NFS mount.
70808
70809 2007-04-03  Simon Josefsson  <simon@josefsson.org>
70810
70811         * modules/memxor: Move back from crypto/, suggested by Bruno.
70812         * modules/crypto/hmac-sha1: Fix memxor dependency.
70813
70814         * modules/crypto/gc: Moved from ../.
70815
70816 2007-04-02  Eric Blake  <ebb9@byu.net>
70817
70818         * lib/ldexpl.c (includes): Avoid libm.
70819
70820         * modules/printf-frexpl (Depends-on): Depend on ldexpl.
70821
70822 2007-04-02  Bruno Haible  <bruno@clisp.org>
70823
70824         * lib/sysexit_.h (EX_OK): Disable the EX_OK definition from <unistd.h>
70825         on IRIX.
70826
70827 2007-04-02  Bruno Haible  <bruno@clisp.org>
70828
70829         * m4/intdiv0.m4 (gt_INTDIV0): Avoid performing the test for real on
70830         x86 or x86_64 platforms running MacOS X.
70831         Reported by Ryan Schmidt <@ryandesign.com>.
70832
70833 2007-04-02  Bruno Haible  <bruno@clisp.org>
70834
70835         * m4/intdiv0.m4 (gt_INTDIV0): When cross-compiling, treat x86_64 like
70836         i386.
70837
70838 2007-04-01  Simon Josefsson  <simon@josefsson.org>
70839
70840         * modules/crypto/arcfour: Moved from ../.
70841         * modules/crypto/arcfour-tests: Moved from ../.
70842         * modules/crypto/arctwo: Moved from ../.
70843         * modules/crypto/arctwo-tests: Moved from ../.
70844         * modules/crypto/des: Moved from ../.
70845         * modules/crypto/des-tests: Moved from ../.
70846         * modules/crypto/gc-arcfour: Moved from ../.
70847         * modules/crypto/gc-arcfour-tests: Moved from ../.
70848         * modules/crypto/gc-arctwo: Moved from ../.
70849         * modules/crypto/gc-arctwo-tests: Moved from ../.
70850         * modules/crypto/gc-des: Moved from ../.
70851         * modules/crypto/gc-des-tests: Moved from ../.
70852         * modules/crypto/gc-hmac-md5: Moved from ../.
70853         * modules/crypto/gc-hmac-md5-tests: Moved from ../.
70854         * modules/crypto/gc-hmac-sha1: Moved from ../.
70855         * modules/crypto/gc-hmac-sha1-tests: Moved from ../.
70856         * modules/crypto/gc-md2: Moved from ../.
70857         * modules/crypto/gc-md2-tests: Moved from ../.
70858         * modules/crypto/gc-md4: Moved from ../.
70859         * modules/crypto/gc-md4-tests: Moved from ../.
70860         * modules/crypto/gc-md5: Moved from ../.
70861         * modules/crypto/gc-md5-tests: Moved from ../.
70862         * modules/crypto/gc-pbkdf2-sha1: Moved from ../.
70863         * modules/crypto/gc-pbkdf2-sha1-tests: Moved from ../.
70864         * modules/crypto/gc-random: Moved from ../.
70865         * modules/crypto/gc-rijndael: Moved from ../.
70866         * modules/crypto/gc-rijndael-tests: Moved from ../.
70867         * modules/crypto/gc-sha1: Moved from ../.
70868         * modules/crypto/gc-sha1-tests: Moved from ../.
70869         * modules/crypto/gc-tests: Moved from ../.
70870         * modules/crypto/hmac-md5: Moved from ../.
70871         * modules/crypto/hmac-md5-tests: Moved from ../.
70872         * modules/crypto/hmac-sha1: Moved from ../.
70873         * modules/crypto/hmac-sha1-tests: Moved from ../.
70874         * modules/crypto/md2: Moved from ../.
70875         * modules/crypto/md2-tests: Moved from ../.
70876         * modules/crypto/md4: Moved from ../.
70877         * modules/crypto/md4-tests: Moved from ../.
70878         * modules/crypto/md5: Moved from ../.
70879         * modules/crypto/md5-tests: Moved from ../.
70880         * modules/crypto/memxor: Moved from ../.
70881         * modules/crypto/rijndael: Moved from ../.
70882         * modules/crypto/rijndael-tests: Moved from ../.
70883         * modules/crypto/sha1: Moved from ../.
70884
70885 2007-03-30  James Youngman  <jay@gnu.org>
70886
70887         * tests/test-stat-time.c (prepare_test): use chmod() rather than
70888         rename() to change the ctime of a file (because ctime is unaffected
70889         by rename on jfs2 on AIX 5.1).
70890         (main): Start by doing cleanup, in case a previous run failed leaving
70891         test files behind.
70892
70893 2007-03-31  Bruno Haible  <bruno@clisp.org>
70894
70895         Support old proprietary implementations of iconv.
70896         * modules/iconv_open: New file.
70897         * lib/iconv_.h: New file.
70898         * m4/iconv_h.m4: New file.
70899         * lib/iconv_open.c: New file.
70900         * lib/iconv_open-aix.gperf: New file.
70901         * lib/iconv_open-hpux.gperf: New file.
70902         * lib/iconv_open-irix.gperf: New file.
70903         * lib/iconv_open-osf.gperf: New file.
70904         * m4/iconv_open.m4: New file.
70905         * modules/linebreak (Depends-on): Add iconv_open.
70906         * modules/striconv (Depends-on): Likewise.
70907         * modules/striconveh (Depends-on): Likewise.
70908         * modules/unicodeio (Depends-on): Likewise.
70909         * lib/striconveh.h (mem_cd_iconveh, str_cd_iconveh): Allow cd to be
70910         (iconv_t)(-1).
70911         * lib/striconveh.c (mem_cd_iconveh_internal): Use an indirect
70912         conversion if cd is (iconv_t)(-1).
70913         (mem_iconveh, str_iconveh): Don't fail just because a direct conversion
70914         is not possible.
70915
70916 2007-03-31  Bruno Haible  <bruno@clisp.org>
70917
70918         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
70919         work on Solaris either. Protect also second use of "autodetect_jp".
70920
70921 2007-03-31  Bruno Haible  <bruno@clisp.org>
70922
70923         * m4/frexpl.m4 (gl_FUNC_FREXPL): Set HAVE_DECL_FREXPL to 0 when
70924         the function is not present.
70925
70926 2007-03-31  Bruno Haible  <bruno@clisp.org>
70927
70928         * m4/ldexpl.m4 (gl_FUNC_LDEXPL): Set HAVE_DECL_LDEXPL to 0 when
70929         the function is not present.
70930
70931 2007-03-31  Bruno Haible  <bruno@clisp.org>
70932
70933         * m4/iconv.m4 (AM_ICONV_LINK): Fix 2007-03-29 patch. Test also against
70934         a bug in HP-UX iconv_open().
70935
70936 2007-03-31  Bruno Haible  <bruno@clisp.org>
70937
70938         * MODULES.html.sh (func_module): Don't show gnulib-common.m4.
70939         (Mathematics <math.h>): New section, add fpieee.
70940         (Input/output <stdio.h>): Add fseterr.
70941         (Mathematics <math.h>): New section, add printf-frexp.
70942         (Container data structures): Add sublist.
70943         (Core language properties): Add fpucw, inline.
70944         (Functions for greatest-width integer types <inttypes.h>): Add
70945         imaxabs, imaxdiv, inttypes.
70946         (Mathematics <math.h>): Add frexp, frexpl, isnan-nolibm, isnanl,
70947         isnanl-nolibm, ldexp.
70948         (Mathematics <math.h>): New section, add printf-frexpl.
70949         (Support for systems lacking POSIX:2001): Add fprintf-posix,
70950         printf-posix, snprintf-posix, sprintf-posix, string, search, socklen,
70951         sys_select, sys_socket, vasnprintf-posix, vasprintf-posix,
70952         vfprintf-posix, vprintf-posix, vsnprintf-posix, vsprintf-posix.
70953         (Unicode string functions): Add unistr/u*-mbtoucr.
70954         (Java): Add javacomp-script, javaexec-script.
70955         (C#): Add csharpcomp-script, csharpexec-script.
70956         (Support for building libraries and executables): Add havelib,
70957         relocatable-*.
70958         (Support for maintaining and releasing projects): Renamed from
70959         'Support for maintaining and release projects'. Add announce-gen.
70960
70961 2007-03-31  Bruno Haible  <bruno@clisp.org>
70962
70963         * README: Talk primarily about git.
70964         (git and CVS): Renamed from CVS.
70965         * doc/gnulib.texi (Introduction, Build robot for gnulib): Mention that
70966         gnulib is available through git.
70967         * doc/gnulib-tool.texi (CVS Issues): Mention git and svn as well.
70968
70969 2007-03-30  Bruno Haible  <bruno@clisp.org>
70970
70971         * lib/alloca_.h: Change prefix of double-inclusion guard macro to _GL_.
70972         * lib/poll_.h: Likewise.
70973         * lib/stat_.h: Likewise.
70974         * lib/sys_time_.h: Likewise.
70975         * lib/sysexit_.h: Likewise.
70976         * lib/glob_.h: Prefix double-inclusion guard macro with _GL_.
70977         * lib/stdbool_.h: Likewise.
70978         * lib/byteswap_.h: Add double-inclusion guard.
70979
70980 2007-03-30  Sergey Poznyakoff  <gray@mirddin.farlep.net>
70981
70982         * lib/sysexit_.h: Prefix double-inclusion guard macro with _GNULIB.
70983
70984 2007-03-30  Karl Berry  <karl@gnu.org>
70985
70986         * config/srclist-update: double space after USA in the license
70987         substitution, since that's how it's usually (?) written.
70988
70989 2007-03-30  Paul Eggert  <eggert@cs.ucla.edu>
70990
70991         * lib/write-any-file.c (can_write_any_file): Fix else-else bug
70992         reported by Bruno Haible.
70993
70994 2007-03-29  Bruno Haible  <bruno@clisp.org>
70995
70996         * m4/iconv.m4 (AM_ICONV_LINK): Require AC_CANONICAL_HOST. Test against
70997         a bug in AIX iconv().
70998
70999 2007-03-29  Bruno Haible  <bruno@clisp.org>
71000
71001         * modules/ldexpl-tests: New file.
71002         * tests/test-ldexpl.c: New file.
71003
71004 2007-03-29  Bruno Haible  <bruno@clisp.org>
71005
71006         * lib/ldexpl.c: Include fpucw.h.
71007         (ldexpl): Use BEGIN/END_LONG_DOUBLE_ROUNDING. Skip the last unneeded
71008         multiplication.
71009         * modules/ldexpl (Depends-on): Add fpucw.
71010
71011 2007-03-29  Bruno Haible  <bruno@clisp.org>
71012
71013         * modules/ldexpl: New file.
71014         * m4/ldexpl.m4: New file.
71015         * lib/math_.h (ldexpl): Define to a replacement if REPLACE_LDEXPL is
71016         set.
71017         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize also GNULIB_LDEXPL,
71018         REPLACE_LDEXPL.
71019         * modules/math (Makefile.am): Substitute also GNULIB_LDEXPL,
71020         REPLACE_LDEXPL.
71021         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Invoke
71022         gl_FUNC_LDEXPL_WORKS.
71023         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Remove test for ldexpl.
71024         * modules/mathl (Files): Remove lib/ldexpl.c.
71025         (Depends-on): Add ldexpl.
71026
71027 2007-03-29  Bruno Haible  <bruno@clisp.org>
71028
71029         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Declare frexpl.
71030
71031 2007-03-29  Bruno Haible  <bruno@clisp.org>
71032
71033         * tests/test-striconveh.c (main): Don't assume that a direct conversion
71034         between ISO-8859-1 and ISO-8859-2 is possible. Needed for OSF/1, IRIX
71035         and possibly also HP-UX.
71036         * tests/test-striconveha.c (main): Don't expect "autodetect_jp" to
71037         work on AIX, IRIX, HP-UX, OSF/1.
71038         * tests/uniconv/test-u16-conv-from-enc.c (main): Likewise.
71039         * tests/uniconv/test-u16-strconv-from-enc.c (main): Likewise.
71040         * tests/uniconv/test-u32-conv-from-enc.c (main): Likewise.
71041         * tests/uniconv/test-u32-strconv-from-enc.c (main): Likewise.
71042         * tests/uniconv/test-u8-conv-from-enc.c (main): Likewise.
71043         * tests/uniconv/test-u8-strconv-from-enc.c (main): Likewise.
71044
71045 2007-03-29  Bruno Haible  <bruno@clisp.org>
71046
71047         * tests/test-stat-time.c: Include <fcntl.h>, not <sys/fcntl.h>.
71048
71049 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
71050
71051         * lib/acl-internal.h (acl_get_fd, acl_set_fd): undef before defining,
71052         to work around a problem on OSF/1 5.1 reported by Bruno Haible.
71053
71054 2007-03-29  Eric Blake  <ebb9@byu.net>
71055
71056         * lib/acl-internal.h: Remove redundant include.
71057         (ACL_NOT_WELL_SUPPORTED): Also filter on EBUSY, returned by
71058         Cygwin when a file is locked.
71059
71060 2007-03-29  Bruno Haible  <bruno@clisp.org>
71061
71062         * lib/vasprintf.c [IN_LIBASPRINTF]: Include different specification
71063         file.
71064         * lib/asprintf.c [IN_LIBASPRINTF]: Likewise.
71065
71066 2007-03-29  Paul Eggert  <eggert@cs.ucla.edu>
71067
71068         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Don't bother to
71069         try to remove a parent directory if the child couldn't be removed
71070         (except for the first rmdir, which could fail because the child
71071         doesn't exist).  Problem reported by Jeff Blaine in
71072         <http://lists.gnu.org/archive/html/bug-tar/2007-03/msg00014.html>.
71073
71074 2007-03-28  Bruno Haible  <bruno@clisp.org>
71075
71076         * lib/striconveh.c (utf8conv_carefully): New function.
71077         (mem_cd_iconveh_internal): Invoke it.
71078
71079 2007-03-28  Bruno Haible  <bruno@clisp.org>
71080
71081         * lib/striconveh.c (mem_cd_iconveh_internal): Use u8_mbtoucr instead
71082         of u8_mbtouc in order to distinguish invalid and incomplete UTF-8
71083         input.
71084         * modules/striconveh (Depends-on): Add unistr/u8-mbtoucr. Replace
71085         utf8-ucs4 with unistr/u8-mbtouc. Replace ucs4-utf8 with
71086         unistr/u8-uctomb.
71087
71088 2007-03-28  Bruno Haible  <bruno@clisp.org>
71089
71090         * modules/unistr/u8-mbtoucr: New file.
71091         * lib/unistr/u8-mbtoucr.c: New file.
71092         * modules/unistr/u16-mbtoucr: New file.
71093         * lib/unistr/u16-mbtoucr.c: New file.
71094         * modules/unistr/u16-mbtoucr: New file.
71095         * lib/unistr/u16-mbtoucr.c: New file.
71096         * lib/unistr.h (u8_mbtoucr, u16_mbtoucr, u32_mbtoucr): New declarations.
71097
71098 2007-03-27  Simon Josefsson  <simon@josefsson.org>
71099             Bruno Haible  <bruno@clisp.org>
71100
71101         * m4/vasprintf.m4: Convert AC_SUBST into shell variable for
71102         REPLACE_VASPRINTF.  Set HAVE_VASPRINTF.  Add
71103         AC_REQUIRE([gl_STDIO_H_DEFAULTS]).
71104
71105         * m4/stdio_h.m4: Add stubs for vasprintf too.
71106
71107         * modules/stdio: Support vasprintf in sed command.
71108
71109         * modules/vasprintf: Depend on stdio for prototypes.  Remove
71110         vasprintf.h.  Add stdio module indicator.
71111
71112         * lib/stdio_.h: Declare asprintf and vasprintf, based on
71113         vasprintf.h.
71114
71115         * lib/vasprintf.h: File removed.
71116
71117         * lib/asprintf.c: Use stdio.h instead of vasprintf.h.
71118         * lib/vasprintf.c: Ditto.
71119         * lib/xvasprintf.c: Ditto.
71120         * tests/test-vasprintf-posix.c: Ditto.
71121         * tests/test-vasprintf.c: Ditto.
71122
71123 2007-03-27  Bruno Haible  <bruno@clisp.org>
71124
71125         Make vasnprintf multithread-safe.
71126         * lib/vasnprintf.c (decimal_point_char): New function.
71127         (VASNPRINTF): Use it.
71128         Suggested by Simon Josefsson.
71129
71130 2007-03-27  Eric Blake  <ebb9@byu.net>
71131
71132         Support sub-second birthtime on cygwin.
71133         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Also check for st_birthtim.
71134         * lib/stat-time.h (STAT_TIMESPEC): Adjust comments.
71135         (get_stat_birthtime): Also work with st_birthtim.
71136
71137 2007-03-27  Paul Eggert  <eggert@cs.ucla.edu>
71138
71139         * lib/stat-time.h (USE_BIRTHTIME): Remove.
71140         (get_stat_atime_ns, get_stat_ctime_ns, get_stat_mtime_ns):
71141         (get_stat_birthtime_ns): Do not try to use "spare" fields.
71142         (get_stat_birthtime_ns): Simplify compile-time tests.
71143         (get_stat_birthtime): Change the API to look like
71144         get_stat_mtime etc., except return a negative tv_nsec on error.
71145         * m4/stat-time.m4 (gl_STAT_TIME, gl_STAT_BIRTHTIME):
71146         Don't check for "spare" fields.
71147         (gl_STAT_BIRTHTIME): Don't check for struct stat.st_birthtimespec.tv_sec
71148         or for struct stat.st_birthtime, as these tests aren't used.
71149         * tests/test-stat-time.c (test_birthtime): Adjust to new API.
71150
71151 2007-03-27  Bruno Haible  <bruno@clisp.org>
71152
71153         * lib/stat-time.h: Include <sys/stat.h>.
71154
71155 2007-03-27  James Youngman  <jay@gnu.org>
71156
71157         * lib/stat-time.h (get_stat_birthtime): New function for
71158           retrieving st_birthtime as provided by UFS2 (hence *BSD).
71159         * m4/stat-time.m4 (gl_STAT_BIRTHTIME): Probe for st_birthtime
71160           and its variants.
71161         * modules/stat-time (configure.ac): call gl_STAT_BIRTHTIME.
71162         * modules/stat-time-test: New file.
71163         * tests/test-stat-time.c: New test, devised by Bruno Haible.
71164
71165 2007-03-26  Bruno Haible  <bruno@clisp.org>
71166
71167         Better support of signalling NaNs.
71168         * lib/atanl.c: Include isnanl.h.
71169         (atanl): Perform test for NaN at the beginning of the function and
71170         through a call to isnanl.
71171         * lib/cosl.c: Include isnanl.h.
71172         (cosl): Perform test for NaN at the beginning of the function and
71173         through a call to isnanl.
71174         * lib/ldexpl.c: Include isnanl.h.
71175         (ldexpl): Perform test for NaN through a call to isnanl.
71176         * lib/logl.c: Include isnanl.h.
71177         (logl): Perform test for NaN at the beginning of the function and
71178         through a call to isnanl.
71179         * lib/sinl.c: Include isnanl.h.
71180         (sinl): Perform test for NaN at the beginning of the function and
71181         through a call to isnanl.
71182         * lib/sqrtl.c: Include isnanl.h.
71183         (sqrtl): Perform test for NaN at the beginning of the function and
71184         through a call to isnanl.
71185         * lib/tanl.c: Include isnanl.h.
71186         (tanl): Perform test for NaN at the beginning of the function and
71187         through a call to isnanl.
71188         * lib/trigl.c (ieee754_rem_pio2l): Remove test for NaN.
71189         * modules/mathl (Depends-on): Add isnanl.
71190
71191 2007-03-26  Eric Blake  <ebb9@byu.net>
71192
71193         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Fix
71194         regression in logic sense of previous patch.
71195
71196 2007-03-26  Bruno Haible  <bruno@clisp.org>
71197
71198         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): Don't use
71199         unportable shell command "if ! ...".
71200         Reported by Ralf Wildenhues.
71201
71202 2007-03-25  Bruno Haible  <bruno@clisp.org>
71203
71204         * lib/sysexit_,h: If HAVE_SYSEXITS_H is defined, include the original
71205         <sysexits.h> file, and only add EX_CONFIG.
71206         * m4/sysexits.m4 (gl_SYSEXITS): If <sysexits.h> exists, check its
71207         absolute file name and whether it is sufficient. Substitute also
71208         HAVE_SYSEXITS_H and ABSOLUTE_SYSEXITS_H.
71209         * modules/sysexits (Makefile.am): Substitute HAVE_SYSEXITS_H and
71210         ABSOLUTE_SYSEXITS_H into sysexits.h.
71211
71212 2007-03-25  Bruno Haible  <bruno@clisp.org>
71213
71214         * lib/getaddrinfo.c (getaddrinfo): Don't access hints->ai_flags when
71215         hints is NULL.
71216
71217 2007-03-25  Bruno Haible  <bruno@clisp.org>
71218
71219         * lib/uniconv/u8-conv-from-enc.c (u8_conv_from_encoding): Add a cast.
71220         * lib/uniconv/u8-strconv-to-enc.c (u8_strconv_to_encoding): Likewise.
71221
71222 2007-03-25  Bruno Haible  <bruno@clisp.org>
71223
71224         * lib/vasnprintf.c: Include langinfo.h.
71225         (VASNPRINTF): Prefer nl_langinfo over localeconv, since it's more
71226         multithread-safe.
71227         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF_DIRECTIVE_A): New macro.
71228         * m4/fprintf-posix.m4 (gl_FUNC_FPRINTF_POSIX): Invoke it.
71229         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Likewise.
71230         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
71231         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
71232         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
71233         * m4/vfprintf-posix.m4 (gl_FUNC_VFPRINTF_POSIX): Likewise.
71234         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX: Likewise.
71235         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
71236         Reported by Simon Josefsson.
71237
71238 2007-03-25  Bruno Haible  <bruno@clisp.org>
71239
71240         * lib/printf-parse.c [!IN_LIBINTL]: Include <stdint.h>, for intmax_t.
71241         (PRINTF_PARSE): Make the support for size specifier 'j' unconditional.
71242         * modules/vasnprintf (Depends-on): Add stdint.
71243
71244 2007-03-25  Bruno Haible  <bruno@clisp.org>
71245
71246         * modules/fpieee: New file.
71247         * m4/fpieee.m4: New file.
71248         * modules/isnan-nolibm (Depends-on): Add fpieee.
71249         * modules/isnanl-nolibm (Depends-on): Add fpieee.
71250         * modules/isnanl (Depends-on): Add fpieee.
71251
71252 2007-03-25  Bruno Haible  <bruno@clisp.org>
71253
71254         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): Test also finite numbers.
71255
71256 2007-03-25  Bruno Haible  <bruno@clisp.org>
71257
71258         Avoid test failures on IRIX 6.5.
71259         * tests/test-frexpl.c (MIN_NORMAL_EXP): New macro.
71260         (main): Use it.
71261         * tests/test-printf-frexpl.c (MIN_NORMAL_EXP, MIN_SUBNORMAL_EXP): New
71262         macros.
71263         (main): Use them.
71264
71265 2007-03-25  Bruno Haible  <bruno@clisp.org>
71266
71267         * m4/frexpl.m4 (gl_FUNC_FREXPL_WORKS): New macro.
71268         (gl_FUNC_FREXPL): Invoke it. Set REPLACE_FREXPL to 1 if it frexpl
71269         exists but doesn't work.
71270         * lib/math_.h (frexpl): Define as a replacement macro if REPLACE_FREXPL
71271         is set. Don't provide a prototype if REPLACE_FREXPL is not set.
71272         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize REPLACE_FREXPL.
71273         * modules/math (Makefile.am): Substibute also REPLACE_FREXPL into
71274         math.h.
71275
71276 2007-03-25  Bruno Haible  <bruno@clisp.org>
71277
71278         * m4/frexp.m4 (gl_FUNC_FREXP_WORKS): Add check whether frexp(inf)
71279         returns inf. Needed on IRIX 6.5.
71280
71281 2007-03-25  Bruno Haible  <bruno@clisp.org>
71282
71283         * tests/test-frexpl.c: Include isnanl-nolibm.h.
71284         (main): Use isnanl instead of x != x idiom.
71285         * modules/frexpl-tests (Depends-on): Add isnanl-nolibm.
71286
71287         * tests/test-frexp.c: Include isnan.h.
71288         (main): Use isnan instead of x != x idiom.
71289         * modules/frexp-tests (Depends-on): Add isnan-nolibm.
71290
71291 2007-03-25  Bruno Haible  <bruno@clisp.org>
71292
71293         * tests/test-frexp.c (NaN): New function/macro.
71294         (main): Use it instead of 0.0 / 0.0.
71295         * tests/test-isnan.c (NaN): New function/macro.
71296         (main): Use it instead of 0.0 / 0.0.
71297         * tests/test-vasnprintf-posix.c (NaN): New function/macro.
71298         (test_function): Use it instead of 0.0 / 0.0.
71299         * tests/test-vasprintf-posix.c (NaN): New function/macro.
71300         (test_function): Use it instead of 0.0 / 0.0.
71301         * tests/test-snprintf-posix.h (NaN): New function/macro.
71302         (test_function): Use it instead of 0.0 / 0.0.
71303         * tests/test-sprintf-posix.h (NaN): New function/macro.
71304         (test_function): Use it instead of 0.0 / 0.0.
71305         * tests/test-fprintf-posix.h (NaN): New function/macro.
71306         (test_function): Use it instead of 0.0 / 0.0.
71307         * tests/test-printf-posix.h (NaN): New function/macro.
71308         (test_function): Use it instead of 0.0 / 0.0.
71309
71310         * lib/isnan.c (FUNC): Work around a DEC C compiler bug.
71311
71312 2007-03-25  Bruno Haible  <bruno@clisp.org>
71313
71314         * lib/glob_.h: Include <sys/stat.h>. Avoids warnings on AIX 5.1.
71315
71316 2007-03-25  Bruno Haible  <bruno@clisp.org>
71317
71318         * lib/regexec.c (merge_state_with_log): Make static.
71319
71320 2007-03-25  Bruno Haible  <bruno@clisp.org>
71321
71322         * lib/trigl.c (kernel_rem_pio2): Make static.
71323
71324 2007-03-25  Bruno Haible  <bruno@clisp.org>
71325
71326         * lib/sincosl.c (sincosl_table): Make static.
71327
71328 2007-03-25  Bruno Haible  <bruno@clisp.org>
71329
71330         * lib/argp.h (__restrict): Define to empty, rather than to 'restrict',
71331         if the compiler does not support C99.
71332
71333 2007-03-25  Bruno Haible  <bruno@clisp.org>
71334
71335         * modules/time (Makefile.am): Ensure all rule action lines start with a
71336         tab.
71337
71338 2007-03-24  Bruno Haible  <bruno@clisp.org>
71339
71340         * modules/tsearch-tests: New file.
71341         * tests/test-tsearch.sh: New file.
71342         * tests/test-tsearch.c: New file, mostly copied from glibc.
71343
71344         * modules/search-tests: New file.
71345         * tests/test-search.c: New file.
71346
71347         * modules/search: New file.
71348         * lib/search_.h: New file, incorporating lib/tsearch.h.
71349         * m4/search_h.m4: New file.
71350         * lib/tsearch.h: Remove file.
71351         * lib/tsearch.c: Include search.h instead of tsearch.h.
71352         * m4/tsearch.m4 (gl_FUNC_TSEARCH): Require gl_SEARCH_H_DEFAULTS. Set
71353         HAVE_TSEARCH.
71354         * modules/tsearch (Files): Remove lib/tsearch.h.
71355         (Depends-on): Add search.
71356         (configure.ac): Invoke gl_SEARCH_MODULE_INDICATOR.
71357         (Include): Change tsearch.h into search.h.
71358
71359 2007-03-24  Bruno Haible  <bruno@clisp.org>
71360
71361         * modules/fpucw: New file.
71362         * lib/fpucw.h: New file.
71363         * lib/frexp.c: Include fpucw.h.
71364         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71365         (FUNC): Use them.
71366         * lib/printf-frexp.c: Include fpucw.h.
71367         (DECL_ROUNDING, BEGIN_ROUNDING, END_ROUNDING): New macros.
71368         (FUNC): Use them.
71369         * lib/vasnprintf.c: Include fpucw.h.
71370         (VASNPRINTF): Invoke BEGIN/END_LONG_DOUBLE_ROUNDING around the
71371         'long double' calculations.
71372         * tests/test-frexpl.c: Include fpucw.h.
71373         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71374         * tests/test-printf-frexpl.c: Include fpucw.h.
71375         (main): Invoke BEGIN_LONG_DOUBLE_ROUNDING.
71376         * modules/frexpl (Depends-on): Add fpucw.
71377         * modules/printf-frexpl (Depends-on): Likewise.
71378         * modules/fprintf-posix (Depends-on): Likewise.
71379         * modules/snprintf-posix (Depends-on): Likewise.
71380         * modules/sprintf-posix (Depends-on): Likewise.
71381         * modules/vasnprintf-posix (Depends-on): Likewise.
71382         * modules/vasprintf-posix (Depends-on): Likewise.
71383         * modules/vfprintf-posix (Depends-on): Likewise.
71384         * modules/vsnprintf-posix (Depends-on): Likewise.
71385         * modules/vsprintf-posix (Depends-on): Likewise.
71386         * modules/frexpl-tests (Depends-on): Likewise.
71387         * modules/printf-frexpl-tests (Depends-on): Likewise.
71388
71389 2007-03-24  Bruno Haible  <bruno@clisp.org>
71390
71391         * lib/float+.h: New file.
71392         * lib/isnan.c: Include float+.h.
71393         (SIZE): New macro.
71394         (FUNC): Compare only SIZE bytes of the value.
71395         * lib/vasnprintf.c: Include float+.h.
71396         (VASNPRINTF): When comparing against +0.0L or +0.0, compare only
71397         SIZEOF_LDBL or SIZEOF_DBL bytes.
71398         * modules/isnan-nolibm (Files): Add lib/float+.h.
71399         * modules/isnanl-nolibm (Files): Add lib/float+.h.
71400         * modules/isnanl (Files): Add lib/float+.h.
71401         * modules/vasnprintf (Files): Add lib/float+.h.
71402
71403 2007-03-24  Bruno Haible  <bruno@clisp.org>
71404
71405         * lib/vasnprintf.c [!HAVE_LONG_DOUBLE]: Include printf-frexp.h. Don't
71406         include isnanl-nolibm.h.
71407
71408 2007-03-24  Bruno Haible  <bruno@clisp.org>
71409
71410         * tests/test-read-file.c (main): Don't produce spurious output for
71411         expected situations. Make the test fail if it encountered unexpected
71412         results.
71413
71414 2007-03-24  Bruno Haible  <bruno@clisp.org>
71415
71416         * m4/locale-fr.m4 (gt_LOCALE_FR): Remove the special-casing of NetBSD,
71417         since its fr_FR.ISO8859-1 locale wouldn't pass the tests.
71418
71419 2007-03-24  Bruno Haible  <bruno@clisp.org>
71420
71421         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Fix last change.
71422
71423 2007-03-24  Bruno Haible  <bruno@clisp.org>
71424
71425         * modules/unistr/base (Depends-on): Remove utf8-ucs4-unsafe,
71426         utf16-ucs4-unsafe, utf8-ucs4, utf16-ucs4, ucs4-utf8, ucs4-utf16.
71427
71428         * modules/unistr/u8-mbtouc: Add source files from module utf8-ucs4.
71429         * modules/utf8-ucs4: Turn into a symbolic link to module
71430         unistr/u8-mbtouc.
71431
71432         * modules/unistr/u8-mbtouc-unsafe: Add source files from module
71433         utf8-ucs4-unsafe.
71434         * modules/utf8-ucs4-unsafe: Turn into a symbolic link to module
71435         unistr/u8-mbtouc-unsafe.
71436
71437         * modules/unistr/u16-mbtouc: Add source files from module utf16-ucs4.
71438         * modules/utf16-ucs4: Turn into a symbolic link to module
71439         unistr/u16-mbtouc.
71440
71441         * modules/unistr/u16-mbtouc-unsafe: Add source files from module
71442         utf16-ucs4-unsafe.
71443         * modules/utf16-ucs4-unsafe: Turn into a symbolic link to module
71444         unistr/u16-mbtouc-unsafe.
71445
71446         * modules/unistr/u8-uctomb: Add source files from module utf4-utf8.
71447         * modules/ucs4-utf8: Turn into a symbolic link to module
71448         unistr/u8-ubtomb.
71449
71450         * modules/unistr/u16-uctomb: Add source files from module utf4-utf16.
71451         * modules/ucs4-utf16: Turn into a symbolic link to module
71452         unistr/u16-ubtomb.
71453
71454 2007-03-24  Bruno Haible  <bruno@clisp.org>
71455
71456         * lib/unistr/u8-mbtouc-aux.c: Renamed from lib/unistr/utf8-ucs4.c.
71457         Enable the function only if HAVE_INLINE.
71458         * lib/unistr/u8-mbtouc-unsafe-aux.c: Renamed from
71459         lib/unistr/utf8-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71460         * lib/unistr/u16-mbtouc-aux.c: Renamed from lib/unistr/utf16-ucs4.c.
71461         Enable the function only if HAVE_INLINE.
71462         * lib/unistr/u16-mbtouc-unsafe-aux.c: Renamed from
71463         lib/unistr/utf16-ucs4-unsafe.c. Enable the function only if HAVE_INLINE.
71464         * lib/unistr/u8-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf8.c.
71465         Enable the function only if HAVE_INLINE.
71466         * lib/unistr/u16-uctomb-aux.c: Renamed from lib/unistr/ucs4-utf16.c.
71467         Enable the function only if HAVE_INLINE.
71468         * modules/utf8-ucs4: Update.
71469         * modules/utf8-ucs4-unsafe: Update.
71470         * modules/utf16-ucs4: Update.
71471         * modules/utf16-ucs4-unsafe: Update.
71472         * modules/ucs4-utf8: Update.
71473         * modules/ucs4-utf16: Update.
71474
71475 2007-03-24  Bruno Haible  <bruno@clisp.org>
71476
71477         * lib/utf8-ucs4.h: Remove file.
71478         * lib/utf8-ucs4-unsafe.h: Remove file.
71479         * lib/utf16-ucs4.h: Remove file.
71480         * lib/utf16-ucs4-unsafe.h: Remove file.
71481         * lib/ucs4-utf8.h: Remove file.
71482         * lib/ucs4-utf16.h: Remove file.
71483         * lib/unistr.h: Include their previous contents.
71484         * m4/utf-ucs4.m4: Remove file.
71485         * m4/ucs4-utf.m4: Remove file.
71486         * modules/utf8-ucs4 (Files): Remove lib/utf8-ucs4.h.
71487         (Depends-on): Add unistr/base.
71488         (configure.ac): Remove gl_UTF_UCS4.
71489         (Makefile.am): Update.
71490         (Include): Change to unistr.h.
71491         * modules/utf8-ucs4-unsafe (Files): Remove lib/utf8-ucs4-unsafe.h.
71492         (Depends-on): Add unistr/base.
71493         (configure.ac): Remove gl_UTF_UCS4.
71494         (Makefile.am): Update.
71495         (Include): Change to unistr.h.
71496         * modules/utf16-ucs4 (Files): Remove lib/utf16-ucs4.h.
71497         (Depends-on): Add unistr/base.
71498         (configure.ac): Remove gl_UTF_UCS4.
71499         (Makefile.am): Update.
71500         (Include): Change to unistr.h.
71501         * modules/utf16-ucs4-unsafe (Files): Remove lib/utf16-ucs4-unsafe.h.
71502         (Depends-on): Add unistr/base.
71503         (configure.ac): Remove gl_UTF_UCS4.
71504         (Makefile.am): Update.
71505         (Include): Change to unistr.h.
71506         * modules/ucs4-utf8 (Files): Remove lib/ucs4-utf8.h.
71507         (Depends-on): Add unistr/base.
71508         (configure.ac): Remove gl_UCS4_UTF.
71509         (Makefile.am): Update.
71510         (Include): Change to unistr.h.
71511         * modules/ucs4-utf16 (Files): Remove lib/ucs4-utf16.h.
71512         (Depends-on): Add unistr/base.
71513         (configure.ac): Remove gl_UCS4_UTF.
71514         (Makefile.am): Update.
71515         (Include): Change to unistr.h.
71516         * lib/unistr/utf8-ucs4.c: Include unistr.h instead of utf8-ucs4.h.
71517         * lib/unistr/utf8-ucs4-unsafe.c: Include unistr.h instead of
71518         utf8-ucs4-unsafe.h.
71519         * lib/unistr/utf16-ucs4.c: Include unistr.h instead of utf16-ucs4.h.
71520         * lib/unistr/utf16-ucs4-unsafe.c: Include unistr.h instead of
71521         utf16-ucs4-unsafe.h.
71522         * lib/unistr/ucs4-utf8.c: Include unistr.h instead of ucs4-utf8.h.
71523         * lib/unistr/ucs4-utf16.c: Include unistr.h instead of ucs4-utf16.h.
71524         * lib/unistr/u8-chr.c: Don't include ucs4-utf8.h.
71525         * lib/unistr/u8-strchr.c: Likewise.
71526         * lib/unistr/u8-strrchr.c: Likewise.
71527         * lib/unistr/u16-chr.c: Don't include ucs4-utf16.h.
71528         * lib/unistr/u16-strchr.c: Likewise.
71529         * lib/unistr/u16-strrchr.c: Likewise.
71530         * lib/striconveh.c: Update.
71531         * lib/linebreak.c: Update.
71532
71533 2007-03-24  Bruno Haible  <bruno@clisp.org>
71534
71535         * lib/argp-help.c (fill_in_uparams, canon_doc_option): Cast the
71536         arguments of isspace, isalpha, isalnum, isdigit to 'unsigned char'.
71537
71538 2007-03-22  Bruno Haible  <bruno@clisp.org>
71539
71540         * lib/strptime.c (__strptime_internal): Use ANSI C syntax.
71541
71542 2007-03-23  Paul Eggert  <eggert@cs.ucla.edu>
71543
71544         * MODULES.html.sh (File system functions): New module write-any-file.
71545         * modules/write-any-file, lib/write-any-file.c, lib/write-any-file.h:
71546         * m4/write-any-file.m4: New files.
71547
71548 2007-03-23  Eric Blake  <ebb9@byu.net>
71549
71550         * gnulib-tool: Rearrange space-tab sequences, since some editors
71551         like to eat them.
71552
71553 2007-03-23  Eric Blake  <ebb9@byu.net>
71554
71555         * lib/version-etc.c (version_etc_va): Update license wording to
71556         be more concise.  Recommended by Richard Stallman.
71557
71558 2007-03-22  Bruno Haible  <bruno@clisp.org>
71559
71560         * lib/poll.c (MSG_PEEK): New fallback definition.
71561
71562 2007-03-22  Bruno Haible  <bruno@clisp.org>
71563
71564         * modules/sys_socket-tests (configure.ac): Check for shutdown function.
71565         * tests/test-sys_socket.c (a): Test only if shutdown() exists.
71566         (main): Update.
71567         Fixes a compilation error on BeOS.
71568
71569 2007-03-22  Bruno Haible  <bruno@clisp.org>
71570
71571         * modules/frexpl-tests: New file.
71572         * tests/test-frexpl.c: New file.
71573
71574         * modules/frexpl: New file.
71575         * m4/frexpl.m4: New file.
71576         * modules/math (Makefile.am): Also substitute GNULIB_FREXPL into math.h.
71577         * lib/math_.h (frexpl): Test GNULIB_FREXPL instead of GNULIB_MATHL.
71578         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Initialize GNULIB_FREXPL.
71579         * modules/mathl (Files): Remove lib/frexpl.c, lib/frexp.c.
71580         (Depends-on): Add frexpl. Remove isnanl-nolibm.
71581         * m4/mathl.m4 (gl_FUNC_LONG_DOUBLE_MATH): Don't test for frexpl.
71582
71583 2007-03-22  Bruno Haible  <bruno@clisp.org>
71584
71585         * lib/frexpl.c: Share code with lib/frexp.c.
71586         * modules/mathl (Files): Add lib/frexp.c.
71587         (Depends-on): Add isnanl-nolibm.
71588
71589 2007-03-22  Bruno Haible  <bruno@clisp.org>
71590
71591         * modules/printf-frexp (Files): Add m4/frexp.m4.
71592         * m4/printf-frexp.m4 (gl_FUNC_PRINTF_FREXP): Define HAVE_FREXP_IN_LIBC
71593         only if the found frexp function actually works.
71594
71595 2007-03-22  Bruno Haible  <bruno@clisp.org>
71596
71597         * lib/frexp.c: Remove older implementation that uses divisions.
71598
71599 2007-03-21  Bruno Haible  <bruno@clisp.org>
71600
71601         * modules/frexp-tests: New file.
71602         * tests/test-frexp.c: New file.
71603
71604         * modules/frexp: New file.
71605         * lib/frexp.c: New file.
71606         * m4/frexp.m4: New file.
71607         * lib/math_.h (frexp): New declaration.
71608         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Also initialize GNULIB_FREXP and
71609         REPLACE_FREXP.
71610         * modules/math (math.h): Also substitute GNULIB_FREXP, REPLACE_FREXP.
71611
71612 2007-03-21  Bruno Haible  <bruno@clisp.org>
71613
71614         * modules/isnanl-tests: New file.
71615         * tests/test-isnanl.c: New file.
71616
71617         * modules/isnanl: New file.
71618         * lib/isnanl.h: New file.
71619         * m4/isnanl.m4 (gl_FUNC_ISNANL): New macro.
71620         (gl_FUNC_ISNANL_NO_LIBM): Invoke gl_HAVE_ISNANL_NO_LIBM,
71621         gl_FUNC_ISNANL_WORKS.
71622         (gl_HAVE_ISNANL_NO_LIBM, gl_HAVE_ISNANL_IN_LIBM, gl_FUNC_ISNANL_WORKS):
71623         New macros.
71624
71625 2007-03-21  Bruno Haible  <bruno@clisp.org>
71626
71627         * modules/isnanl-nolibm (Files): Add lib/isnanl-nolibm.h, remove
71628         lib/isnanl.h.
71629         (Include): Update.
71630         * lib/isnanl-nolibm.h: Renamed from lib/isnanl.h.
71631         * lib/vasnprintf.c: Update.
71632         * modules/isnanl-nolibm-tests (Files): Add tests/test-isnanl-nolibm.c,
71633         tests/test-isnanl.h, remove tests/test-isnanl.c.
71634         (Makefile.am): Update.
71635         * tests/test-isnanl-nolibm.c: New file.
71636         * tests/test-isnanl.h: New file.
71637         * tests/test-isnanl.c: Remove file.
71638
71639 2007-03-21  Jim Meyering  <jim@meyering.net>
71640
71641         When trying to open ".", treat ESTALE like EACCES.
71642         * lib/savewd.c (savewd_save): Resort to forking not just upon
71643         failure with EACCES, but also when errno is ESTALE.
71644
71645 2007-03-20  Bruno Haible  <bruno@clisp.org>
71646
71647         * lib/string_.h (strndup): Enable declaration also if HAVE_STRNDUP.
71648         Needed on AIX 5.1. Reported by Matthew Woehlke.
71649
71650 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71651
71652         Suggestions by Bruno Haible:
71653         * lib/acl-internal.h: Include "gettext.h" rather than rolling
71654         our own.
71655         (ACL_NOT_WELL_SUPPORTED): Parenthesize arg when used.
71656         * modules/acl (Depends-on): Add gettext.
71657
71658 2007-03-19  Bruno Haible  <bruno@clisp.org>
71659
71660         * modules/iconvme: Remove file.
71661         * lib/iconvme.h: Remove file.
71662         * lib/iconvme.c: Remove file.
71663         * m4/iconvme.m4: Remove file.
71664
71665 2007-03-19  Bruno Haible  <bruno@clisp.org>
71666
71667         * doc/relocatable-maint.texi: Break long shell script line.
71668         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71669
71670 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71671
71672         Add limited support for Solaris 10 ZFS-style ACLs: just enough to
71673         handle file_has_acl.
71674         * lib/acl-internal.h, lib/acl_entries.c, lib/file-has-acl.c: New files.
71675         * lib/acl.c: Move header inclusions and related macro defns into
71676         lib/acl-internal.h.
71677         (S_ISLNK): Remove defn, since that's now done for us.
71678         (file_has_acl): Move to lib/file-has-acl.c.
71679         Call acl_trivial if available.  This is the crucial part of the fix.
71680         (acl_entries): Move to lib/acl_entries.c.  Now extern, since it's
71681         shared within the library.  Rewrite a bit, partly to make it compatible
71682         with the GNU coding style.
71683         * m4/acl.m4 (AC_FUNC_ACL): Add AC_LIBOBJ([file-has-acl]).
71684         Remove unnecessary double-quotes.
71685         Don't test for acl_to_text; the build will catch that.
71686         Replace acl_entries if it doesn't exist and it is needed.
71687         Check for -lsec and acl_trivial (as used on Solaris 10).
71688         * modules/acl (Files): Add lib/acl-internal.h, lib/acl_entries.c,
71689         lib/file-has-acl.c.
71690         (Depends-on): Add sys_stat, for S_ISLNK.
71691
71692 2007-03-19  Ben Pfaff  <blp@gnu.org>
71693
71694         * doc/gnulib.texi: Fix typos.
71695         Suggested by Thien-Thi Nguyen <ttn@gnuvola.org>.
71696
71697 2007-03-19  Paul Eggert  <eggert@cs.ucla.edu>
71698
71699         * lib/getcwd.c (__getcwd): Remove redundant comparison of buf to NULL.
71700         If size is zero here, buf must be zero.
71701
71702 2007-03-19  Simon Josefsson  <simon@josefsson.org>
71703
71704         * des.c: Remove weak_keys_chksum.  Reported by Bruno Haible
71705         <bruno@clisp.org>.
71706
71707 2007-03-18  Bruno Haible  <bruno@clisp.org>
71708
71709         * lib/vasnprintf.c (VASNPRINTF): Undo first part of last patch.
71710         Suggested by Eric Blake.
71711
71712 2007-03-18  Ben Pfaff  <blp@gnu.org>
71713
71714         * doc/relocatable.texi: Recommend using as prefix a directory
71715         that does not exist and will never be created.  Based on
71716         discussion with Bruno Haible, Ralf Wildenhues, Matthew Woehlke,
71717         and others.
71718
71719 2007-03-17  Bruno Haible  <bruno@clisp.org>
71720
71721         * lib/fchownat.c: Include lchown.h.
71722
71723 2007-03-17  Bruno Haible  <bruno@clisp.org>
71724
71725         Fix endless loop when the given allocated size was > INT_MAX.
71726         * lib/vasnprintf.c (EOVERFLOW): New fallback definition.
71727         (VASNPRINTF): Fail with EOVERFLOW when the given allocated size is
71728         larger than INT_MAX, or when it grow to a value larger than INT_MAX.
71729         * lib/vsprintf.c (vsprintf): Don't pass a size > INT_MAX to vasnprintf.
71730         * lib/sprintf.c (sprintf): Likewise.
71731
71732 2007-03-17  Bruno Haible  <bruno@clisp.org>
71733
71734         * tests/test-argp-2.sh (func_compare): Output a context diff.
71735
71736 2007-03-17  Bruno Haible  <bruno@clisp.org>
71737
71738         * m4/locale-fr.m4 (gt_LOCALE_FR, gt_LOCALE_FR_UTF8): Check also the
71739         locale's decimal-point character.
71740
71741 2007-03-17  Bruno Haible  <bruno@clisp.org>
71742
71743         * lib/vasnprintf.c (VASNPRINTF): Clear out the memory used for arg_mem
71744         before comparing it. Needed because on some platforms (e.g. x86) a
71745         'long double' occupies less bytes than sizeof (long double).
71746
71747 2007-03-17  Bruno Haible  <bruno@clisp.org>
71748
71749         * tests/test-crc.c (main): Make printf statements 64-bit clean.
71750         * tests/test-gc-pbkdf2-sha1.c (main): Likewise.
71751         * tests/test-getaddrinfo.c (simple): Likewise.
71752         * tests/test-read-file.c (main): Likewise.
71753
71754 2007-03-17  Bruno Haible  <bruno@clisp.org>
71755
71756         * tests/test-dirname.c (main): Make printf statements 64-bit clean.
71757
71758 2007-03-17  Bruno Haible  <bruno@clisp.org>
71759
71760         * tests/test-xvasprintf.c (test_xvasprintf, test_xasprintf): Remove
71761         unused variable.
71762
71763 2007-03-17  Bruno Haible  <bruno@clisp.org>
71764
71765         * tests/test-c-strcasecmp.c: Include c-strcase.h.
71766         * tests/test-c-strncasecmp.c: Likewise.
71767
71768 2007-03-17  Bruno Haible  <bruno@clisp.org>
71769
71770         * modules/stdlib (Depends-on): Add unistd.
71771         * lib/stdlib_.h: Include <unistd.h> if mkstemp is desired.
71772         Needed for MacOS X 10.3.
71773
71774 2007-03-17  Bruno Haible  <bruno@clisp.org>
71775
71776         * lib/unistr/u-strdup.h: Include <stdlib.h>.
71777
71778 2007-03-17  Bruno Haible  <bruno@clisp.org>
71779
71780         * lib/unistr/u-cpy-alloc.h: Include <stdlib.h>.
71781
71782 2007-03-17  Bruno Haible  <bruno@clisp.org>
71783
71784         * gnulib-tool (func_import): Update .cvsignore and .gitignore files
71785         to reflect files copied from gnulib (with or without modifications).
71786         Suggested by Jim Meyering.
71787
71788 2007-03-17  Eric Blake  <ebb9@byu.net>
71789
71790         * NEWS: Document stdlib change from 2007-02-18.
71791
71792 2007-03-17  Jim Meyering  <jim@meyering.net>
71793
71794         Detect use of AC_CONFIG_AUX_DIR also when its argument is quoted.
71795         * build-aux/bootstrap: Put ""s around use of $build_aux, in case
71796         someone uses a name containing shell meta-characters.
71797         Reported by Alfred M. Szmidt.
71798
71799         * build-aux/bootstrap: Don't use \> in grep regexp.  For HP-UX.
71800
71801 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71802
71803         * build-aux/bootstrap (with_gettext): New variable.  Run autopoint
71804         and copy gettext configuration files only if configure.ac contains
71805         a use of AM_GNU_GETTEXT_VERSION.
71806
71807 2007-03-16  Alfred M. Szmidt  <ams@gnu.org>
71808
71809         * build-aux/bootstrap (gnulib_name): New variable.
71810         (gnulib_tool_options): Use it.
71811
71812 2007-03-13  Simon Josefsson  <simon@josefsson.org>
71813
71814         * tests/test-des.c: Use new namespace.
71815
71816 2007-03-15  Bruno Haible  <bruno@clisp.org>
71817
71818         * lib/dummy.c (gl_dummy_symbol): Renamed from 'dummy'.
71819         Reported by James Youngman <jay@gnu.org>.
71820
71821 2007-03-15  Bruno Haible  <bruno@clisp.org>
71822
71823         * lib/glob.c (glob): Add 'restrict' so that prototype matches the
71824         declared prototype. Needed with cc on OSF/1 5.1.
71825
71826 2007-03-15  Bruno Haible  <bruno@clisp.org>
71827
71828         * lib/gl_list.h (gl_listelement_dispose_fn): New type.
71829         (gl_list_create_empty, gl_list_create): Add dispose_fn argument.
71830         (struct gl_list_implementation): Add dispose_fn argument to the
71831         'create_empty', 'create' methods.
71832         (struct gl_list_impl_base): Add field 'dispose_fn'.
71833         * lib/gl_list.c (gl_list_create_empty, gl_list_create): Add dispose_fn
71834         argument.
71835         * lib/gl_array_list.c (gl_array_create_empty, gl_array_create): Add
71836         dispose_fn argument.
71837         (gl_array_remove_node, gl_array_remove_at, gl_array_list_free): Call
71838         dispose_fn on the dropped values.
71839         * lib/gl_carray_list.c (gl_carray_create_empty, gl_carray_create): Add
71840         dispose_fn argument.
71841         (gl_carray_remove_at, gl_carray_list_free): Call dispose_fn on the
71842         dropped values.
71843         * lib/gl_anyavltree_list2.h (gl_tree_create): Add dispose_fn argument.
71844         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71845         * lib/gl_anyrbtree_list2.h (gl_tree_create): Add dispose_fn argument.
71846         (gl_tree_remove_node): Call dispose_fn on the dropped value.
71847         * lib/gl_anytree_list2.h (gl_tree_create_empty): Add dispose_fn
71848         argument.
71849         (gl_tree_list_free): Call dispose_fn on the dropped values.
71850         * lib/gl_anytreehash_list2.h (gl_tree_list_free): Call dispose_fn on
71851         the dropped values.
71852         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
71853         Add dispose_fn argument.
71854         (gl_linked_remove_node, gl_linked_remove_at, gl_linked_list_free):
71855         Call dispose_fn on the dropped values.
71856         * lib/gl_sublist.c (gl_sublist_create_empty, gl_sublist_create_fill):
71857         Add dispose_fn argument.
71858         (gl_sublist_create): Initialize the 'dispose_fn' field.
71859         * lib/clean-temp.c (create_temp_dir, register_fd): Update.
71860         * tests/test-array_list.c (main): Update.
71861         * tests/test-carray_list.c (main): Update.
71862         * tests/test-avltree_list.c (main): Update.
71863         * tests/test-rbtree_list.c (main): Update.
71864         * tests/test-avltreehash_list.c (main): Update.
71865         * tests/test-rbtreehash_list.c (main): Update.
71866         * tests/test-linked_list.c (main): Update.
71867         * tests/test-linkedhash_list.c (main): Update.
71868         * tests/test-array_oset.c (main): Update.
71869
71870 2007-03-15  Bruno Haible  <bruno@clisp.org>
71871
71872         * lib/gl_oset.h (gl_setelement_dispose_fn): New type.
71873         (gl_oset_create_empty): Add dispose_fn argument.
71874         (struct gl_oset_implementation): Add dispose_fn argument to
71875         'create_empty' method.
71876         (struct gl_oset_impl_base): Add dispose_fn field.
71877         * lib/gl_oset.c (gl_oset_create_empty): Add dispose_fn argument.
71878         * lib/gl_array_oset.c (gl_array_create_empty): Add dispose_fn argument.
71879         (gl_array_remove_at, gl_array_free): Call dispose_fn on the dropped
71880         values.
71881         * lib/gl_anytree_oset.h (gl_tree_create_empty): Add dispose_fn argument.
71882         (gl_tree_oset_free): Call dispose_fn on the dropped values.
71883         * lib/gl_avltree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71884         dropped value.
71885         * lib/gl_rbtree_oset.c (gl_tree_remove_node): Call dispose_fn on the
71886         dropped value.
71887         * tests/test-array_oset.c (main): Update.
71888         * tests/test-avltree_oset.c (main): Update.
71889         * tests/test-rbtree_oset.c (main): Update.
71890         * lib/gl_anytreehash_list1.h (add_to_bucket): Update.
71891
71892 2007-03-13  Bruno Haible  <bruno@clisp.org>
71893
71894         * tests/test-stdbool.c (i): Update after last patch.
71895
71896 2007-03-12  Bruno Haible  <bruno@clisp.org>
71897
71898         * lib/quotearg.c: Include <wctype.h> early, before the definition of
71899         the iswprint macro. Needed on Solaris 2.5.1.
71900
71901 2007-03-12  Bruno Haible  <bruno@clisp.org>
71902
71903         * tests/test-printf-frexp.c (main): Declare x as volatile.
71904
71905 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71906
71907         * doc/gnulib.texi (Build robot for gnulib): New section.
71908
71909 2007-03-12  Jim Meyering  <jim@meyering.net>
71910
71911         * build-aux/bootstrap: New file.
71912         * build-aux/bootstrap.conf: New file, from coreutils.
71913
71914 2007-03-11  Bruno Haible  <bruno@clisp.org>
71915
71916         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Require AC_C_INLINE.
71917
71918 2007-03-12  Simon Josefsson  <simon@josefsson.org>
71919
71920         * lib/des.h, lib/des.c, lib/gc-gnulib.c: Use gl_ namespace, to
71921         avoid collisions with 'des_setkey'.  Reported by Bruno Haible
71922         <bruno@clisp.org>.  Also change 'tripledes_' to '3des_'.
71923
71924 2007-03-11  Bruno Haible  <bruno@clisp.org>
71925
71926         * m4/locale-tr.m4 (gt_LOCALE_TR_UTF8): If the test program fails to
71927         compile, set LOCALE_TR_UTF8 to 'none' instead of empty.
71928
71929 2007-03-11  Bruno Haible  <bruno@clisp.org>
71930
71931         * lib/stdint_.h (INT64_MIN, INTMAX_MIN): Avoid using the ~INT..._MAX
71932         formula. Needed for SunPRO C 5.0.
71933
71934 2007-03-11  Bruno Haible  <bruno@clisp.org>
71935
71936         * modules/long-options (Depends-on): Add getopt.
71937
71938 2007-03-11  Bruno Haible  <bruno@clisp.org>
71939
71940         * modules/modechange (Depends-on): Add stdbool.
71941
71942 2007-03-11  Bruno Haible  <bruno@clisp.org>
71943
71944         * modules/i-ring (Depends-on): Add stdbool.
71945
71946 2007-03-11  Bruno Haible  <bruno@clisp.org>
71947
71948         * modules/gc-des (Depends-on): Add stdbool.
71949
71950 2007-03-11  Bruno Haible  <bruno@clisp.org>
71951
71952         * m4/mktime.m4 (gl_PREREQ_MKTIME): Require AC_C_INLINE.
71953
71954 2007-03-11  Bruno Haible  <bruno@clisp.org>
71955
71956         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Require AC_C_RESTRICT.
71957
71958 2007-03-11  Bruno Haible  <bruno@clisp.org>
71959
71960         * lib/unistr/u32-mbtouc-unsafe.c (u32_mbtouc_unsafe): Fix syntax error.
71961
71962 2007-03-11  Bruno Haible  <bruno@clisp.org>
71963
71964         * lib/vasnprintf.c (sprintf): Undefine.
71965
71966 2007-03-11  Bruno Haible  <bruno@clisp.org>
71967
71968         * lib/isnan.c (rpl_isnan, rpl_isnanl): Work around bug regarding
71969         initializers in SunPRO C and Compaq C compilers.
71970
71971 2007-03-11  Bruno Haible  <bruno@clisp.org>
71972
71973         * lib/gl_array_oset.c (gl_array_iterator_next): Make pointer
71974         decrementing code ANSI C compliant.
71975
71976 2007-03-11  Bruno Haible  <bruno@clisp.org>
71977
71978         * lib/dummy.c [__sun]: Define a dummy variable, not just a typedef.
71979         Needed for Solaris 2.5.1 ranlib and SunPRO C 5.0.
71980
71981 2007-03-11  Bruno Haible  <bruno@clisp.org>
71982
71983         * tests/test-stdbool.c (s, d, e, xlcbug): Disable checks that gnulib's
71984         <stdbool.h> substitute doesn't pass.
71985
71986 2007-03-11  Bruno Haible  <bruno@clisp.org>
71987
71988         * lib/vasnprintf.c (snprintf): Undefine. Avoids an endless recursion.
71989
71990 2007-03-11  Bruno Haible  <bruno@clisp.org>
71991
71992         * gnulib-tool (func_create_megatestdir): Create also an autobuild
71993         script, for submission to autobuild.josefsson.org.
71994
71995 2007-03-10  Bruno Haible  <bruno@clisp.org>
71996
71997         * modules/canonicalize-lgpl-tests: New file.
71998         * tests/test-canonicalize-lgpl.sh: New file.
71999         * tests/test-canonicalize-lgpl.c: New file.
72000
72001         * modules/c-strcase-tests: New file.
72002         * tests/test-c-strcase.sh: New file.
72003         * tests/test-c-strcasecmp.c: New file.
72004         * tests/test-c-strncasecmp.c: New file.
72005
72006         * modules/atexit-tests: New file.
72007         * tests/test-atexit.sh: New file.
72008         * tests/test-atexit.c: New file.
72009
72010 2007-03-10  Bruno Haible  <bruno@clisp.org>
72011
72012         * tests/test-binary-io.sh: Use temporary filenames that are not so
72013         likely to clash with those of other tests (in a parallel make).
72014         * tests/test-binary-io.c: Likewise.
72015
72016 2007-03-10  Bruno Haible  <bruno@clisp.org>
72017
72018         * lib/fseterr.c (fseterr): Port to Solaris/SPARC64. Deactivate the
72019         fallback; use #error instead.
72020         Suggested by Simon Josefsson.
72021
72022 2007-03-10  Bruno Haible  <bruno@clisp.org>
72023
72024         * gnulib-tool (func_create_testdir): Treat MOSTLYCLEANFILES like
72025         CLEANFILES. Put spaces in each line of $cleaned_files, not only the
72026         first and the last.
72027
72028 2007-03-10  Bruno Haible  <bruno@clisp.org>
72029
72030         * lib/stdint_.h (uint_least64_t): Fix typo in last patch.
72031
72032 2007-03-10  Bruno Haible  <bruno@clisp.org>
72033
72034         * modules/snprintf-posix-tests (EXTRA_DIST): New variable. Needed for
72035         "make distcheck".
72036         * modules/sprintf-posix-tests (EXTRA_DIST): Likewise.
72037         * modules/vsnprintf-posix-tests (EXTRA_DIST): Likewise.
72038         * modules/vsprintf-posix-tests (EXTRA_DIST): Likewise.
72039
72040 2007-03-10  Bruno Haible  <bruno@clisp.org>
72041
72042         * modules/allocsa-tests (test_allocsa_SOURCES): Remove redundant
72043         variable.
72044         * modules/dirname-tests (test_dirname_SOURCES): Remove redundant
72045         variable.
72046
72047 2007-03-09  Eric Blake  <ebb9@byu.net>
72048         and Matthew Woehlke  <mw_triad@users.sourceforge.net>  (tiny change)
72049
72050         * lib/stdint_.h (int64_t, uint64_t): Don't undefine if 64-bit
72051         types are not being provided by gnulib.
72052         (GL_INT64_T, GL_UINT64_T): New witnesses of whether gnulib 64-bit
72053         types are supported.
72054
72055 2007-03-10  Bruno Haible  <bruno@clisp.org>
72056
72057         * lib/stdio_.h (__attribute__): New macro.
72058         (fprintf, vfprintf, printf, vprintf, snprintf, vsnprintf, sprintf,
72059         vsprintf): Specify __attribute__ __format__ for GCC.
72060         Suggested by Eric Blake.
72061
72062 2007-03-09  Bruno Haible  <bruno@clisp.org>
72063
72064         * modules/printf-posix-tests: New file.
72065         * tests/test-printf-posix.sh: New file.
72066         * tests/test-printf-posix.c: New file.
72067
72068         * modules/printf-posix: New file.
72069         * lib/printf.c: New file.
72070         * m4/printf-posix-rpl.m4: New file.
72071         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_PRINTF_POSIX,
72072         REPLACE_PRINTF.
72073         * lib/stdio_.h (printf): New declaration.
72074         (format, __format__, ____printf____, ____scanf____, ____strftime____,
72075         ____strfmon____): New macros.
72076         * modules/stdio (Makefile.am): Substitute also GNULIB_PRINTF_POSIX,
72077         REPLACE_PRINTF.
72078
72079 2007-03-09  Bruno Haible  <bruno@clisp.org>
72080
72081         * tests/test-vasnprintf-posix2.sh: New file.
72082         * tests/test-vasnprintf-posix2.c: New file.
72083         * modules/vasnprintf-posix-tests (Files): Add them and m4/locale-fr.m4.
72084         (configure.ac): Invoke gt_LOCALE_FR and gt_LOCALE_FR_UTF8.
72085         (Makefile.am): Activate test-vasnprintf-posix2.sh.
72086
72087         * lib/vasnprintf.c (VASNPRINTF): For the 'a' and 'A' directives, use
72088         a locale dependent decimal point, rather than always '.'.
72089
72090 2007-03-09  Eric Blake  <ebb9@byu.net>
72091
72092         * lib/stdlib_.h (EXIT_FAILURE): GNU code expects this to be 1, in
72093         spite of platforms like Tandem/NSK that define it to -1.
72094
72095 2007-03-08  Bruno Haible  <bruno@clisp.org>
72096
72097         * modules/vprintf-posix-tests: New file.
72098         * tests/test-vprintf-posix.sh: New file.
72099         * tests/test-vprintf-posix.c: New file.
72100         * tests/test-printf-posix.h: New file.
72101
72102         * modules/vprintf-posix: New file.
72103         * lib/vprintf.c: New file.
72104         * m4/vprintf-posix.m4: New file.
72105         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VPRINTF_POSIX,
72106         REPLACE_VPRINTF.
72107         * lib/stdio_.h (vprintf): New declaration.
72108         * modules/stdio (Makefile.am): Substitute also GNULIB_VPRINTF_POSIX,
72109         REPLACE_VPRINTF.
72110
72111 2007-03-08  Bruno Haible  <bruno@clisp.org>
72112
72113         * modules/fprintf-posix-tests: New file.
72114         * tests/test-fprintf-posix.sh: New file.
72115         * tests/test-fprintf-posix.c: New file.
72116
72117         * modules/fprintf-posix: New file.
72118         * lib/fprintf.c: New file.
72119         * m4/fprintf-posix.m4: New file.
72120         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_FPRINTF_POSIX,
72121         REPLACE_FPRINTF.
72122         * lib/stdio_.h (fprintf): New declaration.
72123         * modules/stdio (Makefile.am): Substitute also GNULIB_FPRINTF_POSIX,
72124         REPLACE_FPRINTF.
72125
72126 2007-03-08  Bruno Haible  <bruno@clisp.org>
72127
72128         * modules/vfprintf-posix-tests: New file.
72129         * tests/test-vfprintf-posix.sh: New file.
72130         * tests/test-vfprintf-posix.c: New file.
72131         * tests/test-fprintf-posix.h: New file.
72132         * tests/test-fprintf-posix.out: New file.
72133
72134         * modules/vfprintf-posix: New file.
72135         * lib/vfprintf.c: New file.
72136         * m4/vfprintf-posix.m4: New file.
72137         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VFPRINTF_POSIX,
72138         REPLACE_VFPRINTF.
72139         * lib/stdio_.h (vfprintf): New declaration.
72140         * modules/stdio (Makefile.am): Substitute also GNULIB_VFPRINTF_POSIX,
72141         REPLACE_VFPRINTF.
72142
72143 2007-03-08  Bruno Haible  <bruno@clisp.org>
72144
72145         * lib/stdio_.h: Treat __need___FILE like __need_FILE.
72146
72147 2007-03-08  Bruno Haible  <bruno@clisp.org>
72148
72149         * m4/snprintf-posix.m4 (gl_FUNC_SNPRINTF_POSIX): Use 'case' statements
72150         instead of 'expr' invocations.
72151         * m4/sprintf-posix.m4 (gl_FUNC_SPRINTF_POSIX): Likewise.
72152         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Likewise.
72153         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): Likewise.
72154         * m4/vsnprintf-posix.m4 (gl_FUNC_VSNPRINTF_POSIX): Likewise.
72155         * m4/vsprintf-posix.m4 (gl_FUNC_VSPRINTF_POSIX): Likewise.
72156         Suggested by Paul Eggert.
72157
72158 2007-03-08  Bruno Haible  <bruno@clisp.org>
72159
72160         * modules/fseterr-tests: New file.
72161         * tests/test-fseterr.c: New file.
72162
72163         * modules/fseterr: New file.
72164         * lib/fseterr.h: New file.
72165         * lib/fseterr.c: New file.
72166
72167 2007-03-08  Bruno Haible  <bruno@clisp.org>
72168
72169         * lib/fnmatch_.h: Convert tabs in the middle of lines to spaces.
72170         * lib/getopt_.h: Likewise.
72171         * lib/mbswidth.h: Likewise.
72172         * lib/setenv.h: Likewise.
72173         * lib/vasnprintf.h: Likewise.
72174         * lib/vasprintf.h: Likewise.
72175         * lib/verror.h: Likewise.
72176         * lib/xsetenv.h: Likewise.
72177         * lib/xvasprintf.h: Likewise.
72178
72179 2007-03-08  Jim Meyering  <jim@meyering.net>
72180
72181         * users.txt: Add parted.
72182
72183         * ChangeLog: Restore 1500 lines mistakenly removed from the end.
72184
72185 2007-03-07  Bruno Haible  <bruno@clisp.org>
72186
72187         * m4/printf.m4: Make the shell script snippets copy&pastable.
72188
72189 2007-03-02  Bruno Haible  <bruno@clisp.org>
72190
72191         * lib/netinet_in_.h: New file.
72192         * m4/netinet_in_h.m4 (gl_HEADER_NETINET_IN): Test whether netinet/in.h
72193         is self-contained. Set ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H.
72194         * modules/netinet_in (Files): Add lib/netinet_in_.h.
72195         (Depends-on): Add absolute-header.
72196         (Makefile.am): Substitute ABSOLUTE_NETINET_IN_H, HAVE_NETINET_IN_H
72197         into netinet/in.h.
72198
72199 2007-03-03  Bruno Haible  <bruno@clisp.org>
72200
72201         * lib/sys_select_.h: New file.
72202         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SELECT): Test whether sys/select.h
72203         is self-contained. Set ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H.
72204         * modules/sys_select (Files): Add lib/sys_select_.h.
72205         (Depends-on): Add absolute-header.
72206         (Makefile.am): Substitute ABSOLUTE_SYS_SELECT_H, HAVE_SYS_SELECT_H
72207         into sys/select.h.
72208
72209 2007-03-02  Bruno Haible  <bruno@clisp.org>
72210
72211         * lib/socket_.h: If sys/socket.h exists, include that and <sys/types.h>
72212         before it. Turn HAVE_WINSOCK2_H and HAVE_WS2TCPIP_H into configute-time
72213         values.
72214         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Test also whether
72215         <sys/socket.h> is self-contained. Set ABSOLUTE_SYS_SOCKET_H,
72216         HAVE_SYS_SOCKET_H, HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H.
72217         * modules/sys_socket (Depends-on): Add absolute-header.
72218         (Makefile.am): Substitute ABSOLUTE_SYS_SOCKET_H, HAVE_SYS_SOCKET_H,
72219         HAVE_WINSOCK2_H, HAVE_WS2TCPIP_H into sys/socket.h.
72220         (Include): Remove requirement of inclusion of <sys/types.h>.
72221
72222 2007-03-02  Bruno Haible  <bruno@clisp.org>
72223
72224         * lib/byteswap_.h (bswap_32): Fix formula.
72225
72226 2007-03-06  Bruno Haible  <bruno@clisp.org>
72227
72228         * modules/sprintf-posix-tests: New file.
72229         * tests/test-sprintf-posix.c: New file.
72230
72231         * modules/sprintf-posix: New file.
72232         * lib/sprintf.c: New file.
72233         * m4/sprintf-posix.m4: New file.
72234         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_SPRINTF_POSIX,
72235         REPLACE_SPRINTF.
72236         * lib/stdio_.h (sprintf): New declaration.
72237         * modules/stdio (Makefile.am): Substitute also GNULIB_SPRINTF_POSIX,
72238         REPLACE_SPRINTF.
72239
72240 2007-03-06  Bruno Haible  <bruno@clisp.org>
72241
72242         * modules/vsprintf-posix-tests: New file.
72243         * tests/test-vsprintf-posix.c: New file.
72244         * tests/test-sprintf-posix.h: New file.
72245
72246         * modules/vsprintf-posix: New file.
72247         * lib/vsprintf.c: New file.
72248         * m4/vsprintf-posix.m4: New file.
72249         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also GNULIB_VSPRINTF_POSIX,
72250         REPLACE_VSPRINTF.
72251         * lib/stdio_.h (vsprintf): New declaration.
72252         * modules/stdio (Makefile.am): Substitute also GNULIB_VSPRINTF_POSIX,
72253         REPLACE_VSPRINTF.
72254
72255 2007-03-06  Bruno Haible  <bruno@clisp.org>
72256
72257         * modules/vsnprintf (Depend-on): Remove minmax.
72258
72259 2007-03-06  Bruno Haible  <bruno@clisp.org>
72260
72261         * modules/snprintf-posix-tests: New file.
72262         * tests/test-snprintf-posix.c: New file.
72263
72264         * modules/snprintf-posix: New file.
72265         * m4/snprintf-posix.m4: New file.
72266         * m4/snprintf.m4 (gl_REPLACE_SNPRINTF): New macro, extracted from
72267         gl_FUNC_SNPRINTF.
72268         (gl_FUNC_SNPRINTF): Invoke it.
72269         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_SNPRINTF.
72270         * lib/stdio_.h (snprintf): Define as a replacement if REPLACE_SNPRINTF
72271         is set.
72272         * modules/stdio (Makefile.am): Substitute also REPLACE_SNPRINTF.
72273
72274 2007-03-06  Bruno Haible  <bruno@clisp.org>
72275
72276         * modules/vsnprintf-posix-tests: New file.
72277         * tests/test-vsnprintf-posix.c: New file.
72278         * tests/test-snprintf-posix.h: New file.
72279
72280         * modules/vsnprintf-posix: New file.
72281         * m4/vsnprintf-posix.m4: New file.
72282         * m4/vsnprintf.m4 (gl_REPLACE_VSNPRINTF): New macro, extracted from
72283         gl_FUNC_VSNPRINTF.
72284         (gl_FUNC_VSNPRINTF): Invoke it.
72285         * m4/stdio_h.m4 (gl_STDIO_H_DEFAULTS): Set also REPLACE_VSNPRINTF.
72286         * lib/stdio_.h (vsnprintf): Define as a replacement if
72287         REPLACE_VSNPRINTF is set.
72288         * modules/stdio (Makefile.am): Substitute also REPLACE_VSNPRINTF.
72289
72290 2007-03-06  Bruno Haible  <bruno@clisp.org>
72291
72292         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Test for vasnprintf here.
72293         * m4/vasprintf-posix.m4 (gl_FUNC_VASPRINTF_POSIX): ... not here.
72294
72295 2007-03-06  Bruno Haible  <bruno@clisp.org>
72296
72297         * lib/math_.h (acosl): Declare also if HAVE_DECL_ACOSL is set.
72298         (asinl): Declare also if HAVE_DECL_ASINL is set.
72299         (atanl): Declare also if HAVE_DECL_ATANL is set.
72300         (ceill): Declare also if HAVE_DECL_CEILL is set.
72301         (cosl): Declare also if HAVE_DECL_COSL is set.
72302         (expl): Declare also if HAVE_DECL_EXPL is set.
72303         (floorl): Declare also if HAVE_DECL_FLOORL is set.
72304         (frexpl): Declare also if HAVE_DECL_FREXPL is set.
72305         (ldexpl): Declare also if HAVE_DECL_LDEXPL is set.
72306         (logl): Declare also if HAVE_DECL_LOGL is set.
72307         (sinl): Declare also if HAVE_DECL_SINL is set.
72308         (sqrtl): Declare also if HAVE_DECL_SQRTL is set.
72309         (tanl): Declare also if HAVE_DECL_TANL is set.
72310         * modules/math (Makefile.am): Substitute the values of HAVE_DECL_*.
72311         * m4/math_h.m4 (gl_MATH_H_DEFAULTS): Set HAVE_DECL_* to 1.
72312         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Fix tests for the
72313         declaration of frexpl, ldexpl.
72314         * modules/printf-frexpl (Depends-on): Add math.
72315         * lib/printf-frexp.c (frexpl, ldexpl): Undo last change.
72316
72317 2007-03-05  Bruno Haible  <bruno@clisp.org>
72318
72319         * m4/printf-frexpl.m4 (gl_FUNC_PRINTF_FREXPL): Also test whether
72320         frexpl and ldexpl are declared.
72321         * lib/printf-frexp.c (frexpl, ldexpl): Provide fallback declarations.
72322
72323 2007-03-05  Bruno Haible  <bruno@clisp.org>
72324
72325         * gnulib-tool (func_get_automake_snippet): Don't synthesize an
72326         EXTRA_lib_SOURCES augmentation for the relocatable-prog-wrapper module.
72327
72328 2007-03-05  Bruno Haible  <bruno@clisp.org>
72329
72330         * lib/stdio_.h: Include <stddef.h>.
72331
72332 2007-03-05  Bruno Haible  <bruno@clisp.org>
72333
72334         * m4/printf.m4 (gl_SNPRINTF_DIRECTIVE_N): New macro.
72335
72336 2007-03-05  Bruno Haible  <bruno@clisp.org>
72337
72338         * m4/printf.m4: Update with info about OpenBSD 3.9, HP-UX 10.20,
72339         NetBSD 4, from Ralf Wildenhues.
72340
72341 2007-03-04  Bruno Haible  <bruno@clisp.org>
72342
72343         * lib/vasprintf.h: Update #if logic for the case when the functions
72344         exist but are overridden.
72345
72346 2007-03-04  Bruno Haible  <bruno@clisp.org>
72347
72348         * m4/printf.m4 (gl_PRINTF_DIRECTIVE_A): Exclude two buggy
72349         implementations: glibc-2.4 and MacOS X 10.3.
72350         * tests/test-vasnprintf-posix.c (test_function): Test also the case
72351         that exhibits the bugs in glibc-2.4 and MacOS X 10.3.
72352         * tests/test-vasprintf-posix.c (test_function): Likewise.
72353
72354 2007-03-04  Bruno Haible  <bruno@clisp.org>
72355
72356         * modules/vasprintf-posix-tests: New file.
72357         * tests/test-vasprintf-posix.c: New file.
72358
72359         * modules/vasprintf-posix: New file.
72360         * lib/vasprintf.h (asprintf, vasprintf): Rename if REPLACE_VASPRINTF is
72361         defined.
72362         * m4/vasprintf-posix.m4: New file.
72363         * m4/vasprintf.m4 (gl_REPLACE_VASPRINTF): New macro, extracted from
72364         gl_FUNC_VASPRINTF.
72365         (gl_FUNC_VASPRINTF): Invoke it.
72366         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): Define REPLACE_VASNPRINTF
72367         here.
72368         * m4/vasnprintf-posix.m4 (gl_FUNC_VASNPRINTF_POSIX): Not here.
72369
72370 2007-03-04  Bruno Haible  <bruno@clisp.org>
72371
72372         * lib/sys_time_.h: Rename GETTIMEOFDAY_REPLACEMENT to
72373         REPLACE_GETTIMEOFDAY.
72374         * modules/sys_time (Makefile.am): Likewise.
72375         * m4/sys_time_h.m4: Likewise.
72376         * m4/gettimeofday.m4: Likewise.
72377
72378 2007-03-04  Bruno Haible  <bruno@clisp.org>
72379
72380         * modules/vasnprintf-posix-tests: New file.
72381         * tests/test-vasnprintf-posix.c: New file.
72382
72383         * modules/vasnprintf-posix: New file.
72384         * lib/vasnprintf.c: Include isnan.h, isnanl.h, printf-frexp.h,
72385         printf-frexpl.h.
72386         (VASNPRINTF): Handle the 'a' and 'A' directives here, if needed.
72387         * lib/vasnprintf.h (asnprintf, vasnprintf): Rename if
72388         REPLACE_VASNPRINTF is defined.
72389         * m4/vasnprintf.m4 (gl_REPLACE_VASNPRINTF): New macro, extracted from
72390         gl_FUNC_VASNPRINTF.
72391         (gl_FUNC_VASNPRINTF): Invoke it.
72392         * m4/vasnprintf-posix.m4: New file.
72393         * m4/printf.m4: New file.
72394
72395 2007-03-04  Bruno Haible  <bruno@clisp.org>
72396
72397         Compile progreloc.c only if --enable-relocatable is specified.
72398         * m4/relocatable.m4 (gl_RELOCATABLE): Arrange to compile progreloc.c
72399         if --enable-relocatable was specified.
72400         * modules/relocatable-prog (Makefile.am): Remove progreloc.c from
72401         lib_SOURCES.
72402
72403 2007-03-04  Jim Meyering  <jim@meyering.net>
72404
72405         * lib/acl.c (ACL_NOT_WELL_SUPPORTED): New macro.
72406         Use it consistently, rather than enumerating errno constants.
72407
72408 2007-03-04  Bruno Haible  <bruno@clisp.org>
72409
72410         * modules/xvasprintf-tests: New file.
72411         * tests/test-xvasprintf.c: New file.
72412
72413         * modules/vasprintf-tests: New file.
72414         * tests/test-vasprintf.c: New file.
72415
72416         * modules/vasnprintf-tests: New file.
72417         * tests/test-vasnprintf.c: New file.
72418
72419         * modules/vsnprintf-tests: New file.
72420         * tests/test-vsnprintf.c: New file.
72421
72422         * modules/snprintf-tests: New file.
72423         * tests/test-snprintf.c: New file.
72424
72425 2007-03-04  Bruno Haible  <bruno@clisp.org>
72426
72427         Compile relocatable.c only if --enable-relocatable is specified.
72428         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY_BODY): Renamed from
72429         gl_RELOCATABLE_LIBRARY.
72430         (gl_RELOCATABLE_LIBRARY, gl_RELOCATABLE_LIBRARY_SEPARATE): New macros.
72431         * m4/relocatable.m4 (gl_RELOCATABLE): Invoke gl_RELOCATABLE_LIBRARY.
72432         (gl_RELOCATABLE_BODY): Require gl_RELOCATABLE_LIBRARY_BODY instead of
72433         gl_RELOCATABLE_LIBRARY.
72434         * modules/relocatable-lib (configure.ac): Invoke gl_RELOCATABLE_LIBRARY.
72435         (Makefile.am): Remove lib_SOURCES.
72436         * modules/relocatable-lib-lgpl (configure.ac): Invoke
72437         gl_RELOCATABLE_LIBRARY.
72438         (Makefile.am): Remove lib_SOURCES.
72439         * modules/relocatable-prog (Makefile.am): Don't compile relocatable.c
72440         always.
72441         * modules/relocatable-prog-wrapper (configure.ac): Invoke
72442         gl_RELOCATABLE_LIBRARY_SEPARATE instead of gl_RELOCATABLE_LIBRARY.
72443
72444 2007-03-04  Bruno Haible  <bruno@clisp.org>
72445
72446         * modules/argmatch-tests: New file.
72447         * tests/test-argmatch.c: New file.
72448
72449         * tests/test-allocsa.c (main): Halve the number of loop runs.
72450
72451         * modules/alloca-opt-tests: New file.
72452         * tests/test-alloca-opt.c: New file.
72453
72454 2007-03-04  Jim Meyering  <jim@meyering.net>
72455
72456         Work around difference between Linux ACLs and Solaris 10 ZFS.
72457         * lib/acl.c (set_acl): Revert to using chmod_or_fchmod also
72458         for EINVAL.
72459
72460 2007-03-03  Bruno Haible  <bruno@clisp.org>
72461
72462         * modules/relocatable-prog (Depends-on): Add back progreloc's
72463         dependencies: canonicalize-lgpl, xalloc, xreadlink, stdbool, unistd.
72464
72465 2007-03-03  Bruno Haible  <bruno@clisp.org>
72466
72467         * modules/relocatable-lib-lgpl: Renamed from modules/relocatable-lib.
72468         * modules/relocatable-lib: New file.
72469
72470 2007-03-03  Bruno Haible  <bruno@clisp.org>
72471
72472         * modules/relocatable-prog: Renamed from modules/relocatable.
72473         * doc/relocatable-maint.texi: Talk about module 'relocatable-prog'.
72474
72475 2007-03-03  Bruno Haible  <bruno@clisp.org>
72476
72477         * modules/relocatable-script (Files): Add doc/relocatable.texi,
72478         m4/relocatable-lib.m4.
72479         (Depends-on): Remove 'relocatable'.
72480         (configure.ac): Add gl_RELOCATABLE_NOP.
72481
72482 2007-03-03  Bruno Haible  <bruno@clisp.org>
72483
72484         * modules/relocatable-prog-wrapper: New file.
72485         * modules/relocatable (Depends-on): Add it. Remove all other
72486         dependencies except progname.
72487         (Files): Remove build-aux/install-reloc, lib/relocwrapper.c.
72488
72489         * m4/strerror.m4 (gl_FUNC_STRERROR_SEPARATE): New macro.
72490         (gl_FUNC_STRERROR): Nop.
72491         * lib/strerror.c: Compile the file only if !HAVE_STRERROR.
72492
72493         * m4/setenv.m4 (gl_FUNC_SETENV_SEPARATE): New macro.
72494         * lib/setenv.c: Compile the file only if _LIBC || !HAVE_SETENV.
72495
72496         * m4/readlink.m4 (gl_FUNC_READLINK_SEPARATE): New macro.
72497         (gl_FUNC_READLINK): Update.
72498
72499         * m4/canonicalize-lgpl.m4 (gl_CANONICALIZE_LGPL_SEPARATE): New macro.
72500
72501 2007-03-03  Bruno Haible  <bruno@clisp.org>
72502
72503         * lib/xreadlink.c: Include <unistd.h> unconditionally.
72504         * modules/xreadlink (Depends-on): Add unistd.
72505         * modules/xreadlink-with-size (Depends-on): Likewise.
72506
72507 2007-03-03  Bruno Haible  <bruno@clisp.org>
72508
72509         * m4/setenv.m4 (gl_FUNC_SETENV, gl_FUNC_UNSETENV): New macros,
72510         extracted from gt_FUNC_SETENV.
72511         (gt_FUNC_SETENV): Remove macro.
72512         * modules/setenv (configure.ac): Add gl_FUNC_SETENV, gl_FUNC_UNSETENV,
72513         remove gt_FUNC_SETENV.
72514
72515 2007-03-03  Bruno Haible  <bruno@clisp.org>
72516
72517         * m4/relocatable-lib.m4 (gl_RELOCATABLE_LIBRARY): Define
72518         ENABLE_RELOCATABLE here.
72519         * m4/relocatable.m4 (gl_RELOCATABLE_BODY): Don't define it here.
72520
72521 2007-03-03  Bruno Haible  <bruno@clisp.org>
72522
72523         * modules/rbtreehash-list-tests (Depends-on): Add progname.
72524         * tests/test-rbtreehash_list.c: Include progname.h.
72525         (main): Call set_program_name.
72526
72527         * modules/rbtree-oset-tests (Depends-on): Add progname.
72528         * tests/test-rbtree_oset.c: Include progname.h.
72529         (main): Call set_program_name.
72530
72531         * modules/rbtree-list-tests (Depends-on): Add progname.
72532         * tests/test-rbtree_list.c: Include progname.h.
72533         (main): Call set_program_name.
72534
72535         * modules/linked-list-tests (Depends-on): Add progname.
72536         * tests/test-linked_list.c: Include progname.h.
72537         (main): Call set_program_name.
72538
72539 2007-03-03  Bruno Haible  <bruno@clisp.org>
72540
72541         * lib/glob-libc.h (_Restrict_): New macro, copied from lib/regex.h.
72542         All uses of __restrict changed to _Restrict_.
72543         * lib/glob_.h (__restrict): Remove macro.
72544
72545 2007-03-02  Bruno Haible  <bruno@clisp.org>
72546
72547         * modules/gettext (configure.ac): Require gettext infrastructure
72548         from version 0.16.1.
72549
72550 2007-03-02  Bruno Haible  <bruno@clisp.org>
72551
72552         * modules/linkedhash-list-tests (Depends-on): Add progname.
72553         * tests/test-linkedhash_list.c: Include progname.h.
72554         (main): Call set_program_name.
72555
72556         * modules/carray-list-tests (Depends-on): Add progname.
72557         * tests/test-carray_list.c: Include progname.h.
72558         (main): Call set_program_name.
72559
72560         * modules/avltreehash-list-tests (Depends-on): Add progname.
72561         * tests/test-avltreehash_list.c: Include progname.h.
72562         (main): Call set_program_name.
72563
72564         * modules/avltree-oset-tests (Depends-on): Add progname.
72565         * tests/test-avltree_oset.c: Include progname.h.
72566         (main): Call set_program_name.
72567
72568         * modules/avltree-list-tests (Depends-on): Add progname.
72569         * tests/test-avltree_list.c: Include progname.h.
72570         (main): Call set_program_name.
72571
72572         * modules/array-oset-tests (Depends-on): Add progname.
72573         * tests/test-array_oset.c: Include progname.h.
72574         (main): Call set_program_name.
72575
72576         * modules/array-list-tests (Depends-on): Add progname.
72577         * tests/test-array_list.c: Include progname.h.
72578         (main): Call set_program_name.
72579
72580         * modules/argp-tests (Depends-on): Add progname.
72581         * tests/test-argp.c: Include argp.h first. Include progname.h.
72582         (main): Call set_program_name.
72583
72584 2007-03-02  Paul Eggert  <eggert@cs.ucla.edu>
72585
72586         * doc/gnulib-tool.texi (Initial import): Reword description of
72587         _FILE_OFFSET_BITS and _GNU_SOURCE, since they sometimes have a
72588         limited effect even if defined after the first system include.
72589
72590 2007-03-01  Bruno Haible  <bruno@clisp.org>
72591
72592         * build-aux/config.libpath: Update to libtool-1.5.22.
72593         Reported by Albert Chin <bug-gnulib@mlists.thewrittenword.com>.
72594
72595 2007-03-01  Bruno Haible  <bruno@clisp.org>
72596
72597         * doc/relocatable-maint.texi: Recommend to set foo_CPPFLAGS, not
72598         foo_CFLAGS.
72599         Reported by Ralf Wildenhues.
72600
72601 2007-03-01  Bruno Haible  <bruno@clisp.org>
72602
72603         * build-aux/install-reloc: Remove object files left over by some
72604         compilers.
72605         Reported by Ralf Wildenhues.
72606
72607 2007-03-01  Bruno Haible  <bruno@clisp.org>
72608
72609         * build-aux/install-reloc: Break long lines.
72610
72611 2007-03-01  Bruno Haible  <bruno@clisp.org>
72612
72613         * doc/relocatable.texi: Document that it may not work on OpenBSD.
72614         Reported by Ralf Wildenhues.
72615
72616 2007-03-01  Bruno Haible  <bruno@clisp.org>
72617
72618         * doc/gnulib-tool.texi (Initial import): Remove paragraph about
72619         include ordering constraints.
72620
72621 2007-03-01  Paul Eggert  <eggert@cs.ucla.edu>
72622
72623         Followup to the 2007-02-12 patch, using suggestions from Bruno Haible in
72624         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00136.html>.
72625         * doc/gnulib-tool.texi (Initial import): Mention _FILE_OFFSET_BITS
72626         as another example.
72627         * lib/time_.h: Fix misspelling.
72628         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
72629         Require gl_HEADER_TIME_H_DEFAULTS.
72630         * m4/strptime.m4 (gl_FUNC_STRPTIME): Likewise.
72631         * m4/time_r.m4 (gl_TIME_R): Likewise.
72632         * m4/timegm.m4 (gl_FUNC_TIMEGM): Likewise.
72633
72634 2007-03-01  Bruno Haible  <bruno@clisp.org>
72635
72636         * m4/utimecmp.m4 (gl_UTIMECMP): Don't require gl_TIMESPEC.
72637         * m4/utimens.m4 (gl_UTIMENS): Likewise.
72638
72639 2007-03-01  Jim Meyering  <jim@meyering.net>
72640
72641         * modules/xreadlink (Maintainer): Add my name.
72642         * modules/xreadlink-with-size (Depends-on): Alphabetize.
72643
72644 2007-02-26  Ben Pfaff  <blp@cs.stanford.edu>
72645             Bruno Haible  <bruno@clisp.org>
72646
72647         * build-aux/install-reloc: Compile also c-ctype.c.
72648         * build-aux/relocatable.sh.in: New file.
72649         * doc/relocatable.texi: New file.
72650         * doc/relocatable-maint.texi: New file.
72651         * doc/gnulib.texi: Include relocatable-maint.texi.
72652         * lib/progreloc.c: Include unistd.h unconditionally.
72653         * lib/relocwrapper.c: Include unistd.h unconditionally.
72654         Include c-ctype.h.
72655         (add_dotbin): Use c_tolower.
72656         * m4/relocatable-lib.m4: New file, extracted from m4/relocatable.m4.
72657         (gl_RELOCATABLE_LIBRARY): Renamed from AC_RELOCATABLE_LIBRARY.
72658         (gl_RELOCATABLE_NOP): Renamed from AC_RELOCATABLE_NOP.
72659         * m4/relocatable.m4 (AC_RELOCATABLE_LIBRARY, AC_RELOCATABLE_NOP): Move
72660         to m4/relocatable-lib.m4.
72661         (gl_RELOCATABLE): Renamed from AC_RELOCATABLE. Set also
72662         RELOCATABLE_CONFIG_H_DIR, RELOCATABLE_SRC_DIR, RELOCATABLE_BUILD_DIR.
72663         (gl_RELOCATABLE_BODY): Renamed from AC_RELOCATABLE_BODY. Don't
72664         require obsolete macro AC_EXEEXT. Don't check for unistd.h. Don't set
72665         SET_RELOCATABLE. Instead set RELOCATABLE_LDFLAGS, INSTALL_PROGRAM_ENV.
72666         * modules/relocatable: New file.
72667         * modules/relocatable-lib: New file.
72668         * modules/relocatable-script: New file.
72669
72670 2007-02-28  Bruno Haible  <bruno@clisp.org>
72671
72672         Import --enable-relocatable infrastructure.
72673         * build-aux/config.libpath: New file, from GNU gettext.
72674         * build-aux/install-reloc: New file, from GNU gettext.
72675         * build-aux/reloc-ldflags: New file, from GNU gettext.
72676         * lib/relocatable.h: New file, from GNU gettext.
72677         * lib/relocatable.c: New file, from GNU gettext.
72678         * lib/relocwrapper.c: New file, from GNU gettext.
72679         * m4/relocatable.m4: New file, from GNU gettext.
72680
72681 2007-02-28  Bruno Haible  <bruno@clisp.org>
72682
72683         * MODULES.html.sh (File system functions): Add xreadlink-with-size.
72684
72685         * modules/xreadlink: New file, from GNU gettext with modifications.
72686         * lib/xreadlink.c: New file, from GNU gettext.
72687         * lib/xreadlink.h: Add comments.
72688         (xreadlink): New declaration.
72689
72690         * modules/xreadlink-with-size: Renamed from modules/xreadlink.
72691         (Files): Remove m4/xreadlink.m4. Replace lib/xreadlink.c with
72692         lib/xreadlink-with-size.c.
72693         (configure.ac): Remove gl_XREADLINK invocation.
72694         (Makefile.am): Augment lib_SOURCES.
72695         * m4/xreadlink.m4: Remove file.
72696         * lib/xreadlink-with-size.c: Renamed from lib/xreadlink.c.
72697         (xreadlink_with_size): Renamed from xreadink.
72698         * lib/xreadlink.h (xreadlink_with_size): Renamed from xreadink.
72699         * modules/canonicalize (Depends-on): Replace xreadlink with
72700         xreadlink-with-size.
72701         * lib/canonicalize.c (canonicalize_filename_mode): Update.
72702
72703 2007-02-25  Jim Meyering  <jim@meyering.net>
72704
72705         * build-aux/announce-gen: When complaining about excess arguments,
72706         list them.
72707
72708 2007-02-25  Paul Eggert  <eggert@cs.ucla.edu>
72709
72710         * README: Document signed integer overflow situation more
72711         accurately.
72712
72713 2007-02-25  Bruno Haible  <bruno@clisp.org>
72714
72715         * lib/vasnprintf.c (VASNPRINTF): Fix estimate of size needed for a
72716         'a' or 'A' conversion.
72717
72718 2007-02-25  Bruno Haible  <bruno@clisp.org>
72719
72720         * modules/filename: Renamed from modules/pathname.
72721         (Files): Replace lib/pathname.h with lib/filename.h. Replace
72722         lib/concatpath.c with lib/concat-filename.c.
72723         (Makefile.am): Update.
72724         (Include): Replace pathname.h with filename.h.
72725         * lib/filename.h: Renamed from lib/pathname.h.
72726         (concatenated_filename): Renamed from concatenated_pathname.
72727         * lib/concat-filename.c: Renamed from lib/concatpath.c.
72728         (concatenated_filename): Renamed from concatenated_pathname.
72729         * lib/findprog.c: Include filename.h instead of pathname.h.
72730         (find_in_path): Update.
72731         * lib/javacomp.c: Include filename.h instead of pathname.h.
72732         (is_envjavac_gcj43_usable, is_envjavac_oldgcj_14_14_usable,
72733         is_envjavac_oldgcj_14_13_usable, is_envjavac_nongcj_usable,
72734         is_gcj_present, is_gcj43_usable, is_oldgcj_14_14_usable,
72735         is_oldgcj_14_13_usable, is_javac_usable): Update.
72736         * lib/javaexec.c: Include filename.h instead of pathname.h.
72737         (execute_java_class): Update.
72738         * modules/findprog: Update.
72739         * modules/javacomp: Update.
72740         * modules/javaexec: Update.
72741         * MODULES.html.sh (File system functions): Add 'filename', remove
72742         'pathname'.
72743
72744 2007-02-25  Bruno Haible  <bruno@clisp.org>
72745
72746         * modules/printf-frexpl-tests: New file.
72747         * tests/test-printf-frexpl.c: New file.
72748
72749         * modules/printf-frexpl: New file.
72750         * lib/printf-frexpl.h: New file.
72751         * lib/printf-frexpl.c: New file.
72752         * m4/printf-frexpl.m4: New file.
72753
72754 2007-02-25  Bruno Haible  <bruno@clisp.org>
72755
72756         * modules/printf-frexp-tests: New file.
72757         * tests/test-printf-frexp.c: New file.
72758
72759         * modules/printf-frexp: New file.
72760         * lib/printf-frexp.h: New file.
72761         * lib/printf-frexp.c: New file.
72762         * m4/printf-frexp.m4: New file.
72763
72764 2007-02-25  Bruno Haible  <bruno@clisp.org>
72765
72766         Assume automake >= 1.10 for the tests.
72767         * modules/arcfour-tests (TESTS): Remove $(EXEEXT) suffix.
72768         * modules/arctwo-tests: Likewise.
72769         * modules/argp-tests: Likewise.
72770         * modules/avltree-list-tests: Likewise.
72771         * modules/avltree-oset-tests: Likewise.
72772         * modules/avltreehash-list-tests: Likewise.
72773         * modules/carray-list-tests: Likewise.
72774         * modules/crc-tests: Likewise.
72775         * modules/des-tests: Likewise.
72776         * modules/gc-arcfour-tests: Likewise.
72777         * modules/gc-arctwo-tests: Likewise.
72778         * modules/gc-des-tests: Likewise.
72779         * modules/gc-hmac-md5-tests: Likewise.
72780         * modules/gc-hmac-sha1-tests: Likewise.
72781         * modules/gc-md2-tests: Likewise.
72782         * modules/gc-md4-tests: Likewise.
72783         * modules/gc-md5-tests: Likewise.
72784         * modules/gc-pbkdf2-sha1-tests: Likewise.
72785         * modules/gc-rijndael-tests: Likewise.
72786         * modules/gc-sha1-tests: Likewise.
72787         * modules/gc-tests: Likewise.
72788         * modules/getaddrinfo-tests: Likewise.
72789         * modules/hmac-md5-tests: Likewise.
72790         * modules/hmac-sha1-tests: Likewise.
72791         * modules/linked-list-tests: Likewise.
72792         * modules/linkedhash-list-tests: Likewise.
72793         * modules/lock-tests: Likewise.
72794         * modules/md2-tests: Likewise.
72795         * modules/md4-tests: Likewise.
72796         * modules/md5-tests: Likewise.
72797         * modules/rbtree-list-tests: Likewise.
72798         * modules/rbtree-oset-tests: Likewise.
72799         * modules/rbtreehash-list-tests: Likewise.
72800         * modules/read-file-tests: Likewise.
72801         * modules/rijndael-tests: Likewise.
72802         * modules/stdint-tests: Likewise.
72803         * modules/tls-tests: Likewise.
72804
72805 2007-02-24  Bruno Haible  <bruno@clisp.org>
72806
72807         * lib/isnanl.h (isnanl): Define through isnan if isnan is a macro.
72808         * m4/isnan.m4 (gl_FUNC_ISNAN_NO_LIBM): Don't check for isnan as a
72809         function; instead check whether isnan with a double argument links.
72810         * m4/isnanl.m4 (gl_FUNC_ISNANL_NO_LIBM): Don't check for isnanl as a
72811         function; instead check whether isnan with a 'long double' argument
72812         links.
72813         Reported by Eric Blake <ebb9@byu.net>.
72814
72815 2007-02-24  Bruno Haible  <bruno@clisp.org>
72816
72817         * lib/isnan.c: Support the 'long double' case if USE_LONG_DOUBLE is
72818         defined.
72819         * lib/isnanl.c: Remove all code. Just include isnan.c.
72820         * modules/isnanl-nolibm (Files): Add lib/isnan.c.
72821
72822 2007-02-25  Jim Meyering  <jim@meyering.net>
72823
72824         Avoid conflicting types for 'unsetenv' on FreeBSD.
72825         * lib/putenv.c (_unsetenv): Rename from "unsetenv", to avoid
72826         conflicting with FreeBSD's (5.0 and 6.1) function declaration
72827         in stdlib.h.
72828
72829 2007-02-24  Bruno Haible  <bruno@clisp.org>
72830
72831         * modules/isnanl-nolibm-tests: New file.
72832         * tests/test-isnanl.c: New file.
72833
72834         * modules/isnanl-nolibm: New file.
72835         * lib/isnanl.h: New file.
72836         * lib/isnanl.c: New file.
72837         * m4/isnanl.m4: New file.
72838
72839 2007-02-24  Bruno Haible  <bruno@clisp.org>
72840
72841         * modules/isnan-nolibm-tests: New file.
72842         * tests/test-isnan.c: New file.
72843
72844         * modules/isnan-nolibm: New file.
72845         * lib/isnan.h: New file.
72846         * lib/isnan.c: New file.
72847         * m4/isnan.m4: New file.
72848
72849 2007-02-24  Bruno Haible  <bruno@clisp.org>
72850
72851         * lib/frexpl.c (frexpl): Correct return values for x = 1.0L. Don't
72852         assume that an exponent fits in 20 bits.
72853
72854 2007-02-24  Jim Meyering  <jim@meyering.net>
72855
72856         * m4/regex.m4: Update the description of the configure-time option,
72857         --without-included-regex, to state accurately what the defaults are,
72858         and perhaps to give people an idea why using this option is risky.
72859
72860 2007-02-24  Paul Eggert  <eggert@cs.ucla.edu>
72861
72862         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check for a nanosleep that
72863         loops on small arguments.  This attempts to avoid the problem
72864         Bruno Haible reported for AIX 4.3.2 in
72865         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00309.html>.
72866
72867 2007-02-23  Bruno Haible  <bruno@clisp.org>
72868
72869         * m4/perl.m4 (gl_PERL): Require version 5.005, not 5.003.
72870         Needed for help2man.
72871
72872 2007-02-23  Karl Berry  <karl@gnu.org>
72873
72874         * doc/gnulib-tool.texi (CVS Issues): mention that when foo_.h
72875         exists, foo.h should be cvs-ignored, not committed.
72876
72877 2007-02-23  Eric Blake  <ebb9@byu.net>
72878
72879         * lib/getdate.h (includes):  Include <time.h>, not "timespec.h".
72880         * lib/stat-time.h (includes): Likewise.
72881         * lib/utimecmp.c (includes): Likewise.
72882         * lib/utimens.h (includes): Likewise.
72883         * lib/getdate.y (includes): Also include "timespec.h" for use
72884         internal to the module.
72885         * modules/utimens (Depends-on): Revert yesterday's patch.
72886         * modules/nanosleep (Depends-on): Add missing dependency.
72887
72888 2007-02-22  Bruno Haible  <bruno@clisp.org>
72889
72890         * lib/glob.c: Don't include getlogin_r.h.
72891
72892 2007-02-22  Jim Meyering  <jim@meyering.net>
72893
72894         * modules/utimens (Depends-on): Add timespec, required for
72895         utimens.h's inclusion of timespec.h.
72896
72897 2007-02-21  Paul Eggert  <eggert@cs.ucla.edu>
72898
72899         * lib/getcwd.c (__getcwd): Undo previous change; it mishandled
72900         long unreadable paths in GNU/Linux.  Problem reported by Andreas
72901         Schwab in
72902         <http://lists.gnu.org/archive/html/bug-gnulib/2007-02/msg00261.html>.
72903         I'll try to think of a better way to fix the Solaris problem.
72904
72905         * lib/getcwd.c (__getcwd): Don't assume getcwd (NULL, 0) works
72906         like glibc; on Solaris 10, it fails with errno == EINVAL.
72907         POSIX says the behavior is unspecified if the first argument is NULL,
72908         so play it safe and never pass NULL to the system getcwd.
72909
72910 2007-02-21  Jim Meyering  <jim@meyering.net>
72911
72912         * lib/gettimeofday.c (rpl_gettimeofday): Remove declaration
72913         of gettimeofday.  It would conflict with the one now always
72914         provided via sys_time_.h.  Reported by Matthew Woehlke, as
72915         an IRIX 6.5 build failure.
72916
72917 2007-02-20  Paul Eggert  <eggert@cs.ucla.edu>
72918
72919         Minor fixups to port to Solaris 10 with Sun C 5.8.
72920         * lib/getcwd.c [!_LIBC]: Include dirfd.h, since we use dirfd.
72921         * modules/getcwd (Depends-on): Add dirfd.
72922         * lib/putenv.c (putenv): #undef it.
72923         (rpl_putenv): New decl.
72924         (malloc, free): Include <stdlib.h> rather than prototyping separately.
72925
72926 2007-02-20  Bruno Haible  <bruno@clisp.org>
72927
72928         * modules/stdio-tests: New file.
72929         * tests/test-stdio.c: New file.
72930
72931         * modules/vsnprintf (Files): Remove lib/vsnprintf.h.
72932         (Depends-on): Add stdio.
72933         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72934         (Include): Use <stdio.h> instead of vsnprintf.h.
72935         * m4/vsnprintf.m4 (gl_FUNC_VSNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72936         HAVE_DECL_VSNPRINTF.
72937         * lib/vsnprintf.c: Include <stdio.h> instead of vsnprintf.h.
72938
72939         * modules/snprintf (Files): Remove lib/snprintf.h.
72940         (Depends-on): Add stdio.
72941         (configure.ac): Invoke gl_STDIO_MODULE_INDICATOR.
72942         (Include): Use <stdio.h> instead of snprintf.h.
72943         * m4/snprintf.m4 (gl_FUNC_SNPRINTF): Require gl_STDIO_H_DEFAULTS. Set
72944         HAVE_DECL_SNPRINTF.
72945         * lib/snprintf.c: Include <stdio.h> instead of snprintf.h.
72946         * lib/getaddrinfo.c: Likewise.
72947
72948         * modules/stdio: New file.
72949         * lib/stdio_.h: New file, incorporating snprintf.h and vsnprintf.h.
72950         * lib/snprintf.h: Remove file.
72951         * lib/vsnprintf.h: Remove file.
72952         * lib/.cppi-disable: Remove snprintf.h.
72953         * m4/stdio_h.m4: New file.
72954         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdio.
72955
72956 2007-02-20  Jim Meyering  <jim@meyering.net>
72957
72958         * lib/ftruncate.c [HAVE_CHSIZE]: Document that this code is
72959         used by e.g., mingw.  From Bruno Haible.
72960
72961 2007-02-19  Bruno Haible  <bruno@clisp.org>
72962
72963         * lib/string_.h: Use "#pragma GCC system_header" to suppress some gcc
72964         warnings.
72965         Reported by Ben Pfaff <blp@cs.stanford.edu>.
72966
72967 2007-02-19  Bruno Haible  <bruno@clisp.org>
72968
72969         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Don't request a complaint mail
72970         from mingw users.
72971
72972 2007-02-19  Bruno Haible  <bruno@clisp.org>
72973
72974         * lib/stdlib_.h: Use "#pragma GCC system_header" to suppress some gcc
72975         warnings.
72976         Reported by Joel E. Denny <jdenny@ces.clemson.edu> via Paul Eggert.
72977
72978 2007-02-19  Jim Meyering  <jim@meyering.net>
72979
72980         Don't use FD after a successful "fdopendir (fd)".
72981         * lib/getcwd.c (__getcwd) [AT_FDCWD]: fdopendir (fd) usually closes fd.
72982         Reset it by calling dirfd on the just-obtained DIR*.
72983
72984         * m4/ftruncate.m4: Adjust comment to give this module a 3-year reprieve.
72985         Prompted by a report from Bruno Haible that mingw lacks ftruncate.
72986
72987 2007-02-18  Bruno Haible  <bruno@clisp.org>
72988
72989         * lib/readlink.c: Include <unistd.h>.
72990         * m4/readlink.m4 (gl_FUNC_READLINK): Require gl_UNISTD_H_DEFAULTS. Set
72991         HAVE_READLINK.
72992         * modules/readlink (Depends-on): Add unistd.
72993         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
72994         (Include): Add <unistd.h>.
72995
72996         * lib/getlogin_r.h: Remove file.
72997         * lib/getlogin_r.c: Include <unistd.h> instead of getlogin_r.h.
72998         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE): Remove macro.
72999         (gl_GETLOGIN_R): Inline it here. Require gl_UNISTD_H_DEFAULTS. Set
73000         HAVE_DECL_GETLOGIN_R.
73001         * modules/getlogin_r (Files): Remove lib/getlogin_r.h.
73002         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73003         (Include): Use <unistd.h> instead of getlogin_r.h.
73004
73005         * lib/getcwd.h: Remove file.
73006         * lib/getcwd.c: Include <unistd.h> instead of getcwd.h.
73007         * lib/xgetcwd.c: Likewise.
73008         * m4/getcwd.m4 (gl_FUNC_GETCWD): Require gl_UNISTD_H_DEFAULTS. Set
73009         REPLACE_GETCWD. Don't define __GETCWD_PREFIX.
73010         * modules/getcwd (Files): Remove lib/getcwd.h.
73011         (Depends-on): Add unistd.
73012         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73013         (Include): Use <unistd.h> instad of getcwd.h.
73014
73015         * lib/ftruncate.c: Include <unistd.h> first.
73016         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): Require gl_UNISTD_H_DEFAULTS.
73017         Set HAVE_FTRUNCATE.
73018         * modules/ftruncate (Depends-on): Add unistd.
73019         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73020
73021         * lib/fchdir.c: Include <unistd.h> first.
73022         * lib/dirent_.h: Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT.
73023         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_UNISTD_H_DEFAULTS instead
73024         of gl_HEADER_UNISTD_DEFAULTS. Set REPLACE_FCHDIR. Don't set UNISTD_H.
73025         * modules/fchdir (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73026         (Makefile.am): Substitute also REPLACE_FCHDIR into dirent.h.
73027
73028         * lib/dup2.c: Include <unistd.h> first.
73029         * m4/dup2.m4 (gl_FUNC_DUP2): Require gl_UNISTD_H_DEFAULTS. Set
73030         HAVE_DUP2.
73031         * modules/dup2 (Depends-on): Add unistd.
73032         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73033
73034         * lib/chown.c: Include <unistd.h> first. Undefine chown later.
73035         * m4/chown.m4 (gl_FUNC_CHOWN): Require gl_UNISTD_H_DEFAULTS. Set
73036         REPLACE_CHOWN. Don't define chown as a macro here.
73037         * modules/chown (Depends-on): Add unistd.
73038         (configure.ac): Invoke gl_UNISTD_MODULE_INDICATOR.
73039
73040         * lib/unistd_.h: Test HAVE_UNISTD_H determined at configure time.
73041         Add definition for GL_LINK_WARNING.
73042         (chown, dup2): New declarations.
73043         (fchdir): Test REPLACE_FCHDIR, not FCHDIR_REPLACEMENT. Provide optional
73044         link warning.
73045         (ftruncate): New declaration.
73046         (getcwd): New declaration, taken from old getcwd.h.
73047         (getlogin_r): New declaration, taken from old getlogin_r.h.
73048         (readlink): New declaration.
73049         * m4/unistd_h.m4 (gl_UNISTD_H): Renamed from gl_HEADER_UNISTD. Don't
73050         set UNISTD_H. Inline gl_PREREQ_UNISTD. Set HAVE_UNISTD_H.
73051         (gl_PREREQ_UNISTD): Remove macro.
73052         (gl_UNISTD_MODULE_INDICATOR): New macro.
73053         (gl_UNISTD_H_DEFAULTS): Renamed from gl_HEADER_UNISTD_DEFAULTS. Set
73054         many new variables. Don't set UNISTD_H.
73055         * modules/unistd (Description): Change.
73056         (Depends-on): Add link-warning.
73057         (configure.ac): Update.
73058         (Makefile.am): Create unistd.h always. Substitute many new variables
73059         into it.
73060
73061 2007-02-18  Bruno Haible  <bruno@clisp.org>
73062
73063         * lib/stdlib_.h (getsubopt): New declaration, copied from getsubopt.h.
73064         * modules/stdlib (stdlib.h): Also substitute GNULIB_GETSUBOPT and
73065         HAVE_GETSUBOPT.
73066         * m4/stdlib_h.m4 (gl_STDLIB_H_DEFAULTS): Also initialize
73067         GNULIB_GETSUBOPT and HAVE_GETSUBOPT.
73068         * lib/getsubopt.h: Remove file.
73069         * modules/getsubopt (Files): Remove lib/getsubopt.h.
73070         (Depends-on): Add stdlib.
73071         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73072         (Includes): Use <stdlib.h> instead of getsubopt.h.
73073         * m4/getsubopt.m4 (gl_FUNC_GETSUBOPT): Require gl_STDLIB_H_DEFAULTS.
73074         Set HAVE_GETSUBOPT.
73075         * lib/getsubopt.c: Don't include getsubopt.h.
73076
73077 2007-02-18  Bruno Haible  <bruno@clisp.org>
73078
73079         * modules/fchdir (Depends-on): Add dup2.
73080
73081 2007-02-18  Bruno Haible  <bruno@clisp.org>
73082
73083         * lib/stdlib_.h: Handle glibc's special invocation convention
73084         specially.
73085
73086 2007-02-18  Bruno Haible  <bruno@clisp.org>
73087
73088         * modules/stdlib-tests: New file.
73089         * tests/test-stdlib.c: New file.
73090
73091         * modules/mkstemp (Files): Remove lib/mkstemp.h.
73092         (Depends-on): Add stdlib.
73093         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73094         (Includes): Use <stdlib.h> instead of mkstemp.h.
73095         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require gl_STDLIB_H_DEFAULTS. Set
73096         REPLACE_MKSTEMP. Remove definition of __MKSTEMP_PREFIX.
73097         * lib/mkstemp.c: Don't include mkstemp.h.
73098         * lib/mkstemp-safer.c: Include <stdlib.h> instead of mkstemp.h.
73099         * lib/stdlib--.h: Don't include mkstemp.h.
73100
73101         * modules/mkdtemp (Files): Remove lib/mkdtemp.h.
73102         (Depends-on): Add stdlib.
73103         (configure.ac): Invoke gl_STDLIB_MODULE_INDICATOR.
73104         (Includes): Use <stdlib.h> instead of mkdtemp.h.
73105         * m4/mkdtemp.m4 (gt_FUNC_MKDTEMP): Require gl_STDLIB_H_DEFAULTS. Set
73106         HAVE_MKDTEMP.
73107         * lib/mkdtemp.c: Don't include mkdtemp.h.
73108         * lib/clean-temp.c: Don't include mkdtemp.h.
73109
73110         * modules/exit (Files): Remove lib/exit.h.
73111         (Depends-on): Add stdlib.
73112         (Makefile.am): Remove lib_SOURCES.
73113         (Include): Use <stdlib.h> instead of exit.h.
73114         * lib/argmatch.c: Don't include exit.h.
73115         * lib/execute.c: Likewise.
73116         * lib/pagealign_alloc.c: Likewise.
73117         * lib/pipe.c: Likewise.
73118         * lib/wait-process.c: Likewise.
73119         * lib/copy-file.c: Include <stdlib.h> instead of exit.h.
73120         * lib/exitfail.c: Likewise.
73121         * lib/savewd.c: Likewise.
73122         * lib/xsetenv.c: Likewise.
73123
73124         * modules/stdlib: New file.
73125         * lib/stdlib_.h: New file, incorporating exit.h, mkdtemp.h, mkstemp.h
73126         and extra comments about mkstemp().
73127         * lib/exit.h: Remove file.
73128         * lib/mkdtemp.h: Remove file.
73129         * lib/mkstemp.h: Remove file.
73130         * m4/stdlib_h.m4: New file.
73131         * MODULES.html.sh (Support for systems lacking ANSI C 89): Add stdlib.
73132
73133 2007-02-18  Bruno Haible  <bruno@clisp.org>
73134
73135         * modules/math-tests: New file.
73136         * tests/test-math.c: New file.
73137
73138         * modules/math: New file.
73139         * modules/mathl (Files): Remove lib/mathl.h.
73140         (Depends-on): Add math.
73141         (Makefile.am): Don't mention mathl.h.
73142         (Include): Use <math.h> instead of mathl.h.
73143         * lib/math_.h: New file.
73144         * lib/mathl.h: Remove file.
73145         * lib/acosl.c: Include <config.h> and <math.h> first. Don't include
73146         mathl.h.
73147         * lib/asinl.c: Likewise.
73148         * lib/atanl.c: Likewise.
73149         * lib/ceill.c: Likewise.
73150         * lib/cosl.c: Likewise.
73151         * lib/expl.c: Likewise.
73152         * lib/floorl.c: Likewise.
73153         * lib/frexpl.c: Likewise.
73154         * lib/ldexpl.c: Likewise.
73155         * lib/logl.c: Likewise.
73156         * lib/sincosl.c: Likewise.
73157         * lib/sinl.c: Likewise.
73158         * lib/sqrtl.c: Likewise.
73159         * lib/tanl.c: Likewise.
73160         * lib/trigl.c: Likewise.
73161         * m4/math_h.m4: New file.
73162         * MODULES.html.sh (Mathematics): Add math.
73163
73164 2007-02-17  Bruno Haible  <bruno@clisp.org>
73165
73166         * modules/wctype-tests: New file.
73167         * tests/test-wctype.c: New file.
73168
73169         * modules/wchar-tests: New file.
73170         * tests/test-wchar.c: New file.
73171
73172         * modules/unistd-tests: New file.
73173         * tests/test-unistd.c: New file.
73174
73175         * modules/time-tests: New file.
73176         * tests/test-time.c: New file.
73177
73178         * modules/sysexits-tests: New file.
73179         * tests/test-sysexits.c: New file.
73180
73181         * modules/sys_time-tests: New file.
73182         * tests/test-sys_time.c: New file.
73183
73184         * modules/sys_stat-tests: New file.
73185         * tests/test-sys_stat.c: New file.
73186
73187         * modules/sys_socket-tests: New file.
73188         * tests/test-sys_socket.c: New file.
73189
73190         * modules/sys_select-tests: New file.
73191         * tests/test-sys_select.c: New file.
73192
73193         * modules/string-tests: New file.
73194         * tests/test-string.c: New file.
73195
73196         * modules/stdbool-tests: New file.
73197         * tests/test-stdbool.c: New file.
73198
73199         * modules/netinet_in-tests: New file.
73200         * tests/test-netinet_in.c: New file.
73201
73202         * modules/inttypes-tests: New file.
73203         * tests/test-inttypes.c: New file.
73204
73205         * modules/fcntl-tests: New file.
73206         * tests/test-fcntl.c: New file.
73207
73208         * modules/byteswap-tests: New file.
73209         * tests/test-byteswap.c: New file.
73210
73211         * modules/arpa_inet-tests: New file.
73212         * tests/test-arpa_inet.c: New file.
73213
73214 2007-02-17  Bruno Haible  <bruno@clisp.org>
73215
73216         * lib/inttypes_.h: Add definition for GL_LINK_WARNING.
73217         (imaxabs, imaxdiv, strtoimax, strtoumax): Don't declare the function
73218         if the corresponding module is not enabled. Emit link warnings if
73219         the function is used nevertheless.
73220         * m4/inttypes.m4 (gl_INTTYPES_H): Never use the existing <inttypes.h>.
73221         Don't AC_SUBST HAVE_DECL_IMAXABS, HAVE_DECL_IMAXDIV,
73222         HAVE_DECL_STRTOIMAX, HAVE_DECL_STRTOUMAX.
73223         (gl_INTTYPES_MODULE_INDICATOR, gl_INTTYPES_H_DEFAULTS): New macros.
73224         * modules/inttypes (Depends-on): Add link-warning.
73225         (Makefile.am): Copy the contents of build-aux/link-warning.h into
73226         inttypes.h. Substitute also GNULIB_IMAXABS, GNULIB_IMAXDIV,
73227         GNULIB_STRTOIMAX, GNULIB_STRTOUMAX.
73228         * modules/imaxabs (configure.ac): Invoke gl_INTTYPES_MODULE_INDICATOR.
73229         * modules/imaxdiv (configure.ac): Likewise.
73230         * modules/strtoimax (configure.ac): Likewise.
73231         * modules/strtoumax (configure.ac): Likewise.
73232
73233 2007-02-17  Bruno Haible  <bruno@clisp.org>
73234
73235         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Include the contents of
73236         gl_STRING_MODULE_INDICATOR_DEFAULTS.
73237         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Remove macro.
73238         (gl_HEADER_STRING_H_BODY, gl_STRING_MODULE_INDICATOR): Update.
73239
73240 2007-02-17  Bruno Haible  <bruno@clisp.org>
73241
73242         * modules/link-warning: New file.
73243         * build-aux/link-warning.h: New file, extracted from lib/string_.h.
73244         * lib/string_.h (GL_LINK_WARNING): Remove definition.
73245         * modules/string (Depends-on): Add link-warning.
73246         (Makefile.am): Copy the contents of build-aux/link-warning.h into
73247         string.h.
73248         * MODULES.html.sh (Support for building libraries and executables): Add
73249         link-warning.
73250
73251 2007-02-17  Bruno Haible  <bruno@clisp.org>
73252
73253         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strcasecmp,
73254         strncasecmp, strchr, strchrnul, strdup, strndup, strnlen, strcspn,
73255         strpbrk, strspn, strrchr, strsep, strstr, strcasestr, strtok_r): Break
73256         long lines.
73257
73258 2007-02-17  Ben Pfaff  <blp@cs.stanford.edu>
73259             Bruno Haible  <bruno@clisp.org>
73260
73261         * modules/tmpfile: New file.
73262         * lib/tmpfile.c: New file.
73263         * m4/tmpfile.m4: New file.
73264         * MODULES.html.sh (func_all_modules): New section "Input/output".
73265
73266 2007-02-15  Bruno Haible  <bruno@clisp.org>
73267
73268         * lib/clean-temp.c [WIN32 && !CYGWIN]: Include <windows.h>.
73269         (supports_delete_on_close): New function.
73270         (open_temp, fopen_temp): Use _O_TEMPORARY when supported.
73271
73272 2007-02-14  Bruno Haible  <bruno@clisp.org>
73273
73274         * modules/mbspcasecmp-tests: New file.
73275         * tests/test-mbspcasecmp.sh: New file.
73276         * tests/test-mbspcasecmp.c: New file.
73277
73278         New module mbspcasecmp.
73279         * modules/mbspcasecmp: New file.
73280         * lib/mbspcasecmp.c: New file.
73281         * lib/string_.h (strncasecmp): Change warning message.
73282         (mbspcasecmp): New declaration.
73283         * m4/mbspcasecmp.m4: New file.
73284         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73285         GNULIB_MBSPCASECMP.
73286         * modules/string (string.h): Also substitute GNULIB_MBSPCASECMP.
73287         * MODULES.html.sh (Internationalization functions): Add mbspcasecmp.
73288
73289 2007-02-14  Bruno Haible  <bruno@clisp.org>
73290
73291         * modules/mbsncasecmp-tests: New file.
73292         * tests/test-mbsncasecmp.sh: New file.
73293         * tests/test-mbsncasecmp.c: New file.
73294
73295         New module mbsncasecmp.
73296         * modules/mbsncasecmp: New file.
73297         * lib/mbsncasecmp.c: New file.
73298         * lib/string_.h (mbsncasecmp): New declaration.
73299         * m4/mbsncasecmp.m4: New file.
73300         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73301         GNULIB_MBSNCASECMP.
73302         * modules/string (string.h): Also substitute GNULIB_MBSNCASECMP.
73303         * MODULES.html.sh (Internationalization functions): Add mbsncasecmp.
73304
73305 2007-02-14  Paul Eggert  <eggert@cs.ucla.edu>
73306
73307         * lib/exclude.c (FNM_EXTMATCH): Define if system does not.
73308         Verify that it doesn't overlap with our flags.
73309         (fnmatch_no_wildcards): Don't use strcasecmp or strncasecmp, which
73310         do not have the desired effect in multibyte locales; instead, use
73311         mbscasecmp.
73312         * modules/exclude (Depends-on): Depend on mbscasecmp, not strcase.
73313         Add dependency on xalloc.  Depend on fnmatch, not fnmatch-gnu, since
73314         we don't require GNU fnmatch ourselves (if our users require it, they
73315         should do so explicitly).
73316
73317         Fix regex code so it doesn't rely on strcasecmp.
73318         * lib/regex_internal.h: Include <langinfo.h> only if _LIBC is defined.
73319         Otherwise, include gnulib's langinfo.h.
73320         * lib/regcomp.c (init_dfa): Don't use strcasecmp, as it can have
73321         undesirable behavior in non-C locales.  Instead, rely on localecharset.
73322         * m4/regex.m4 (gl_PREREQ_REGEX): Don't require AM_LANGINFO_CODESET.
73323         * modules/regex (FILES): Remove m4/codeset.m4.
73324         (Depends-on): Add localcharset.  Remove strcase.
73325
73326 2007-02-13  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
73327
73328         * m4/unlinkdir.m4 (gl_UNLINKDIR): Fix m4 quoting bug.
73329         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Likewise.
73330
73331 2007-02-13  Bruno Haible  <bruno@clisp.org>
73332
73333         * m4/intdiv0.m4 (gt_INTDIV0): Assume ANSI C. Fix underquoting bug.
73334         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73335
73336 2007-02-12  Bruno Haible  <bruno@clisp.org>
73337
73338         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73339         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): If
73340         GNULIB_POSIXCHECK and the gnulib module not enabled, provoke a link-
73341         time warning rather than a link error.
73342
73343 2007-02-12  Bruno Haible  <bruno@clisp.org>
73344
73345         * m4/locale-fr.m4 (gt_LOCALE_FR): Fix m4 quoting bug.
73346         * m4/locale-zh.m4 (gt_LOCALE_ZH_CN): Likewise.
73347         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
73348
73349 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73350
73351         * lib/string_.h (strncasecmp): Fix typo: this macro takes 3
73352         args, not 2.
73353
73354 2007-02-12  Paul Eggert  <eggert@cs.ucla.edu>
73355
73356         New module 'time', so that apps can include <time.h> as per
73357         POSIX and GNU instead of separate include files like time_r.h
73358         and timegm.h.  This implementation tries out a simpler approach
73359         for replacing decls in standard include files (as compared to
73360         the string module), somewhat as an experiment.
73361
73362         * config/srclist.txt: Comment out mktime.c for now.
73363         * doc/gnulib-tool.texi (Initial import): Don't use time_r as an example
73364         since it doesn't apply any more.  Use generic wording instead.
73365         * MODULES.html.sh (Support for systems lacking POSIX:2001): New module
73366         'time'.
73367         * lib/time_.h, m4/time_h.m4, modules/time: New files.
73368         * lib/strptime.h, lib/time_r.h, lib/timegm.h: Remove.
73369         * lib/mktime.c: Include config.h depending on _LIBC, not HAVE_CONFIG_H.
73370         Don't include <sys/types.h>; no longer needed since we assume C89.
73371         * lib/mktime.c: Don't include "time_r.h"; no longer needed.
73372         * lib/strftime.c: Likewise.
73373         * lib/time_r.c: Likewise.
73374         * lib/nanosleep.c (nanosleep): #undef after include files, not before.
73375         * lib/nanosleep.c: Include <time.h> first, to check interface.
73376         * lib/strptime.c: Likewise.
73377         * lib/time_r.c: Likewise.
73378         * lib/timegm.c: Likewise.
73379         * lib/strptime.c: Don't include strptime.h or time_r.h; no longer
73380         needed.
73381         * lib/timegm.c: Don't include timegm.h; no longer needed.
73382         * lib/timespec.h: Don't include <sys/time.h> before <time.h>;
73383         time.h now handles any problems in that area.
73384         (struct timespec, nanosleep): Remove; time.h now arranges for these.
73385         * lib/xnanosleep.c: Don't include timespec.h; no longer needed now
73386         that time.h defines struct timespec.
73387         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Check that nanosleep is declared.
73388         Set REPLACE_NANOSLEEP.  Don't AC_DEFINE nanosleep; the time module now
73389         handles that.
73390         * m4/strptime.m4 (gl_FUNC_STPRTIME): Set REPLACE_STRPTIME.
73391         * m4/time_r.m4 (gl_TIME_R): Don't define HAVE_TIME_R_POSIX; no longer
73392         needed.  Set REPLACE_LOCALTIME.
73393         * m4/timegm.m4 (gl_FUNC_TIMEGM): Set REPLACE_TIMEGM.
73394         * m4/timespec.m4 (gl_CHECK_TYPE_STRUCT_TIMESPEC): Move to time_h.m4.
73395         (gl_TIMESPEC): Don't check for sys/time.h or struct timespec or
73396         nanosleep; time_h.m4 now does that.  Don't require
73397         gl_USE_SYSTEM_EXTENSIONS; no longer needed directly, and the time
73398         module handles this now.
73399         * modules/getdate (Depends-on): Remove timespec.  Add time.
73400         * modules/nanosleep (Depends-on): Likewise.
73401         * modules/stat-time (Depends-on): Likewise.
73402         * modules/nanosleep (Include): Include time.h, not timespec.h.
73403         * modules/strptime (Files): Remove lib/strptime.h.
73404         (Depends-on): Add extensions, time.
73405         (Include): Include time.h, not strptime.h.
73406         * modules/time_r (Files): Remove lib/time_r.h.
73407         (Depends-on): Add time.
73408         (Include): Include time.h, not time_r.h.
73409         * modules/timegm: Likewise.
73410         * modules/timespec (Description): Now does timespec-related decls
73411         of our own, instead of struct timespec itself.
73412         (Depends-on): Add time; remove extensions.
73413         (Maintainer): Add self.
73414         * modules/utimecmp (Depends-on): Add time; remove timespec.
73415         * modules/utimens (Depends-on): Likewise.
73416         * modules/xnanosleep (Depends-on): Likewise.
73417
73418 2007-02-11  Bruno Haible  <bruno@clisp.org>
73419
73420         * lib/c-strstr.c: Include allocsa.h.
73421         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73422         * lib/c-strcasestr.c: Include allocsa.h.
73423         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73424         * lib/strcasestr.c: Include allocsa.h.
73425         (knuth_morris_pratt): Use allocsa/freesa instead of malloc/free.
73426         * lib/mbsstr.c: Include allocsa.h.
73427         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73428         allocsa/freesa instead of malloc/free.
73429         * lib/mbscasestr.c: Include allocsa.h.
73430         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): Use
73431         allocsa/freesa instead of malloc/free.
73432         * modules/c-strstr (Depends-on): Add allocsa.
73433         * modules/c-strcasestr (Depends-on): Likewise.
73434         * modules/strcasestr (Depends-on): Likewise.
73435         * modules/mbsstr (Depends-on): Likewise.
73436         * modules/mbscasestr (Depends-on): Likewise.
73437
73438 2007-02-11  Bruno Haible  <bruno@clisp.org>
73439
73440         * lib/mbsspn.c (mbsspn): Fix bug. Remove unnecessary strlen call.
73441
73442         * modules/mbsspn-tests: New file.
73443         * tests/test-mbsspn.sh: New file.
73444         * tests/test-mbsspn.c: New file.
73445
73446 2007-02-11  Bruno Haible  <bruno@clisp.org>
73447
73448         * lib/mbspbrk.c (mbspbrk): Remove unneeded cast.
73449
73450         * modules/mbspbrk-tests: New file.
73451         * tests/test-mbspbrk.sh: New file.
73452         * tests/test-mbspbrk.c: New file.
73453
73454 2007-02-11  Bruno Haible  <bruno@clisp.org>
73455
73456         * lib/mbscspn.c (mbscspn): Remove unnecessary strlen call and
73457         unneeded cast.
73458
73459         * modules/mbscspn-tests: New file.
73460         * tests/test-mbscspn.sh: New file.
73461         * tests/test-mbscspn.c: New file.
73462
73463 2007-02-11  Bruno Haible  <bruno@clisp.org>
73464
73465         * modules/mbscasecmp-tests: New file.
73466         * tests/test-mbscasecmp.sh: New file.
73467         * tests/test-mbscasecmp.c: New file.
73468
73469 2007-02-11  Bruno Haible  <bruno@clisp.org>
73470
73471         Ensure O(n) worst-case complexity of mbscasestr.
73472         * lib/mbscasestr.c: Include stdbool.h.
73473         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73474         functions.
73475         (mbscasestr): Add some bookkeeping. Invoke knuth_morris_pratt_* when
73476         the bookkeeping indicates that it's worth it.
73477         * modules/mbscasestr (Depends-on): Add stdbool, mbslen, strnlen.
73478
73479         * modules/mbscasestr-tests: New file.
73480         * tests/test-mbscasestr1.c: New file.
73481         * tests/test-mbscasestr2.sh: New file.
73482         * tests/test-mbscasestr2.c: New file.
73483         * tests/test-mbscasestr3.sh: New file.
73484         * tests/test-mbscasestr3.c: New file.
73485         * tests/test-mbscasestr4.sh: New file.
73486         * tests/test-mbscasestr4.c: New file.
73487         * m4/locale-tr.m4: New file.
73488
73489 2007-02-11  Bruno Haible  <bruno@clisp.org>
73490
73491         Ensure O(n) worst-case complexity of mbsstr.
73492         * lib/mbsstr.c: Include stdbool.h.
73493         (knuth_morris_pratt_unibyte, knuth_morris_pratt_multibyte): New
73494         functions.
73495         (mbsstr): Add some bookkeeping. Invoke knuth_morris_pratt_* when the
73496         bookkeeping indicates that it's worth it.
73497         * modules/mbsstr (Depends-on): Add stdbool, mbslen, strnlen.
73498
73499         * modules/mbsstr-tests: New file.
73500         * tests/test-mbsstr1.c: New file.
73501         * tests/test-mbsstr2.sh: New file.
73502         * tests/test-mbsstr2.c: New file.
73503         * tests/test-mbsstr3.sh: New file.
73504         * tests/test-mbsstr3.c: New file.
73505         * m4/locale-fr.m4: New file.
73506
73507 2007-02-11  Bruno Haible  <bruno@clisp.org>
73508
73509         * lib/mbsrchr.c (mbsrchr): Fix bug.
73510
73511         * modules/mbsrchr-tests: New file.
73512         * tests/test-mbsrchr.sh: New file.
73513         * tests/test-mbsrchr.c: New file.
73514
73515 2007-02-11  Bruno Haible  <bruno@clisp.org>
73516
73517         * lib/mbschr.c (mbschr): Fix bug.
73518
73519         * modules/mbschr-tests: New file.
73520         * tests/test-mbschr.sh: New file.
73521         * tests/test-mbschr.c: New file.
73522         * m4/locale-zh.m4: New file.
73523
73524 2007-02-11  Bruno Haible  <bruno@clisp.org>
73525
73526         Support for copying multibyte string iterators.
73527         * lib/mbiter.h: Include <string.h>.
73528         (mbiter_multi_copy): New function.
73529         (mbi_copy): New macro.
73530         * lib/mbuiter.h: Include <string.h>.
73531         (mbuiter_multi_copy): New function.
73532         (mbui_copy): New macro.
73533
73534 2007-02-11  Bruno Haible  <bruno@clisp.org>
73535
73536         New module mbslen.
73537         * modules/mbslen: New file.
73538         * lib/mbslen.c: New file.
73539         * lib/string_.h (mbslen): New declaration.
73540         * m4/mbslen.m4: New file.
73541         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73542         GNULIB_MBSLEN.
73543         * modules/string (string.h): Also substitute GNULIB_MBSLEN.
73544         * MODULES.html.sh (Internationalization functions): Add mbslen.
73545
73546 2007-02-11  Bruno Haible  <bruno@clisp.org>
73547
73548         Ensure O(n) worst-case complexity of strcasestr substitute.
73549         * lib/strcasestr.c: Include stdbool.h.
73550         (knuth_morris_pratt): New function.
73551         (strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73552         bookkeeping indicates that it's worth it.
73553         * modules/strcasestr (Depends-on): Add stdbool, strnlen.
73554
73555         * modules/strcasestr-tests: New file.
73556         * tests/test-strcasestr.c: New file.
73557
73558 2007-02-11  Bruno Haible  <bruno@clisp.org>
73559
73560         Ensure O(n) worst-case complexity of c_strcasestr.
73561         * lib/c-strcasestr.c: Include stdbool.h, string.h.
73562         (knuth_morris_pratt): New function.
73563         (c_strcasestr): Add some bookkeeping. Invoke knuth_morris_pratt when
73564         the bookkeeping indicates that it's worth it.
73565         * modules/c-strcasestr (Depends-on): Add stdbool, strnlen.
73566
73567         * modules/c-strcasestr-tests: New file.
73568         * tests/test-c-strcasestr.c: New file.
73569
73570 2007-02-11  Bruno Haible  <bruno@clisp.org>
73571
73572         Ensure O(n) worst-case complexity of c_strstr.
73573         * lib/c-strstr.c: Include stdbool.h, string.h.
73574         (knuth_morris_pratt): New function.
73575         (c_strstr): Add some bookkeeping. Invoke knuth_morris_pratt when the
73576         bookkeeping indicates that it's worth it.
73577         * modules/c-strstr (Depends-on): Add stdbool, strnlen.
73578
73579         * lib/c-strstr.c: Complete rewrite for maintainability.
73580
73581         * modules/c-strstr-tests: New file.
73582         * tests/test-c-strstr.c: New file.
73583
73584 2007-02-11  Bruno Haible  <bruno@clisp.org>
73585
73586         * m4/javacomp.m4 (gt_JAVACOMP): Work around a 'tr' bug in coreutils
73587         5.2.1 and earlier, whereby \055 was treated just like the range
73588         delimiter '-'.
73589         Reported by Joel E. Denny <jdenny@ces.clemson.edu>.
73590
73591 2007-02-08  Bruno Haible  <bruno@clisp.org>
73592
73593         * modules/regex (Depends-on): Add stdbool.
73594         Reported by Dalibor Topic <robilad@kaffe.org>.
73595
73596 2007-02-05  Paul Eggert  <eggert@cs.ucla.edu>
73597
73598         * m4/regex.m4 (gl_REGEX): Check for glibc bug #3957.
73599         Prefer returning from main to exiting from it.
73600         Remove unnecessary parens after sizeof.
73601
73602 2007-02-05  Bruno Haible  <bruno@clisp.org>
73603
73604         New module mbssep.
73605         * modules/mbssep: New file.
73606         * lib/mbssep.c: New file.
73607         * lib/string_.h (strsep): Add a conditional link warning.
73608         (mbssep): New declaration.
73609         * m4/mbssep.m4: New file.
73610         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73611         GNULIB_MBSSEP.
73612         * modules/string (string.h): Also substitute GNULIB_MBSSEP.
73613         * MODULES.html.sh (Internationalization functions): Add mbssep.
73614
73615 2007-02-05  Bruno Haible  <bruno@clisp.org>
73616
73617         * lib/strsep.c (strsep): Fix actions in case of no delimiters.
73618         Optimize search in case of 1 delimiter.
73619
73620 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73621
73622         * lib/acl.h: Include sys/types.h before sys/acl.h.
73623
73624 2007-02-05  Paolo Bonzini  <bonzini@gnu.org>
73625
73626         Merge upstream fix for glibc bugzilla #3957:
73627
73628         2007-02-05  Jakub Jelinek  <jakub@redhat.com>
73629
73630         * lib/regcomp.c (parse_bracket_exp): Set '\n' bit rather than '\0'
73631         bit for RE_HAT_LISTS_NOT_NEWLINE.
73632         (build_charclass_op): Remove bogus comment.
73633
73634 2007-02-05  Simon Josefsson  <simon@josefsson.org>
73635
73636         * lib/gc.h, lib/gc-libgcrypt.c: Support SHA-256/384/512.
73637
73638 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73639
73640         * lib/getsubopt.c [!_LIBC]: Include config.h and getsubopt.h.
73641         * lib/memmem.c [!defined _LIBC]: Include config.h.
73642
73643 2007-02-04  Bruno Haible  <bruno@clisp.org>
73644
73645         * lib/string_.h (GL_LINK_WARNING2): Put the word "warning:" into the
73646         warning message.
73647
73648 2007-02-04  Bruno Haible  <bruno@clisp.org>
73649
73650         New module mbstok_r.
73651         * modules/mbstok_r: New file.
73652         * lib/mbstok_r.c: New file.
73653         * lib/string_.h (strtok_r): Change argument names to match the
73654         comments. Add a conditional link warning.
73655         (mbstok_r): New declaration.
73656         * m4/mbstok_r.m4: New file.
73657         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73658         GNULIB_MBSTOK_R.
73659         * modules/string (string.h): Also substitute GNULIB_MBSTOK_R.
73660         * MODULES.html.sh (Internationalization functions): Add mbstok_r.
73661
73662 2007-02-04  Bruno Haible  <bruno@clisp.org>
73663
73664         New module mbsspn.
73665         * modules/mbsspn: New file.
73666         * lib/mbsspn.c: New file.
73667         * lib/string_.h (strspn): Add a conditional link warning.
73668         (mbsspn): New declaration.
73669         * m4/mbsspn.m4: New file.
73670         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73671         GNULIB_MBSSPN.
73672         * modules/string (string.h): Also substitute GNULIB_MBSSPN.
73673         * MODULES.html.sh (Internationalization functions): Add mbsspn.
73674
73675 2007-02-04  Bruno Haible  <bruno@clisp.org>
73676
73677         New module mbspbrk.
73678         * modules/mbspbrk: New file.
73679         * lib/mbspbrk.c: New file.
73680         * lib/string_.h (strpbrk): Add a conditional link warning.
73681         (mbspbrk): New declaration.
73682         * m4/mbspbrk.m4: New file.
73683         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73684         GNULIB_MBSPBRK.
73685         * modules/string (string.h): Also substitute GNULIB_MBSPBRK.
73686         * MODULES.html.sh (Internationalization functions): Add mbspbrk.
73687
73688 2007-02-04  Bruno Haible  <bruno@clisp.org>
73689
73690         New module mbscspn.
73691         * modules/mbscspn: New file.
73692         * lib/mbscspn.c: New file.
73693         * lib/string_.h (strcspn): Add a conditional link warning.
73694         (mbscspn): New declaration.
73695         * m4/mbscspn.m4: New file.
73696         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73697         GNULIB_MBSCSPN.
73698         * modules/string (string.h): Also substitute GNULIB_MBSCSPN.
73699         * MODULES.html.sh (Internationalization functions): Add mbscspn.
73700
73701 2007-02-04  Bruno Haible  <bruno@clisp.org>
73702
73703         New module mbscasestr, reduced goal of strcasestr.
73704         * modules/mbscasestr: New file.
73705         * lib/mbscasestr.c: New file, copied from lib/strcasestr.c.
73706         (mbscasestr): Renamed from strcasestr.
73707         * lib/strcasestr.c: Don't include mbuiter.h.
73708         (strcasestr): Remove support for multibyte locales.
73709         * lib/string_.h (strcasestr): Don`t rename. Declare only if missing.
73710         Change the conditional link warning.
73711         (mbscasestr): New declaration.
73712         * m4/mbscasestr.m4: New file.
73713         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Enable the replacement only if
73714         the system does not have strcasestr. Set HAVE_STRCASESTR instead of
73715         REPLACE_STRCASESTR.
73716         (gl_PREREQ_STRCASESTR): Don't require gl_FUNC_MBRTOWC.
73717         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73718         HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73719         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSCASESTR.
73720         * modules/string (string.h): Also substitute GNULIB_MBSCASESTR.
73721         Substitute HAVE_STRCASESTR instead of REPLACE_STRCASESTR.
73722         * modules/strcasestr (Files): Remove m4/mbrtowc.m4.
73723         (Depends-on): Remove mbuiter.
73724         * MODULES.html.sh (Internationalization functions): Add mbscasestr.
73725
73726 2007-02-04  Bruno Haible  <bruno@clisp.org>
73727
73728         Simplify handling of strncasecmp.
73729         * lib/string_.h (strncasecmp): Remove test for GNULIB_STRCASE. Change
73730         the conditional link warning.
73731         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Initialize
73732         HAVE_STRCASECMP, not REPLACE_STRCASECMP.
73733         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Don't initialize GNULIB_STRCASE.
73734         * modules/strcase (configure.ac): Don't invoke
73735         gl_STRING_MODULE_INDICATOR.
73736         * modules/string (string.h): Don't substitute GNULIB_STRCASE.
73737
73738 2007-02-04  Bruno Haible  <bruno@clisp.org>
73739
73740         New module mbscasecmp, reduced goal of strcasecmp.
73741         * modules/mbscasecmp: New file.
73742         * lib/mbscasecmp.c: New file, copied from lib/strcasecmp.c.
73743         (mbscasecmp): Renamed from strcasecmp.
73744         * lib/strcasecmp.c: Don't include mbuiter.h.
73745         (strcasecmp): Remove support for multibyte locales.
73746         * lib/string_.h (strcasecmp): Don`t rename. Declare only if missing.
73747         Change the conditional link warning.
73748         (mbscasecmp): New declaration.
73749         * m4/mbscasecmp.m4: New file.
73750         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Enable the replacement only if
73751         the system lacks strcasecmp. Set HAVE_STRCASECMP instead of
73752         REPLACE_STRCASECMP.
73753         (gl_PREREQ_STRCASECMP): Don't require gl_FUNC_MBRTOWC.
73754         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73755         GNULIB_MBSCASECMP.
73756         * modules/string (string.h): Also substitute GNULIB_MBSCASECMP.
73757         Substitute HAVE_STRCASECMP instead of REPLACE_STRCASECMP.
73758         * modules/strcase (Files): Remove m4/mbrtowc.m4.
73759         (Depends-on): Remove mbuiter.
73760         * MODULES.html.sh (Internationalization functions): Add mbscasecmp.
73761
73762 2007-02-04  Bruno Haible  <bruno@clisp.org>
73763
73764         New module mbsstr. Remove module strstr.
73765         * modules/mbsstr: New file.
73766         * modules/strstr: Remove file.
73767         * lib/mbsstr.c: Renamed from lib/strstr.c.
73768         (mbsstr): Renamed from strstr.
73769         * lib/string_.h (strstr): Remove declaration. Change the conditional
73770         link warning.
73771         (mbsstr): New declaration.
73772         * m4/mbsstr.m4: New file.
73773         * m4/strstr.m4: Remove file.
73774         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): Don't initialize
73775         REPLACE_STRSTR.
73776         (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize GNULIB_MBSSTR.
73777         Don't initialize GNULIB_STRSTR.
73778         * modules/string (string.h): Also substitute GNULIB_MBSSTR. Don't
73779         substitute GNULIB_STRSTR and REPLACE_STRSTR.
73780         * MODULES.html.sh (Internationalization functions): Add mbsstr.
73781         (Support for systems lacking ANSI C 89): Remove strstr.
73782
73783 2007-02-04  Bruno Haible  <bruno@clisp.org>
73784
73785         New module mbsrchr.
73786         * modules/mbsrchr: New file.
73787         * lib/mbsrchr.c: New file.
73788         * lib/string_.h (strrchr): Add a conditional link warning.
73789         (mbsrchr): New declaration.
73790         * m4/mbsrchr.m4: New file.
73791         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73792         GNULIB_MBSRCHR.
73793         * modules/string (string.h): Also substitute GNULIB_MBSRCHR.
73794         * MODULES.html.sh (Internationalization functions): Add mbsrchr.
73795
73796 2007-02-04  Bruno Haible  <bruno@clisp.org>
73797
73798         New module mbschr.
73799         * modules/mbschr: New file.
73800         * lib/mbschr.c: New file.
73801         * lib/string_.h (strchr): Add a conditional link warning.
73802         (mbschr): New declaration.
73803         * m4/mbschr.m4: New file.
73804         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR_DEFAULTS): Initialize
73805         GNULIB_MBSCHR.
73806         * modules/string (string.h): Also substitute GNULIB_MBSCHR.
73807         * MODULES.html.sh (Internationalization functions): Add mbschr.
73808
73809 2007-02-04  Paul Eggert  <eggert@cs.ucla.edu>
73810
73811         * lib/stdbool_.h: Mention that bool bit-fields aren't supported.
73812
73813         * modules/stdarg (configure.ac-early): Require AC_PROG_CC_STDC.
73814
73815 2007-02-04  Bruno Haible  <bruno@clisp.org>
73816
73817         New module description section 'configure.ac-early'.
73818         * gnulib-tool (sed_extract_prog): Recognize configure.ac-early.
73819         (func_get_autoconf_early_snippet): New function.
73820         (func_import, func_create_testdir): Use it. Remove special cases for
73821         modules 'extensions' and 'lock'.
73822         * modules/extensions (configure.ac-early): Require
73823         gl_USE_SYSTEM_EXTENSIONS.
73824         * modules/lock (configure.ac-early): Require gl_LOCK_EARLY.
73825
73826 2007-02-04  Bruno Haible  <bruno@clisp.org>
73827
73828         Make use of gcj-4.3's -fsource and -ftarget option.
73829         * m4/javacomp.m4 (gt_JAVACOMP): Test whether gcj is in version >= 4.3,
73830         and if so try the options -fsource and -ftarget.
73831         * lib/javacomp.c (compile_using_gcj): Add fsource_option,
73832         source_version, ftarget_option, target_version arguments.
73833         (is_envjavac_gcj43, is_envjavac_gcj43_usable): New functions.
73834         (is_envjavac_oldgcj_14_14_usable): Renamed from
73835         is_envjavac_gcj_14_14_usable.
73836         (is_envjavac_oldgcj_14_13_usable): Renamed from
73837         is_envjavac_gcj_14_13_usable.
73838         (is_gcj_present): Update.
73839         (is_gcj_43, is_gcj43_usable): New functions.
73840         (is_oldgcj_14_14_usable): Renamed from is_gcj_14_14_usable. Update.
73841         (is_oldgcj_14_13_usable): Renamed from is_gcj_14_13_usable. Update.
73842         (compile_java_class): Test whether gcj is in version >= 4.3, and if so
73843         try the options -fsource and -ftarget.
73844
73845 2007-02-03  Paul Eggert  <eggert@cs.ucla.edu>
73846
73847         * lib/xalloc.h (x2nrealloc): Fix an unlikely bug in the overflow
73848         checking code.  Set N = ceil (1.5 * N) rather than to a slightly
73849         larger value.
73850
73851 2007-02-03  Jim Meyering  <jim@meyering.net>
73852
73853         Give tools a better chance to allocate space for very large buffers.
73854         * lib/xalloc.h (x2nrealloc): Use 3/2, not 2, as buffer size factor.
73855
73856         Make pwd and readlink work also when run with an unreadable parent dir
73857         on systems with openat support.
73858         * lib/getcwd.c (__getcwd) [HAVE_PARTLY_WORKING_GETCWD]: Use the system
73859         provided getcwd function, even when we have openat support.
73860         Reported by Dmitry V. Levin in <http://bugzilla.redhat.com/227168>.
73861
73862 2007-02-02  Bruno Haible  <bruno@clisp.org>
73863
73864         * lib/string_.h (memmem, mempcpy, memrchr, stpcpy, stpncpy, strchrnul,
73865         strdup, strndup, strnlen, strpbrk, strsep, strtok_r): Provoke a link
73866         error only if GNULIB_POSIXCHECK is defined. Needed to avoid artificial
73867         portability problems if one of these functions is only used on specific
73868         platforms.
73869         Reported by Paul Eggert.
73870
73871 2007-02-02  Paul Eggert  <eggert@cs.ucla.edu>
73872
73873         Avoid mempcpy in the regex code, as the string.h mempcpy stuff
73874         is causing more trouble than it's curing.
73875         * lib/regex_internal.h (__mempcpy): Remove.
73876         * lib/regcomp.c (regerror): Rewrite to avoid the need for mempcpy
73877         (and make the code a tad smaller to boot).
73878         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for mempcpy.
73879
73880 2007-02-02  Jim Meyering  <jim@meyering.net>
73881
73882         * modules/arpa_inet: Put AC_PROG_MKDIR_P in the configure.ac:
73883         section, not in the Makefile.am: one.
73884
73885 2007-02-02  Eric Blake  <ebb9@byu.net>
73886
73887         * lib/strchrnul.c: Always include config.h first.
73888
73889         * modules/mountlist (Depends-on): Revert 2007-01-31 change,
73890         gnulib strstr is not necessary here.
73891
73892 2007-02-02  Simon Josefsson  <simon@josefsson.org>
73893
73894         * m4/socklen.m4: Fix typo.
73895
73896 2007-02-02  Eric Blake  <ebb9@byu.net>
73897
73898         * modules/arpa_inet (Makefile.am): Use MKDIR_P to avoid races.
73899         * modules/netinet_in (Makefile.am): Likewise.
73900
73901 2007-02-01  Bruno Haible  <bruno@clisp.org>
73902
73903         * lib/string_.h (GL_LINK_WARNING): New macro.
73904         (strcasecmp, strstr, strcasestr): If provided by the system,
73905         conditionally define as a macro that leads to a warning instead of to
73906         an error.
73907         (strncasecmp): Conditionally define as a macro that leads to a warning.
73908
73909 2007-02-01  Karl Berry  <karl@gnu.org>
73910
73911         * config/srclist.txt (strtok_r.c): lose sync, no more strtok_r.h.
73912
73913 2007-02-01  Bruno Haible  <bruno@clisp.org>
73914
73915         * MODULES.html.sh (Unicode string functions): Update after 2007-01-27
73916         renamings.
73917
73918 2007-02-01  Eric Blake  <ebb9@byu.net>
73919
73920         * modules/regex (Depends-on): Revert dependence on mempcpy.
73921         * lib/regex_internal.h [! _LIBC && !__mempcpy]: Undo string
73922         module's definition of mempcpy.
73923         Reported by Paul Eggert.
73924
73925 2007-02-01  Paul Eggert  <eggert@cs.ucla.edu>
73926
73927         * lib/string_.h: If the gnulib module XYZ is not present, undefine
73928         the symbol XYZ before redefining it.  This fixes a problem with
73929         programs that don't use XYZ, when compiled on systems that define
73930         XYZ to something else.
73931
73932 2007-01-31  Paul Eggert  <eggert@cs.ucla.edu>
73933
73934         * lib/mkdir-p.c (make_dir_parents): Close a race condition that
73935         occurs when "mkdir -m foo" creates a setgid directory that is (1)
73936         writeable to group or other and (2) is intended to have a special
73937         mode bit that is set or cleared.  In such a case, the directory
73938         should be neither group- nor other-writeable until the special
73939         mode bits are right.
73940
73941 2007-01-31  Eric Blake  <ebb9@byu.net>
73942
73943         * modules/mountlist (Depends-on): Add strstr.
73944
73945         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): Correct m4 usage
73946         bug.
73947         * modules/string (Makefile.am): Remove redundant replacement.
73948         * modules/regex (Depends-on): Add mempcpy.
73949
73950 2007-01-31  Bruno Haible  <bruno@clisp.org>
73951
73952         New module description field 'Link'.
73953         * gnulib-tool (func_usage): Document --extract-link-directive.
73954         (sed_extract_prog): Recognize 'Link' directive.
73955         (func_get_link_directive): New function.
73956         (func_import): Show summary of link directives.
73957         Handle --extract-link-directive option.
73958         * modules/acl (Link): New section.
73959         * modules/clock-time (Link): New section.
73960         * modules/euidaccess (Link): New section.
73961         * modules/gettext (Link): New section.
73962         * modules/iconv (Link): New section.
73963         * modules/lock (Link): New section.
73964         * modules/nanosleep (Link): New section.
73965         * modules/readline (Link): New section.
73966
73967 2007-01-27  Bruno Haible  <bruno@clisp.org>
73968
73969         Enforce the use of gnulib modules for unportable <string.h> functions.
73970         * m4/string_h.m4 (gl_STRING_MODULE_INDICATOR): New macro.
73971         (gl_STRING_MODULE_INDICATOR_DEFAULTS): New macro.
73972         (gl_HEADER_STRING_H_BODY): Require it.
73973         * lib/string_.h: If the gnulib module XYZ is not present, redefine
73974         the symbol XYZ to one that gives a link error.
73975         * modules/string (Makefile.am): Also substitute the GNULIB_* variables.
73976         * modules/memmem (configure.ac): Invoke gl_STRING_MODULE_INDICATOR.
73977         * modules/mempcpy (configure.ac): Likewise.
73978         * modules/memrchr (configure.ac): Likewise.
73979         * modules/stpcpy (configure.ac): Likewise.
73980         * modules/stpncpy (configure.ac): Likewise.
73981         * modules/strcase (configure.ac): Likewise.
73982         * modules/strcasestr (configure.ac): Likewise.
73983         * modules/strchrnul (configure.ac): Likewise.
73984         * modules/strdup (configure.ac): Likewise.
73985         * modules/strndup (configure.ac): Likewise.
73986         * modules/strnlen (configure.ac): Likewise.
73987         * modules/strpbrk (configure.ac): Likewise.
73988         * modules/strsep (configure.ac): Likewise.
73989         * modules/strstr (configure.ac): Likewise.
73990         * modules/strtok_r (configure.ac): Likewise.
73991
73992 2007-01-31  Jean-Louis Martineau  <martineau@zmanda.com>  (tiny change)
73993
73994         * lib/gai_strerror.c (values): Add EAI_OVERFLOW.
73995
73996 2007-01-30  Jim Meyering  <jim@meyering.net>
73997
73998         * lib/mpsort.c (mpsort): Remove spurious "return" in void function.
73999
74000 2007-01-29  Bruno Haible  <bruno@clisp.org>
74001
74002         * lib/allocsa.h: Use '#if HAVE_*' instead of '#ifdef HAVE_*'.
74003         * lib/execute.c: Likewise.
74004         * lib/pipe.c: Likewise.
74005         * lib/printf-args.h: Likewise.
74006         * lib/printf-args.c: Likewise.
74007         * lib/printf-parse.c: Likewise.
74008         * lib/vasnprintf.c: Likewise.
74009
74010 2007-01-29  Eric Blake  <ebb9@byu.net>
74011
74012         * lib/memrchr.c: Assume <string.h> unconditionally, to pull in
74013         declaration.
74014
74015 2007-01-29  Paul Eggert  <eggert@cs.ucla.edu>
74016
74017         * lib/strptime.h (strptime): Use 'restrict' for args where
74018         POSIX requires this.
74019         * lib/strptime.c (strptime): Likewise.
74020         Change license notice from LGPL to GPL, since gnulib-tool will
74021         change this as needed.
74022         Include <config.h> if _LIBC is not defined, not if HAVE_CONFIG_H is
74023         defined.
74024         Include "strptime.h" first, to check interface.
74025         Do not #undef _LIBC and _NL_CURRENT.
74026         Do not include <stdlib.h>; no longer needed.
74027         Include "time_r.h" and declare ptime_locale_status
74028         only if _LIBC is not defined.
74029         (__P): Remove unused macro.
74030         (match_string): Bring back glibc version, but use it only if _LIBC
74031         is defined.
74032         (__strptime_internal): Compile tm_gmtoff code if _LIBC is defined, too.
74033         Remove unnecessary assertion and abort() call.
74034         Use #ifdef _NL_CURRENT rather than #if 0, for benefit of glibc.
74035         * m4/strptime.m4: Fix serial number comment.
74036         (gl_FUNC_STRPTIME): Require AC_C_RESTRICT, gl_TM_GMTOFF.
74037         * modules/strptime (Files): Add m4/tm_gmtoff.m4.
74038         (Depends-on): Add time_r.
74039
74040 2007-01-29  Bruno Haible  <bruno@clisp.org>
74041
74042         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
74043         strptime.
74044         * modules/strptime (Depends-on): Add stdbool.
74045         * lib/strptime.h: Include <time.h> always. Add comments.
74046
74047 2007-01-29  Yoann Vandoorselaere  <yoann@prelude-ids.org>
74048
74049         * modules/strptime: New file.
74050         * lib/strptime.h: New file.
74051         * lib/strptime.c: New file.
74052         * m4/strptime.m4: New file.
74053
74054 2007-01-28  Paul Eggert  <eggert@cs.ucla.edu>
74055
74056         * MODULES.html.sh: New module mpsort.
74057         * lib/mpsort.c, lib/mpsort.h, m4/mpsort.m4, modules/mpsort: New files.
74058
74059         * lib/regex.h (_Restrict_): Renamed from __restrict, to avoid
74060         a circularity problem with HP-UX ia64 reported by Bob Proulx in
74061         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00394.html>.
74062         All uses changed.
74063         (_Restrict_arr_): Renamed from __restrict_arr, for similar reasons.
74064         All uses changed.
74065         * lib/regcomp.c, lib/regexec.c: Change all uses from __restrict
74066         to _Restrict_.
74067         * lib/regexec.c (regexec): Declare pmatch with _Restrict_arr_, so that
74068         the parameter matches the prototype.
74069
74070 2007-01-28  Jim Meyering  <jim@meyering.net>
74071
74072         * modules/sys_time (Makefile.am) [MOSTLYCLEANFILES]: Do use
74073         sys/time.h here, reverting that part of the previous patch:
74074         <http://thread.gmane.org/gmane.comp.lib.gnulib.bugs/8959>.
74075
74076 2007-01-28  Bruno Haible  <bruno@clisp.org>
74077
74078         * modules/sys_time (Makefile.am): Build sys/time.h only when it's the
74079         value of $(SYS_TIME_H).
74080         [MOSTLYCLEANFILES]: Now that sys/time.h is created only when needed,
74081         remove it conditionally, too. [added by Jim Meyering]
74082         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Set SYS_TIME_H.
74083         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
74084         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Set SYS_TIME_H when setting
74085         GETTIMEOFDAY_REPLACEMENT to 1.
74086
74087 2007-01-28  Bruno Haible  <bruno@clisp.org>
74088
74089         * m4/unistd_h.m4 (gl_HEADER_UNISTD_DEFAULTS): New macro.
74090         (gl_HEADER_UNISTD): Require it. Don't set UNISTD_H to empty here.
74091         * m4/fchdir.m4 (gl_FUNC_FCHDIR): Require gl_HEADER_UNISTD_DEFAULTS.
74092         Set UNISTD_H instead of UNISTD_H2.
74093         * modules/fchdir (BUILT_SOURCES): Drop $(UNISTD_H2).
74094
74095 2007-01-28  Bruno Haible  <bruno@clisp.org>
74096
74097         * modules/mbchar (Makefile.am): Add mbchar.c to lib_SOURCES.
74098         * m4/mbchar.m4 (gl_MBCHAR): Remove AC_LIBOBJ invocation.
74099
74100 2007-01-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74101
74102         * gnulib-tool (func_emit_lib_Makefile_am, func_add_or_update)
74103         (func_create_testdir): Ensure C locale for `grep' and `tr'
74104         character ranges.
74105         (func_create_megatestdir): Avoid one `grep'.  Fix bug in
74106         ACLOCAL_AMFLAGS parsing state machine.
74107
74108 2007-01-27  Bruno Haible  <bruno@clisp.org>
74109
74110         * modules/unistr/base: Update.
74111
74112 2007-01-27  Bruno Haible  <bruno@clisp.org>
74113
74114         Rename u32-mbtouc -> u32-mbtouc-unsafe, u32-mbtouc-safe -> u32-mbtouc,
74115         u32_mbtouc -> u32_mbtouc_unsafe, u32_mbtouc_safe -> u32_mbtouc.
74116         * modules/unistr/u32-mbtouc-unsafe: Renamed from
74117         modules/unistr/u32-mbtouc.
74118         * lib/unistr/u32-mbtouc-unsafe.c: Renamed from lib/unistr/u32-mbtouc.c.
74119         * lib/unistr.h: Update.
74120         * lib/linebreak.c: Update.
74121         * modules/unistr/u32-mbtouc: Renamed from
74122         modules/unistr/u32-mbtouc-safe.
74123         * lib/unistr/u32-mbtouc.c: Renamed from lib/unistr/u32-mbtouc-safe.c.
74124         * lib/unistr.h: Update.
74125         * lib/unistr/u32-to-u8.c: Update.
74126         * lib/unistr/u32-to-u16.c: Update.
74127
74128 2007-01-27  Bruno Haible  <bruno@clisp.org>
74129
74130         Rename utf16-ucs4 -> utf16-ucs4-unsafe, utf16-ucs4-safe -> utf16-ucs4,
74131         u16_mbtouc -> u16_mbtouc_unsafe, u16_mbtouc_safe -> u16_mbtouc.
74132         * modules/utf16-ucs4-unsafe: Renamed from modules/utf16-ucs4.
74133         * lib/utf16-ucs4-unsafe.h: Renamed from lib/utf16-ucs4.h.
74134         * lib/unistr/utf16-ucs4-unsafe.c: Renamed from lib/unistr/utf16-ucs4.c.
74135         * modules/unistr/u16-mbtouc-unsafe: Renamed from
74136         modules/unistr/u16-mbtouc.
74137         * lib/unistr/u16-mbtouc-unsafe.c: Renamed from lib/unistr/u16-mbtouc.c.
74138         * lib/unistr.h: Update.
74139         * lib/linebreak.c: Update.
74140         * modules/linebreak: Update.
74141         * modules/utf16-ucs4: Renamed from modules/utf16-ucs4-safe.
74142         * lib/utf16-ucs4.h: Renamed from lib/utf16-ucs4-safe.h.
74143         * lib/unistr/utf16-ucs4.c: Renamed from lib/unistr/utf16-ucs4-safe.c.
74144         * modules/unistr/u16-mbtouc: Renamed from
74145         modules/unistr/u16-mbtouc-safe.
74146         * lib/unistr/u16-mbtouc.c: Renamed from lib/unistr/u16-mbtouc-safe.c.
74147         * lib/unistr.h: Update.
74148         * lib/unistr/u16-to-u8.c: Update.
74149         * modules/unistr/u16-to-u8: Update.
74150         * lib/unistr/u16-to-u32.c: Update.
74151         * modules/unistr/u16-to-u32: Update.
74152
74153 2007-01-27  Bruno Haible  <bruno@clisp.org>
74154
74155         Rename utf8-ucs4 -> utf8-ucs4-unsafe, utf8-ucs4-safe -> utf8-ucs4,
74156         u8_mbtouc -> u8_mbtouc_unsafe, u8_mbtouc_safe -> u8_mbtouc.
74157         * modules/utf8-ucs4-unsafe: Renamed from modules/utf8-ucs4.
74158         * lib/utf8-ucs4-unsafe.h: Renamed from lib/utf8-ucs4.h.
74159         * lib/unistr/utf8-ucs4-unsafe.c: Renamed from lib/unistr/utf8-ucs4.c.
74160         * modules/unistr/u8-mbtouc-unsafe: Renamed from
74161         modules/unistr/u8-mbtouc.
74162         * lib/unistr/u8-mbtouc-unsafe.c: Renamed from lib/unistr/u8-mbtouc.c.
74163         * lib/unistr.h: Update.
74164         * lib/striconveh.c: Update.
74165         * modules/striconveh: Update.
74166         * lib/linebreak.c: Update.
74167         * modules/linebreak: Update.
74168         * modules/utf8-ucs4: Renamed from modules/utf8-ucs4-safe.
74169         * lib/utf8-ucs4.h: Renamed from lib/utf8-ucs4-safe.h.
74170         * lib/unistr/utf8-ucs4.c: Renamed from lib/unistr/utf8-ucs4-safe.c.
74171         * modules/unistr/u8-mbtouc: Renamed from modules/unistr/u8-mbtouc-safe.
74172         * lib/unistr/u8-mbtouc.c: Renamed from lib/unistr/u8-mbtouc-safe.c.
74173         * lib/unistr.h: Update.
74174         * lib/striconveh.c: Update.
74175         * modules/striconveh: Update.
74176         * lib/unistr/u8-to-u16.c: Update.
74177         * modules/unistr/u8-to-u16: Update.
74178         * lib/unistr/u8-to-u32.c: Update.
74179         * modules/unistr/u8-to-u32: Update.
74180
74181 2007-01-27  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
74182
74183         Sync from Libtool.
74184         * lib/argz.c: Do not include strings.h nor memory.h, include
74185         string.h unconditionally.  Patch by Simon Josefsson.
74186
74187 2007-01-27  Bruno Haible  <bruno@clisp.org>
74188
74189         * m4/string_h.m4 (gl_HEADER_STRING_H_DEFAULTS): New macro, extracted
74190         from gl_HEADER_STRING_H_BODY.
74191         (gl_HEADER_STRING_H_BODY): Require it.
74192         * m4/memmem.m4 (gl_FUNC_MEMMEM): Require gl_HEADER_STRING_H_DEFAULTS.
74193         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Likewise.
74194         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Likewise.
74195         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Likewise.
74196         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Likewise.
74197         * m4/strcase.m4 (gl_FUNC_STRCASECMP, gl_FUNC_STRNCASECMP): Likewise.
74198         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Likewise.
74199         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Likewise.
74200         * m4/strdup.m4 (gl_FUNC_STRDUP): Likewise.
74201         * m4/strndup.m4 (gl_FUNC_STRNDUP): Likewise.
74202         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Likewise.
74203         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Likewise.
74204         * m4/strsep.m4 (gl_FUNC_STRSEP): Likewise.
74205         * m4/strstr.m4 (gl_FUNC_STRSTR): Likewise.
74206         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
74207
74208 2007-01-27  Bruno Haible  <bruno@clisp.org>
74209
74210         * gnulib-tool (func_emit_lib_Makefile_am): If $for_test is true, turn
74211         check_PROGRAMS into noinst_PROGRAMS.
74212         (func_emit_tests_Makefile_am): Likewise. Also don't initialize
74213         check_PROGRAMS in this case.
74214         (func_import): Set for_test to false.
74215         (func_create_testdir): Set for_test to true.
74216
74217 2007-01-27  Yoann Vandoorselaere <yoann.v@prelude-ids.com>
74218             Bruno Haible  <bruno@clisp.org>
74219
74220         * modules/strcasestr (Files): Remove lib/strcasestr.h.
74221         (Depends-on): Add string.
74222         (Includes): Use <string.h> instead of strcasestr.h.
74223         * modules/string (Makefile.am): Also substitute the value of
74224         REPLACE_STRCASESTR.
74225         * m4/strcasestr.m4 (gl_FUNC_STRCASESTR): Don't define strcasestr here;
74226         assume strcasestr is declared in <string.h> not <strings.h>. Also
74227         set REPLACE_STRCASESTR.
74228         * m4/string_h.m4 (gl_HEADER_STRING_H_BODY): Provide a default value for
74229         REPLACE_STRCASESTR.
74230         * lib/strcasestr.h: Remove file.
74231         * lib/strcasestr.c: Include <string.h> instead of strcasestr.h.
74232         * lib/string_.h (strcasestr): New declaration.
74233
74234 2007-01-27  Bruno Haible  <bruno@clisp.org>
74235
74236         * lib/string_.h: Use 'extern'.
74237
74238 2007-01-27  Jim Meyering  <jim@meyering.net>
74239
74240         * lib/regex_internal.c (re_string_reconstruct): Remove declaration
74241         of set-but-not-used local, "q".
74242
74243         * lib/mempcpy.c: Include <config.h> before <string.h>.
74244         This fixes a compilation error on HP-UX, due to the system's
74245         "restrict"-using mempcpy prototype.
74246
74247 2007-01-26  Bruno Haible  <bruno@clisp.org>
74248
74249         Small optimization.
74250         * lib/javacomp.c: Include c-strstr.h.
74251          (is_envjavac_gcj): Use c_strstr instead of strstr.
74252         * modules/javacomp (Depends-on): Add c-strstr, remove strstr.
74253
74254 2007-01-26  Bruno Haible  <bruno@clisp.org>
74255
74256         * MODULES.html.sh (Unicode string functions): Add the new modules.
74257
74258         * modules/uniconv/u32-strconv-to-locale: New file.
74259         * lib/uniconv/u32-strconv-to-locale.c: New file.
74260
74261         * modules/uniconv/u16-strconv-to-locale: New file.
74262         * lib/uniconv/u16-strconv-to-locale.c: New file.
74263
74264         * modules/uniconv/u8-strconv-to-locale: New file.
74265         * lib/uniconv/u8-strconv-to-locale.c: New file.
74266
74267         * modules/uniconv/u32-strconv-from-locale: New file.
74268         * lib/uniconv/u32-strconv-from-locale.c: New file.
74269
74270         * modules/uniconv/u16-strconv-from-locale: New file.
74271         * lib/uniconv/u16-strconv-from-locale.c: New file.
74272
74273         * modules/uniconv/u8-strconv-from-locale: New file.
74274         * lib/uniconv/u8-strconv-from-locale.c: New file.
74275
74276         * modules/uniconv/u32-strconv-to-enc: New file.
74277         * lib/uniconv/u32-strconv-to-enc.c: New file.
74278         * modules/uniconv/u32-strconv-to-enc-tests: New file.
74279         * tests/uniconv/test-u32-strconv-to-enc.c: New file.
74280
74281         * modules/uniconv/u16-strconv-to-enc: New file.
74282         * lib/uniconv/u16-strconv-to-enc.c: New file.
74283         * lib/uniconv/u-strconv-to-enc.h: New file.
74284         * modules/uniconv/u16-strconv-to-enc-tests: New file.
74285         * tests/uniconv/test-u16-strconv-to-enc.c: New file.
74286
74287         * modules/uniconv/u8-strconv-to-enc: New file.
74288         * lib/uniconv/u8-strconv-to-enc.c: New file.
74289         * modules/uniconv/u8-strconv-to-enc-tests: New file.
74290         * tests/uniconv/test-u8-strconv-to-enc.c: New file.
74291
74292         * modules/uniconv/u32-strconv-from-enc: New file.
74293         * lib/uniconv/u32-strconv-from-enc.c: New file.
74294         * modules/uniconv/u32-strconv-from-enc-tests: New file.
74295         * tests/uniconv/test-u32-strconv-from-enc.c: New file.
74296
74297         * modules/uniconv/u16-strconv-from-enc: New file.
74298         * lib/uniconv/u16-strconv-from-enc.c: New file.
74299         * modules/uniconv/u16-strconv-from-enc-tests: New file.
74300         * tests/uniconv/test-u16-strconv-from-enc.c: New file.
74301
74302         * modules/uniconv/u8-strconv-from-enc: New file.
74303         * lib/uniconv/u8-strconv-from-enc.c: New file.
74304         * lib/uniconv/u-strconv-from-enc.h: New file.
74305         * modules/uniconv/u8-strconv-from-enc-tests: New file.
74306         * tests/uniconv/test-u8-strconv-from-enc.c: New file.
74307
74308         * modules/uniconv/u32-conv-from-enc: New file.
74309         * lib/uniconv/u32-conv-from-enc.c: New file.
74310         * modules/uniconv/u32-conv-from-enc-tests: New file.
74311         * tests/uniconv/test-u32-conv-from-enc.c: New file.
74312
74313         * modules/uniconv/u16-conv-from-enc: New file.
74314         * lib/uniconv/u16-conv-from-enc.c: New file.
74315         * lib/uniconv/u-conv-from-enc.h: New file.
74316         * modules/uniconv/u16-conv-from-enc-tests: New file.
74317         * tests/uniconv/test-u16-conv-from-enc.c: New file.
74318
74319         * modules/uniconv/u8-conv-from-enc: New file.
74320         * lib/uniconv/u8-conv-from-enc.c: New file.
74321         * modules/uniconv/u8-conv-from-enc-tests: New file.
74322         * tests/uniconv/test-u8-conv-from-enc.c: New file.
74323
74324         * modules/uniconv/base: New file.
74325         * lib/uniconv.h: New file.
74326
74327 2007-01-26  Paul Eggert  <eggert@cs.ucla.edu>
74328
74329         * doc/gnulib-tool.texi (Initial import): Update to match current
74330         behavior with strdup module.
74331         * lib/.cppi-disable: Remove strcase.h, strdup.h, strndup.h, strnlen.h.
74332         * lib/memmem.h: Remove; all uses removed.  This is now done
74333         by <string.h>.
74334         * lib/mempcpy.h: Likewise.
74335         * lib/memrchr.h: Likewise.
74336         * lib/stpcpy.h: Likewise.
74337         * lib/stpncpy.h: Likewise.
74338         * lib/strcase.h: Likewise.
74339         * lib/strchrnul.h: Likewise.
74340         * lib/strdup.h: Likewise.
74341         * lib/strndup.h: Likewise.
74342         * lib/strnlen.h: Likewise.
74343         * lib/strpbrk.h: Likewise.
74344         * lib/strsep.h: Likewise.
74345         * lib/strstr.h: Likewise.
74346         * lib/strtok_r.h: Likewise.
74347         * lib/string_.h: New file.
74348         * lib/argp-namefrob.h: Don't include no-longer-existent include files.
74349         Rely on <string.h> instead.
74350         * lib/canon-host.c: Likewise.
74351         * lib/chdir-long.c: Likewise.
74352         * lib/concatpath.c: Likewise.
74353         * lib/exclude.c: Likewise.
74354         * lib/fchdir.c: Likewise.
74355         * lib/getaddrinfo.c: Likewise.
74356         * lib/getcwd.c: Likewise.
74357         * lib/getsubopt.c: Likewise.
74358         * lib/glob.c: Likewise.
74359         * lib/hard-locale.c: Likewise.
74360         * lib/iconvme.c: Likewise.
74361         * lib/javacomp.c: Likewise.
74362         * lib/mempcpy.c: Likewise.
74363         * lib/memrchr.c: Likewise.
74364         * lib/regex_internal.h: Likewise.
74365         * lib/stpncpy.c: Likewise.
74366         * lib/strcasecmp.c: Likewise.
74367         * lib/strchrnul.c: Likewise.
74368         * lib/strdup.c: Likewise.
74369         * lib/striconv.c: Likewise.
74370         * lib/striconveh.c: Likewise.
74371         * lib/striconveha.c: Likewise.
74372         * lib/strncasecmp.c: Likewise.
74373         * lib/strndup.c: Likewise.
74374         * lib/strnlen.c: Likewise.
74375         * lib/strsep.c: Likewise.
74376         * lib/strstr.c: Likewise.
74377         * lib/strtok_r.c: Likewise.
74378         * lib/userspec.c: Likewise.
74379         * lib/w32spawn.h: Likewise.
74380         * lib/xstrndup.c: Likewise.
74381         * lib/mountlist.c (strstr): Remove decl.
74382         * m4/string_h.m4: New file.
74383         * m4/memmem.m4 (gl_FUNC_MEMMEM): Set HAVE_DECL_MEMMEM if necessary.
74384         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY): Set HAVE_MEMPCPY if necessary.
74385         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Set HAVE_MEMRCHR
74386         * m4/stpcpy.m4 (gl_FUNC_STPCPY): Set HAVE_STPCPY if necessary.
74387         * m4/stpncpy.m4 (gl_PREREQ_STPNCPY): Set HAVE_STPNCPY if necessary.
74388         * m4/strcase.m4 (gl_FUNC_STRCASECMP):
74389         Set REPLACE_STRCASECMP if necessary.
74390         (gl_FUNC_STRNCASECMP): Set HAVE_DECL_STRNCASECMP if necessary.
74391         * m4/strchrnul.m4 (gl_FUNC_STRCHRNUL): Set HAVE_STRCHRNUL if necessary.
74392         * m4/strdup.m4 (gl_FUNC_STRDUP): Set HAVE_DECL_STRDUP if necessary.
74393         * m4/strndup.m4 (gl_FUNC_STRNDUP): Set HAVE_DECL_STRNLEN and
74394         HAVE_DECL_STRDUP if necessary.
74395         (gl_PREREQ_STRNLEN): Don't bother to check for strnlen decl,
74396         since gl_FUNC_STRNDUP does that now.
74397         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Set HAVE_DECL_STRNLEN if necessary.
74398         Check for decl here...
74399         (gl_PREREQ_STRNLEN): ... not here.
74400         * m4/strpbrk.m4 (gl_FUNC_STRPBRK): Set HAVE_STRPBRK if necessary.
74401         * m4/strsep.m4 (gl_FUNC_STRSEP): Set HAVE_STRSEP if necessary.
74402         * m4/strstr.m4 (gl_FUNC_STRSTR): Set REPLACE_STRSTR if necessary.
74403         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Set HAVE_DECL_STRTOK_R if
74404         necessary.
74405         * modules/string: New file.
74406         * modules/memmem (Files): Remove special-purpose include file.
74407         (Depends-on): Add string.
74408         (Include): Include <string.h>, not the removed file.
74409         * modules/mempcpy: Likewise.
74410         * modules/memrchr: Likewise.
74411         * modules/stpcpy: Likewise.
74412         * modules/stpncpy: Likewise.
74413         * modules/strcase: Likewise.
74414         * modules/strchrnul: Likewise.
74415         * modules/strdup: Likewise.
74416         * modules/strndup: Likewise.
74417         * modules/strnlen: Likewise.
74418         * modules/strpbrk: Likewise.
74419         * modules/strsep: Likewise.
74420         * modules/strstr: Likewise.
74421         * modules/strtok_r: Likewise.
74422         * tests/test-dirname.c: Don't include "strdup.h", since
74423         <string.h> now suffices.
74424         * tests/test-memmem.c: Don't include "memmem.h", since
74425         <string.h> now suffices.
74426
74427 2007-01-25  Bruno Haible  <bruno@clisp.org>
74428
74429         * lib/striconveh.c (mem_cd_iconveh_internal): Ignore *lengthp if
74430         *resultp is 0.
74431
74432         * lib/unistr/u16-to-u8.c (u16_to_u8): Fix u8_uctomb invocation.
74433         * lib/unistr/u32-to-u8.c (u32_to_u8): Likewise.
74434         * lib/unistr/u8-to-u16.c (u8_to_u16): Fix u16_uctomb invocation.
74435         * lib/unistr/u32-to-u16.c (u32_to_u16): Likewise.
74436
74437         * modules/unistr/u8-to-u16 (Depends-on): Add missing modules.
74438         * modules/unistr/u8-to-u32 (Depends-on): Add missing modules.
74439         * modules/unistr/u16-to-u8 (Depends-on): Add missing modules.
74440         * modules/unistr/u16-to-u32 (Depends-on): Add missing modules.
74441         * modules/unistr/u32-to-u8 (Depends-on): Add missing modules.
74442         * modules/unistr/u32-to-u16 (Depends-on): Add missing modules.
74443
74444 2007-01-24  Bruno Haible  <bruno@clisp.org>
74445
74446         Don't AC_REQUIRE autoconf macros that invoke AC_LIBOBJ. See
74447         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00279.html>.
74448         * m4/argp.m4 (gl_ARGP): Invoke, don't require, gl_GETOPT_SUBSTITUTE.
74449         * m4/fts.m4 (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): Invoke, don't require,
74450         gl_FUNC_FTS_CORE.
74451         (gl_FUNC_FTS_CORE): Invoke, don't require, gl_FUNC_OPENAT.
74452         * m4/lstat.m4 (gl_FUNC_LSTAT): Invoke, don't require,
74453         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
74454         * m4/memcmp.m4 (gl_FUNC_MEMCMP): Invoke, don't require, AC_FUNC_MEMCMP.
74455         * m4/mktime.m4 (gl_FUNC_MKTIME): Invoke, don't require, AC_FUNC_MKTIME.
74456         * m4/openat.m4 (gl_FUNC_OPENAT): Invoke, don't require,
74457         gl_FUNC_FCHOWNAT.
74458         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Invoke, don't require,
74459         gl_FUNC_STRFTIME.
74460         * m4/strtod.m4 (gl_FUNC_STRTOD): Invoke, don't require, AC_FUNC_STRTOD.
74461         Reported by Ralf Wildenhues.
74462
74463 2007-01-24  Bruno Haible  <bruno@clisp.org>
74464
74465         Drop AC_REQUIRE calls that are redundant with the module dependencies.
74466         * m4/canon-host.m4 (gl_PREREQ_CANON_HOST): Don't require
74467         gl_GETADDRINFO.
74468         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Don't require AM_STDBOOL_H,
74469         gl_FUNC_MEMPCPY, gl_FUNC_OPENAT, gl_FUNC_MEMRCHR.
74470         * m4/openat.m4 (gl_PREREQ_OPENAT): Don't require gl_SAVE_CWD.
74471
74472 2007-01-24  Paul Eggert  <eggert@cs.ucla.edu>
74473
74474         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Add test for glibc bug 361.
74475         Don't use 'exit'; just return from 'main'.
74476         (_AC_LIBOBJ_FNMATCH): Check for headers and functions just once.
74477
74478         * lib/fnmatch_.h: Readjust white space and comments to match
74479         glibc, to avoid spurious diffs.
74480
74481 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74482
74483         * lib/fnmatch_loop.c (internal_fnmatch) [!_LIBC]: #if-out the
74484         2004-12-01 change by Jakub Jelinek, since this code won't compile
74485         if !LIBC.  Problem reported by Bob Proulx.
74486
74487 2007-01-23  Bruno Haible  <bruno@clisp.org>
74488
74489         * lib/striconveh.c: Include c-strcaseeq.h.
74490         (mem_iconveh, str_iconveh): Use STRCASEEQ instead of c_strcasecmp.
74491         * modules/striconveh (Depends-on): Add c-strcaseeq.
74492
74493 2007-01-23  Bruno Haible  <bruno@clisp.org>
74494
74495         * MODULES.html.sh (String handling): Add streq, c-strcaseeq.
74496
74497         * modules/c-strcaseeq: New file.
74498         * lib/c-strcaseeq.h: New file.
74499
74500         * modules/streq: New file.
74501         * lib/streq.h: New file.
74502
74503 2007-01-23  Bruno Haible  <bruno@clisp.org>
74504
74505         * modules/striconveha-tests: New file.
74506         * tests/test-striconveha.c: New file.
74507
74508         * lib/striconveha.h: Include <stdbool.h>.
74509         (mem_iconveha, str_iconveha): Add 'transliterate' argument.
74510         * lib/striconveha.c: Include allocsa.h, strdup.h, c-strcase.h.
74511         (mem_iconveha_notranslit): Renamed from mem_iconveha.
74512         (mem_iconveha): New function.
74513         (str_iconveha_notranslit): Renamed from str_iconveha.
74514         (str_iconveha): New function.
74515         * modules/striconveha (Depends-on): Add stdbool, allocsa, strdup,
74516         c-strcase.
74517
74518 2007-01-23  Bruno Haible  <bruno@clisp.org>
74519
74520         * lib/striconveha.c (mem_iconveha): Fix endless recursion. Try all
74521         encodings without forgiving before trying any encoding with handler.
74522         (str_iconveha): Try all encodings without forgiving before trying any
74523         encoding with handler.
74524
74525 2007-01-23  Paul Eggert  <eggert@cs.ucla.edu>
74526
74527         Import the following changes from libc.
74528
74529         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
74530
74531         * lib/fnmatch_loop.c: Adjust for changed secondary hash function.
74532
74533         2004-12-01  Jakub Jelinek  <jakub@redhat.com>
74534
74535         * lib/fnmatch_loop.c (internal_fnmatch): Clear is_seqval after
74536         normal_bracket label.
74537
74538         2004-09-01  Jakub Jelinek  <jakub@redhat.com>
74539
74540         [BZ #361]
74541         * lib/fnmatch_loop.c (FCT): For backslash between brackets, branch
74542         to normal_bracket after fetching the next character.
74543
74544 2007-01-22  Bruno Haible  <bruno@clisp.org>
74545
74546         * lib/striconveh.h (mem_cd_iconveh, mem_iconveh): Add 'offsets'
74547         argument.
74548         * lib/striconveh.c (iconv_carefully_1): New function.
74549         (mem_cd_iconveh_internal, mem_cd_iconveh, mem_iconveh): Add 'offsets'
74550         argument.
74551         (str_cd_iconveh): Update.
74552         * lib/striconveha.h (mem_iconveha): Add 'offsets' argument.
74553         * lib/striconveha.c (mem_iconveha): Add 'offsets' argument.
74554         * tests/test-striconveh.c (MAGIC): New macro.
74555         (new_offsets): New function.
74556         (main): Test call with and without offsets.
74557
74558 2007-01-22  Bruno Haible  <bruno@clisp.org>
74559
74560         * modules/sys_stat (Makefile.am): Use @MKDIR_P@ instead of $(MKDIR_P).
74561         * modules/sys_select (Makefile.am): Likewise.
74562         * modules/sys_socket (Makefile.am): Likewise.
74563         * modules/sys_time (Makefile.am): Likewise.
74564
74565 2007-01-22  Paul Eggert  <eggert@cs.ucla.edu>
74566
74567         * modules/gettimeofday (License): Change from GPL to LGPL, since
74568         gettimeofday is a library function.
74569
74570 2007-01-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74571
74572         * lib/poll.c (rpl_poll): Don't check against FD_SETSIZE under Win32.
74573
74574 2007-01-21  Bruno Haible  <bruno@clisp.org>
74575
74576         * m4/gnulib-common.m4 (AC_PROG_MKDIR_P): New macro.
74577
74578 2007-01-21  Bruno Haible  <bruno@clisp.org>
74579
74580         * modules/striconveha: New file.
74581         * lib/striconveha.h: New file.
74582         * lib/striconveha.c: New file.
74583         * MODULES.html.sh (Internationalization functions): Add striconveha.
74584         * lib/striconv.c (str_iconv): Optimize the case of an empty input
74585         string.
74586         * lib/striconveh.c (mem_iconveh, str_iconveh): Likewise.
74587
74588 2007-01-21  Bruno Haible  <bruno@clisp.org>
74589
74590         * lib/striconv.c (str_iconv): Guarantee errno is set when strdup fails.
74591         * lib/striconveh.c (str_iconveh): Likewise.
74592
74593 2007-01-21  Bruno Haible  <bruno@clisp.org>
74594
74595         * lib/striconveh.h (mem_iconveh): New declaration.
74596         * lib/striconveh.c (mem_iconveh): New function.
74597         * tests/test-striconveh.c (main): Add tests for mem_iconveh.
74598
74599 2007-01-21  Bruno Haible  <bruno@clisp.org>
74600
74601         * lib/xstriconv.h (xmem_cd_iconv): Change specification.
74602
74603         * lib/striconveh.h (mem_cd_iconveh): Change specification.
74604         * lib/striconveh.c (mem_cd_iconveh): Don't free the user-supplied
74605         original result buffer.
74606         (str_cd_iconveh): Update.
74607         * tests/test-striconveh.c (main): Update.
74608
74609         * lib/striconv.h (mem_cd_iconv): Change specification.
74610         * lib/striconv.c (mem_cd_iconv): Don't free the user-supplied original
74611         result buffer.
74612         (str_cd_iconv): Update.
74613         * tests/test-striconv.c (main): Update.
74614
74615 2007-01-21  Bruno Haible  <bruno@clisp.org>
74616
74617         * gnulib-tool: Fix test whether sed is GNU sed supporting --posix.
74618
74619 2007-01-20  Jim Meyering  <jim@meyering.net>
74620
74621         * lib/userspec.c (parse_with_separator): If a user or group string
74622         starts with "+", skip the corresponding name-to-ID look-up, since
74623         such a look-up must fail: user and group names may not include "+".
74624
74625 2007-01-19  Paul Eggert  <eggert@cs.ucla.edu>
74626
74627         * lib/poll.c: Include sys/time.h and time.h unconditionally,
74628         since we now assume the sys_time module.
74629         * m4/poll.m4 (gl_PREREQ_POLL): Don't require AC_HEADER_TIME or
74630         check for sys/time.h; no longer needed.
74631         * modules/poll (Depends-on): Depend on sys_time.
74632
74633 2007-01-18  Bruno Haible  <bruno@clisp.org>
74634
74635         * m4/mktime.m4 (AC_FUNC_MKTIME): Remove test for <sys/time.h>.
74636         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74637
74638         * m4/tempname.m4 (gl_PREREQ_TEMPNAME): Remove tests for sys/time.h and
74639         gettimeofday.
74640
74641         * tests/test-gettimeofday.c: Include <time.h>.
74642         (dummy): Remove variable.
74643
74644         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H_BODY): Renamed from
74645         gl_HEADER_SYS_TIME_H.
74646         (gl_HEADER_SYS_TIME_H): New macro.
74647
74648         * lib/sys_time_.h: Test GETTIMEOFDAY_REPLACEMENT instead of
74649         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74650         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY,
74651         gl_FUNC_GETTIMEOFDAY_CLOBBER): Set GETTIMEOFDAY_REPLACEMENT instead of
74652         HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74653         * m4/sys_time_h.m4 (gl_HEADER_SYS_TIME_H): Initialize
74654         GETTIMEOFDAY_REPLACEMENT instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE
74655         and GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74656         * modules/sys_time (sys/time.h): Substitute GETTIMEOFDAY_REPLACEMENT
74657         instead of HAVE_GETTIMEOFDAY_POSIX_SIGNATURE and
74658         GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74659
74660         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Undo the
74661         last change; it caused a compilation error when cross-compiling to
74662         Cygwin.
74663
74664 2007-01-18  Jim Meyering  <jim@meyering.net>
74665
74666         Use "$(MKDIR_P) sys", not race-prone "test -d sys || mkdir sys".
74667         * modules/sys_stat (Makefile.am): Use "$(MKDIR_P) sys", rather
74668         than the race-prone "test -d sys || mkdir sys".
74669         (configure.ac): Use AC_PROG_MKDIR_P.
74670         * modules/sys_select: Likewise.
74671         * modules/sys_socket: Likewise.
74672         * modules/sys_time: Likewise.
74673
74674 2007-01-18  Eric Blake  <ebb9@byu.net>
74675
74676         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Also
74677         replace gettimeofday.
74678         * lib/gettimeofday.c (rpl_gettimeofday): Declare with replacement
74679         name, to avoid infinite recursion.
74680
74681 2007-01-17  Paul Eggert  <eggert@cs.ucla.edu>
74682
74683         * MODULES.html.sh (Support for systems lacking POSIX:2001): New
74684         module sys_time.
74685         * lib/gethrxtime.c: Include <sys/time.h>, since we can no longer
74686         assume timespec.h defines struct timeval.
74687         * lib/settime.c: Likewise.
74688         * lib/utimens.c: Likewise.
74689         * lib/gettime.c (gettime): Remove test against HAVE_GETTIMEOFDAY,
74690         since we now assume the gettimeofday module.
74691         * lib/tempname.c (__gen_tempname): Likewise.
74692         * lib/gettimeofday.h: Remove.
74693         * lib/gettimeofday.c: Include <sys/time.h> instead of "gettimeofday.h".
74694         Don't include <sys/types.h> and <stdlib.h>; shouldn't be needed.
74695         Include <time.h>, for 'time()'.
74696         (localtime_buffer_addr): Also use this workaround if
74697         TZSET_CLOBBERS_LOCALTIME.  Set to a dummy static variable by default,
74698         to simplify the uses.  All uses changed.
74699         (localtime, gmtime, tzset, gettimeofday): Reformat slightly so
74700         that #undef is inside {}, and 'const' follows type name consistently.
74701         (tzset): Define replacement only if TZSET_CLOBBERS_LOCALTIME.
74702         (gettimeofday): Do not use the maximum possible value for
74703         tv->tv_usec, since that might break usages other than ls.c.
74704         Instead, we'll leave ls.c alone.  This undoes today's patch
74705         by Bruno.  Add a compile-time warning for 1s-clock resolution;
74706         we've never observed the problem but might as well keep the
74707         canary.
74708         * lib/nanosleep.c: Include timespec.h first, for interface check.
74709         * lib/nanosleep.c: Include <sys/time.h> unconditionally, since we
74710         now assume the sys_time module.
74711         * lib/tempname.c: Likewise.
74712         * lib/timespec.h: Likewise.
74713         * lib/nanosleep.c: Don't worry about TIME_WITH_SYS_TIME; no longer
74714         needed.
74715         * lib/strftime.c: Likewise.
74716         * lib/timespec.h: Likewise.
74717         * lib/posixtm.c: Include posixtm.h first, for interface check.
74718         Don't worry about TM_IN_SYS_TIME; that's wayyy obsolete.
74719         * lib/posixtm.h: Include stdbool.h and time.h, for proper interface.
74720         * lib/strftime.c: Don't include <sys/types.h>; shouldn't be needed.
74721         * lib/sys_time_.h: New file.
74722         * lib/timespec.h (struct timespec): Use long int, not long.
74723         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY):
74724         (gl_FUNC_GETTIMEOFDAY_CLOBBER, gl_PREREQ_GETTIMEOFDAY):
74725         Remove obsolescent call to AC_HEADER_TIME.
74726         * m4/mktime.m4 (AC_FUNC_MKTIME): Likewise.
74727         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
74728         * m4/strftime.m4 (gl_FUNC_STRFTIME): Likewise.
74729         * m4/timespec.m4 (gl_TIMESPEC, gl_CHECK_TYPE_STRUCT_TIMESPEC):
74730         Likewise.
74731         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Likewise.
74732         * m4/utimbuf.m4 (gl_CHECK_TYPE_STRUCT_UTIMBUF): Likewise.
74733         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): Move sys/time.h tests
74734         into the sys_time module.  Check for gettimeofday just once.
74735         Prefix our variables with gl_, not with ac_ or jm_.  Tighten test
74736         for gettimeofday signature to just check the signature.  Merely
74737         compile it, since linking doesn't test signature.  Improve test for
74738         whether gettimeofday.o is actually needed.
74739         (gl_FUNC_GETTIMEOFDAY_CLOBBER): Renamed from
74740         AC_FUNC_GETTIMEOFDAY_CLOBBER.  All uses changed.  Use
74741         AC_RUN_IFELSE rather than AC_TRY_RUN.  If clobbering, set
74742         and define GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74743         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Don't define
74744         GETTIMEOFDAY_CLOBBERS_LOCALTIME; that's gl_FUNC_GETTIMEOFDAY_CLOBBER's
74745         job.  Don't define tzset; that's gl_FUNC_TZSET_CLOBBER's job.
74746         * m4/mktime.m4 (AC_FUNC_MKTIME): Just include <time.h> rather
74747         than worrying about sys/time.h.
74748         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
74749         Don't bother worrying about TIME_WITH_SYS_TIME.
74750         * m4/stat-time.m4 (gl_STAT_TIME): Likewise.
74751         * m4/posixtm.m4 (gl_POSIXTM): Remove obsolescent call to AC_STRUCT_TM.
74752         * m4/sys_time_h.m4: New file.
74753         * m4/tzset.m4 (gl_FUNC_TZSET_CLOBBER): Require gl_HEADER_SYS_TIME_H.
74754         Don't include sys/time.h.  Return from main rather than exiting.
74755         Define TZSET_CLOBBERS_LOCALTIME, for consistency with other names;
74756         all uses changed.
74757         * modules/gethrxtime (Depends-on): Add sys_time.
74758         * modules/gettime (Depends-on): Likewise.
74759         * modules/gettimeofday (Depends-on): Likewise.
74760         * modules/nanosleep (Depends-on): Likewise.
74761         * modules/settime (Depends-on): Likewise.
74762         * modules/tempname (Depends-on): Likewise.
74763         * modules/utimens (Depends-on): Likewise.
74764         * modules/gettimeofday (Files): Remove lib/gettimeofday.h.
74765         (Include): Change back to <sys/time.h>.
74766         (Maintainer): Add self.
74767         * modules/sys_time: New file.
74768         * modules/tempname (Depends-on): Add gettimeofday.
74769         * tests/test-gettimeofday.c: Include <sys/time.h>
74770         rather than gettimeofday.h.
74771
74772 2007-01-17  Bruno Haible  <bruno@clisp.org>
74773
74774         * gnulib-tool (func_get_license): Revert last patch. Instead, let
74775         the license default to GPL.
74776         (func_create_testdir): Don't complain if a module is LGPL and its
74777         tests module depends on GPLed modules.
74778
74779 2007-01-17  Bruno Haible  <bruno@clisp.org>
74780
74781         * lib/gettimeofday.c (gettimeofday): Add code for the case
74782         HAVE_GETTIMEOFDAY && !GETTIMEOFDAY_CLOBBERS_LOCALTIME. Use the
74783         maximum possible value for tv->tv_usec, rather than the minimum one.
74784
74785 2005-10-08  Martin Lambers  <marlam@marlam.de>
74786 2005-10-08  Paul Eggert  <eggert@cs.ucla.edu>
74787 2007-01-16  Bruno Haible  <bruno@clisp.org>
74788
74789         * modules/gettimeofday (Files): Add lib/gettimeofday.h.
74790         (configure.ac): Remove AC_FUNC_GETTIMEOFDAY_CLOBBER. Add
74791         gl_FUNC_GETTIMEOFDAY.
74792         (Include): Add gettimeofday.h.
74793         * m4/gettimeofday.m4 (gl_FUNC_GETTIMEOFDAY): New macro.
74794         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't invoke gl_PREREQ_GETTIMEOFDAY.
74795         (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): Define
74796         GETTIMEOFDAY_CLOBBERS_LOCALTIME. Invoke gl_PREREQ_GETTIMEOFDAY here.
74797         (gl_PREREQ_GETTIMEOFDAY): Check for <sys/timeb.h> and _ftime.
74798         * lib/gettimeofday.h: New file.
74799         * lib/gettimeofday.c: Include <sys/timeb.h>.
74800         (localtime_buffer_addr, rpl_localtime, rpl_gmtime, rpl_tzset): Define
74801         only if GETTIMEOFDAY_CLOBBERS_LOCALTIME.
74802         (rpl_gettimeofday) [!HAVE_GETTIMEOFDAY]: Use _ftime() when available;
74803         fall back on time().
74804
74805         * tests/test-gettimeofday.c: New file.
74806         * modules/gettimeofday-tests: New file.
74807
74808 2007-01-16  Eric Blake  <ebb9@byu.net>
74809
74810         * modules/fnmatch (Depends-on): Depend on wchar.
74811         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Assume <wchar.h>.
74812         * m4/fnmatch.m4: Likewise.
74813         * modules/mbchar (Makefile.am): Assume <wchar.h>.
74814         * m4/mbchar.m4: Likewise.
74815         * modules/mbswidth (Depends-on): Depend on wchar.
74816         * lib/mbswidth.c: Assume <wchar.h>.
74817         * m4/mbswidth.m4: Likewise.
74818         * modules/quotearg (Depends-on): Depend on wchar.
74819         * lib/quotearg.c: Assume <wchar.h>.
74820         * m4/quotearg.m4: Likewise.
74821         * modules/regex (Depends-on): Depend on wchar.
74822         * lib/regex_internal.h: Assume <wchar.h>.
74823         * m4/regex.m4: Likewise.
74824         * modules/stdint (Depends-on): Depend on wchar.
74825         * lib/stdint_.h [!defined WCHAR_MIN]: Assume <wchar.h>.
74826         * m4/stdint.m4: Likewise.
74827         * tests/test-stdint.c [HAVE_WINT_T]: Likewise.
74828         * modules/strftime (Depends-on): Depend on wchar.
74829         * lib/strftime.c (DO_MULTIBYTE): Assume <wchar.h>.
74830         * modules/strtol (Depends-on): Depend on wchar.
74831         * lib/strtol.c: Assume <wchar.h>.
74832         * modules/wcwidth (Depends-on): Depend on wchar.
74833         * lib/wcwidth.h: Assume <wchar.h>.
74834         * m4/wcwidth.m4: Likewise.
74835
74836 2007-01-16  Bruno Haible  <bruno@clisp.org>
74837
74838         * modules/csharpexec-script: New, created from...
74839         * modules/csharpexec: ... this.
74840
74841 2007-01-16  Paolo Bonzini  <bonzini@gnu.org>
74842
74843         * modules/javaexec-script: New, created from...
74844         * modules/javaexec: ... this.
74845
74846 2007-01-16  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
74847
74848         * modules/poll (Dependencies): Add sys_select.
74849
74850 2007-01-15  Jim Meyering  <jim@meyering.net>
74851
74852         * m4/readutmp.m4 (gl_READUTMP): Work around AIX 4.3 struct-
74853         redefinition bug when using both <utmp.h> and <utmpx.h> headers.
74854         * lib/readutmp.h: Likewise.  Reported by Daniel Richard G. in
74855         <http://article.gmane.org/gmane.comp.gnu.core-utils.bugs/9415>.
74856
74857 2007-01-15  Bruno Haible  <bruno@clisp.org>
74858
74859         * modules/striconveh: New file.
74860         * lib/striconveh.h: New file.
74861         * lib/striconveh.c: New file.
74862         * MODULES.html.sh (Internationalization functions): Add striconveh.
74863
74864         * modules/striconveh-tests: New file.
74865         * tests/test-striconveh.c: New file.
74866
74867 2007-01-15  Bruno Haible  <bruno@clisp.org>
74868
74869         * lib/striconv.c (str_cd_iconv): Use the first algorithm if iconv is
74870         not from GNU libiconv or GNU libc.
74871
74872 2007-01-15  Bruno Haible  <bruno@clisp.org>
74873
74874         * doc/gnulib-intro.texi (Copyright): Explain the different license
74875         terms for module descriptions, autoconf macros, tests, documentation.
74876
74877 2007-01-14  Bruno Haible  <bruno@clisp.org>
74878
74879         * modules/striconv-tests: New file.
74880         * tests/test-striconv.c: New file.
74881
74882 2007-01-14  Bruno Haible  <bruno@clisp.org>
74883
74884         * modules/iconv-tests: New file.
74885         * tests/test-iconv.c: New file.
74886
74887 2007-01-14  Bruno Haible  <bruno@clisp.org>
74888
74889         * gnulib-tool (func_get_license): For test modules, use the license of
74890         the main module.
74891
74892 2007-01-14  Bruno Haible  <bruno@clisp.org>
74893
74894         * modules/iconv (Include): Clarify that <iconv.h> can only be included
74895         if iconv is found to exist.
74896
74897 2007-01-14  Bruno Haible  <bruno@clisp.org>
74898
74899         * modules/c-ctype-tests: New file.
74900         * tests/test-c-ctype.c: New file.
74901
74902 2007-01-14  Bruno Haible  <bruno@clisp.org>
74903
74904         * modules/binary-io-tests: New file.
74905         * tests/test-binary-io.sh: New file.
74906         * tests/test-binary-io.c: New file.
74907
74908 2007-01-14  Bruno Haible  <bruno@clisp.org>
74909
74910         * modules/array-oset-tests: New file.
74911         * tests/test-array_oset.c: New file.
74912
74913 2007-01-14  Bruno Haible  <bruno@clisp.org>
74914
74915         * modules/array-list-tests: New file.
74916         * tests/test-array_list.c: New file.
74917
74918 2007-01-14  Bruno Haible  <bruno@clisp.org>
74919
74920         * gnulib-tool (func_create_testdir): Don't unnecessarily run configure
74921         and make.
74922         Reported by Simon Josefsson in
74923         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00139.html>
74924
74925 2007-01-14  Bruno Haible  <bruno@clisp.org>
74926
74927         * modules/allocsa-tests: New file.
74928         * tests/test-allocsa.c: New file.
74929
74930 2007-01-14  Bruno Haible  <bruno@clisp.org>
74931
74932         * modules/fchdir (Depends-on): Add absolute-header.
74933         * modules/unistd (Depends-on): Likewise.
74934
74935 2006-12-30  Bruno Haible  <bruno@clisp.org>
74936
74937         * modules/fchdir: New file.
74938         * modules/unistd (Files): Add lib/unistd_.h.
74939         (Makefile.am): Generate unistd.h from unistd_.h.
74940         * lib/fchdir.c: New file.
74941         * lib/dirent_.h: New file.
74942         * lib/unistd_.h: New file.
74943         * lib/fcntl_.h (open) [FCHDIR_REPLACEMENT]: New replacement.
74944         * m4/fchdir.m4: New file.
74945         * m4/unistd_h.m4 (gl_PREREQ_UNISTD): New macro.
74946         (gl_HEADER_UNISTD): Invoke it.
74947         * lib/dup-safer.c (dup_safer) [FCHDIR_REPLACEMENT]: Use the dup
74948         function.
74949         * lib/backupfile.c (opendir, closedir): Undefine.
74950         * lib/chown.c (open, close): Undefine.
74951         * lib/clean-temp.c (open, close): Undefine.
74952         * lib/copy-file.c (open, close): Undefine.
74953         * lib/execute.c (open, close): Undefine.
74954         * lib/fsusage.c (open, close): Undefine.
74955         * lib/gc-gnulib.c (open, close): Undefine.
74956         * lib/getcwd.c (opendir, closedir): Undefine.
74957         * lib/glob.c (opendir, closedir): Undefine.
74958         * lib/javacomp.c (open, close): Undefine.
74959         * lib/mountlist.c (open, close, opendir, closedir): Undefine.
74960         * lib/openat-proc.c (open, close): Undefine.
74961         * lib/pagealign_alloc.c (open, close): Undefine.
74962         * lib/pipe.c (open, close): Undefine.
74963         * lib/progreloc.c (open, close): Undefine.
74964         * lib/savedir.c (opendir, closedir): Undefine.
74965         * lib/utime.c (open, close): Undefine.
74966         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add fchdir.
74967
74968 2007-01-10  Bruno Haible  <bruno@clisp.org>
74969
74970         * lib/striconv.c (mem_cd_iconv): Align the temporary buffer.
74971
74972 2007-01-12  Eric Blake  <ebb9@byu.net>
74973
74974         Provide a robust <wchar.h>.  Further simplifications are now
74975         possible in other modules, but not included here.
74976         * modules/wchar: New module.
74977         * m4/wchar.m4: New file.
74978         * lib/wchar_.h: Likewise.
74979         * modules/mbchar (Depends-on): Depend on wchar, as the first use
74980         of the new module.
74981         * MODULES.html.sh (Extended multibyte and wide character utilities):
74982         New section.
74983
74984 2007-01-12  Paul Eggert  <eggert@cs.ucla.edu>
74985
74986         * lib/xreadlink.c (SYMLINK_MAX) [!defined SYMLINK_MAX]: Define
74987         to a reasonable default for memory allocation.
74988         (xreadlink): Don't allocate a huge buffer, to work around a buggy
74989         file system that reports garbage st_size values for symlinks.
74990         Problem reported by Liyang Hu.
74991
74992 2007-01-11  Simon Josefsson  <simon@josefsson.org>
74993
74994         * gnulib-tool (func_all_modules): Exclude all .* files (e.g.,
74995         Emacs .#* auto-save files).
74996
74997 2007-01-11  Bruno Haible  <bruno@clisp.org>
74998
74999         * gnulib-tool (func_all_modules): Exclude all files inside the CVS
75000         directory.
75001
75002 2007-01-10  Paul Eggert  <eggert@cs.ucla.edu>
75003
75004         Use @...@ consistently in lib/wctype_.h.
75005         * lib/wctype_.h [HAVE_WINT_T]: Go back to using @...@, but rely
75006         on it being set to 1 or 0.
75007         * m4/wctype.m4 (gl_WCTYPE_H): Set HAVE_WINT_T to 1 or 0, and
75008         go back to AC_SUBSTing it.
75009         * modules/wctype (Makefile.am): Undo previous change.
75010
75011 2007-01-10  Eric Blake  <ebb9@byu.net>
75012
75013         * lib/wctype_.h [HAVE_WINT_T]: Rely on AC_DEFINE.
75014         * m4/wctype.m4 (gl_WCTYPE_H): No need to AC_SUBST(HAVE_WINT_T).
75015         * modules/wctype (Makefile.am): Likewise.
75016         Reported by Chris McGuire.
75017
75018 2007-01-10  Jim Meyering  <jim@meyering.net>
75019
75020         fts.c: a small readability/maintainability improvement
75021         * lib/fts.c (fts_read): Make this code slightly more readable and
75022         maintainable by hoisting the "sp->fts_cur = p" assignments to
75023         immediately follow the statements that set P.  Derived from
75024         the patch by Miloslav Trmac in http://bugzilla.redhat.com/222089.
75025
75026 2007-01-10  Eric Blake  <ebb9@byu.net>
75027
75028         * lib/wctype_.h [HAVE_WINT_T]: Include <stddef.h> before
75029         <wchar.h>, to work around BSDI bug in BSD/OS 4.0.1.
75030         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
75031         * m4/wint_t.m4 (gt_TYPE_WINT_T): Likewise.
75032         Reported by Chris McGuire.
75033
75034 2007-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75035
75036         * gnulib-tool (func_all_modules): Use POSIX conforming escaping
75037         in sed script.
75038
75039 2007-01-09  Bruno Haible  <bruno@clisp.org>
75040
75041         * MODULES.html.sh: Accept options --cvs-urls, --git-urls.
75042         (repo_url_prefix, repo_url_suffix, repo_url_suffix_repl): New
75043         variables.
75044         (func_module): Use them.
75045
75046 2007-01-09  Bruno Haible  <bruno@clisp.org>
75047
75048         * modules/unistr/base: New file.
75049         * lib/unistr.h: New file.
75050
75051         * modules/unistr/u8-to-u16: New file.
75052         * lib/unistr/u8-to-u16.c: New file.
75053
75054         * modules/unistr/u8-to-u32: New file.
75055         * lib/unistr/u8-to-u32.c: New file.
75056
75057         * modules/unistr/u16-to-u8: New file.
75058         * lib/unistr/u16-to-u8.c: New file.
75059
75060         * modules/unistr/u16-to-u32: New file.
75061         * lib/unistr/u16-to-u32.c: New file.
75062
75063         * modules/unistr/u32-to-u8: New file.
75064         * lib/unistr/u32-to-u8.c: New file.
75065
75066         * modules/unistr/u32-to-u16: New file.
75067         * lib/unistr/u32-to-u16.c: New file.
75068
75069         * modules/unistr/u8-check: New file.
75070         * modules/unistr/u16-check: New file.
75071         * modules/unistr/u32-check: New file.
75072         * lib/unistr/u8-check.c: New file.
75073         * lib/unistr/u16-check.c: New file.
75074         * lib/unistr/u32-check.c: New file.
75075
75076         * modules/unistr/u8-chr: New file.
75077         * modules/unistr/u16-chr: New file.
75078         * modules/unistr/u32-chr: New file.
75079         * lib/unistr/u8-chr.c: New file.
75080         * lib/unistr/u16-chr.c: New file.
75081         * lib/unistr/u32-chr.c: New file.
75082
75083         * modules/unistr/u8-cmp: New file.
75084         * modules/unistr/u16-cmp: New file.
75085         * modules/unistr/u32-cmp: New file.
75086         * lib/unistr/u8-cmp.c: New file.
75087         * lib/unistr/u16-cmp.c: New file.
75088         * lib/unistr/u32-cmp.c: New file.
75089
75090         * modules/unistr/u8-cpy: New file.
75091         * modules/unistr/u16-cpy: New file.
75092         * modules/unistr/u32-cpy: New file.
75093         * lib/unistr/u8-cpy.c: New file.
75094         * lib/unistr/u16-cpy.c: New file.
75095         * lib/unistr/u32-cpy.c: New file.
75096         * lib/unistr/u-cpy.h: New file.
75097
75098         * modules/unistr/u8-cpy-alloc: New file.
75099         * modules/unistr/u16-cpy-alloc: New file.
75100         * modules/unistr/u32-cpy-alloc: New file.
75101         * lib/unistr/u8-cpy-alloc.c: New file.
75102         * lib/unistr/u16-cpy-alloc.c: New file.
75103         * lib/unistr/u32-cpy-alloc.c: New file.
75104         * lib/unistr/u-cpy-alloc.h: New file.
75105
75106         * modules/unistr/u8-endswith: New file.
75107         * modules/unistr/u16-endswith: New file.
75108         * modules/unistr/u32-endswith: New file.
75109         * lib/unistr/u8-endswith.c: New file.
75110         * lib/unistr/u16-endswith.c: New file.
75111         * lib/unistr/u32-endswith.c: New file.
75112         * lib/unistr/u-endswith.h: New file.
75113
75114         * modules/unistr/u8-mblen: New file.
75115         * modules/unistr/u16-mblen: New file.
75116         * modules/unistr/u32-mblen: New file.
75117         * lib/unistr/u8-mblen.c: New file.
75118         * lib/unistr/u16-mblen.c: New file.
75119         * lib/unistr/u32-mblen.c: New file.
75120
75121         * modules/unistr/u8-mbtouc: New file.
75122         * modules/unistr/u16-mbtouc: New file.
75123         * modules/unistr/u32-mbtouc: New file.
75124         * lib/unistr/u8-mbtouc.c: New file.
75125         * lib/unistr/u16-mbtouc.c: New file.
75126         * lib/unistr/u32-mbtouc.c: New file.
75127
75128         * modules/unistr/u8-mbtouc-safe: New file.
75129         * modules/unistr/u16-mbtouc-safe: New file.
75130         * modules/unistr/u32-mbtouc-safe: New file.
75131         * lib/unistr/u8-mbtouc-safe.c: New file.
75132         * lib/unistr/u16-mbtouc-safe.c: New file.
75133         * lib/unistr/u32-mbtouc-safe.c: New file.
75134
75135         * modules/unistr/u8-move: New file.
75136         * modules/unistr/u16-move: New file.
75137         * modules/unistr/u32-move: New file.
75138         * lib/unistr/u8-move.c: New file.
75139         * lib/unistr/u16-move.c: New file.
75140         * lib/unistr/u32-move.c: New file.
75141         * lib/unistr/u-move.h: New file.
75142
75143         * modules/unistr/u8-next: New file.
75144         * modules/unistr/u16-next: New file.
75145         * modules/unistr/u32-next: New file.
75146         * lib/unistr/u8-next.c: New file.
75147         * lib/unistr/u16-next.c: New file.
75148         * lib/unistr/u32-next.c: New file.
75149
75150         * modules/unistr/u8-prev: New file.
75151         * modules/unistr/u16-prev: New file.
75152         * modules/unistr/u32-prev: New file.
75153         * lib/unistr/u8-prev.c: New file.
75154         * lib/unistr/u16-prev.c: New file.
75155         * lib/unistr/u32-prev.c: New file.
75156
75157         * modules/unistr/u8-set: New file.
75158         * modules/unistr/u16-set: New file.
75159         * modules/unistr/u32-set: New file.
75160         * lib/unistr/u8-set.c: New file.
75161         * lib/unistr/u16-set.c: New file.
75162         * lib/unistr/u32-set.c: New file.
75163         * lib/unistr/u-set.h: New file.
75164
75165         * modules/unistr/u8-startswith: New file.
75166         * modules/unistr/u16-startswith: New file.
75167         * modules/unistr/u32-startswith: New file.
75168         * lib/unistr/u8-startswith.c: New file.
75169         * lib/unistr/u16-startswith.c: New file.
75170         * lib/unistr/u32-startswith.c: New file.
75171         * lib/unistr/u-startswith.h: New file.
75172
75173         * modules/unistr/u8-stpcpy: New file.
75174         * modules/unistr/u16-stpcpy: New file.
75175         * modules/unistr/u32-stpcpy: New file.
75176         * lib/unistr/u8-stpcpy.c: New file.
75177         * lib/unistr/u16-stpcpy.c: New file.
75178         * lib/unistr/u32-stpcpy.c: New file.
75179         * lib/unistr/u-stpcpy.h: New file.
75180
75181         * modules/unistr/u8-stpncpy: New file.
75182         * modules/unistr/u16-stpncpy: New file.
75183         * modules/unistr/u32-stpncpy: New file.
75184         * lib/unistr/u8-stpncpy.c: New file.
75185         * lib/unistr/u16-stpncpy.c: New file.
75186         * lib/unistr/u32-stpncpy.c: New file.
75187         * lib/unistr/u-stpncpy.h: New file.
75188
75189         * modules/unistr/u8-strcat: New file.
75190         * modules/unistr/u16-strcat: New file.
75191         * modules/unistr/u32-strcat: New file.
75192         * lib/unistr/u8-strcat.c: New file.
75193         * lib/unistr/u16-strcat.c: New file.
75194         * lib/unistr/u32-strcat.c: New file.
75195         * lib/unistr/u-strcat.h: New file.
75196
75197         * modules/unistr/u8-strchr: New file.
75198         * modules/unistr/u16-strchr: New file.
75199         * modules/unistr/u32-strchr: New file.
75200         * lib/unistr/u8-strchr.c: New file.
75201         * lib/unistr/u16-strchr.c: New file.
75202         * lib/unistr/u32-strchr.c: New file.
75203
75204         * modules/unistr/u8-strcmp: New file.
75205         * modules/unistr/u16-strcmp: New file.
75206         * modules/unistr/u32-strcmp: New file.
75207         * lib/unistr/u8-strcmp.c: New file.
75208         * lib/unistr/u16-strcmp.c: New file.
75209         * lib/unistr/u32-strcmp.c: New file.
75210
75211         * modules/unistr/u8-strcpy: New file.
75212         * modules/unistr/u16-strcpy: New file.
75213         * modules/unistr/u32-strcpy: New file.
75214         * lib/unistr/u8-strcpy.c: New file.
75215         * lib/unistr/u16-strcpy.c: New file.
75216         * lib/unistr/u32-strcpy.c: New file.
75217         * lib/unistr/u-strcpy.h: New file.
75218
75219         * modules/unistr/u8-strcspn: New file.
75220         * modules/unistr/u16-strcspn: New file.
75221         * modules/unistr/u32-strcspn: New file.
75222         * lib/unistr/u8-strcspn.c: New file.
75223         * lib/unistr/u16-strcspn.c: New file.
75224         * lib/unistr/u32-strcspn.c: New file.
75225         * lib/unistr/u-strcspn.h: New file.
75226
75227         * modules/unistr/u8-strdup: New file.
75228         * modules/unistr/u16-strdup: New file.
75229         * modules/unistr/u32-strdup: New file.
75230         * lib/unistr/u8-strdup.c: New file.
75231         * lib/unistr/u16-strdup.c: New file.
75232         * lib/unistr/u32-strdup.c: New file.
75233         * lib/unistr/u-strdup.h: New file.
75234
75235         * modules/unistr/u8-strlen: New file.
75236         * modules/unistr/u16-strlen: New file.
75237         * modules/unistr/u32-strlen: New file.
75238         * lib/unistr/u8-strlen.c: New file.
75239         * lib/unistr/u16-strlen.c: New file.
75240         * lib/unistr/u32-strlen.c: New file.
75241         * lib/unistr/u-strlen.h: New file.
75242
75243         * modules/unistr/u8-strmblen: New file.
75244         * modules/unistr/u16-strmblen: New file.
75245         * modules/unistr/u32-strmblen: New file.
75246         * lib/unistr/u8-strmblen.c: New file.
75247         * lib/unistr/u16-strmblen.c: New file.
75248         * lib/unistr/u32-strmblen.c: New file.
75249
75250         * modules/unistr/u8-strmbtouc: New file.
75251         * modules/unistr/u16-strmbtouc: New file.
75252         * modules/unistr/u32-strmbtouc: New file.
75253         * lib/unistr/u8-strmbtouc.c: New file.
75254         * lib/unistr/u16-strmbtouc.c: New file.
75255         * lib/unistr/u32-strmbtouc.c: New file.
75256
75257         * modules/unistr/u8-strncat: New file.
75258         * modules/unistr/u16-strncat: New file.
75259         * modules/unistr/u32-strncat: New file.
75260         * lib/unistr/u8-strncat.c: New file.
75261         * lib/unistr/u16-strncat.c: New file.
75262         * lib/unistr/u32-strncat.c: New file.
75263         * lib/unistr/u-strncat.h: New file.
75264
75265         * modules/unistr/u8-strncmp: New file.
75266         * modules/unistr/u16-strncmp: New file.
75267         * modules/unistr/u32-strncmp: New file.
75268         * lib/unistr/u8-strncmp.c: New file.
75269         * lib/unistr/u16-strncmp.c: New file.
75270         * lib/unistr/u32-strncmp.c: New file.
75271
75272         * modules/unistr/u8-strncpy: New file.
75273         * modules/unistr/u16-strncpy: New file.
75274         * modules/unistr/u32-strncpy: New file.
75275         * lib/unistr/u8-strncpy.c: New file.
75276         * lib/unistr/u16-strncpy.c: New file.
75277         * lib/unistr/u32-strncpy.c: New file.
75278         * lib/unistr/u-strncpy.h: New file.
75279
75280         * modules/unistr/u8-strnlen: New file.
75281         * modules/unistr/u16-strnlen: New file.
75282         * modules/unistr/u32-strnlen: New file.
75283         * lib/unistr/u8-strnlen.c: New file.
75284         * lib/unistr/u16-strnlen.c: New file.
75285         * lib/unistr/u32-strnlen.c: New file.
75286         * lib/unistr/u-strnlen.h: New file.
75287
75288         * modules/unistr/u8-strpbrk: New file.
75289         * modules/unistr/u16-strpbrk: New file.
75290         * modules/unistr/u32-strpbrk: New file.
75291         * lib/unistr/u8-strpbrk.c: New file.
75292         * lib/unistr/u16-strpbrk.c: New file.
75293         * lib/unistr/u32-strpbrk.c: New file.
75294         * lib/unistr/u-strpbrk.h: New file.
75295
75296         * modules/unistr/u8-strrchr: New file.
75297         * modules/unistr/u16-strrchr: New file.
75298         * modules/unistr/u32-strrchr: New file.
75299         * lib/unistr/u8-strrchr.c: New file.
75300         * lib/unistr/u16-strrchr.c: New file.
75301         * lib/unistr/u32-strrchr.c: New file.
75302
75303         * modules/unistr/u8-strspn: New file.
75304         * modules/unistr/u16-strspn: New file.
75305         * modules/unistr/u32-strspn: New file.
75306         * lib/unistr/u8-strspn.c: New file.
75307         * lib/unistr/u16-strspn.c: New file.
75308         * lib/unistr/u32-strspn.c: New file.
75309         * lib/unistr/u-strspn.h: New file.
75310
75311         * modules/unistr/u8-strstr: New file.
75312         * modules/unistr/u16-strstr: New file.
75313         * modules/unistr/u32-strstr: New file.
75314         * lib/unistr/u8-strstr.c: New file.
75315         * lib/unistr/u16-strstr.c: New file.
75316         * lib/unistr/u32-strstr.c: New file.
75317         * lib/unistr/u-strstr.h: New file.
75318
75319         * modules/unistr/u8-strtok: New file.
75320         * modules/unistr/u16-strtok: New file.
75321         * modules/unistr/u32-strtok: New file.
75322         * lib/unistr/u8-strtok.c: New file.
75323         * lib/unistr/u16-strtok.c: New file.
75324         * lib/unistr/u32-strtok.c: New file.
75325         * lib/unistr/u-strtok.h: New file.
75326
75327         * modules/unistr/u8-uctomb: New file.
75328         * modules/unistr/u16-uctomb: New file.
75329         * modules/unistr/u32-uctomb: New file.
75330         * lib/unistr/u8-uctomb.c: New file.
75331         * lib/unistr/u16-uctomb.c: New file.
75332         * lib/unistr/u32-uctomb.c: New file.
75333
75334         * MODULES.html.sh (Unicode string functions): Add the new modules.
75335
75336 2007-01-08  Bruno Haible  <bruno@clisp.org>
75337
75338         * gnulib-tool (func_all_modules): Use find, not ls, to traverse the
75339         modules directory. Filter out CVS, ChangeLog, COPYING, README also from
75340         subdirectories.
75341
75342 2007-01-08  Karl Berry  <karl@gnu.org>
75343
75344         * doc/error.texi: mention that main() fns must set program_name
75345         when progname is used.
75346
75347 2007-01-08  Paul Eggert  <eggert@cs.ucla.edu>
75348
75349         * m4/wctype.m4 (gl_WCTYPE_H): Compute ABSOLUTE_WCTYPE_H even if
75350         WCTYPE_H is empty, for the benefit of builds from non-distclean
75351         directories.  Problem reported by Eric Blake in
75352         <http://lists.gnu.org/archive/html/bug-gnulib/2007-01/msg00157.html>.
75353
75354 2007-01-08  Bruno Haible  <bruno@clisp.org>
75355
75356         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Remove
75357         PROVIDE_CANONICALIZE_FILENAME_MODE macro definition.
75358         * lib/canonicalize.h: Test GNULIB_CANONICALIZE instead of
75359         PROVIDE_CANONICALIZE_FILENAME_MODE.
75360         * modules/canonicalize (configure.ac): Use gl_MODULE_INDICATOR.
75361
75362 2007-01-08  Bruno Haible  <bruno@clisp.org>
75363
75364         * m4/fts.m4 (gl_FUNC_FTS_LGPL): Remove _LGPL_PACKAGE macro definition.
75365         * lib/fts_.h (_LGPL_PACKAGE): Remove macro.
75366         Use !GNULIB_FTS instead of _LGPL_PACKAGE.
75367         * lib/fts.c: Likewise.
75368         * modules/fts (configure.ac): Use gl_MODULE_INDICATOR.
75369
75370 2006-12-25  Bruno Haible  <bruno@clisp.org>
75371
75372         * modules/utf8-ucs4-safe: New file.
75373         * lib/utf8-ucs4-safe.h: New file.
75374         * lib/unistr/utf8-ucs4-safe.c: New file.
75375
75376         * modules/utf16-ucs4-safe: New file.
75377         * lib/utf16-ucs4-safe.h: New file.
75378         * lib/unistr/utf16-ucs4-safe.c: New file.
75379
75380         * MODULES.html.sh (Unicode string functions): Add the new modules.
75381
75382 2007-01-08  Bruno Haible  <bruno@clisp.org>
75383
75384         * modules/utf8-ucs4 (Files, lib_SOURCES): Add unistr/utf8-ucs4.c.
75385         (Depends-on): Add unitypes.
75386         * lib/utf8-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75387         (u8_mbtouc_aux): Move out to separate file.
75388         (u8_mbtouc): Use ucs4_t, uint8_t types.
75389         * lib/unistr/utf8-ucs4.c: New file.
75390
75391         * modules/utf16-ucs4 (Files, lib_SOURCES): Add unistr/utf16-ucs4.c.
75392         (Depends-on): Add unitypes.
75393         * lib/utf16-ucs4.h: Add double-inclusion guard. Include unitypes.h.
75394         (u16_mbtouc_aux): Move out to separate file.
75395         (u16_mbtouc): Use ucs4_t, uint16_t types.
75396         * lib/unistr/utf16-ucs4.c: New file.
75397
75398         * modules/ucs4-utf8 (Files, lib_SOURCES): Add unistr/ucs4-utf8.c.
75399         (Depends-on): Add unitypes.
75400         * lib/ucs4-utf8.h: Add double-inclusion guard. Include unitypes.h.
75401         (u8_uctomb_aux): Move out to separate file.
75402         (u8_uctomb): Use ucs4_t, uint8_t types.
75403         * lib/unistr/ucs4-utf8.c: New file.
75404
75405         * modules/ucs4-utf16 (Files, lib_SOURCES): Add unistr/ucs4-utf16.c.
75406         (Depends-on): Add unitypes.
75407         * lib/ucs4-utf16.h: Add double-inclusion guard. Include unitypes.h.
75408         (u16_uctomb_aux): Move out to separate file.
75409         (u16_uctomb): Use ucs4_t, uint16_t types.
75410         * lib/unistr/ucs4-utf16.c: New file.
75411
75412 2006-12-25  Bruno Haible  <bruno@clisp.org>
75413
75414         * modules/unitypes: New file.
75415         * lib/unitypes.h: New file.
75416         * MODULES.html.sh (func_all_modules): New section "Unicode string
75417         functions". Move ucs4-utf8, ucs4-utf16, utf8-ucs4, utf16-ucs4 to
75418         this section. Add unitypes.
75419
75420 2007-01-08  Bruno Haible  <bruno@clisp.org>
75421
75422         Avoid variable names that conflict with those from libtool.
75423         * m4/lib-link.m4 (AC_LIB_RPATH, AC_LIB_LINKFLAGS_BODY,
75424         AC_LIB_LINKFLAGS_FROM_LIBS): Rename libext to acl_libext,
75425         shlibext to acl_shlibext, libname_spec to acl_libname_spec,
75426         library_names_spec to acl_library_names_spec, hardcode_* to
75427         acl_hardcode_*.
75428         Reported by Ralf Wildenhues.
75429
75430 2007-01-08  Bruno Haible  <bruno@clisp.org>
75431
75432         * m4/gc-arcfour.m4 (gl_GC_ARCFOUR): Remove GC_USE_ARCFOUR macro
75433         definition.
75434         * m4/gc-arctwo.m4 (gl_GC_ARCTWO): Remove GC_USE_ARCTWO macro
75435         definition.
75436         * m4/gc-des.m4 (gl_GC_DES): Remove GC_USE_DES macro definition.
75437         * m4/gc-hmac-md5.m4 (gl_GC_HMAC_MD5): Remove GC_USE_HMAC_MD5 macro
75438         definition.
75439         * m4/gc-hmac-sha1.m4 (gl_GC_HMAC_SHA1): Remove GC_USE_HMAC_SHA1 macro
75440         definition.
75441         * m4/gc-md2.m4 (gl_GC_MD2): Remove GC_USE_MD2 macro definition.
75442         * m4/gc-md4.m4 (gl_GC_MD4): Remove GC_USE_MD4 macro definition.
75443         * m4/gc-md5.m4 (gl_GC_MD5): Remove GC_USE_MD5 macro definition.
75444         * m4/gc-random.m4 (gl_GC_RANDOM): Remove GC_USE_RANDOM macro
75445         definition.
75446         * m4/gc-rijndael.m4 (gl_GC_RIJNDAEL): Remove GC_USE_RIJNDAEL macro
75447         definition.
75448         * m4/gc-sha1.m4 (gl_GC_SHA1): Remove GC_USE_SHA1 macro definition.
75449         * lib/gc-gnulib.c: Use GNULIB_GC_<algorithm> instead of
75450         GC_USE_<algorithm>.
75451         * lib/gc-libgcrypt.c: Likewise.
75452         * modules/gc-arcfour (configure.ac): Use gl_MODULE_INDICATOR.
75453         * modules/gc-arctwo (configure.ac): Likewise.
75454         * modules/gc-des (configure.ac): Likewise.
75455         * modules/gc-hmac-md5 (configure.ac): Likewise.
75456         * modules/gc-hmac-sha1 (configure.ac): Likewise.
75457         * modules/gc-md2 (configure.ac): Likewise.
75458         * modules/gc-md4 (configure.ac): Likewise.
75459         * modules/gc-md5 (configure.ac): Likewise.
75460         * modules/gc-random (configure.ac): Likewise.
75461         * modules/gc-rijndael (configure.ac): Likewise.
75462         * modules/gc-sha1 (configure.ac): Likewise.
75463
75464 2007-01-08  Bruno Haible  <bruno@clisp.org>
75465
75466         * m4/close-stream.m4 (gl_CLOSE_STREAM): Remove GNULIB_CLOSE_STREAM
75467         macro definition.
75468         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Remove GNULIB_FCNTL_SAFER macro
75469         definition.
75470         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Remove GNULIB_FOPEN_SAFER macro
75471         definition.
75472         * modules/close-stream (configure.ac): Invoke gl_MODULE_INDICATOR.
75473         * modules/fcntl-safer (configure.ac): Likewise.
75474         * modules/fopen-safer (configure.ac): Likewise.
75475         * modules/fwriteerror (configure.ac): Likewise. Remove explicit
75476         GNULIB_FWRITEERROR macro definition.
75477
75478 2007-01-08  Bruno Haible  <bruno@clisp.org>
75479
75480         * m4/gnulib-common.m4: New file.
75481         * gnulib-tool (func_get_autoconf_snippet): Undo last change.
75482         (func_get_filelist): Add m4/gnulib-common.m4.
75483
75484 2007-01-08  Bruno Haible  <bruno@clisp.org>
75485
75486         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Simplify the sorting
75487         command.
75488
75489 2007-01-08  Jim Meyering  <jim@meyering.net>
75490
75491         Use a more robust test for a "can't happen" condition.
75492         * lib/fts.c (fts_read): Revert the change of 2006-11-22, since it
75493         narrowed the st_size value.  Presuming the "can't happen" condition
75494         is true, that narrowing could conceivably convert an invalid st_size
75495         value into a valid one.  Instead, use a change based on Matthew
75496         Woehlke's original patch.
75497
75498         Slight readability improvement: use an assert-like macro
75499         in place of literal "abort ()" uses.
75500         * lib/fts.c (fts_assert): Define.
75501         (fts_set_stat_required, cwd_advance_fd, fts_read, fd_ring_check):
75502         Use this macro instead of a bare 'abort'.
75503
75504 2007-01-05  Paul Eggert  <eggert@cs.ucla.edu>
75505
75506         Don't worry about using IRIX 5.3's wctype.h broken definitions;
75507         simply work around them.
75508         * lib/wctype_.h: Remove test for HAVE_WCTYPE_CTMP_BUG.
75509         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph, iswlower):
75510         (iswprint, iswpunct, iswspace, iswupper, iswxdigit): Undef before
75511         declaring.
75512         Don't bother to define as macros, since the standard doesn't require it.
75513         * m4/wctype.m4 (WCTYPE_H, ABSOLUTE_WCTYPE_H): Simplify, since we no
75514         longer worry about IRIX 5.3.
75515         (HAVE_WCTYPE_CTMP_BUG): Remove.
75516
75517 2007-01-04  Paul Eggert  <eggert@cs.ucla.edu>
75518
75519         * lib/wctype_.h (_ctmp_) [HAVE_WCTYPE_CTMP_BUG]: Now of type wchar_t,
75520         not wint_t.  Also, include <ctype.h>, to fix another IRIX bug.
75521         * m4/wctype.m4 (gl_WCTYPE_H): Likewise.
75522         Problems reported by Georg Schwarz for IRIX 5.3.
75523
75524         * gnulib-tool (autoconf_minversion): Take the maximum version number
75525         found, not the minimum.  Problem reported by James Youngman.
75526
75527 2007-01-03  Karl Berry  <karl@gnu.org>
75528
75529         * doc/error.texi: new file, explaining interaction with progname.
75530         * doc/gnulib.texi: include it.  Update copyright.
75531
75532 2007-01-03  Simon Josefsson  <simon@josefsson.org>
75533
75534         * gnulib-tool (func_create_testdir): Run AC_CANONICAL_BUILD and
75535         AC_CANONICAL_HOST, to improve autobuild outputs.
75536
75537 2007-01-03  Paolo Bonzini  <bonzini@gnu.org>
75538             Yoann Vandoorselaere <yoann.v@prelude-ids.com>
75539
75540         * lib/poll.c (poll): Use recv on Mac OS X to distinguish connected
75541         sockets, server sockets, and other file descriptors.  Count errors
75542         to compute the return value.  Reorder the code a bit to be easier
75543         to follow.  Don't set event bits that were not requested (except
75544         POLLERR and POLLHUP).
75545
75546 2007-01-01  Bruno Haible  <bruno@clisp.org>
75547
75548         * modules/lchmod (Include): Require lchmod.h, not lchown.h.
75549
75550 2007-01-03  Jim Meyering  <jim@meyering.net>
75551
75552         * modules/fts-lgpl (Depends-on): Add i-ring.  Reported by Bruno Haible.
75553
75554 2007-01-02  Bruno Haible  <bruno@clisp.org>
75555
75556         * modules/settime (Include): Require timespec.h.
75557         * modules/nanosleep (Include): Likewise.
75558
75559 2007-01-01  Bruno Haible  <bruno@clisp.org>
75560
75561         * gnulib-tool (func_emit_copyright_notice): Bump year.
75562         (func_get_autoconf_snippet): Emit a GNULIB_<modulename> macro.
75563
75564 2007-01-01  Bruno Haible  <bruno@clisp.org>
75565
75566         Improve support for OpenBSD.
75567         * build-aux/config.rpath (libname_spec): Export.
75568         (library_names_spec): New variable. Export.
75569         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Extract libname_spec and
75570         library_names_spec from the config.rpath output. Locate shared library
75571         through the name pattern in library_names_spec.
75572
75573 2007-01-01  Eric Blake  <ebb9@byu.net>
75574
75575         * lib/version-etc.c (COPYRIGHT_YEAR): Bump for new year.
75576
75577 2006-12-30  Paul Eggert  <eggert@cs.ucla.edu>
75578
75579         * gnulib-tool (SORT): Remove, since we no longer assume GNU sort.
75580         Rewrite so as not to assume GNU sort or "tail -1".  Also, don't
75581         assume the C locale, and avoid an "eval" that could cause trouble.
75582         Problem with SORT reported by Bob Proulx.
75583
75584         * lib/getpagesize.h (getpagesize) [defined __amigaos4__]:
75585         Define.  Trivial patch from Henning Nielsen Lund, originally
75586         sent to bug-grep@gnu.org today.
75587
75588 2006-12-29  Paul Eggert  <eggert@cs.ucla.edu>
75589
75590         * lib/acl.h: Include sys/types.h and sys/stat.h, for mode_t and
75591         struct stat.  Problem reported by Henning Nielsen Lund.
75592         * lib/acl.c: Include acl.h first, to check interface.  Don't
75593         bother to include sys/types.h and sys/stat.h again.
75594
75595 2006-12-28  Paul Eggert  <eggert@cs.ucla.edu>
75596
75597         Import the following change from libc; problem reported by
75598         Sven Verdoolaege.
75599
75600         2005-10-13  Ulrich Drepper  <drepper@redhat.com>
75601
75602         [BZ #1373]
75603         * lib/argp.h: Remove __NTH for __argp_usage inline function.
75604
75605 2006-12-28  Jim Meyering  <jim@meyering.net>
75606
75607         * build-aux/announce-gen: Do not assume that the package
75608         builds any of tar.gz, tar.bz2, and .xdelta files.
75609         Suggestion from Simon Josefsson.
75610
75611 2006-12-28  Simon Josefsson  <simon@josefsson.org>
75612
75613         * modules/announce-gen: New file.
75614
75615 2006-12-27  Paul Eggert  <eggert@cs.ucla.edu>
75616
75617         * lib/mbchar.h: Just include <wctype.h>; the wctype module
75618         handles its gotchas now.
75619         * lib/mbswidth.c: Likewise.
75620         * lib/wcwidth.h: Likewise.
75621         * m4/mbchar.m4 (gl_MBCHAR): Don't bother checking for wctype.h
75622         and iswcntrl; the wctype module does this stuff now.
75623         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
75624         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Likewise.
75625         * modules/mbchar (Depends-on): Add wctype.
75626         * modules/mbswidth (Depends-on): Likewise.
75627         * modules/wcwidth (Depends-on): Likewise.
75628
75629 2006-12-27  Eric Blake  <ebb9@byu.net>
75630
75631         * lib/fnmatch.c: Reinstate inclusion of <wchar.h>, since this
75632         module uses more than what <wctype.h> is required to provide.
75633
75634 2006-12-26  Eric Blake  <ebb9@byu.net>
75635
75636         * gnulib-tool (sed_extract_prog): Avoid space-tab.
75637
75638 2006-12-26  Eric Blake  <ebb9@byu.net>
75639
75640         * modules/absolute-header: New module.
75641         * modules/fcntl (Depends-on): Depend on it.
75642         * modules/inttypes (Depends-on): Likewise.
75643         * modules/stdint (Depends-on): Likewise.
75644         * modules/sys_stat (Depends-on): Likewise.
75645         * modules/wctype (Depends-on): Likewise.
75646         * MODULES.html.sh (Support for building libraries and
75647         executables): Document it.
75648
75649 2006-12-25  Paul Eggert  <eggert@cs.ucla.edu>
75650
75651         * gnulib-tool (SED): Remove, undoing previous change.
75652         The problem was that it broke coreutils on Solaris, because
75653         "sed --posix" leaked into a makefile.
75654         (sed): New alias, if 'alias' and GNU sed.
75655
75656 2006-12-24  Jim Meyering  <jim@meyering.net>
75657
75658         Work around an fchownat bug in glibc-2.4:
75659         http://lists.ubuntu.com/archives/ubuntu-users/2006-September/093218.html
75660         This bug would cause "chown -RP ... DIR" to follow symlinks in DIR,
75661         in spite of the -P option.
75662         * m4/openat.m4 (gl_FUNC_FCHOWNAT, gl_FUNC_FCHOWNAT_DEREF_BUG):
75663         New macros.
75664         (gl_PREREQ_OPENAT): Require gl_FUNC_FCHOWNAT.
75665         * modules/openat (Files): Add lib/fchownat.c.
75666         * lib/openat.c (fchownat): Don't define here.  Move to...
75667         * lib/fchownat.c: ...this new file.
75668
75669 2006-12-23  Paul Eggert  <eggert@cs.ucla.edu>
75670
75671         Fix bug reported by Bruno Haible in
75672         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00228.html>
75673         where quotearg.c didn't compile on Mac OS X 10.2 because it
75674         lacks <wchar.h> and wint_t.
75675         * lib/wctype_.h (__wctype_wint_t): New type.
75676         Include <stdio.h>, <time.h>, <wchar.h> only if HAVE_WINT_T.
75677         (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit, iswgraph):
75678         (iswlower, iswprint, iswpunct, iswspace, iswupper, ixwxdigit):
75679         Arg is now of type __wctype_wint_t, not wint_t.
75680         * m4/wctype.m4 (gl_WCTYPE_H): Require gt_TYPE_WINT_T, and
75681         substitute HAVE_WINT_T.
75682         * modules/wctype (Files): Add m4/wint_t.m4.
75683         (wctype.h): Substitute HAVE_WINT_T.
75684
75685 2006-12-23  Bruno Haible  <bruno@clisp.org>
75686
75687         * lib/safe-read.h [C++]: Wrap declarations in extern "C".
75688
75689 2006-12-23  Bruno Haible  <bruno@clisp.org>
75690
75691         * lib/canonicalize-lgpl.c (__realpath): Test HAVE_READLINK instead of
75692         S_ISLNK.
75693         Needed because gnulib's sys/stat.h replacement defines S_ISLNK on
75694         mingw.
75695
75696 2006-12-22  Bruno Haible  <bruno@clisp.org>
75697
75698         * lib/copy-file.c: Include acl.h.
75699         (copy_file_preserving) [USE_ACL]: Use copy_acl instead of chmod.
75700         Close the file descriptors only after being done with copy_acl.
75701         * modules/copy-file (Depends-on): Add acl.
75702
75703 2006-12-22  Bruno Haible  <bruno@clisp.org>
75704
75705         * gnulib-tool (SED): New variable.
75706         Use $SED instead of sed everywhere.
75707
75708 2006-12-22  Bruno Haible  <bruno@clisp.org>
75709
75710         * modules/no-c++: New file.
75711         * m4/no-c++.m4: New file.
75712         * MODULES.html.sh (Support for building libraries and executables):
75713         Add no-c++.
75714
75715 2006-12-22  Paul Eggert  <eggert@cs.ucla.edu>
75716
75717         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
75718         Include <limits.h>, and use its INT_MAX to rewrite the
75719         j loop so that it does not overflow 'int'.  Problem reported by
75720         Ralf Wildenhues in
75721         <http://lists.gnu.org/archive/html/bug-gnulib/2006-12/msg00084.html>.
75722         Play it safe by shifting left by 1 rather than multiplying by 2,
75723         as GCC is less likely to optimize this away when the value
75724         is signed (when it assumes overflow leads to undefined behavior).
75725         Also, don't assume time_t uses two's complement.
75726
75727 2006-12-21  Paul Eggert  <eggert@cs.ucla.edu>
75728
75729         * MODULES.html.sh: New module wctype.
75730         * lib/wctype_.h, m4/wctype.m4, modules/wctype: New files.
75731         * lib/fnmatch.c: Don't bother to include <wchar.h> before
75732         <wctype.h>, since the new wctype module should fix this.
75733         * lib/quotearg.c: Include <wctype.h> unconditionally, since
75734         the wctype module should arrange for it.
75735         * lib/regex_internal.h: Likewise.
75736         * m4/quotearg.m4 (gl_QUOTEARG): Don't check for wctype.h or iswprint,
75737         since the wctype module should handle this now.
75738         * m4/regex.m4 (gl_PREREQ_REGEX): Don't check for wctype.h.
75739         * modules/fnmatch (Depends-on): Add wctype.
75740         * modules/quotearg (Depends-on): Likewise.
75741         * modules/regex (Depends-on): Likewise.
75742
75743 2006-12-19  Bruno Haible  <bruno@clisp.org>
75744
75745         * lib/strdup.h [C++]: Wrap definitions in extern "C".
75746         Suggested by Lorenzo Bettini <bettini@dsi.unifi.it>.
75747
75748 2006-12-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75749
75750         * modules/savewd (Depends-on): Fix dependency on fcntl.
75751
75752 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75753
75754         * m4/stdint.m4 (gl_STDINT_H): Set STDINT_H to empty if stdint.h
75755         conforms to C99, rather than relying on the user's environment
75756         setting of STDINT_H.
75757
75758 2006-12-18  Paul Eggert  <eggert@cs.ucla.edu>
75759         and Eric Blake  <ebb9@byu.net>
75760
75761         * lib/dirname.h (DOUBLE_SLASH_IS_DISTINCT_ROOT): Default to 0, not 1.
75762         This is more consistent with the other defines here.
75763         * m4/double-slash-root.m4 (gl_DOUBLE_SLASH_ROOT):
75764         Port to z/OS.  Problem reported by Paul Gilmartin.
75765         Change local vars to use gl_ prefix rather than ac_.
75766         Don't define DOUBLE_SLASH_IS_DISTINCT_ROOT to 0, for consistency
75767         with other defines.
75768         * modules/double-slash-root: New module.
75769         * modules/dirname (Files): Remove m4/double-slash-root.m4.
75770         (Depends-on): Add double-slash-root.
75771         * MODULES.html.sh (File system functions): Mention new module.
75772
75773 2006-12-14  Paul Eggert  <eggert@cs.ucla.edu>
75774
75775         * lib/yesno.c [!ENABLE_NLS]: Don't include getline.h.
75776         (yesno) [!ENABLE_NLS]: Don't invoke getline or rpmatch.
75777         This is for the benefit of gzip, which doesn't do i18n.
75778
75779 2006-12-12  Jim Meyering  <jim@meyering.net>
75780
75781         * m4/acl.m4 (gl_ACL_GET_FILE): Fix logic error.
75782         Reported by Andreas Schwab <schwab@suse.de>.
75783
75784 2006-12-12  Bruno Haible  <bruno@clisp.org>
75785
75786         Merge these changes.
75787         2006-09-05  Bruno Haible  <bruno@clisp.org>
75788         * lib/iconvme.c (iconv_string): No need to save and restore errno when
75789         iconv_alloc succeeded.
75790         (iconv_alloc): Don't assume that malloc() or realloc(), when failing,
75791         sets errno to ENOMEM. (malloc on GNU/kFreeBSD doesn't.) No need to
75792         test for " && dest " at the end - dest is always != NULL there. Call
75793         iconv with 4xNULL arguments initially, to reset the state. Call iconv
75794         with 2xNULL arguments, also to flush the state storage. Handle the
75795         IRIX iconv behaviour. Realloc the final result, to throw away unused
75796         memory.
75797
75798 2006-12-11  Paul Eggert  <eggert@cs.ucla.edu>
75799
75800         * m4/openat.m4 (gl_FUNC_OPENAT): Don't compile mkdirat
75801         and fchmodat unconditionally, since glibc 2.4 has them.
75802         Problem reported by Arkadiusz Miskiewicz.
75803
75804 2006-12-10  Bruno Haible  <bruno@clisp.org>
75805
75806         * gnulib-tool (func_import): Show the include files only for those
75807         modules that are copied and specified.
75808         Reported by Karl Berry.
75809
75810 2006-12-08  Jim Meyering  <jim@meyering.net>
75811
75812         * build-aux/announce-gen ($VERSION): Don't use of $Revision...$.
75813         Instead, use Emacs' time-stamp write hook.  Note that the time is UTC.
75814
75815         * build-aux/announce-gen: Add two new options, both optional:
75816         --bootstrap-tools=TOOL_LIST
75817               a comma-separated list of tools, e.g.,
75818               autoconf,automake,bison,gnulib
75819         --gnulib-snapshot-date=DATE
75820               if gnulib is in the bootstrap tool list,
75821               then report this as the snapshot date.
75822               If not specified, use the current date/time.
75823               If you specify a date here, be sure it's UTC.
75824
75825 2006-12-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
75826
75827         * tests/test-argp-2.sh: Fix test to match actual output.
75828         (func_compare): Fix sed script to be portable.
75829
75830 2006-12-05  Paul Eggert  <eggert@cs.ucla.edu>
75831
75832         * lib/utimens.c (futimens) [HAVE_BUGGY_NFS_TIME_STAMPS]: Add a
75833         workaround for this case.  It is not autoconfigured now; offhand
75834         it's hard to see how to autoconfigure it.
75835
75836 2006-12-03  Paul Eggert  <eggert@cs.ucla.edu>
75837
75838         * lib/mkdir-p.c (make_dir_parents): Fix race condition when making
75839         a directory that is about to be chowned.  Such a directory's
75840         initial file permissions should permit the owner only and this
75841         should not be changed until after the chown, since the group and
75842         other bits would be incorrect if they granted permission before
75843         the chown.
75844
75845         Fix porting problem for iswctype reported by Georg Schwarz in:
75846         http://lists.gnu.org/archive/html/bug-coreutils/2006-12/msg00017.html
75847         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Require HAVE_ISWCTYPE, too.
75848         * lib/regex_internal.h (RE_ENABLE_I18N): Likewise.
75849         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for iswctype, too.
75850         * m4/regex.m4 (gl_PREREQ_REGEX): Likewise.
75851
75852 2006-12-03  Jim Meyering  <jim@meyering.net>
75853
75854         * lib/fts.c (fts_load): Don't set sp->fts_dev here, since
75855         p->fts_statp may not yet be defined.
75856         (fts_read): Instead, set it in the caller, once p->fts_statp is
75857         sure to be defined, and corresponds to a top-level directory.
75858         This bug made du -x fail.  Here's the coreutils test case:
75859         http://git.sv.gnu.org/gitweb/?p=coreutils.git;a=commit;h=ba45154d8e9f
75860         Reported by Mike Frysinger.
75861
75862 2006-12-01  Jim Meyering  <jim@meyering.net>
75863
75864         * modules/savewd (Depends-on): Add fcntl_h to avoid self-test
75865         build failure due to missing definition of HAVE_WORKING_O_NOFOLLOW.
75866         Reported by Simon Josefsson.
75867
75868 2006-11-30  Jim Meyering  <jim@meyering.net>
75869
75870         * m4/warning.m4: Use the all-permissive copyright notice
75871         recommended by RMS (rather than LGPL).
75872         * m4/vararrays.m4: Likewise.
75873         * m4/flexmember.m4: Likewise.
75874
75875 2006-11-29  Bruno Haible  <bruno@clisp.org>
75876
75877         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75878         noinst_LIBRARIES. Augment noinst_LIBRARIES and noinst_LTLIBRARIES
75879         using +=.
75880         Reported by Simon Josefsson <simon@josefsson.org>.
75881
75882 2006-11-28  James Youngman <jay@gnu.org>
75883
75884         * README: Advise users that they might find the bug-gnulib@gnu.org
75885         and autotools-announce@gnu.org mailing lists useful.
75886
75887 2006-11-28  Bruno Haible  <bruno@clisp.org>
75888
75889         * m4/ptrdiff_max.m4: Remove file.
75890
75891 2006-11-21  Bruno Haible  <bruno@clisp.org>
75892
75893         * m4/eoverflow.m4 (gl_EOVERFLOW): Use AC_COMPUTE_INT instead of
75894         _AC_COMPUTE_INT.
75895         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75896         * m4/ptrdiff_max.m4 (gl_PTRDIFF_MAX): Use AC_COMPUTE_INT instead of
75897         _AC_COMPUTE_INT.
75898         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75899         * m4/size_max.m4 (gl_SIZE_MAX): Use AC_COMPUTE_INT instead of
75900         _AC_COMPUTE_INT.
75901         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75902
75903 2006-11-28  Jim Meyering  <jim@meyering.net>
75904
75905         * lib/regcomp.c (parse_branch): Rename local, exp->expr, to avoid
75906         warning from "gcc -Wshadow" about shadowing the builtin.
75907
75908 2006-11-27  Bruno Haible  <bruno@clisp.org>
75909
75910         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): Use AC_COMPUTE_INT instead of
75911         _AC_COMPUTE_INT.
75912         (AC_COMPUTE_INT): Add fallback definition for autoconf < 2.61.
75913
75914 2006-11-27  Bruno Haible  <bruno@clisp.org>
75915             Paul Eggert  <eggert@cs.ucla.edu>
75916
75917         * lib/regex.h (__restrict_arr): Redo logic of #if, for clarity.
75918
75919 2006-11-26  Bruno Haible  <bruno@clisp.org>
75920
75921         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
75922         noinst_LTLIBRARIES.
75923
75924 2006-11-27  Paul Eggert  <eggert@cs.ucla.edu>
75925             Bruno Haible  <bruno@clisp.org>
75926
75927         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to 0
75928         if compiling with "gcc -ansi".
75929
75930 2006-11-26  Paul Eggert  <eggert@cs.ucla.edu>
75931
75932         Fix some incompatibilities with gcc -ansi -pedantic.
75933         * lib/regex.h (__restrict_arr): Don't use the [restrict] syntax
75934         if compiling pedantically with GCC, unless it's C99 or later.
75935         Don't trust sys/cdefs.h's definition of __restrict_arr, either, as
75936         it mishandles gcc -ansi -pedantic as well.
75937         * lib/regex_internal.h (re_token_t): Don't use enum bitfields
75938         if gcc -pedantic.
75939         * lib/regexec.c (check_node_accept_bytes): Don't use auto
75940         initializers for struct if -pedantic, unless it's C99 or later.
75941
75942 2006-11-25  Nix  <nix@esperi.org.uk>  (tiny change)
75943
75944         * m4/fcntl_h.m4 (gl_FCNTL_H): Test the atime, not the mtime.
75945         Don't close an fd more than once. Identical atimes indicate
75946         success, not failure.
75947
75948 2006-11-22  Robinson Mittmann <bob@hoplon.com>  (tiny change)
75949
75950         * lib/sincosl.c (kernel_sinl): Fix typo in threshold.
75951
75952 2006-11-23  Jim Meyering  <jim@meyering.net>
75953
75954         * build-aux/announce-gen: New file.  From coreutils.
75955
75956 2006-11-22  Jim Meyering  <jim@meyering.net>
75957
75958         Work around a compile-time error from the HP-UX 11.00 /bin/cc.
75959         * lib/fts.c (enum Fts_stat): Give this previously-anon enum a name.
75960         (fts_read): Use a temporary to narrow the overused st_size member
75961         before using it in a switch statement.  Reported by Matthew Woehlke.
75962
75963         * m4/clock_time.m4 (gl_CLOCK_TIME): Quote AC_SUBST argument.
75964         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Likewise.
75965
75966 2006-11-20  Bruno Haible  <bruno@clisp.org>
75967
75968         * gettext.m4 (AM_GNU_GETTEXT): Revert 2005-07-28 patch: Use
75969         changequote instead of pairs of brackets.
75970         Reported by Andreas Schwab <schwab@suse.de>.
75971
75972 2006-11-21  Jim Meyering  <jim@meyering.net>
75973
75974         * lib/fts.c (fts_safe_changedir): Move a declaration "up",
75975         so as to remain compatible with older compilers.
75976         Patch from Michael Deutschmann.
75977
75978 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
75979
75980         * MODULES.html.sh (File system functions): Add openat.
75981
75982         * lib/openat.h (rpl_fstatat): New macro, if
75983         [HAVE_OPENAT && ! LSTAT_FOLLOWS_SLASHED_SYMLINK.
75984         (fstatat): Define to rpl_fstatat under the same conditions,
75985         unless COMPILING_FSTATAT.
75986         * m4/openat.m4 (gl_FUNC_OPENAT): Compile fstatat.c too, if fstatat
75987         seems to have the bug.
75988         * lib/fstatat.c: New file.
75989         * modules/openat (Files): Add it.
75990
75991 2006-11-20  Bruno Haible  <bruno@clisp.org>
75992
75993         * Makefile: New file.
75994
75995 2006-11-20  Jim Meyering  <jim@meyering.net>
75996
75997         The beginnings of syntax-related checks for gnulib.
75998         * lib/Makefile: New file.
75999         * lib/t-idcache: New script.  Ensure that the two halves of
76000         idcache.c stay in sync.
76001
76002         * lib/idcache.c: Adjust comments in user- and group- portions to
76003         be more accurate, and to be consistent with one another.
76004
76005 2006-11-20  Jim Meyering  <jim@meyering.net>
76006
76007         * lib/idcache.c: Restore most of the 2006-11-06 patch, so as to
76008         continue using the flexible array member (thus, this module performs
76009         half as many malloc calls), with the addition that...
76010         (getgroup, getuser): Consistently record a non-match via an empty
76011         "name" string, and map an empty string match to a NULL return value.
76012         * modules/idcache (Depends-on): Re-add flexmember.
76013
76014         * lib/idcache.c (getuser): Remove all uses of the register keyword.
76015         (getuidbyname, getgroup, getgidbyname): Likewise.
76016
76017         Use cleaner syntax: NULL rather than 0.
76018         * lib/idcache.c (getuidbyname, getgidbyname): Return NULL, not 0.
76019
76020 2006-11-20  Paul Eggert  <eggert@cs.ucla.edu>
76021
76022         * lib/idcache.c: Undo most recent patch, dated 2006-11-06.
76023         It mishandled the case where the group was missing.
76024         Problem reported by Greg Schafer.
76025         * modules/idcache: Likewise.
76026
76027 2006-11-18  Jim Meyering  <jim@meyering.net>
76028
76029         * check-module (%exempt_header): Add exception for some
76030         conditionally-included headers.
76031
76032         * modules/i-ring (Depends-on): Add verify.
76033         (License): Change to LGPL.
76034
76035 2006-11-16  Paul Eggert  <eggert@cs.ucla.edu>
76036
76037         * modules/getaddinfo (Depends-on): Remove inttostr; add snprintf.
76038         * lib/getaddrinfo.c: Include snprintf.h rather than intprops.h
76039         and inttostr.h.  Use snprintf rather than uinttostr, so that
76040         LGPLed code doesn't depend on GPLed.
76041
76042 2006-11-17  Paul Eggert  <eggert@cs.ucla.edu>
76043
76044         * modules/inline (License): Change from GPL to LGPL.
76045
76046 2006-11-17  Jim Meyering  <jim@meyering.net>
76047
76048         * modules/d-type (License): Switch to LGPL.
76049
76050 2006-11-15  Bruno Haible  <bruno@clisp.org>
76051
76052         * m4/alloca.m4 (gl_FUNC_ALLOCA): Fix the AC_CACHE_CHECK message.
76053
76054 2006-11-15  Eric Blake  <ebb9@byu.net>
76055
76056         * m4/allocsa.m4 (gl_ALLOCSA): Don't invoke macro already picked up by
76057         the module dependency.
76058
76059 2006-11-15  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
76060             Bruno Haible  <bruno@clisp.org>
76061
76062         * gnulib-tool (func_create_testdir): Add license consistency check.
76063
76064 2006-11-15  Eric Blake  <ebb9@byu.net>
76065
76066         * m4/alloca.m4 (gl_FUNC_ALLOCA): Use AC_CACHE_CHECK to avoid a
76067         random "(cached)" in configure output.
76068
76069 2006-11-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76070
76071         * m4/inttypes.m4 (gl_INTTYPES_H): Use AC_CACHE_CHECK so that the
76072         test for conforming inttypes.h is both announced and cached.
76073
76074         * MODULES.html.sh (seen_modules, seen_files): New variables.
76075         (func_module): Rewrite to use a few less gnulib-tool and sed
76076         invocations.  Avoid a couple of quadratic algorithms for ...
76077         (missed_modules, missed_files): ... these, with ...
76078         (func_append, func_tmpdir): ... these new functions, from
76079         gnulib-tool.  Analogously, install traps for cleanup.
76080
76081         * tests/test-gc.c (main): Remove unused variables.
76082         * tests/test-read-file.c: Include stdlib.h, for 'free'.
76083
76084 2006-11-14  Paul Eggert  <eggert@cs.ucla.edu>
76085
76086         * modules/inttostr (License): Change to LGPL.
76087
76088 2006-11-14  Eric Blake  <ebb9@byu.net>
76089
76090         * modules/tempname (License): Change to LGPL.
76091
76092 2006-11-14  Eric Blake  <ebb9@byu.net>
76093
76094         * doc/functions.texi (Function Portability): *printf functions on
76095         Cygwin now understand all POSIX size specifiers.
76096
76097 2006-11-14  Bruno Haible  <bruno@clisp.org>
76098
76099         * modules/c-ctype (License): Change to LGPL.
76100
76101 2006-11-12  Bruno Haible  <bruno@clisp.org>
76102
76103         * m4/lib-link.m4 (AC_LIB_LINKFLAGS, AC_LIB_HAVE_LINKFLAGS,
76104         AC_LIB_LINKFLAGS_BODY): Also set a LIB${NAME}_PREFIX variable. Needed
76105         for GNOME libraries, for which the include files are installed in
76106         subdirectories of $prefix/include.
76107
76108 2006-11-12  Bruno Haible  <bruno@clisp.org>
76109
76110         * m4/lib-link.m4: Require at least autoconf-2.54.
76111         (AC_LIB_LINKFLAGS_BODY) [autoconf < 2.61]: Turn dots into the library
76112         name to underscores for the --with option.
76113
76114 2006-11-13  Bruno Haible  <bruno@clisp.org>
76115
76116         * gnulib-tool (func_create_testdir): Set gl_source_base correctly in
76117         the tests directory.
76118         Reported by Ralf Wildenhues.
76119
76120 2006-11-13  Bruno Haible  <bruno@clisp.org>
76121
76122         * gnulib-tool (func_emit_initmacro_start): Also override AC_LIBSOURCES.
76123         (func_emit_initmacro_end): Undo the override here.
76124         (func_emit_initmacro_done): Emit a definition for gl_LIBSOURCES.
76125         Works around the famous automake error in coreutils.
76126
76127 2006-11-13  Eric Blake  <ebb9@byu.net>
76128
76129         * lib/gl_anytree_oset.h (gl_tree_search_atleast): Return the
76130         element, not its node.
76131
76132 2006-11-12  Bruno Haible  <bruno@clisp.org>
76133
76134         * gnulib-tool (func_emit_lib_Makefile_am): Replace occurrences of
76135         '$(top_srcdir)/build-aux/', taking into account the real auxdir.
76136
76137 2006-11-12  Bruno Haible  <bruno@clisp.org>
76138
76139         * gnulib-tool: New option --local-symlink.
76140         (func_usage): Document it.
76141         (lsymbolic): New variable.
76142         (func_import, func_create_testdir): If --symlink was not specified,
76143         test whether --local-symlink was specified and the file comes from
76144         the local_gnulib_dir.
76145
76146 2006-11-12  Bruno Haible  <bruno@clisp.org>
76147
76148         * gnulib-tool (func_ln): New function.
76149         (func_ln_if_changed, func_create_testdir): Use it instead of "ln -s".
76150
76151 2006-11-12  Bruno Haible  <bruno@clisp.org>
76152
76153         Finish support for source files in subdirectories.
76154         * gnulib-tool (func_emit_lib_Makefile_am): If some of the source files
76155         are in subdirectories, set uses_subdirs and add 'subdir-objects' to
76156         AUTOMAKE_OPTIONS.
76157         (func_import, func_create_testdir): Invoke AM_PROG_CC_C_O in this case.
76158
76159 2006-11-12  Bruno Haible  <bruno@clisp.org>
76160
76161         * gnulib-tool (func_get_automake_snippet): Synthesize also an
76162         EXTRA_lib_SOURCES augmentation.
76163         (func_emit_lib_Makefile_am): Initialize EXTRA_lib..._SOURCES to empty.
76164
76165 2006-11-12  Jim Meyering  <jim@meyering.net>
76166
76167         Make fts (in FTS_CWDFD mode) more efficient by caching a few open
76168         file descriptors.  This also averts a failure on systems with
76169         native openat support when a traversed directory lacks "x" access.
76170         * lib/fts_.h: Include "i-ring.h"
76171         (struct FTS) [fts_fd_ring]: New member.
76172         * lib/fts.c (RESTORE_INITIAL_CWD): Also call fd_ring_clear.
76173         (FCHDIR): Add parentheses.
76174         (fd_ring_check, fd_ring_print) [!FTS_DEBUG]: Define away.
76175         (cwd_advance_fd): Add a 3rd parameter.  Adjust all callers.
76176         When descending, rather than simply closing the previous
76177         fts_cwd_fd value, push that file descriptor onto the ring.
76178         (same_fd, fd_ring_print, fd_ring_check) [FTS_DEBUG]: New functions.
76179         (fts_open): Initialize the new fd_ring member.
76180         (fts_close): Clear the ring.
76181         (fts_safe_changedir): When possible, use our new fd_ring to skip
76182         the diropen and fstat and dev/ino comparison that would normally
76183         accompany a virtual `chdir ("..")'.
76184
76185         * modules/fts (Depends-on): Add i-ring.
76186         * modules/i-ring: New module.
76187         * lib/i-ring.c, lib/i-ring.h, lib/i-ring-test.c: New files.
76188         * m4/i-ring.m4: New file.
76189
76190 2006-11-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76191
76192         * gnulib-tool (func_create_testdir): Fix replacement of
76193         `build-aux' in configure.ac.  Run autotools in gltests
76194         subdirectory.
76195         (func_create_testdir, func_create_megatestdir, test): There is
76196         no need for '--force' in most autotool invocations in a new
76197         tree.  Actually fail the whole test if any of the tools, or the
76198         configure or make stages fail.
76199
76200         Sync from Automake.
76201         * build-aux/gnupload: Revert last change.  Add pointer to upload
76202         instructions of the GNU Maintenance Instructions.
76203         Suggestion by Karl Berry.
76204
76205 2006-11-10  Jim Meyering  <jim@meyering.net>
76206
76207         * lib/fts.c [FTS_DEBUG]: Don't try to print a pointer via %s.
76208
76209 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
76210
76211         * lib/gettext.h (dgettext, dcgettext, ngettext) [! ENABLE_NLS]:
76212         (dngettext, dcngettext, bindtextdomain) [! ENABLE_NLS]:
76213         (bind_textdomain_codeset) [! ENABLE_NLS]:
76214         Evaluate all the arguments.  That way, callers get compatible behavior
76215         if the arguments have side effects.  Also, it avoids some GCC
76216         diagnostics in some cases; Joel E. Denny reported problems when Bison
76217         was configured with --enable-gcc-warnigs.
76218
76219 2006-11-10  Jim Meyering  <jim@meyering.net>
76220
76221         * m4/inline.m4 (gl_INLINE): Check with the compiler, not cpp, so that
76222         relevant options in CFLAGS (like -O, -fno-inline) are taken into
76223         account.
76224
76225 2006-11-10  Jim Meyering  <jim@meyering.net>
76226
76227         * modules/inline: New file/module.
76228         * modules/xalloc (Files): Remove m4/inline.m4.
76229         (Depends-on): Add inline, instead.
76230         * modules/oset: Likewise.
76231         * modules/list: Likewise.
76232
76233 2006-11-09  Paul Eggert  <eggert@cs.ucla.edu>
76234
76235         * lib/stdint_.h (uintmax_t): Fix typo: int64_t -> uint64_t.
76236         Problem reported by Matthew Woehlke.
76237
76238 2006-11-09  Bruno Haible  <bruno@clisp.org>
76239
76240         * lib/tempname.c (gen_tempname): Remove variant that invokes
76241         __gen_tempname.
76242         * m4/tempname.m4 (gl_FUNC_GEN_TEMPNAME): Don't test for
76243         __gen_tempname.
76244
76245 2006-11-08  Bruno Haible  <bruno@clisp.org>
76246
76247         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Set ac_cv_type_long_long_int
76248         to 'yes' instead of 'cross-compiling'.
76249
76250 2006-11-08  Paul Eggert  <eggert@cs.ucla.edu>
76251
76252         * lib/quotearg.h (quotearg_free): New decl.
76253         * lib/quotearg.c (quotearg_free): New function.
76254         (slot0, nslots, slotvec0, slotvec):
76255         Now file-scope so that quotearg_free can get at them.
76256
76257 2006-11-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76258
76259         Sync from Automake.
76260         * build-aux/gnupload: Add missing 'gnu' to example URL.
76261         Report by Karl Berry.
76262
76263 2006-11-08  Bruno Haible  <bruno@clisp.org>
76264
76265         * m4/inline.m4 (gl_INLINE): Also test __NO_INLINE__.
76266         Suggested by Paul Eggert.
76267
76268 2006-11-08  Jim Meyering  <jim@meyering.net>
76269
76270         * lib/fts.c [!_LGPL_PACKAGE]: Don't include fcntl--.h twice.
76271         It's already included if !_LIBC.
76272         (fts_safe_changedir): Add a comment.
76273
76274 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
76275
76276         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Detect bug in
76277         Tandem NonStop Kernel (OSS) cc -O circa 2004, reported by
76278         Matthew Woehlke.
76279
76280         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Move
76281         definitions up, to avoid colliding with change below.
76282         (static_inline) [HAVE_INLINE]: New macro.
76283         (xnmalloc, xnrealloc, x2nrealloc, xcharalloc):
76284         Provide extern decls when !HAVE_INLINE.  Do not define unless
76285         static_inline is defined, either by us or by xmalloc.c.  Use
76286         static_inline rather than static inline.
76287         (XCALLOC): Optimize sizeof(T) = 1 case.
76288         * lib/xmalloc.c (static_inline) [!HAVE_INLINE]: New macro.
76289
76290 2006-11-07  Bruno Haible  <bruno@clisp.org>
76291
76292         * lib/xalloc.h (XNMALLOC): Restore optimization of sizeof(T) = 1 case.
76293         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require gl_INLINE instead of
76294         AC_C_INLINE.
76295         * modules/xalloc (Files): Add m4/inline.m4.
76296
76297 2006-11-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76298
76299         * README: Fix typo.
76300         * doc/gnulib.texi (Miscellaneous Notes): Likewise, rename...
76301         (Miscellanous Notes): ...from this.
76302
76303 2006-11-07  Paul Eggert  <eggert@cs.ucla.edu>
76304
76305         * m4/flexmember.m4 (AC_C_FLEXIBLE_ARRAY_MEMBER):
76306         Mention that offsetof should be used instead of sizeof.
76307         From Bruno Haible.
76308
76309 2006-11-07  Bruno Haible  <bruno@clisp.org>
76310
76311         * lib/w32spawn.h (prepare_spawn): Use XNMALLOC instead of xmalloc.
76312
76313 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76314
76315         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76316         * lib/gl_anyavltree_list2.h (create_subtree_with_contents):
76317         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
76318         (gl_tree_add_before, gl_tree_add_after):
76319         Use XMALLOC instead of xmalloc, and XCALLOC instead of xzalloc.
76320         * lib/gl_anyhash_list2.h (hash_resize): Likewise.
76321         * lib/gl_anylinked_list2.h (gl_linked_create_empty, gl_linked_create):
76322         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before):
76323         (gl_linked_add_after, gl_linked_add_at): Likewise.
76324         * lib/gl_anyrbtree_list2.h (create_subtree_with_contents):
76325         (gl_tree_create, gl_tree_add_first, gl_tree_add_last):
76326         (gl_tree_add_before, gl_tree_add_after): Likewise.
76327         * lib/gl_anytree_list2.h (gl_tree_create_empty): Likewise.
76328         * lib/gl_anytree_oset.h (gl_tree_create_empty): Likewise.
76329         * lib/gl_anytreehash_list1.h (add_to_bucket): Likewise.
76330
76331 2006-11-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76332
76333         * lib/gl_oset.h: Use C comment style, not C++ comment style.
76334
76335 2006-11-06  Bruno Haible  <bruno@clisp.org>
76336
76337         * m4/inline.m4: New file.
76338         * m4/gl_list.m4 (gl_LIST): Require gl_INLINE.
76339         * modules/list (Files): Add m4/inline.m4.
76340         * modules/oset (Files): Likewise.
76341
76342 2006-11-06  Paul Eggert  <eggert@cs.ucla.edu>
76343
76344         * lib/idcache.c: Include <stddef.h>, for offsetof.
76345         (struct userid.name): Change from char * to a flexible array member.
76346         All uses changed.
76347         * modules/idcache (Depends-on): Add flexmember.
76348
76349         * MODULES.html.sh (Core language properties): New module flexmember.
76350         * modules/flexmember, m4/flexmember.m4: New files.
76351
76352         * lib/xalloc.h (xnmalloc, xnrealloc, x2nrealloc): Now static
76353         inline functions that are identical with the old xnmalloc_inline,
76354         xnrealloc_inline, x2nrealloc_inline of lib/xmalloc.c.  This is so
76355         that we can avoid some unnecessary integer multiplications and
76356         divisions in the common case where the element size is known at
76357         compile time.
76358         (XNMALLOC) [HAVE_INLINE]: Remove special case, which is no longer
76359         needed.
76360         (xnboundedmalloc): Remove.
76361         (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): Use lower-case letters for
76362         arguments, for consistency with rest of this header.
76363         (xcharalloc): Rewrite using XNMALLOC.
76364         * lib/xmalloc.c (xnmalloc_inline, xnmalloc, xnrealloc_inline):
76365         (xnrealloc, x2nrealloc_inline, x2nrealloc): Remove.  The *_inline
76366         versions have been moved to lib/xalloc.h and renamed to be the
76367         non-*_inline versions.
76368         (xmalloc, xrealloc): Implement without reference to the xnmalloc
76369         and xnrealloc functions, since those functions are now inline and
76370         now call us.
76371         (x2realloc): Invoke x2realloc, not x2realloc_inline, to accommodate
76372         renaming described above.
76373         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Remove AC_C_INLINE since
76374         xmalloc.c no longer uses inline directly.  gl_PREREQ_XALLOC now
76375         captures the dependency in AC_C_INLINE.
76376
76377         New module canonicalize-lgpl, proposed by Charles Wilson in
76378         <http://lists.gnu.org/archive/html/bug-gnulib/2006-11/msg00020.html>
76379         with a few small changes afterwards.
76380         * MODULES.html.sh (File system functions): New module
76381         canonicalize-lgpl.
76382         * lib/canonicalize.h: Add comments for canonicalize_filename_mode
76383         and canonicalize_file_name.
76384         * lib/canonicalize-lgpl.c, m4/canonicalize-lgpl.m4:
76385         * modules/canonicalize-lgpl: New files.
76386
76387 2006-11-05  Bruno Haible  <bruno@clisp.org>
76388
76389         * gnulib-tool (func_import, func_create_testdir): Create directories
76390         also for files in subdirectories of lib/.
76391
76392 2006-11-05  Bruno Haible  <bruno@clisp.org>
76393
76394         * lib/gl_array_list.c (gl_array_iterator_next): Make pointer decrement
76395         ANSI C compliant.
76396
76397 2006-11-03  Bruno Haible  <bruno@clisp.org>
76398
76399         Simplify xmalloc expressions. Add overflow check in xmalloc arguments.
76400         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Require AC_C_INLINE.
76401         * lib/xalloc.h (XMALLOC, XNMALLOC, XZALLOC, XCALLOC): New macros.
76402         (xnboundedmalloc): New inline function.
76403         * lib/classpath.c (new_classpath): Use XNMALLOC instead of xmalloc.
76404         * lib/clean-temp.c (create_temp_dir): Use XNMALLOC, XMALLOC instead of
76405         xmalloc.
76406         * lib/concatpath.c (concatenated_pathname): Use XNMALLOC instead of
76407         xmalloc.
76408         * lib/fatal-signal.c (at_fatal_signal): Use XNMALLOC instead of xmalloc.
76409         * lib/findprog.c (find_in_path): Use XNMALLOC instead of xmalloc.
76410         * lib/gl_array_list.c (gl_array_create_empty): Use XMALLOC instead of
76411         xmalloc.
76412         (gl_array_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76413         * lib/gl_array_oset.c (gl_array_create_empty): Use XNMALLOC instead of
76414         xmalloc.
76415         * lib/gl_avltree_oset.c (gl_tree_add_first, gl_tree_add_before,
76416         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76417         * lib/gl_carray_list.c (gl_carray_create_empty): Use XMALLOC instead of
76418         xmalloc.
76419         (gl_carray_create): Use XNMALLOC, XMALLOC instead of xmalloc.
76420         * lib/gl_rbtree_oset.c (gl_tree_add_first, gl_tree_add_before,
76421         gl_tree_add_after): Use XMALLOC instead of xmalloc.
76422         * lib/gl_sublist.c (gl_sublist_create): Use XMALLOC instead of xmalloc.
76423         * lib/pagealign_alloc.c (new_memnode): Use XMALLOC instead of xmalloc.
76424         * lib/sh-quote.c (shell_quote_argv): Use XNMALLOC instead of xmalloc.
76425         * lib/xvasprintf.c (xstrcat): Use XNMALLOC instead of xmalloc.
76426
76427 2006-11-03  Bruno Haible  <bruno@clisp.org>
76428
76429         * lib/c-ctype.h [C++]: Define functions without name mangling.
76430         * lib/fwriteerror.h [C++]: Likewise.
76431         * lib/gcd.h [C++]: Likewise.
76432         * lib/linebreak.h [C++]: Likewise.
76433
76434 2006-11-03  Paul Eggert  <eggert@cs.ucla.edu>
76435
76436         * lib/canonicalize.h: (canonicalize_mode_t, CAN_EXISTING):
76437         (CAN_ALL_BUT_LAST, CAN_MISSING, canonicalize_filename_mode):
76438         Define only if PROVIDE_CANONICALIZE_FILENAME_MODE is defined.
76439         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
76440         Check for functions and headers just once.
76441         Check for declaration of canonicalize_file_name.
76442         Define PROVIDE_CANONICALIZE_FILENAME_MODE.
76443
76444 2006-11-02  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76445
76446         * gnulib-tool (func_import): Fix typo in actioncmd.
76447
76448 2006-11-02  Bruno Haible  <bruno@clisp.org>
76449
76450         * gnulib-tool (func_get_automake_snippet): Interpret a backslash-
76451         newline sequence in the Makefile.am snippet as a space, like "make"
76452         does.
76453         Reported by Roger Persson <perrog@gmail.com>.
76454
76455 2006-11-01  Bruno Haible  <bruno@clisp.org>
76456
76457         * m4/strcase.m4 (gl_FUNC_STRNCASECMP): Check whether strncasecmp is
76458         already declared in <string.h>.
76459         * lib/strcase.h (strncasecmp): Don't declare it if yes.
76460
76461 2006-11-01  Bruno Haible  <bruno@clisp.org>
76462
76463         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Don't define strcasecmp here.
76464         * lib/strcase.h: Include <string.h>.
76465         (strcasecmp): Define to rpl_strcasecmp here.
76466
76467 2006-11-01  Bruno Haible  <bruno@clisp.org>
76468
76469         * lib/printf-parse.c (PRINTF_PARSE): Cast malloc/realloc results.
76470
76471 2006-11-01  Eric Blake  <ebb9@byu.net>
76472
76473         * lib/mkstemp-safer.c (mkstemp_safer): Allow C++ compilation.
76474
76475         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Allow C++ configuration.
76476
76477 2006-10-29  Bruno Haible  <bruno@clisp.org>
76478
76479         Make it compile in C++ mode.
76480         * lib/full-write.c (full_rw): Add a cast.
76481
76482 2006-11-01  Bruno Haible  <bruno@clisp.org>
76483
76484         * gnulib-tool (func_get_automake_snippet): Change sed_combine_lines to
76485         be POSIX compliant.
76486         Reported by Roger Persson <perrog@gmail.com>.
76487
76488 2006-11-01  Eric Blake  <ebb9@byu.net>
76489
76490         * lib/getopt_.h: Fix comments.
76491
76492 2006-10-31  Eric Blake  <ebb9@byu.net>
76493
76494         * modules/tmpdir (Depends-on): Add sys_stat.
76495         * modules/mkdtemp (Depends-on): Add tempname, drop unistd.
76496         * lib/mkdtemp.c (gen_tempname): Remove; tempname covers this.
76497         * lib/tmpdir.c (S_ISDIR): Simplify, thanks to sys_stat.
76498         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Simplify, thanks to
76499         tempname.
76500
76501 2006-10-31  Paul Eggert  <eggert@cs.ucla.edu>
76502
76503         Avoid some C++ diagnostics reported by Bruno Haible.
76504         * lib/quotearg.c (clone_quoting_options): Use xmemdup rather than
76505         xmalloc.
76506         (quotearg_alloc): Use xcharalloc rather than xmalloc.
76507         (struct slotvec): Move to top level.
76508         (quotearg_n_options): Rewrite to avoid xmalloc.
76509         * lib/xalloc.h (xcharalloc): New function.
76510         * (xrealloc, xnrealloc, x2realloc, x2nrealloc, xmemdup):
76511         [defined __cplusplus]: Add function template that provides result
76512         type propagation.  This part of the change is from Bruno Haible.
76513
76514 2006-10-29  Bruno Haible  <bruno@clisp.org>
76515
76516         Make it compile in C++ mode.
76517         * lib/striconv.c (mem_cd_iconv): Cast malloc/realloc result.
76518         * lib/strnlen1.c (strnlen1): Cast memchr result.
76519         * lib/mbchar.h (mb_copy): Rename arguments to 'new_mbc', 'old_mbc'.
76520         * lib/clean-temp.c (string_equals, string_hash): Add casts.
76521         (create_temp_dir): Rename local variable 'template'.
76522         (compile_csharp_using_sscli): Add cast.
76523         * lib/fatal-signal.c (at_fatal_signal): Cast xmalloc result.
76524         * lib/findprog.c (find_in_path): Likewise.
76525         * lib/linebreak.c (mbs_width_linebreaks): Cast malloc result.
76526         * lib/wait-process.c (register_slave_subprocess): Likewise.
76527
76528 2006-10-22  Bruno Haible  <bruno@clisp.org>
76529
76530         * modules/tsearch: New file.
76531         * lib/tsearch.h: New file.
76532         * lib/tsearch.c: New file, from glibc-2.5 with small modifications.
76533         * m4/tsearch.m4: New file.
76534         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add tsearch.
76535
76536 2006-10-29  Eric Blake  <ebb9@byu.net>
76537
76538         * lib/arcfour.c: Assume config.h.
76539         * lib/arctwo.c: Likewise.
76540         * lib/base64.c: Likewise.
76541         * lib/check-version.c: Likewise.
76542         * lib/crc.c: Likewise.
76543         * lib/des.c: Likewise.
76544         * lib/gc-gnulib.c: Likewise.
76545         * lib/gc-libgcrypt.c: Likewise.
76546         * lib/gc-pbkdf2-sha1.c: Likewise.
76547         * lib/getaddrinfo.c: Likewise.
76548         * lib/getdelim.c: Likewise.
76549         * lib/getline.c: Likewise.
76550         * lib/hmac-md5.c: Likewise.
76551         * lib/hmac-sha1.c: Likewise.
76552         * lib/iconvme.c: Likewise.
76553         * lib/md2.c: Likewise.
76554         * lib/md4.c: Likewise.
76555         * lib/memxor.c: Likewise.
76556         * lib/read-file.c: Likewise.
76557         * lib/readline.c: Likewise.
76558         * lib/rijndael-alg-fst.c: Likewise.
76559         * lib/rijndael-api-fst.c: Likewise.
76560         * lib/xgetdomainname.c: Likewise.
76561
76562 2006-10-28  Eric Blake  <ebb9@byu.net>
76563
76564         * lib/xstrndup.c: Assume config.h.
76565
76566 2006-10-27  Paul Eggert  <eggert@cs.ucla.edu>
76567
76568         Move stat.h-substitute stuff from lib/stat-macros.h to lib/stat_.h.
76569         stat-macros.h is now for our own macros, whereas stat_h is for
76570         macros in the <sys/stat.h> name space.
76571         * lib/stat-macros.h: Remove copyright notice, as this file is now tiny.
76572         (STAT_MACROS_H): Remove.
76573         (S_IFMT, S_ISBLK, S_ISCHR, S_ISDIR, S_ISFIFO, S_ISLNK, S_ISNAM):
76574         (S_ISMPB, S_ISMPC, S_ISNWK, S_ISREG, S_ISSOCK, S_ISDOOR, S_ISPORT):
76575         (S_TYPEISMQ, S_TYPEISTMO, S_TYPEISSEM, S_TYPEISSHM, S_ISCTG, S_ISOFD):
76576         (S_ISOFL, S_ISWHT, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IRGRP):
76577         (S_IROTH, S_IWUSR, S_IWGRP, S_IWOTH, S_IXUSR, S_IXGRP, S_IXOTH):
76578         (S_IRWXU, S_IRWXG, S_IRWXO, S_IXUGO, S_IRWXUGO):
76579         Move these macros to ...
76580         * lib/stat_.h: here.  Don't include stat-macros.h.
76581         * lib/canonicalize.c: Don't include stat-macros.h.
76582         * lib/chown.c: Likewise.
76583         * lib/euidaccess.c: Likewise.
76584         * lib/file-type.c: Likewise.
76585         * lib/filemode.c: Likewise.
76586         * lib/glob.c: Likewise.
76587         * lib/isapipe.c: Likewise.
76588         * lib/lchown.c: Likewise.
76589         * lib/lstat.c: Likewise.
76590         * lib/mkdir-p.c: Likewise.
76591         * lib/rmdir.c: Likewise.
76592         * m4/lchown.m4 (gl_FUNC_LCHOWN): Don't require gl_STAT_MACROS.
76593         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Don't check for io.h
76594         unless mkdir isn't declared, to speed up 'configure'.
76595         Always create sys/stat.h, since it's unlikely any real sys/stat.h
76596         would define all the S_* symbols.
76597         * modules/canonicalize (Depends-on):
76598         Depend on sys_stat, not stat-macros.
76599         * modules/chown: Likewise.
76600         * modules/euidaccess: Likewise.
76601         * modules/filemode: Likewise.
76602         * modules/file-type: Likewise.
76603         * modules/glob: Likewise.
76604         * modules/isapipe: Likewise.
76605         * modules/lchown: Likewise.
76606         * modules/lstat: Likewise.
76607         * modules/mkancesdirs: Likewise.
76608         * modules/rmdir: Likewise.
76609         * modules/mkdir-p (Depends-on): Also depend on sys_stat.
76610         * modules/modechange: Likewise.
76611         * modules/stat-macros (Files): Remove m4/stat-macros.m4.
76612         (configure.ac): Remove gl_STAT_MACROS.
76613         * modules/sys_stat (Depends-on): Remove stat-macros.
76614
76615 2006-10-27  Bruno Haible  <bruno@clisp.org>
76616
76617         * m4/signed.m4: Remove file.
76618         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS_: Remove bh_C_SIGNED
76619         invocation.
76620         * modules/vasnprintf (Files): Remove m4/signed.m4.
76621
76622 2006-10-27  Bruno Haible  <bruno@clisp.org>
76623
76624         Update to GNU gettext 0.16.
76625         * modules/gettext (Files): Add m4/intl.m4, m4/intldir.m4. Remove
76626         m4/inttypes-h.m4, m4/signed.m4.
76627         * m4/gettext.m4: Update to GNU gettext 0.16.
76628         * m4/intl.m4: New file, from GNU gettext.
76629         * m4/intldir.m4: New file, from GNU gettext.
76630         * config/srclist.txt: Update
76631
76632 2006-10-27  Eric Blake  <ebb9@byu.net>
76633
76634         * MODULES.html.sh: Document tempname.
76635         * modules/mkstemp (Depends-on): Add tempname, and drop transitive
76636         dependencies.
76637         (Files): Move lib/tempname.c...
76638         * modules/tempname: ...to this new module.
76639         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Remove tempname checks.
76640         (gl_PREREQ_TEMPNAME): Move...
76641         * m4/tempname.m4: ...to this new file.
76642         * lib/mkstemp.c (includes) [!_LIBC]: Use tempname.h.
76643         * modules/sys_stat (Depends-on): Add stat-macros.
76644         * lib/stat_.h (includes): Pick up stat macros.
76645         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Replace <sys/stat.h>
76646         if stat macros are broken.
76647         * lib/tempname.c (includes): No need to include "stat-macros.h".
76648         (__gen_tempname) [!_LIBC]: Expose as gen_tempname.
76649         (direxists, __path_search) [!_LIBC]: Don't compile these in
76650         gnulib; the tmpdir module covers that.
76651         * lib/tempname.h: New file.
76652
76653 2006-10-26  Paul Eggert  <eggert@cs.ucla.edu>
76654
76655         * COPYING: Explain how gnulib-tool converts licence headers.
76656         Almost all wording by Eric Blake.
76657
76658 2006-10-25  Paul Eggert  <eggert@cs.ucla.edu>
76659
76660         * lib/mbchar.h (is_basic_table): Make read-only.
76661         * lib/mbchar.c (is_basic_table): Likewise.
76662         Reported by John Darrington.
76663
76664 2006-10-25  Bruno Haible  <bruno@clisp.org>
76665
76666         * lib/progname.h (set_program_name): Undefine before defining.
76667
76668 2006-10-25  Bruno Haible  <bruno@clisp.org>
76669
76670         * lib/gettext.h (_LIBGETTEXT_HAVE_VARIABLE_SIZE_ARRAYS): Define to
76671         false for non-gcc C++ compilers.
76672         Reported by Nelson H. F. Beebe <beebe@math.utah.edu>.
76673
76674 2006-10-24  Bruno Haible  <bruno@clisp.org>
76675
76676         * lib/striconv.c (mem_cd_iconv, str_cd_iconv): Treat all non-GNU
76677         iconv implementations like Irix iconv.
76678
76679 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76680
76681         * modules/vararrays: New file.
76682         * m4/vararrays.m4: New file, taken from diffutils.
76683         * MODULES.html.sh: New module vararrays.
76684
76685 2006-10-24  Karl Berry  <karl@gnu.org>
76686
76687         * doc/gnulib-intro.texi: --- instead of --; non-naive naive.
76688         Don't call GNU Unix.
76689
76690 2006-10-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76691
76692         * users.txt: Add Libtool.
76693
76694         Sync from Libtool:
76695
76696         2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76697
76698         * lib/argz.c: Remove check for HAVE_CONFIG_H, to conform
76699         to gnulib's policy of including config.h unconditionally.
76700
76701 2006-10-24  Bruno Haible  <bruno@clisp.org>
76702
76703         * modules/wcwidth (Files): Add m4/wint_t.m4.
76704         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Require gt_TYPE_WINT_T.
76705         * lib/wcwidth.h (iswprint): Use 'int' if 'wint_t' is not defined.
76706
76707 2006-10-24  Paul Eggert  <eggert@cs.ucla.edu>
76708
76709         * lib/getdate.y (yyerror): Make the arguments pointer-to-const,
76710         to pacify GCC with some -W flags enabled.  Problem reported by
76711         Bruno Haible.
76712
76713 2006-10-24  Jim Meyering  <jim@meyering.net>
76714
76715         * MODULES.html.sh: Remove uinttostr.  It's not a module.
76716         Reported by Karl Berry.
76717
76718 2006-10-23  Bruno Haible  <bruno@clisp.org>
76719
76720         * lib/fts.c (fts_build): Move variable declaration, for C89 compliance.
76721
76722 2006-10-24  Bruno Haible  <bruno@clisp.org>
76723
76724         * lib/gl_list.h: Use C comment style, not C++ comment style.
76725
76726 2006-10-23  Eric Blake  <ebb9@byu.net>
76727
76728         * lib/getaddrinfo.c (includes): Add missing include.
76729
76730 2006-10-23  Bruno Haible  <bruno@clisp.org>
76731             Paul Eggert  <eggert@cs.ucla.edu>
76732
76733         Ability to rename obstack_free.
76734         * lib/obstack.h (__obstack_free): New macro. Declare instead of
76735         obstack_free.
76736         (obstack_free): Invoke the __obstack_free macro.
76737         * lib/obstack.c (obstack_free): Use __obstack_free macro.
76738
76739 2006-10-23  Bruno Haible  <bruno@clisp.org>
76740             Paul Eggert  <eggert@cs.ucla.edu>
76741
76742         * lib/argp.h (argp_parse, __argp_parse): Comment out the identifiers
76743         __argc, __argv from the declaration. (They are defined as macros on
76744         mingw.)
76745
76746 2006-10-22  Bruno Haible  <bruno@clisp.org>
76747
76748         * doc/gnulib-intro.texi: New file.
76749         * doc/gnulib.texi: Include it.
76750
76751 2006-10-21  Bruno Haible  <bruno@clisp.org>
76752
76753         * doc/gnulib.texi: Split the chapter "Gnulib" into 3 chapters
76754         "Introduction", "Miscellanous Notes", "Particular Modules".
76755
76756 2006-10-21  Bruno Haible  <bruno@clisp.org>
76757
76758         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
76759         Change mostlyclean-local rule to avoid sh syntax error from bash
76760         versions 2.00..2.05 when $(MOSTLYCLEANDIRS) is empty.
76761
76762 2006-10-23  Jim Meyering  <jim@meyering.net>
76763
76764         * lib/getaddrinfo.c (getnameinfo): Use new lightweight uinttostr,
76765         in place of snprintf.
76766
76767         * modules/inttostr (Files): Add lib/uinttostr.c.
76768         * lib/uinttostr.c (inttostr): New file/function.
76769         * lib/inttostr.h (uinttostr): Declare.
76770         * m4/inttostr.m4: Add AC_LIBOBJ([uinttostr]).
76771         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
76772         Add uinttostr.
76773         * modules/getaddrinfo (Depends-on): Remove snprintf.  Add inttostr.
76774
76775 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76776
76777         * lib/canonicalize.c (ELOOP): Define if not already defined.
76778         Problem reported by Bruno Haible in
76779         <http://lists.gnu.org/archive/html/bug-gnulib/2006-10/msg00282.html>.
76780
76781 2006-10-21  Paul Eggert  <eggert@cs.ucla.edu>
76782
76783         * lib/stdint_.h [defined _AIX]: Don't include <sys/types.h>.
76784         Problem reported by Perry Smith and Ville Laurikari.
76785
76786         * lib/getndelim2.c (SSIZE_MAX): Use same defn that getdelim.c
76787         uses.
76788
76789 2006-10-19  Bruno Haible  <bruno@clisp.org>
76790
76791         * lib/getndelim2.c (SSIZE_MAX): Provide fallback definition. Needed
76792         for mingw.
76793
76794 2006-10-19  Bruno Haible  <bruno@clisp.org>
76795
76796         * lib/openat-priv.h (EOPNOTSUPP): Provide fallback definition.
76797         Needed for mingw.
76798
76799 2006-10-19  Bruno Haible  <bruno@clisp.org>
76800
76801         * m4/size_max.m4 (gl_SIZE_MAX): Cache the result.
76802
76803 2006-10-19  Bruno Haible  <bruno@clisp.org>
76804
76805         * m4/allocsa.m4 (gl_ALLOCSA): Invoke gl_FUNC_ALLOCA, don't AC_REQUIRE
76806         it.
76807
76808 2006-10-19  Bruno Haible  <bruno@clisp.org>
76809
76810         * m4/alloca.m4 (gl_FUNC_ALLOCA): Cache the result of the AC_EGREP_CPP
76811         invocation.
76812
76813 2006-10-19  Bruno Haible  <bruno@clisp.org>
76814
76815         * gnulib-tool (func_create_testdir): Don't include ftruncate and
76816         mountlist by default.
76817
76818 2006-10-16  Bruno Haible  <bruno@clisp.org>
76819
76820         * lib/c-strstr.c: Include c-strstr.h.
76821
76822 2006-10-18  Charles Wilson  <cygwin@cwilson.fastmail.fm>
76823
76824         * gnulib-tool: Don't clobber $sourcebase when $local_gnulib_dir ends
76825         in a slash.
76826
76827 2006-10-18  Bruno Haible  <bruno@clisp.org>
76828
76829         * lib/lock.h [C++]: Wrap definitions in extern "C".
76830
76831 2006-10-18  Bruno Haible  <bruno@clisp.org>
76832
76833         * gnulib-tool (func_emit_initmacro_end): Remove duplicates from the
76834         gl_LIBOBJS list.
76835
76836 2006-10-18  Bruno Haible  <bruno@clisp.org>
76837
76838         * lib/findprog.c (find_in_path): Avoid "gcc -Wwrite-strings" warning.
76839
76840 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>
76841
76842         * lib/xstrtol.h: Include gettext.h.
76843         (_STRTOL_ERROR): Wrap English-language formats inside gettext.
76844         Problem reported by Eric Blake.
76845         * modules/xstrtol (Depends-on): Add gettext-h.
76846
76847 2006-10-19  Paul Eggert  <eggert@cs.ucla.edu>  (tiny change)
76848
76849         * lib/strftime.c (advance): New macro.
76850         (add): Use it to avoid adding 0 to a FILE *.  FILE can be an
76851         incomplete type, so you can't add 0 to it.  Problem and patch
76852         reported by Eelco Dolstra for dietlibc.
76853
76854 2006-10-18  Jim Meyering  <jim@meyering.net>
76855
76856         * lib/readutmp.c (desirable_utmp_entry): Use "bool" as the
76857         type for a local, and rename it: s/up/user_proc/.
76858
76859 2006-10-18  Sergey Poznyakoff  <gray@gnu.org.ua>
76860
76861         * lib/readutmp.c (desirable_utmp_entry): Implement new flag:
76862         READ_UTMP_USER_PROCESS.
76863         * lib/readutmp.h (READ_UTMP_USER_PROCESS): New flag
76864
76865 2006-10-17  Paul Eggert  <eggert@cs.ucla.edu>
76866
76867         * lib/localcharset.c: Do not check HAVE_SETLOCALE.
76868         * m4/localcharset.m4 (gl_LOCALCHARSET): Don't check for setlocale.
76869
76870 2006-10-17  Eric Blake  <ebb9@byu.net>
76871
76872         * lib/sigprocmask.c (sigprocmask): Fix typo.
76873
76874         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Fix typo.
76875
76876         * modules/clean-temp (Makefile.am): Don't add to make output...
76877         (configure.ac): ...instead define SIGNAL_SAFE_LIST inside
76878         config.h.
76879
76880 2006-10-17  Bruno Haible  <bruno@clisp.org>
76881
76882         * lib/gettext.h (gettext, ngettext, pgettext, npgettext): Define
76883         differently if DEFAULT_TEXT_DOMAIN is set.
76884
76885 2006-10-16  Bruno Haible  <bruno@clisp.org>
76886
76887         * lib/clean-temp.c: Include fwriteerror.h.
76888
76889 2006-10-16  Bruno Haible  <bruno@clisp.org>
76890
76891         * getndelim2.m4 (gl_GETNDELIM2): Remove 2003-10-23 hack.
76892
76893 2006-10-16  Bruno Haible  <bruno@clisp.org>
76894
76895         * m4/signalblocking.m4 (gl_PREREQ_SIGPROCMASK): Also test for sigset_t.
76896         * lib/sigprocmask.h: Include <sys/types.h>.
76897         (sigset_t): Use the system's definition if present.
76898
76899 2006-10-17  Eric Blake  <ebb9@byu.net>
76900
76901         * lib/xvasprintf.c (includes): Assume config.h.
76902         * lib/xasprintf.c (includes): Likewise.
76903
76904 2006-10-16  Paul Eggert  <eggert@cs.ucla.edu>
76905
76906         * lib/fsusage.c (PROPAGATE_ALL_ONES): Don't assume uintmax_t is
76907         at least as wide as intmax_t.
76908
76909 2006-10-16  Alexandre Duret-Lutz  <adl@gnu.org>
76910
76911         (Imported from Automake.)
76912         * build-aux/gnupload: Update to version 1.1 of directive file.
76913
76914 2006-10-16  Eric Blake  <ebb9@byu.net>
76915
76916         * modules/configmake (Makefile.am): Add pkglibexecdir support, to
76917         match Automake 1.10a.
76918
76919 2006-10-14  Bruno Haible  <bruno@clisp.org>
76920
76921         * modules/sigprocmask: New file.
76922         * lib/sigprocmask.h: New file.
76923         * lib/sigprocmask.c: New file.
76924         * m4/signalblocking.m4 (gl_SIGNALBLOCKING): Renamed from
76925         gt_SIGNALBLOCKING. When not defining HAVE_POSIX_SIGNALBLOCKING,
76926         request sigprocmask.o.
76927         (gl_PREREQ_SIGPROCMASK): New macro.
76928         * modules/fatal-signal (Files): Remove m4/signalblocking.m4.
76929         (Depends-on): Add sigprocmask.
76930         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Don't require
76931         gt_SIGNALBLOCKING. Test for 'raise' only once.
76932         * lib/fatal-signal.c: Include sigprocmask.h.
76933         (fatal_signal_set, init_fatal_signal_set, block_fatal_signals,
76934         unblock_fatal_signals): Define always.
76935         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
76936         sigprocmask.
76937
76938 2006-10-14  Paul Eggert  <eggert@cs.ucla.edu>
76939
76940         Sync from Automake.
76941         * build-aux/install-sh (posix_mkdir): Reject FreeBSD 6.1 mkdir -p -m,
76942         which incorrectly sets the mode of an existing destination
76943         directory.  In some cases the unpatched install-sh could do the
76944         equivalent of "chmod 777 /" or "chmod 0 /" on a buggy FreeBSD
76945         system.  We hope this is rare in practice, but it's clearly worth
76946         fixing.  Problem reported by Alex Unleashed in
76947         <http://lists.gnu.org/archive/html/bug-autoconf/2006-10/msg00012.html>.
76948         Also, don't bother to check for -m bugs unless we're using -m;
76949         suggested by Stepan Kasal.
76950
76951 2006-10-14  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
76952
76953         Sync from Automake.
76954         * build-aux/depcomp (gcc3): Put dependency extraction flags before the
76955         `-c' flag, so they appear at the same position as in %FASTDEP%
76956         mode in depend2.am.  Fixes build failure for FreeBSD's c89,
76957         which ignores unknown options only after the first non-option.
76958         Bug report against M4 by Nelson H. F. Beebe.
76959
76960 2006-10-13  Jim Meyering  <jim@meyering.net>
76961
76962         Fix a bug in yesterday's change.
76963         * lib/fts.c (fts_open): When using FTS_XDEV|FTS_NOSTAT,
76964         p->fts_statp->st_dev would be used uninitialized.
76965         Ensures that we always call fts_stat on the very first entry.
76966         Miklos Szeredi reported that find -xdev stopped working.
76967
76968 2006-10-12  Bruno Haible  <bruno@clisp.org>
76969
76970         * gnulib-tool (func_get_automake_snippet): Append an automatically
76971         computed EXTRA_DIST augmentation.
76972         * modules/acl (Makefile.am): Remove EXTRA_DIST augmentation.
76973         * modules/alloca-opt (Makefile.am): Likewise.
76974         * modules/allocsa (Makefile.am): Likewise.
76975         * modules/arcfour (Makefile.am): Likewise.
76976         * modules/arctwo (Makefile.am): Likewise.
76977         * modules/argmatch (Makefile.am): Likewise.
76978         * modules/argz (Makefile.am): Likewise.
76979         * modules/atexit (Makefile.am): Likewise.
76980         * modules/backupfile (Makefile.am): Likewise.
76981         * modules/byteswap (Makefile.am): Likewise.
76982         * modules/c-strtod (Makefile.am): Likewise.
76983         * modules/c-strtold (Makefile.am): Likewise.
76984         * modules/calloc (Makefile.am): Likewise.
76985         * modules/canon-host (Makefile.am): Likewise.
76986         * modules/canonicalize (Makefile.am): Likewise.
76987         * modules/chdir-long (Makefile.am): Likewise.
76988         * modules/chdir-safer (Makefile.am): Likewise.
76989         * modules/check-version (Makefile.am): Likewise.
76990         * modules/chown (Makefile.am): Likewise.
76991         * modules/cloexec (Makefile.am): Likewise.
76992         * modules/close-stream (Makefile.am): Likewise.
76993         * modules/closeout (Makefile.am): Likewise.
76994         * modules/crc (Makefile.am): Likewise.
76995         * modules/csharpexec (Makefile.am): Likewise.
76996         * modules/cycle-check (Makefile.am): Likewise.
76997         * modules/des (Makefile.am): Likewise.
76998         * modules/dev-ino (Makefile.am): Likewise.
76999         * modules/dirfd (Makefile.am): Likewise.
77000         * modules/dirname (Makefile.am): Likewise.
77001         * modules/dup2 (Makefile.am): Likewise.
77002         * modules/eealloc (Makefile.am): Likewise.
77003         * modules/error (Makefile.am): Likewise.
77004         * modules/euidaccess (Makefile.am): Likewise.
77005         * modules/exclude (Makefile.am): Likewise.
77006         * modules/exitfail (Makefile.am): Likewise.
77007         * modules/fcntl-safer (Makefile.am): Likewise.
77008         * modules/fcntl (Makefile.am): Likewise.
77009         * modules/file-type (Makefile.am): Likewise.
77010         * modules/fileblocks (Makefile.am): Likewise.
77011         * modules/filemode (Makefile.am): Likewise.
77012         * modules/filenamecat (Makefile.am): Likewise.
77013         * modules/fnmatch (Makefile.am): Likewise.
77014         * modules/fopen-safer (Makefile.am): Likewise.
77015         * modules/fpending (Makefile.am): Likewise.
77016         * modules/fprintftime (Makefile.am): Likewise.
77017         * modules/free (Makefile.am): Likewise.
77018         * modules/fsusage (Makefile.am): Likewise.
77019         * modules/ftruncate (Makefile.am): Likewise.
77020         * modules/fts (Makefile.am): Likewise.
77021         * modules/gc-arcfour (Makefile.am): Likewise.
77022         * modules/gc-des (Makefile.am): Likewise.
77023         * modules/gc-hmac-md5 (Makefile.am): Likewise.
77024         * modules/gc-hmac-sha1 (Makefile.am): Likewise.
77025         * modules/gc-md4 (Makefile.am): Likewise.
77026         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
77027         * modules/gc-sha1 (Makefile.am): Likewise.
77028         * modules/gc (Makefile.am): Likewise.
77029         * modules/getaddrinfo (Makefile.am): Likewise.
77030         * modules/getcwd (Makefile.am): Likewise.
77031         * modules/getdelim (Makefile.am): Likewise.
77032         * modules/getdomainname (Makefile.am): Likewise.
77033         * modules/getgroups (Makefile.am): Likewise.
77034         * modules/gethostname (Makefile.am): Likewise.
77035         * modules/gethrxtime (Makefile.am): Likewise.
77036         * modules/getline (Makefile.am): Likewise.
77037         * modules/getloadavg (Makefile.am): Likewise.
77038         * modules/getlogin_r (Makefile.am): Likewise.
77039         * modules/getndelim2 (Makefile.am): Likewise.
77040         * modules/getopt (Makefile.am): Likewise.
77041         * modules/getpagesize (Makefile.am): Likewise.
77042         * modules/getpass-gnu (Makefile.am): Likewise.
77043         * modules/getpass (Makefile.am): Likewise.
77044         * modules/getsubopt (Makefile.am): Likewise.
77045         * modules/gettime (Makefile.am): Likewise.
77046         * modules/gettimeofday (Makefile.am): Likewise.
77047         * modules/getugroups (Makefile.am): Likewise.
77048         * modules/getusershell (Makefile.am): Likewise.
77049         * modules/glob (Makefile.am): Likewise.
77050         * modules/group-member (Makefile.am): Likewise.
77051         * modules/hard-locale (Makefile.am): Likewise.
77052         * modules/hash (Makefile.am): Likewise.
77053         * modules/hmac-md5 (Makefile.am): Likewise.
77054         * modules/hmac-sha1 (Makefile.am): Likewise.
77055         * modules/human (Makefile.am): Likewise.
77056         * modules/idcache (Makefile.am): Likewise.
77057         * modules/imaxabs (Makefile.am): Likewise.
77058         * modules/imaxdiv (Makefile.am): Likewise.
77059         * modules/inet_ntop (Makefile.am): Likewise.
77060         * modules/inet_pton (Makefile.am): Likewise.
77061         * modules/intprops (Makefile.am): Likewise.
77062         * modules/inttostr (Makefile.am): Likewise.
77063         * modules/inttypes (Makefile.am): Likewise.
77064         * modules/isapipe (Makefile.am): Likewise.
77065         * modules/javaversion (Makefile.am): Likewise.
77066         * modules/lchmod (Makefile.am): Likewise.
77067         * modules/lchown (Makefile.am): Likewise.
77068         * modules/localcharset (Makefile.am): Likewise.
77069         * modules/long-options (Makefile.am): Likewise.
77070         * modules/lstat (Makefile.am): Likewise.
77071         * modules/malloc (Makefile.am): Likewise.
77072         * modules/mathl (Makefile.am): Likewise.
77073         * modules/mbchar (Makefile.am): Likewise.
77074         * modules/md2 (Makefile.am): Likewise.
77075         * modules/md4 (Makefile.am): Likewise.
77076         * modules/md5 (Makefile.am): Likewise.
77077         * modules/memcasecmp (Makefile.am): Likewise.
77078         * modules/memchr (Makefile.am): Likewise.
77079         * modules/memcmp (Makefile.am): Likewise.
77080         * modules/memcoll (Makefile.am): Likewise.
77081         * modules/memcpy (Makefile.am): Likewise.
77082         * modules/memmem (Makefile.am): Likewise.
77083         * modules/memmove (Makefile.am): Likewise.
77084         * modules/mempcpy (Makefile.am): Likewise.
77085         * modules/memrchr (Makefile.am): Likewise.
77086         * modules/memset (Makefile.am): Likewise.
77087         * modules/memxor (Makefile.am): Likewise.
77088         * modules/mkancesdirs (Makefile.am): Likewise.
77089         * modules/mkdir-p (Makefile.am): Likewise.
77090         * modules/mkdir (Makefile.am): Likewise.
77091         * modules/mkdtemp (Makefile.am): Likewise.
77092         * modules/mkstemp (Makefile.am): Likewise.
77093         * modules/mktime (Makefile.am): Likewise.
77094         * modules/modechange (Makefile.am): Likewise.
77095         * modules/mountlist (Makefile.am): Likewise.
77096         * modules/nanosleep (Makefile.am): Likewise.
77097         * modules/obstack (Makefile.am): Likewise.
77098         * modules/openat (Makefile.am): Likewise.
77099         * modules/pagealign_alloc (Makefile.am): Likewise.
77100         * modules/pathmax (Makefile.am): Likewise.
77101         * modules/physmem (Makefile.am): Likewise.
77102         * modules/poll (Makefile.am): Likewise.
77103         * modules/posixtm (Makefile.am): Likewise.
77104         * modules/posixver (Makefile.am): Likewise.
77105         * modules/putenv (Makefile.am): Likewise.
77106         * modules/quote (Makefile.am): Likewise.
77107         * modules/quotearg (Makefile.am): Likewise.
77108         * modules/raise (Makefile.am): Likewise.
77109         * modules/read-file (Makefile.am): Likewise.
77110         * modules/readline (Makefile.am): Likewise.
77111         * modules/readlink (Makefile.am): Likewise.
77112         * modules/readtokens (Makefile.am): Likewise.
77113         * modules/readutmp (Makefile.am): Likewise.
77114         * modules/realloc (Makefile.am): Likewise.
77115         * modules/regex (Makefile.am): Likewise.
77116         * modules/rename-dest-slash (Makefile.am): Likewise.
77117         * modules/rename (Makefile.am): Likewise.
77118         * modules/rijndael (Makefile.am): Likewise.
77119         * modules/rmdir (Makefile.am): Likewise.
77120         * modules/rpmatch (Makefile.am): Likewise.
77121         * modules/safe-read (Makefile.am): Likewise.
77122         * modules/safe-write (Makefile.am): Likewise.
77123         * modules/same-inode (Makefile.am): Likewise.
77124         * modules/same (Makefile.am): Likewise.
77125         * modules/save-cwd (Makefile.am): Likewise.
77126         * modules/savedir (Makefile.am): Likewise.
77127         * modules/setenv (Makefile.am): Likewise.
77128         * modules/settime (Makefile.am): Likewise.
77129         * modules/sha1 (Makefile.am): Likewise.
77130         * modules/sig2str (Makefile.am): Likewise.
77131         * modules/snprintf (Makefile.am): Likewise.
77132         * modules/stat-macros (Makefile.am): Likewise.
77133         * modules/stat-time (Makefile.am): Likewise.
77134         * modules/stdbool (Makefile.am): Likewise.
77135         * modules/stdint (Makefile.am): Likewise.
77136         * modules/stdlib-safer (Makefile.am): Likewise.
77137         * modules/stpcpy (Makefile.am): Likewise.
77138         * modules/stpncpy (Makefile.am): Likewise.
77139         * modules/strcase (Makefile.am): Likewise.
77140         * modules/strcasestr (Makefile.am): Likewise.
77141         * modules/strchrnul (Makefile.am): Likewise.
77142         * modules/strcspn (Makefile.am): Likewise.
77143         * modules/strdup (Makefile.am): Likewise.
77144         * modules/strerror (Makefile.am): Likewise.
77145         * modules/strftime (Makefile.am): Likewise.
77146         * modules/strndup (Makefile.am): Likewise.
77147         * modules/strnlen (Makefile.am): Likewise.
77148         * modules/strpbrk (Makefile.am): Likewise.
77149         * modules/strsep (Makefile.am): Likewise.
77150         * modules/strstr (Makefile.am): Likewise.
77151         * modules/strtod (Makefile.am): Likewise.
77152         * modules/strtoimax (Makefile.am): Likewise.
77153         * modules/strtok_r (Makefile.am): Likewise.
77154         * modules/strtol (Makefile.am): Likewise.
77155         * modules/strtoll (Makefile.am): Likewise.
77156         * modules/strtoul (Makefile.am): Likewise.
77157         * modules/strtoull (Makefile.am): Likewise.
77158         * modules/strtoumax (Makefile.am): Likewise.
77159         * modules/strverscmp (Makefile.am): Likewise.
77160         * modules/sys_socket (Makefile.am): Likewise.
77161         * modules/sys_stat (Makefile.am): Likewise.
77162         * modules/sysexits (Makefile.am): Likewise.
77163         * modules/time_r (Makefile.am): Likewise.
77164         * modules/timegm (Makefile.am): Likewise.
77165         * modules/timespec (Makefile.am): Likewise.
77166         * modules/tmpfile-safer (Makefile.am): Likewise.
77167         * modules/trim (Makefile.am): Likewise.
77168         * modules/unistd-safer (Makefile.am): Likewise.
77169         * modules/unlinkdir (Makefile.am): Likewise.
77170         * modules/unlocked-io (Makefile.am): Likewise.
77171         * modules/userspec (Makefile.am): Likewise.
77172         * modules/utime (Makefile.am): Likewise.
77173         * modules/utimecmp (Makefile.am): Likewise.
77174         * modules/utimens (Makefile.am): Likewise.
77175         * modules/vasnprintf (Makefile.am): Likewise.
77176         * modules/vasprintf (Makefile.am): Likewise.
77177         * modules/vsnprintf (Makefile.am): Likewise.
77178         * modules/xalloc (Makefile.am): Likewise.
77179         * modules/xgetcwd (Makefile.am): Likewise.
77180         * modules/xnanosleep (Makefile.am): Likewise.
77181         * modules/xreadlink (Makefile.am): Likewise.
77182         * modules/xstrtod (Makefile.am): Likewise.
77183         * modules/xstrtol (Makefile.am): Likewise.
77184         * modules/xstrtold (Makefile.am): Likewise.
77185         * modules/yesno (Makefile.am): Likewise.
77186         * modules/getdate (Makefile.am): Don't add getdate.h to EXTRA_DIST.
77187
77188 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77189
77190         * modules/error (Makefile.am): Distribute files through
77191         EXTRA_DIST, not lib_SOURCES.
77192
77193 2006-10-12  Eric Blake  <ebb9@byu.net>
77194
77195         * modules/error (Makefile.am): Distribute files in /lib.
77196         * modules/obstack (Makefile.am): Likewise.
77197
77198 2006-10-12  Bruno Haible  <bruno@clisp.org>
77199
77200         * modules/acl (Makefile.am): Distribute all files in lib/ through
77201         EXTRA_DIST.
77202         * modules/arcfour (Makefile.am): Likewise.
77203         * modules/arctwo (Makefile.am): Likewise.
77204         * modules/argmatch (Makefile.am): Likewise.
77205         * modules/argz (Makefile.am): Likewise.
77206         * modules/atexit (Makefile.am): Likewise.
77207         * modules/backupfile (Makefile.am): Likewise.
77208         * modules/c-strtod (Makefile.am): Likewise.
77209         * modules/c-strtold (Makefile.am): Likewise.
77210         * modules/calloc (Makefile.am): Likewise.
77211         * modules/canon-host (Makefile.am): Likewise.
77212         * modules/canonicalize (Makefile.am): Likewise.
77213         * modules/chdir-long (Makefile.am): Likewise.
77214         * modules/chdir-safer (Makefile.am): Likewise.
77215         * modules/check-version (Makefile.am): Likewise.
77216         * modules/chown (Makefile.am): Likewise.
77217         * modules/cloexec (Makefile.am): Likewise.
77218         * modules/close-stream (Makefile.am): Likewise.
77219         * modules/closeout (Makefile.am): Likewise.
77220         * modules/crc (Makefile.am): Likewise.
77221         * modules/cycle-check (Makefile.am): Likewise.
77222         * modules/des (Makefile.am): Likewise.
77223         * modules/dirfd (Makefile.am): Likewise.
77224         * modules/dirname (Makefile.am): Likewise.
77225         * modules/dup2 (Makefile.am): Likewise.
77226         * modules/euidaccess (Makefile.am): Likewise.
77227         * modules/exclude (Makefile.am): Likewise.
77228         * modules/exitfail (Makefile.am): Likewise.
77229         * modules/fcntl-safer (Makefile.am): Likewise.
77230         * modules/file-type (Makefile.am): Likewise.
77231         * modules/fileblocks (Makefile.am): Likewise.
77232         * modules/filemode (Makefile.am): Likewise.
77233         * modules/filenamecat (Makefile.am): Likewise.
77234         * modules/fnmatch (Makefile.am): Likewise.
77235         * modules/fopen-safer (Makefile.am): Likewise.
77236         * modules/fpending (Makefile.am): Likewise.
77237         * modules/fprintftime (Makefile.am): Likewise.
77238         * modules/free (Makefile.am): Likewise.
77239         * modules/fsusage (Makefile.am): Likewise.
77240         * modules/ftruncate (Makefile.am): Likewise.
77241         * modules/fts (Makefile.am): Likewise.
77242         * modules/gc (Makefile.am): Likewise.
77243         * modules/gc-pbkdf2-sha1 (Makefile.am): Likewise.
77244         * modules/getaddrinfo (Makefile.am): Likewise.
77245         * modules/getcwd (Makefile.am): Likewise.
77246         * modules/getdelim (Makefile.am): Likewise.
77247         * modules/getdomainname (Makefile.am): Likewise.
77248         * modules/getgroups (Makefile.am): Likewise.
77249         * modules/gethostname (Makefile.am): Likewise.
77250         * modules/gethrxtime (Makefile.am): Likewise.
77251         * modules/getline (Makefile.am): Likewise.
77252         * modules/getloadavg (Makefile.am): Likewise.
77253         * modules/getlogin_r (Makefile.am): Likewise.
77254         * modules/getopt (Makefile.am): Likewise.
77255         * modules/getpass (Makefile.am): Likewise.
77256         * modules/getpass-gnu (Makefile.am): Likewise.
77257         * modules/getsubopt (Makefile.am): Likewise.
77258         * modules/gettime (Makefile.am): Likewise.
77259         * modules/gettimeofday (Makefile.am): Likewise.
77260         * modules/getugroups (Makefile.am): Likewise.
77261         * modules/getusershell (Makefile.am): Likewise.
77262         * modules/glob (Makefile.am): Likewise.
77263         * modules/group-member (Makefile.am): Likewise.
77264         * modules/hard-locale (Makefile.am): Likewise.
77265         * modules/hash (Makefile.am): Likewise.
77266         * modules/hmac-md5 (Makefile.am): Likewise.
77267         * modules/hmac-sha1 (Makefile.am): Likewise.
77268         * modules/human (Makefile.am): Likewise.
77269         * modules/idcache (Makefile.am): Likewise.
77270         * modules/imaxabs (Makefile.am): Likewise.
77271         * modules/imaxdiv (Makefile.am): Likewise.
77272         * modules/inet_ntop (Makefile.am): Likewise.
77273         * modules/inet_pton (Makefile.am): Likewise.
77274         * modules/inttostr (Makefile.am): Likewise.
77275         * modules/isapipe (Makefile.am): Likewise.
77276         * modules/lchown (Makefile.am): Likewise.
77277         * modules/long-options (Makefile.am): Likewise.
77278         * modules/lstat (Makefile.am): Likewise.
77279         * modules/malloc (Makefile.am): Likewise.
77280         * modules/mathl (Makefile.am): Likewise.
77281         * modules/mbchar (Makefile.am): Likewise.
77282         * modules/md2 (Makefile.am): Likewise.
77283         * modules/md4 (Makefile.am): Likewise.
77284         * modules/md5 (Makefile.am): Likewise.
77285         * modules/memcasecmp (Makefile.am): Likewise.
77286         * modules/memchr (Makefile.am): Likewise.
77287         * modules/memcmp (Makefile.am): Likewise.
77288         * modules/memcoll (Makefile.am): Likewise.
77289         * modules/memcpy (Makefile.am): Likewise.
77290         * modules/memmem (Makefile.am): Likewise.
77291         * modules/memmove (Makefile.am): Likewise.
77292         * modules/mempcpy (Makefile.am): Likewise.
77293         * modules/memrchr (Makefile.am): Likewise.
77294         * modules/memset (Makefile.am): Likewise.
77295         * modules/memxor (Makefile.am): Likewise.
77296         * modules/mkancesdirs (Makefile.am): Likewise.
77297         * modules/mkdir (Makefile.am): Likewise.
77298         * modules/mkdir-p (Makefile.am): Likewise.
77299         * modules/mkdtemp (Makefile.am): Likewise.
77300         * modules/mkstemp (Makefile.am): Likewise.
77301         * modules/mktime (Makefile.am): Likewise.
77302         * modules/modechange (Makefile.am): Likewise.
77303         * modules/mountlist (Makefile.am): Likewise.
77304         * modules/nanosleep (Makefile.am): Likewise.
77305         * modules/openat (Makefile.am): Likewise.
77306         * modules/pagealign_alloc (Makefile.am): Likewise.
77307         * modules/physmem (Makefile.am): Likewise.
77308         * modules/poll (Makefile.am): Likewise.
77309         * modules/posixtm (Makefile.am): Likewise.
77310         * modules/posixver (Makefile.am): Likewise.
77311         * modules/putenv (Makefile.am): Likewise.
77312         * modules/quote (Makefile.am): Likewise.
77313         * modules/quotearg (Makefile.am): Likewise.
77314         * modules/raise (Makefile.am): Likewise.
77315         * modules/read-file (Makefile.am): Likewise.
77316         * modules/readline (Makefile.am): Likewise.
77317         * modules/readlink (Makefile.am): Likewise.
77318         * modules/readtokens (Makefile.am): Likewise.
77319         * modules/readutmp (Makefile.am): Likewise.
77320         * modules/realloc (Makefile.am): Likewise.
77321         * modules/regex (Makefile.am): Likewise.
77322         * modules/rename (Makefile.am): Likewise.
77323         * modules/rename-dest-slash (Makefile.am): Likewise.
77324         * modules/rijndael (Makefile.am): Likewise.
77325         * modules/rmdir (Makefile.am): Likewise.
77326         * modules/rpmatch (Makefile.am): Likewise.
77327         * modules/safe-read (Makefile.am): Likewise.
77328         * modules/safe-write (Makefile.am): Likewise.
77329         * modules/same (Makefile.am): Likewise.
77330         * modules/save-cwd (Makefile.am): Likewise.
77331         * modules/savedir (Makefile.am): Likewise.
77332         * modules/setenv (Makefile.am): Likewise.
77333         * modules/settime (Makefile.am): Likewise.
77334         * modules/sha1 (Makefile.am): Likewise.
77335         * modules/sig2str (Makefile.am): Likewise.
77336         * modules/snprintf (Makefile.am): Likewise.
77337         * modules/stdlib-safer (Makefile.am): Likewise.
77338         * modules/stpcpy (Makefile.am): Likewise.
77339         * modules/stpncpy (Makefile.am): Likewise.
77340         * modules/strcase (Makefile.am): Likewise.
77341         * modules/strcasestr (Makefile.am): Likewise.
77342         * modules/strchrnul (Makefile.am): Likewise.
77343         * modules/strcspn (Makefile.am): Likewise.
77344         * modules/strdup (Makefile.am): Likewise.
77345         * modules/strerror (Makefile.am): Likewise.
77346         * modules/strftime (Makefile.am): Likewise.
77347         * modules/strndup (Makefile.am): Likewise.
77348         * modules/strnlen (Makefile.am): Likewise.
77349         * modules/strpbrk (Makefile.am): Likewise.
77350         * modules/strsep (Makefile.am): Likewise.
77351         * modules/strstr (Makefile.am): Likewise.
77352         * modules/strtod (Makefile.am): Likewise.
77353         * modules/strtoimax (Makefile.am): Likewise.
77354         * modules/strtok_r (Makefile.am): Likewise.
77355         * modules/strtol (Makefile.am): Likewise.
77356         * modules/strtoll (Makefile.am): Likewise.
77357         * modules/strtoul (Makefile.am): Likewise.
77358         * modules/strtoull (Makefile.am): Likewise.
77359         * modules/strtoumax (Makefile.am): Likewise.
77360         * modules/strverscmp (Makefile.am): Likewise.
77361         * modules/time_r (Makefile.am): Likewise.
77362         * modules/timegm (Makefile.am): Likewise.
77363         * modules/tmpfile-safer (Makefile.am): Likewise.
77364         * modules/unistd-safer (Makefile.am): Likewise.
77365         * modules/unlinkdir (Makefile.am): Likewise.
77366         * modules/userspec (Makefile.am): Likewise.
77367         * modules/utime (Makefile.am): Likewise.
77368         * modules/utimecmp (Makefile.am): Likewise.
77369         * modules/utimens (Makefile.am): Likewise.
77370         * modules/vasnprintf (Makefile.am): Likewise.
77371         * modules/vasprintf (Makefile.am): Likewise.
77372         * modules/vsnprintf (Makefile.am): Likewise.
77373         * modules/xalloc (Makefile.am): Likewise.
77374         * modules/xgetcwd (Makefile.am): Likewise.
77375         * modules/xnanosleep (Makefile.am): Likewise.
77376         * modules/xreadlink (Makefile.am): Likewise.
77377         * modules/xstrtod (Makefile.am): Likewise.
77378         * modules/xstrtol (Makefile.am): Likewise.
77379         * modules/xstrtold (Makefile.am): Likewise.
77380         * modules/yesno (Makefile.am): Likewise.
77381
77382 2006-10-12  Jim Meyering  <jim@meyering.net>
77383
77384         * m4/getloadavg.m4: Revert the change below.
77385
77386         * m4/getloadavg.m4 (gl_GETLOADAVG): Test for the existence of
77387         lib/getloadavg.c using "ls -L", not "test -f".  The latter would
77388         fail with a symlink, which is what coreutils' ./bootstrap now
77389         creates by default.
77390
77391 2006-10-12  Bruno Haible  <bruno@clisp.org>
77392
77393         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): Don't define for MSVC or
77394         mingw.
77395         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX): Handle
77396         MSVC and mingw explicitly.
77397
77398 2006-10-11  Simon Josefsson  <jas@extundo.com>
77399             Bruno Haible  <bruno@clisp.org>
77400
77401         Add support for multiple gnulib-tool invocations in the scope of a
77402         single configure.ac file.
77403         * gnulib-tool (func_emit_lib_Makefile_am): In the _LIBADD variable,
77404         use a private [LT]LIBOBJS variant. Define a _DEPENDENCIES variable
77405         with the same contents as the _LIBADD variable.
77406         (func_emit_initmacro_start, func_emit_initmacro_end,
77407         func_emit_initmacro_done): New functions.
77408         (func_import, func_create_testdir): Invoke them. Allow the identifiers
77409         gl_LIBOBJS and gl_LTLIBOBJS.
77410
77411 2006-10-11  Bruno Haible  <bruno@clisp.org>
77412
77413         * gnulib-tool (GETTEXTPATH, AUTOHEADER, AUTOPOINT): New variables.
77414         (func_create_testdir): Don't create po/Makefile.am, don't invoke
77415         autoreconf. Instead, invoke autopoint explicitly but move back the
77416         *.m4 files from gnulib.
77417
77418 2006-10-11  Bruno Haible  <bruno@clisp.org>
77419
77420         * gnulib-tool (func_usage): Make module names after --create-testdir
77421         optional.
77422         (func_create_testdir): If no module was specified, use nearly all
77423         modules.
77424
77425 2006-10-12  Jim Meyering  <jim@meyering.net>
77426
77427         Big performance improvement for fts-based tools that use FTS_NOSTAT.
77428         Avoid spurious inode-mismatch problems on non-POSIX file systems.
77429         Details: http://article.gmane.org/gmane.comp.lib.gnulib.bugs/7416
77430         * lib/fts_.h (FTS_DEFER_STAT): Define new flag.
77431         (FTS_OPTIONMASK): Extend the mask to reflect this addition.
77432         * lib/fts.c (DT_IS_KNOWN, DT_MUST_BE): Define.
77433         (FTS_NO_STAT_REQUIRED, FTS_STAT_REQUIRED): Define.
77434         (fts_set_stat_required): New function.
77435         (fts_open): Defer the calls to fts_stat, if possible or requested.
77436         Move the code that maps a command-line fts_info value FTS_DOT to FTS_D
77437         into fts_stat itself.
77438         (fts_read): Perform any required (deferred) fts_stat call.
77439         (fts_build): Likewise, for the directory we're about to open and read.
77440         In the readdir loop, carefully decide whether each entry will require
77441         an eventual call to fts_stat, using dirent.d_type info if available.
77442         (fts_stat): Move the test for whether to honor FTS_COMFOLLOW on
77443         a command line argument into this function.  Update all callers.
77444         Map a return value of FTS_DOT to FTS_D for a command line argument.
77445         * modules/fts (Depends-on): Add d-type.  Alphabetize.
77446         Thanks to Miklos Szeredi for his tenacity and for the initial
77447         bug report about "find" failing on a FUSE-based file system.
77448
77449         * lib/fts.c (fts_open): Use consistent indentation.
77450
77451 2006-10-12  Paul Eggert  <eggert@cs.ucla.edu>
77452
77453         * m4/extensions.m4 (AC_USE_SYSTEM_EXTENSIONS): Renamed from
77454         gl_USE_SYSTEM_EXTENSIONS, to fix a coreutils bootstrap failure
77455         reported by Jim Meyering.  All uses of cache variables renamed
77456         to match Autoconf's.
77457         (gl_USE_SYSTEM_EXTENSIONS): New macro, which simply requires
77458         the other one.
77459
77460         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH):
77461         Fix misspelling in diagnostic.
77462
77463 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77464
77465         * lib/mkdir-p.c (HAVE_FCHMOD): Define to false if not already
77466         defined.  Problem reported by Matthew Woehlke.
77467
77468         * lib/inttypes_.h (_LONG_LONG_FORMAT_PREFIX): New macro.
77469         Add support for Tandem NonStop R series.
77470         (_PRI64_PREFIX, _PRIu64_PREFIX, _SCN64_PREFIX, _SCNu64_PREFIX):
77471         Use new macro.
77472
77473         * lib/rename-dest-slash.c: Include stdbool.h but not string.h.
77474         (has_trailing_slash): Omit size arg; all callers changed.
77475         Omit 'inline', since it doesn't help performance and we'd
77476         need to configure it.
77477         Don't count //, ///, etc. as having a trailing slash.
77478         As a side effect, this removes a C99ism reported by Matthew Woehlke.
77479         (rpl_rename_dest_slash): On failure, use rename's errno rather
77480         than (in some cases) an incorrect or junk errno.
77481         Simplify code by removing need to compute length; this does
77482         cause it to make two passes instead of one over the file name,
77483         but it's worth it.
77484
77485         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Undo previous
77486         change, since Autoconf's version may no longer be appropriate now
77487         that we are using CVS Autoconf's version.  Add support for Tandem.
77488
77489 2006-10-11  Paul Eggert  <eggert@cs.ucla.edu>
77490             Bruno Haible  <bruno@clisp.org>
77491
77492         * lib/allocsa.h (sa_alignment_longlong, sa_alignment_max): Test
77493         HAVE_LONG_LONG_INT instead of HAVE_LONG_LONG.
77494         * m4/allocsa.m4 (gl_ALLOCSA): Invoke AC_TYPE_LONG_LONG_INT instead of
77495         gl_AC_TYPE_LONG_LONG.
77496
77497         * lib/printf-args.h (arg_type, argument): Test HAVE_LONG_LONG_INT
77498         instead of HAVE_LONG_LONG.
77499         * lib/printf-args.c (printf_fetchargs): Likewise.
77500         * lib/printf-parse.c (PRINTF_PARSE): Likewise.
77501         * lib/vasnprintf.c (VASNPRINTF): Likewise.
77502         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_ARGS, gl_PREREQ_PRINTF_PARSE,
77503         gl_PREREQ_VASNPRINTF): Invoke AC_TYPE_LONG_LONG_INT instead of
77504         gl_AC_TYPE_LONG_LONG.
77505
77506 2006-10-11  Bruno Haible  <bruno@clisp.org>
77507
77508         * m4/longlong.m4: Add comments.
77509         * m4/ulonglong.m4: Likewise.
77510
77511 2006-10-10  Bruno Haible  <bruno@clisp.org>
77512
77513         Make it possible to #define stpcpy, strdup to aliases.
77514         * lib/stpcpy.c (stpcpy) [!_LIBC]: Don't undefine.
77515         * lib/strdup.c (strdup) [!_LIBC]: Don't undefine.
77516
77517 2006-10-10  Bruno Haible  <bruno@clisp.org>
77518
77519         Make it possible to #define gcd to an alias.
77520         * lib/gcd.c: Include config.h.
77521
77522 2006-10-10  Bruno Haible  <bruno@clisp.org>
77523
77524         Make it possible to #define c_isascii to an alias.
77525         * lib/c-ctype.h: Don't define the macros if NO_C_CTYPE_MACROS is
77526         defined. Undefine the macros before defining them, to avoid gcc
77527         warnings.
77528         * lib/c-ctype.c: Include config.h. Don't undefine the macros; instead,
77529         define NO_C_CTYPE_MACROS early.
77530
77531 2006-10-10  Bruno Haible  <bruno@clisp.org>
77532
77533         Make it possible to #define set_program_name to an alias.
77534         * lib/progname.c: Don't undefine set_program_name; instead, undefine
77535         ENABLE_RELOCATABLE early.
77536
77537 2006-10-10  Paul Eggert  <eggert@cs.ucla.edu>
77538
77539         Port to Tandem NSK OSS, which has 64-bit signed int but at most
77540         32-bit unsigned int.  Problem reported by Matthew Woehlke in:
77541         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00062.html
77542         More generally, don't assume that 64-bit signed int is available
77543         if unsigned int is, and vice versa.
77544         * lib/inttypes_.h (_PRIu64_PREFIX, _SCNu64_PREFIX): Depend on
77545         unsigned symbols, not on their signed counterparts.
77546         * lib/stdint_.h (uint64_t, uint_least64_t, uint_fast64_t, uintmax_t):
77547         (UINT64_MAX, UINT_LEAST64_MAX, UINT_FAST64_MAX, UINTMAX_MAX):
77548         (UINT64_C, UINTMAX_C):
77549         Likewise.
77550         * lib/strtoimax.c (strtoll): Depend on signed symbols, not their
77551         unsigned counterparts.
77552         (Have_long_long, Unsigned): New macros.
77553         (Int): Renamed from INT.
77554         (strtoimax): Use the new macros.
77555         * m4/stdint.m4 (gl_STDINT_H): Require AC_TYPE_UNSIGNED_LONG_LONG_INT
77556         and substitute HAVE_UNSIGNED_LONG_LONG_INT.
77557         * modules/inttypes (inttypes.h): Substitute
77558         HAVE_UNSIGNED_LONG_LONG_INT.
77559         * modules/stdint (stdint.h): Likewise.
77560         (Files): Add m4/ulonglong.m4.
77561
77562 2006-10-10  Bruno Haible  <bruno@clisp.org>
77563
77564         Fix a gcc -Wshadow warning.
77565         * lib/gl_anyhash_list2.h (hash_resize): Rename local variable 'index'
77566         to 'bucket'.
77567         * lib/gl_anylinked_list2.h (gl_linked_search_from_to,
77568         gl_linked_indexof_from_to): Likewise.
77569         * lib/gl_linkedhash_list.c (add_to_bucket, remove_from_bucket):
77570         Likewise.
77571         * lib/gl_anytreehash_list1.h (add_to_bucket, remove_from_bucket):
77572         Likewise.
77573         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Likewise.
77574         Reported by Eric Blake.
77575
77576 2006-10-09  Paul Eggert  <eggert@cs.ucla.edu>
77577
77578         * lib/filemode.h [HAVE_DECL_STRMODE]: Include unistd.h too,
77579         for NetBSD.  Problem reported by Bruno Haible.
77580
77581 2006-10-09  Jim Meyering  <jim@meyering.net>
77582
77583         * lib/lchown.c: Include <sys/stat.h> before "stat-macros.h".
77584         Patch from Bruno Haible.
77585
77586 2006-10-09  Jim Meyering  <jim@meyering.net>
77587
77588         * lib/fts-cycle.c (leave_dir): When "leaving" a top level directory due
77589         to FTS_SKIP, don't copy the parent's uninitialized dev/ino values.
77590         Trigger with e.g., mkdir d && valgrind ./chmod u+rwx d d
77591
77592 2006-10-08  Paul Eggert  <eggert@cs.ucla.edu>
77593
77594         Don't include <config.h> twice; this doesn't work in some cases,
77595         e.g., when config.h has "#define intmax_t long long int" and
77596         we include <config.h>, <inttypes.h>, <config.h> in that order.
77597         Problem reported by Matthew Woehlke in:
77598         http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00073.html
77599         * lib/fprintftime.c: Don't include config.h or fprintftime.h.
77600         * lib/fts-cycle.c: Don't include config.h.
77601         * lib/strftime.c: Include fprintftime.h if FPRINTFTIME is defined.
77602         * lib/xstrtoimax.c: Remove copyright notice since it's short tnow.
77603         Don't include config.h or xstrtol.h.  Define STRTOL_T_MINIMUM
77604         and STRTOL_T_MAXIMUM unconditionally, since we now assume gnulib
77605         inttypes.h.
77606         * lib/xstrtoumax.c: Likewise.
77607         * lib/xstrtol.c: Include config.h and xstrtol.h after defining
77608         __strtol and the like, so that this module is more like its siblings.
77609         (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [! defined STRTOL_T_MINIMUM]:
77610         Remove; no longer needed now that we assume gnulib inttypes.h.
77611
77612 2006-10-08  Bruno Haible  <bruno@clisp.org>
77613
77614         * doc/gnulib-tool.texi: Emphasize the drawbacks of the --symlink
77615         option.
77616
77617 2006-10-07  Jim Meyering  <jim@meyering.net>
77618
77619         * modules/inttypes (inttypes.h): Revert what seems to have been
77620         an inadvertent part of today's change: use "|", not "/" in the
77621         substitution for the "/"-containing string, $(ABSOLUTE_INTTYPES_H).
77622
77623 2006-10-07  Bruno Haible  <bruno@clisp.org>
77624
77625         * modules/sublist: New file.
77626
77627 2006-10-07  Bruno Haible  <bruno@clisp.org>
77628
77629         * modules/alloca-opt (alloca.h): Add a "DO NOT EDIT" comment.
77630         * modules/argz (argz.h): Likewise.
77631         * modules/arpa_inet (arpa/inet.h): Likewise.
77632         * modules/byteswap (byteswap.h): Likewise.
77633         * modules/configmake (configmake.h): Likewise.
77634         * modules/fcntl (fcntl.h): Likewise.
77635         * modules/fnmatch (fnmatch.h): Likewise.
77636         * modules/getopt (getopt.h): Likewise.
77637         * modules/glob (glob.h): Likewise.
77638         * modules/inttypes (inttypes.h): Likewise.
77639         * modules/netinet_in (netinet/in.h): Likewise.
77640         * modules/poll (poll.h): Likewise.
77641         * modules/stdbool (stdbool.h): Likewise.
77642         * modules/stdint (stdint.h): Likewise.
77643         * modules/sys_select (sys/select.h): Likewise.
77644         * modules/sys_socket (sys/socket.h): Likewise.
77645         * modules/sys_stat (sys/stat.h): Likewise.
77646         * modules/sysexits (sysexits.h): Likewise.
77647         * modules/unistd (unistd.h): Likewise.
77648         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
77649         Add a "DO NOT EDIT" comment to the generated file.
77650         (func_import): Likewise for gnulib-comp.m4.
77651
77652 2006-10-07  Bruno Haible  <bruno@clisp.org>
77653
77654         * lib/gl_sublist.h: New file.
77655         * lib/gl_sublist.c: New file.
77656
77657 2006-10-06  Paul Eggert  <eggert@cs.ucla.edu>
77658
77659         * lib/mkancesdirs.c (mkancesdirs): Pass to MAKE_DIR both the full file
77660         name (relative to the original working directory) and the file
77661         name component (relative to the temporary working directory).  All
77662         callers changed.
77663         * lib/mkancesdirs.h (mkancesdirs): Adjust prototype to match.
77664         * lib/mkdir-p.c (make_dir_parents): Likewise.
77665         * lib/mkdir-p.h (make_dir_parents): Likewise.
77666
77667 2006-10-06  Eric Blake  <ebb9@byu.net>
77668
77669         Define several macros for use by the clean-temp module.
77670         * m4/close-stream.m4 (gl_CLOSE_STREAM): Define GNULIB_CLOSE_STREAM.
77671         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Define GNULIB_FCNTL_SAFER.
77672         * m4/stdio-safer.m4 (gl_FOPEN_SAFER): Define GNULIB_FOPEN_SAFER.
77673
77674         * lib/clean-temp.h (close_stream_temp): New declaration.
77675         * lib/clean-temp.c (includes): Pull in headers according to what
77676         other modules are in use.
77677         (close_stream_temp) [GNULIB_CLOSE_STREAM]: New function.
77678
77679 2006-10-06  Bruno Haible  <bruno@clisp.org>
77680
77681         * lib/javacomp.c (write_temp_file): Use fopen_temp, fwriteerror_temp
77682         instead of fopen, fwriteerror.
77683
77684 2006-10-06  Bruno Haible  <bruno@clisp.org>
77685
77686         * lib/clean-temp.h (cleanup_temp_file, cleanup_temp_subdir,
77687         cleanup_temp_dir_contents, cleanup_temp_dir): Change return type to
77688         int.
77689         * lib/clean-temp.c (do_unlink, do_rmdir, cleanup_temp_file,
77690         cleanup_temp_subdir, cleanup_temp_dir_contents, cleanup_temp_dir):
77691         Return an error indicator.
77692         Suggested by Eric Blake.
77693
77694 2006-10-06  Bruno Haible  <bruno@clisp.org>
77695
77696         * lib/clean-temp.c (PATH_MAX): Provide a fallback for GNU Hurd.
77697         Reported by Eric Blake.
77698
77699 2006-10-06  Bruno Haible  <bruno@clisp.org>
77700
77701         * modules/closeout (Description): Mention stderr too.
77702
77703 2006-10-06  Bruno Haible  <bruno@clisp.org>
77704         and Paul Eggert  <eggert@cs.ucla.edu>
77705
77706         * lib/closeout.c (close_stdout): Also close stderr.
77707         * lib/closeout.h: Update comment.
77708
77709 2006-10-05  Paul Eggert  <eggert@cs.ucla.edu>
77710
77711         Fix some Darwin-7.9.0 porting problems reported by Bruno Haible in
77712         <http://lists.gnu.org/archive/html/bug-coreutils/2006-10/msg00063.html>.
77713         * lib/dirchownmod.c: Include lchown.h.
77714         * lib/lchown.c: Don't include files that lchown.h now includes.
77715         Don't declare chown, since lchown.h now does that.
77716         * lib/lchown.h: Include errno.h, sys/types.h, unistd.h.
77717         (lchown): Define to rpl_chown if lchown is declared but
77718         does not exist.  Declare using a prototype if lchown is not
77719         declared.  Add a copyright notice.
77720         * lib/mkstemp.h: Include <unistd.h>.
77721         * lib/openat.c: Include lchown.h.
77722
77723         * lib/fcntl_.h (O_NOFOLLOW): Don't depend on O_NOFOLLOW_IS_INEFFECTIVE;
77724         we now test for that separately.
77725         * lib/fts.c (fts_safe_changedir): Inspect HAVE_WORKING_O_NOFOLLOW
77726         rather than O_NOFOLLOW, when testing whether it's possible to
77727         avoid a race condition reliably.
77728         * lib/savewd.c (savewd_chdir): Likewise.
77729
77730         Remove macros that are no longer needed now that stdint.h is
77731         reliable.
77732         * lib/fsusage.c (UINTMAX_MAX): Remove.
77733         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Remove.
77734         * lib/utimecmp.c (SIZE_MAX): Remove.
77735
77736         * m4/lchown.m4 (gl_FUNC_LCHOWN): Check whether lchown is declared.
77737
77738         * m4/fcntl_h.m4 (gl_FCNTL_H): Define HAVE_WORKING_O_NOFOLLOW instead
77739         of O_NOFOLLOW_IS_INEFFECTIVE.  Define HAVE_WORKING_O_NOATIME if
77740         O_NOATIME works.
77741
77742 2006-10-05  Bruno Haible  <bruno@clisp.org>
77743
77744         * lib/gl_list.h (gl_sortedlist_search_from_to,
77745         gl_sortedlist_indexof_from_to): New declarations.
77746         (gl_list_implementation): New fields sortedlist_search_from_to,
77747         sortedlist_indexof_from_to.
77748         (gl_sortedlist_search_from_to, gl_sortedlist_indexof_from_to): New
77749         inline functions.
77750         * lib/gl_list.c (gl_sortedlist_search_from_to,
77751         gl_sortedlist_indexof_from_to): New functions.
77752         * lib/gl_array_list.c (gl_array_sortedlist_indexof_from_to): New
77753         function.
77754         (gl_array_sortedlist_indexof, gl_array_sortedlist_search): Use it.
77755         (gl_array_sortedlist_search_from_to): New function.
77756         (gl_array_list_implementation): Update.
77757         * lib/gl_carray_list.c (gl_carray_sortedlist_indexof_from_to): New
77758         function.
77759         (gl_carray_sortedlist_indexof, gl_carray_sortedlist_search): Use it.
77760         (gl_carray_sortedlist_search_from_to): New function.
77761         (gl_carray_list_implementation): Update.
77762         * lib/gl_anylinked_list2.h (gl_linked_sortedlist_search_from_to,
77763         gl_linked_sortedlist_indexof_from_to): New functions.
77764         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77765         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77766         * lib/gl_anytree_list2.h (gl_tree_sortedlist_search_from_to,
77767         gl_tree_sortedlist_indexof_from_to): New functions.
77768         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77769         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77770         Update.
77771         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77772         * lib/gl_rbtreehash_list.c (gl_avltreehash_list_implementation):
77773         Update.
77774
77775 2006-10-05  Bruno Haible  <bruno@clisp.org>
77776
77777         * lib/gl_list.h (gl_list_search_from, gl_list_search_from_to,
77778         gl_list_indexof_from, gl_list_indexof_from_to): New declarations.
77779         (struct gl_list_implementation): Add fields search_from_to,
77780         indexof_from_to. Remove fields search, indexof.
77781         (gl_list_search): Use the search_from_to method.
77782         (gl_list_search_from, gl_list_search_from_to): New functions.
77783         (gl_list_indexof): Use the indexof_from_to method.
77784         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77785         * lib/gl_list.c (gl_list_search): Use the search_from_to method.
77786         (gl_list_search_from, gl_list_search_from_to): New functions.
77787         (gl_list_indexof): Use the indexof_from_to method.
77788         (gl_list_indexof_from, gl_list_indexof_from_to): New functions.
77789         * lib/gl_array_list.c (gl_array_indexof_from_to): Renamed from
77790         gl_array_indexof. Add start_index, end_index arguments.
77791         (gl_array_search_from_to): Renamed from gl_array_search. Add
77792         start_index, end_index arguments.
77793         (gl_array_remove, gl_array_list_implementation): Update.
77794         * lib/gl_carray_list.c (gl_carray_indexof_from_to): Renamed from
77795         gl_carray_indexof. Add start_index, end_index arguments.
77796         (gl_carray_search_from_to): Renamed from gl_carray_search. Add
77797         start_index, end_index arguments.
77798         (gl_carray_remove, gl_carray_list_implementation): Update.
77799         * lib/gl_anylinked_list2.h (gl_linked_search_from_to): Renamed from
77800         gl_linked_search. Add start_index, end_index arguments.
77801         (gl_linked_indexof_from_to): Renamed from gl_linked_indexof. Add
77802         start_index, end_index arguments.
77803         (gl_linked_remove): Update.
77804         * lib/gl_linked_list.c (gl_linked_list_implementation): Update.
77805         * lib/gl_linkedhash_list.c (gl_linkedhash_list_implementation): Update.
77806         * lib/gl_anytree_list1.h (iterstack_item_t): Change type of 'rightp'
77807         field to 'size_t'.
77808         * lib/gl_anytree_list2.h (gl_tree_search_from_to): Renamed from
77809         gl_tree_search. Add start_index, end_index arguments.
77810         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77811         start_index, end_index arguments.
77812         (gl_tree_remove): Update.
77813         * lib/gl_avltree_list.c (gl_avltree_list_implementation): Update.
77814         * lib/gl_rbtree_list.c (gl_rbtree_list_implementation): Update.
77815         * lib/gl_anytreehash_list1.h (compare_position_threshold): New
77816         function.
77817         * lib/gl_anytreehash_list2.h (gl_tree_search_from_to): Renamed from
77818         gl_tree_search. Add start_index, end_index arguments.
77819         (gl_tree_indexof_from_to): Renamed from gl_tree_indexof. Add
77820         start_index, end_index arguments.
77821         * lib/gl_avltreehash_list.c (gl_avltreehash_list_implementation):
77822         Update.
77823         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Update.
77824
77825 2006-10-05  Bruno Haible  <bruno@clisp.org>
77826
77827         * modules/fwriteerror (configure.ac): Define GNULIB_FWRITEERROR.
77828
77829         * lib/clean-temp.h (open_temp, fopen_temp, close_temp, fclose_temp,
77830         fwriteerror_temp): New declarations.
77831         * lib/clean-temp.c (uintptr_t): Provide fallback definition.
77832         (descriptors): New variable.
77833         (cleanup): First, close the descriptors.
77834         (register_fd, unregister_fd, open_temp, fopen_temp, close_temp,
77835         fclose_temp, fwriteerror_temp): New functions.
77836
77837 2006-10-04  Jim Meyering  <jim@meyering.net>
77838
77839         * lib/fts.c (fts_open): Tiny comment change.
77840
77841 2006-10-04  Bruno Haible  <bruno@clisp.org>
77842
77843         Make it possible to invoke AC_GNU_SOURCE after gl_LOCK_EARLY.
77844         * m4/lock.m4 (gl_LOCK_EARLY_BODY): New macro, extracted code from
77845         gl_LOCK_BODY.
77846         (gl_LOCK_EARLY): Require gl_LOCK_EARLY_BODY, not gl_LOCK_BODY.
77847         (gl_LOCK_BODY): Remove settings of CPPFLAGS, now done in
77848         gl_LOCK_EARLY_BODY.
77849         (gl_LOCK): Require gl_LOCK_BODY.
77850
77851 2006-10-04  Bruno Haible  <bruno@clisp.org>
77852
77853         * lib/gl_oset.h (gl_setelement_threshold_fn): New type.
77854         (gl_oset_search_atleast): New declaration.
77855         (struct gl_oset_implementation): Add field 'search_atleast'.
77856         (gl_oset_search_atleast): New inline function.
77857         * lib/gl_oset.c (gl_oset_search_atleast): New function.
77858         * lib/gl_array_oset.c (gl_array_search_atleast): New function.
77859         (gl_array_oset_implementation): Update.
77860         * lib/gl_anytree_oset.h (gl_tree_search_atleast): New function.
77861         * lib/gl_avltree_oset.c (gl_avltree_oset_implementation): Update.
77862         * lib/gl_rbtree_oset.c (gl_rbtree_oset_implementation): Update.
77863
77864 2006-10-04  Bruno Haible  <bruno@clisp.org>
77865
77866         * lib/fatal-signal.c (fatal_signals) [WOE32]: Add the SIGBREAK signal.
77867
77868 2006-10-03  Bruno Haible  <bruno@clisp.org>
77869
77870         * lib/gl_rbtreehash_list.c (gl_rbtreehash_list_implementation): Renamed
77871         from gl_avltreehash_list_implementation.
77872
77873 2006-10-03  Bruno Haible  <bruno@clisp.org>
77874
77875         * lib/gl_oset.c (gl_oset_add): Fix return type.
77876
77877 2006-10-02  Paolo Bonzini  <bonzini@gnu.org>  (tiny change)
77878
77879         * lib/quotearg.c (mbstate_t) [!HAVE_MBRTOWC]: #define to int.
77880
77881 2006-10-02  Eric Blake  <ebb9@byu.net>
77882
77883         * modules/strnlen (Depends-on): Add extensions.
77884
77885 2006-10-02  Eric Blake  <ebb9@byu.net>
77886
77887         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use autoconf's
77888         definition in 2.60+.
77889
77890 2006-10-02  Dmitry V. Levin  <ldv@altlinux.org>
77891
77892         * lib/fts.c (fts_close, fts_build, fts_palloc): Remove redundant
77893         checks.
77894
77895 2006-10-02  Bruno Haible  <bruno@clisp.org>
77896
77897         * gnulib-tool (func_emit_lib_Makefile_am): Don't add no-dependencies
77898         to the AUTOMAKE_OPTIONS.
77899         Reported by Jim Meyering.
77900
77901 2006-09-29  Paul Eggert  <eggert@cs.ucla.edu>
77902
77903         Work around bug in Solaris 10 /proc file system:
77904         /proc/self/fd/NNN/.. isn't the parent directory of
77905         the directory whose file descriptor is NNN.  This needs to
77906         be worked around at run time, not compile time, since a
77907         program might be built on Solaris 8, where things work, and
77908         run on Solaris 10.
77909         * lib/openat-priv.h (BUILD_PROC_NAME): Remove.  All callers changed
77910         to use the following interface instead:
77911         (OPENAT_BUFFER_SIZE): New macro.
77912         (openat_proc_name): New function.
77913         * lib/at-func.c (AT_FUNC_NAME): Adjust to above changes.
77914         * lib/openat.c (openat_permissive, openat_needs_fchdir, fdopendir):
77915         Likewise.
77916         * lib/openat-proc.c: New file.
77917         * modules/openat (Files): Add lib/openat-proc.c.
77918         (Depends-on): Add same-inode, stdbool.
77919         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBOBJ(openat-proc).
77920
77921 2006-09-29  Bruno Haible  <bruno@clisp.org>
77922
77923         * lib/fwriteerror.h (fwriteerror_no_ebadf): New declaration.
77924         * lib/(do_fwriteerror): Renamed from fwriteerror. Add ignore_ebadf
77925         argument. Set stdout_closed before testing for ferror, not after.
77926         (fwriteerror, fwriteerror_no_ebadf): New functions.
77927
77928 2006-09-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
77929
77930         * m4/intmax.m4 (gt_TYPE_INTMAX_T): Avoid unused variables warning.
77931
77932 2006-09-28  Paolo Bonzini  <bonzini@gnu.org>
77933
77934         * lib/poll.c (rpl_poll) [__APPLE__]: Use FIONREAD instead of MSG_PEEK.
77935         * m4/poll.m4: Look for sys/ioctl.h and sys/filio.h.
77936
77937 2006-09-28  Jim Meyering  <jim@meyering.net>
77938
77939         * lib/mkdir-p.c: Include "dirchownmod.h", not "dirchownmod.c".
77940         Include <unistd.h>.
77941
77942 2006-09-28  Bruno Haible  <bruno@clisp.org>
77943
77944         * modules/avltreehash-list (Depends-on): Add stdint, remove size_max.
77945         * modules/linkedhash-list (Depends-on): Likewise.
77946         * modules/rbtreehash-list (Depends-on): Likewise.
77947
77948 2006-09-28  Bruno Haible  <bruno@clisp.org>
77949
77950         * lib/strndup.h: Simplify the redefinition of strndup.
77951         (_GL_CONCAT, _GL_XCONCAT, __STRNDUP_ID): Remove macros.
77952         * m4/strndup.m4 (gl_FUNC_STRNDUP): Don't define __STRNDUP_PREFIX.
77953
77954 2006-09-28  Bruno Haible  <bruno@clisp.org>
77955
77956         * lib/gl_avltreehash_list.c: Include <stdint.h> instead of size_max.h.
77957         * lib/gl_linkedhash_list.c: Likewise.
77958         * lib/gl_rbtreehash_list.c: Likewise.
77959
77960 2006-09-27  Paul Eggert  <eggert@cs.ucla.edu>
77961
77962         * lib/canon-host.c (canon_host_r): Work around bug in Darwin 7.9.0
77963         getaddrinfo.
77964
77965         * lib/__fpending.h: Don't include <stdio_ext.h> unless
77966         HAVE_DECL___FPENDING.  This avoids a bug with lsbcc, where
77967         it causes <stdio_ext.h> to cause a compile-time error.
77968         Problem reported by Nelson H. F. Beebe.
77969         * lib/getpass.c: Likewise, except for HAVE_DECL___FSETLOCKING instead
77970         of HAVE_DECL___PENDING.
77971
77972         * m4/fpending.m4 (gl_FUNC_FPENDING): Check for stdio_ext at most once.
77973         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for __fsetlocking's
77974         declaration.
77975
77976 2006-09-27  Jim Meyering  <jim@meyering.net>
77977
77978         This file could end up with a definition for a function
77979         named __strndup, rather than rpl_strndup on a system with
77980         incomplete weak_alias support.
77981         * lib/strndup.c (strndup): Rename from __strndup.
77982         Remove #defines that used to map __strndup to strndup.
77983         Don't use K&R prototypes.
77984         Remove LIBC-related code, since this file is not sync'd with glibc.
77985         * lib/strndup.h: Revamp, accordingly.
77986         * m4/strndup.m4: Modernize.
77987
77988 2006-09-26  Paul Eggert  <eggert@cs.ucla.edu>
77989
77990         * modules/savewd (Depends-on): Add 'raise'.
77991         * lib/savewd.c: Include <signal.h>, for 'raise'.
77992
77993 2006-09-26  Jim Meyering  <jim@meyering.net>
77994
77995         * m4/acl.m4 (AC_FUNC_ACL): Disable ACL support altogether
77996         when we detect Darwin 8.7.0's acl_get_file bug.
77997         Rearrange to perform the new (below) run-test while $LIBS
77998         contains any acl-related library.  Set USE_ACL at the end.
77999         (gl_ACL_GET_FILE): New function.
78000
78001 2006-09-26  Eric Blake  <ebb9@byu.net>
78002
78003         * lib/verror.c: Include <config.h> unconditionally.
78004
78005 2006-09-25  Paul Eggert  <eggert@cs.ucla.edu>
78006
78007         * modules/clock-time (Maintainer): Add self.
78008         * modules/getlogin_r (Depends-on): Add extensions.
78009
78010 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78011
78012         * modules/clock-time: New module.
78013         * modules/nanosleep (Depends-on): Add clock-time.
78014         * modules/gethrxtime (Depends-on): Likewise.
78015         * modules/gettime (Depends-on): Likewise.
78016         * modules/settime (Depends-on): Likewise.
78017
78018         * modules/fts-lgpl: Depend on openat.
78019         * modules/mkancesdirs: Depend on savewd.
78020         * modules/mkdir-p: Likewise.
78021
78022 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78023
78024         * m4/host-os.m4 (gl_HOST_OS): Require AC_CANONICAL_HOST.
78025
78026         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Rename cache variable from
78027         `gl_have_arbitrary_file_name_length_limit' to
78028         `gl_cv_have_arbitrary_file_name_length_limit', so that caching
78029         actually works between configure runs.
78030
78031 2006-09-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78032             Bruno Haible  <bruno@clisp.org>
78033
78034         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Include <string.h>.
78035
78036 2006-09-25  Jim Meyering  <jim@meyering.net>
78037
78038         * m4/fcntl_h.m4 (gl_FCNTL_H): Fix typo in test for failed open.
78039         This typo caused coreutils/tests/dd/misc to fail on Darwin 8.7.0.
78040
78041 2006-09-25  Eric Blake  <ebb9@byu.net>
78042
78043         * gnulib-tool (func_import, func_create_testdir): Fix typos in
78044         exec's in 2006-09-18 patch when shuffling fds.
78045
78046 2006-09-25  Bruno Haible  <bruno@clisp.org>
78047
78048         * m4/getloadavg.m4 (gl_GETLOADAVG): Fix directory in error message.
78049         Reported by Jim Meyering.
78050
78051 2006-09-24  Jim Meyering  <jim@meyering.net>
78052
78053         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Don't use '>' to
78054         compare a pointer against a literal "0".  That caused failures with
78055         at least HP-UX's hpcc.
78056
78057 2006-09-22  Simon Josefsson  <jas@extundo.com>
78058
78059         * modules/gc-sha1:
78060         * modules/gc-md4:
78061         * modules/gc-hmac-sha1:
78062         * modules/gc-hmac-md5:
78063         * modules/gc-des:
78064         * modules/gc-arcfour: Distribute more files.
78065
78066 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78067
78068         * lib/gl_anylinked_list2.h [lint] (gl_linked_iterator)
78069         (gl_linked_iterator_from_to): Initialize struct completely.
78070         * lib/gl_anytree_list2.h [lint] (gl_tree_iterator): Likewise.
78071         (gl_tree_iterator_from_to): Likewise
78072         * lib/gl_anytree_oset.h [lint] (gl_tree_iterator): Likewise.
78073         * lib/gl_array_list.c [lint] (gl_array_iterator)
78074         (gl_array_iterator_from_to): Likewise.
78075         * lib/gl_array_oset.c [lint] (gl_array_iterator): Likewise.
78076         * lib/gl_carray_list.c [lint] (gl_carray_iterator)
78077         (gl_carray_iterator_from_to): Likewise.
78078
78079         * lib/gc-gnulib.c [GC_USE_HMAC_SHA1]: include hmac.h for hmac_sha1.
78080         * lib/md4.c (md4_process_block): Remove unused variable.
78081         * lib/rijndael-api-fst.c (rijndaelBlockDecrypt): GCC suggests
78082         parentheses for clarity.
78083
78084 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78085
78086         * modules/bison-i18n (Depends-on): Add gettext.
78087
78088 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78089
78090         * m4/fsusage.m4 (gl_STATFS_TRUNCATES): Avoid unused variable.
78091         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): Likewise.
78092         * m4/jm-winsz1.m4 (gl_HEADER_TIOCGWINSZ_IN_TERMIOS_H): Likewise;
78093         also add missing comma that caused broken test.
78094         * m4/link-follow.m4 (gl_AC_FUNC_LINK_FOLLOWS_SYMLINK): Include
78095         stdlib.h, for `abort'.
78096         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Avoid unused
78097         variables.
78098         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Check for and
78099         include unistd.h if present, for `rmdir'.
78100         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): Avoid unused
78101         variables.
78102         * m4/putenv.m4 (gl_FUNC_PUTENV): Rewrite using AC_RUN_IFELSE, and
78103         in the process include standard headers for prototypes.
78104         * m4/readutmp.m4 (gl_READUTMP): Require AC_GNU_SOURCE, so utmpxname
78105         gets declared on GNU/Linux.
78106         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Check for and include
78107         unistd.h, for `rmdir'.
78108         * m4/time_r.m4 (gl_TIME_R): Avoid unused variables.
78109
78110         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Avoid expression that is
78111         always true.
78112         * m4/strndup.m4 (gl_FUNC_STRNDUP): include stdlib.h, for `free'.
78113
78114         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Avoid gcc -Wall warnings.
78115
78116 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78117
78118         * gnulib-tool (func_version): Create output all at once.  This
78119         may help avoid triggering unnecessary SIGPIPEs, and at any
78120         rate it doesn't hurt.
78121
78122 2006-09-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78123             Bruno Haible  <bruno@clisp.org>
78124
78125         * m4/lock.m4 (gl_LOCK_BODY): Avoid unused variables warning.
78126         * m4/mbswidth.m4 (gl_MBSWIDTH): Likewise.
78127         * m4/signed.m4 (bh_C_SIGNED): Likewise.
78128
78129         * m4/vasprintf.m4 (gl_PREREQ_VASPRINTF_H): New macro.
78130         (gl_FUNC_VASPRINTF): Invoke it.
78131
78132 2006-09-22  Bruno Haible  <bruno@clisp.org>
78133
78134         * m4/getloadavg.m4 (gl_GETLOADAVG): Expect the directory of
78135         getloadavg.c as first argument.
78136
78137 2006-09-22  Bruno Haible  <bruno@clisp.org>
78138
78139         * gnulib-tool (func_import, func_create_testdir): Set gl_source_base
78140         at the beginning of the gl_INIT macro.
78141         * modules/getloadavg (configure.ac): Pass $gl_source_base to
78142         gl_GETLOADAVG.
78143
78144 2006-09-22  Bruno Haible  <bruno@clisp.org>
78145
78146         * gnulib-tool (func_create_megatestdir): Don't include the config-h
78147         module.
78148         Suggested by Ralf Wildenhues.
78149
78150 2006-09-20  Paul Eggert  <eggert@cs.ucla.edu>
78151
78152         Import this patch from libc:
78153
78154         2006-09-06  Jakub Jelinek  <jakub@redhat.com>
78155
78156         * lib/regex_internal.c (re_string_reconstruct): Handle
78157         offset < pstr->valid_raw_len && pstr->offsets_needed case.
78158         Ensure no bytes read before raw_mbs array.  Pass a saved copy of
78159         pstr->valid_len - 1 rather than pstr->valid_raw_len - 1 to
78160         re_string_context_at.
78161
78162         * m4/regex.m4 (gl_REGEX): Check for locale.h, since the test
78163         now requires it.
78164         (gl_PREREQ_REGEX): Don't check for locale.h any more, since
78165         gl_REGEX now does it for us.
78166         (gl_REGEX): Add test taken from
78167         http://sourceware.org/ml/libc-hacker/2006-09/msg00008.html.
78168
78169         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Require AC_SYS_LARGEFILE.
78170         Check that large offsets work.  Modernize Autoconf usages.
78171         Prefer "yes" to mean a good thing rather than a bad.
78172         Don't put "#define mkstemp" in config.h, as this might interfere
78173         with standard system headers that "#define mkstemp mkstemp64".
78174
78175         * modules/mkstemp (Depends-on): Add extensions, so that
78176         mkstemp is visible on some platforms.
78177         (Makefile.am): Add mkstemp.h to EXTRA_DIST.
78178         (Include): Change to "mkstemp.h" from <stdlib.h>.
78179         (Files): Add mkstemp.h.
78180
78181         * lib/mkstemp.h: New file, since some standard headers
78182         #define mkstemp.
78183         * lib/mkstemp.c: Revamp to put the !_LIBC code together.
78184         Include "mkstemp.h".
78185         Make the _LIBC code resemble glibc original more,
78186         e.g., use K&R style.
78187         * lib/mkstemp-safer.c: Include "mkstemp.h" instead of <stdlib.h>.
78188         (mkstemp): Remove, since mkstemp.h does this for us.
78189         * lib/stdlib--.h: Include mkstemp.h.
78190
78191         Import this patch from libc:
78192
78193         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
78194
78195         * lib/tempname.c (__gen_tempname): Change attempts_min
78196         into a macro.  Use preprocessor to decide how to initialize
78197         attempts [Coverity CID 67].
78198
78199 2006-09-20  Bruno Haible  <bruno@clisp.org>
78200
78201         * lib/mkdtemp.c: Import from libc.
78202         2006-04-07  Ulrich Drepper  <drepper@redhat.com>
78203                 * sysdeps/posix/tempname.c (__gen_tempname): Change
78204                 attempts_min into a macro.  Use preprocessor to decide how to
78205                 initialize attempts [Coverity CID 67].
78206         2001-11-27  Paul Eggert  <eggert@twinsun.com>
78207                 * sysdeps/posix/tempname.c (__gen_tempname): Try at least
78208                 ATTEMPTS_MIN or TMP_MAX times, whichever is greater.
78209
78210 2006-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78211
78212         * gnulib-tool (func_exit): New function, to allow to pass the
78213         exit status portably through the trap.  Use everywhere.
78214         (--help, --version): Signal a write error.
78215         (trap): catch SIGPIPE, for write errors.
78216         Exit at the end of the trap, with the correct exit status.
78217
78218 2006-09-19  Karl Berry  <karl@gnu.org>
78219
78220         * doc/gnulib.texi: note about the license texinfo files.
78221
78222 2006-09-19  Eric Blake  <ebb9@byu.net>
78223
78224         * gnulib-tool: Avoid space-tab.
78225
78226 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
78227
78228         * lib/getaddrinfo.c (getaddrinfo) [defined HAVE_IPV6]: Fix typo
78229         that prevented coreutils 6.1 from building.  Problem reported
78230         by Petter Reinholdtsen.
78231
78232 2006-09-18  Paul Eggert  <eggert@cs.ucla.edu>
78233
78234         * gnulib-tool (avoidlist): Fix typo that broke options like
78235         --avoid=lock that are used by coreutils bootstrap.
78236
78237 2006-09-18  Mark D. Baushke  <mdb@gnu.org>
78238
78239         * m4/inttypes.m4 (gl_INTTYPES_H): Quote "test" args
78240         more systematically.
78241
78242 2006-09-18  Jim Meyering  <jim@meyering.net>
78243
78244         * lib/savewd.c (savewd_restore): Don't shadow: s/status/child_status/.
78245
78246 2006-09-18  Bruno Haible  <bruno@clisp.org>
78247
78248         * modules/inttypes (Files): Remove m4/inttypes-h.m4.
78249
78250 2006-09-18  Bruno Haible  <bruno@clisp.org>
78251
78252         * m4/inttypes-h.m4 (gl_HEADER_INTTYPES_H): Remove macro.
78253         * m4/inttypes-pri.m4: Require autoconf >= 2.52.
78254         (gt_INTTYPES_PRI): Invoke AC_CHECK_HEADERS on inttypes.h. Test
78255         ac_cv_header_inttypes_h instead of gl_cv_header_inttypes_h.
78256         * m4/gettext.m4: Require autoconf >= 2.52.
78257         (gt_INTL_SUBDIR_CORE): Invoke AC_CHECK_HEADERS on inttypes.h.
78258         * m4/inttypes.m4 (gl_INTTYPES_H): Test ac_cv_header_inttypes_h instead
78259         of gl_cv_header_inttypes_h.
78260
78261 2006-09-18  Bruno Haible  <bruno@clisp.org>
78262
78263         * lib/javaversion.c: Include configmake.h.
78264
78265 2006-09-18  Bruno Haible  <bruno@clisp.org>
78266
78267         * gnulib-tool (func_import, func_create_testdir): Use exec tricks to
78268         avoid that the while loops be executed in a subshell.
78269
78270 2006-09-18  Bruno Haible  <bruno@clisp.org>
78271
78272         * MODULES.html.sh (func_module): Break long lines.
78273         Suggested by Bruce Korb <bkorb@gnu.org>.
78274
78275 2006-09-17  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78276
78277         Speed up by a factor of 1.12.
78278         * gnulib-tool (nl): New variable.
78279         (func_import): Rewrite include directive extraction to only read each
78280         directive once.
78281
78282 2006-09-17  Bruno Haible  <bruno@clisp.org>
78283
78284         * modules/javaversion (Makefile.am): Remove DEFS setting.
78285         (Depends-on): Add configmake, for PKGDATADIR definition.
78286
78287 2006-09-17  Bruno Haible  <bruno@clisp.org>
78288
78289         * gnulib-tool (func_create_testdir): Rewrite all files at once.
78290
78291 2006-09-17  Bruno Haible  <bruno@clisp.org>
78292
78293         * gnulib-tool (func_append): New function, stolen from libtool.m4.
78294         (func_modules_transitive_closure, func_modules_add_dummy,
78295         func_modules_to_filelist, func_import, func_create_testdir,
78296         func_create_megatestdir, ...): Use it wherever possible.
78297         Suggested by Ralf Wildenhues.
78298
78299 2006-09-16  Karl Berry  <karl@gnu.org>
78300
78301         * doc/fdl.texi (ADDENDUM): switch to @heading from @appendixsubsec,
78302         to avoid sectioning errors.
78303         * doc/lgpl.texi, gpl.texi (Copying): downcase @unnumbered title.
78304         [ifinfo]: blank line after @center-ed titles.
78305         * doc/lgpl.texi (Library Copying): Rename main node to GNU LGPL.
78306         Spell FSF address consistently with others.
78307         (These changes approved by rms.)
78308
78309 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78310
78311         Speed up by a factor of 1.61.
78312         * gnulib-tool (func_modules_transitive_closure): Rewrite to not check
78313         already checked module names again.
78314
78315 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78316
78317         Speed up by a factor of 1.13.
78318         * gnulib-tool (func_import): Rewrite all old_files at once; likewise
78319         for new_files, and the input to func_add_or_update.
78320
78321 2006-09-15  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78322
78323         * gnulib-tool (func_all_modules, func_modules_to_filelist, func_import,
78324         func_create_testdir, ...): Change 'sort | uniq' to 'sort -u'.
78325
78326 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78327
78328         * modules/mkancesdirs (Depends-on): Add fcntl.
78329         * modules/savewd: New file.
78330         * MODULES.html.sh (File system functions): Add savewd.
78331
78332         * modules/configmake (Makefile.am): Add support for the
78333         Automake-supplied PKGLIBDIR, PKGINCLUDEDIR, PKGDATADIR.
78334
78335 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78336
78337         * m4/savewd.m4: New file.
78338
78339 2006-09-15  Paul Eggert  <eggert@cs.ucla.edu>
78340
78341         * lib/dirchownmod.c: Don't include fcntl.h; no longer needed.
78342         (dirchownmod): New arg FD.  All callers changed.
78343         Use FD rather than opening the directory ourself, as opening is
78344         now the caller's responsibility.
78345         * lib/dirchownmod.h: Likewise.
78346         * lib/mkancesdirs.c: Include <sys/types.h>, for portability to older
78347         hosts that require <sys/types.h> before <sys/stat.h>.  Include
78348         fcntl.h, savewd.h, and unistd.h, not dirname.h and stat-macros.h.
78349         (test_dir): Remove.
78350         (mkancesdirs): Return length of prefix of FILE that has already
78351         been made, or -2 if there is a child doing the work.  Redo
78352         algorithm so that it is O(N) rather than O(N**2).  Optimize away
78353         ".", and treat ".." specially since it might stray back into
78354         already-created areas.  Use a subprocess if necessary.  New arg
78355         WD; all users changed.  MAKE_DIR function should now return 1
78356         if it creates a directory that is not readable.  Return -2 if
78357         a child process is spun off.
78358         * lib/mkancesdirs.h: Include <stddef.h>, for ptrdiff_t.
78359         Adjust signature to match code.
78360         * lib/mkdir-p.c: Include dirname.h, for IS_ABSOLUTE_FILE_NAME.
78361         (make_dir_parents): Use a subprocess if necessary.  New arg WD;
78362         all users changed.
78363         * lib/savewd.c, lib/savewd.h: New files.
78364
78365 2006-09-15  Jim Meyering  <jim@meyering.net>
78366
78367         * modules/rename-dest-slash: New module.
78368         * MODULES.html.sh (posix_compat): Add it here.
78369
78370         * modules/rename: Reflect vb_FUNC_RENAME -> gl_FUNC_RENAME change.
78371
78372 2006-09-15  Jim Meyering  <jim@meyering.net>
78373
78374         * m4/rename-dest-slash.m4 (gl_FUNC_RENAME_TRAILING_DEST_SLASH): New
78375         file.
78376
78377         * m4/rename.m4 (gl_FUNC_RENAME): Rename from vb_FUNC_RENAME.
78378
78379 2006-09-15  Jim Meyering  <jim@meyering.net>
78380
78381         * lib/rename-dest-slash.c (has_trailing_slash): Use
78382         FILE_SYSTEM_PREFIX_LEN, for non-POSIX systems.
78383         (rpl_rename_dest_slash): Perform the cheaper trailing slash
78384         test before testing whether SRC is a directory.
78385         Suggestions from Bruno Haible.
78386
78387         Avoid a warning about an unused variable.
78388         * lib/regex_internal.c (re_dfa_add_node): Move declaration of "type"
78389         into the #ifdef block where it's used.
78390
78391         * lib/rename-dest-slash.c: New file.
78392
78393 2006-09-14  Bruno Haible  <bruno@clisp.org>
78394
78395         * lib/allocsa.c: Include <config.h> unconditionally.
78396         * lib/asnprintf.c: Likewise.
78397         * lib/asprintf.c: Likewise.
78398         * lib/c-strcasecmp.c: Likewise.
78399         * lib/c-strcasestr.c: Likewise.
78400         * lib/c-strncasecmp.c: Likewise.
78401         * lib/c-strstr.c: Likewise.
78402         * lib/classpath.c: Likewise.
78403         * lib/clean-temp.c: Likewise.
78404         * lib/concatpath.c: Likewise.
78405         * lib/copy-file.c: Likewise.
78406         * lib/csharpcomp.c: Likewise.
78407         * lib/csharpexec.c: Likewise.
78408         * lib/execute.c: Likewise.
78409         * lib/fatal-signal.c: Likewise.
78410         * lib/findprog.c: Likewise.
78411         * lib/fwriteerror.c: Likewise.
78412         * lib/gl_array_list.c: Likewise.
78413         * lib/gl_array_oset.c: Likewise.
78414         * lib/gl_avltree_list.c: Likewise.
78415         * lib/gl_avltree_oset.c: Likewise.
78416         * lib/gl_avltreehash_list.c: Likewise.
78417         * lib/gl_carray_list.c: Likewise.
78418         * lib/gl_linked_list.c: Likewise.
78419         * lib/gl_linkedhash_list.c: Likewise.
78420         * lib/gl_list.c: Likewise.
78421         * lib/gl_oset.c: Likewise.
78422         * lib/gl_rbtree_list.c: Likewise.
78423         * lib/gl_rbtree_oset.c: Likewise.
78424         * lib/gl_rbtreehash_list.c: Likewise.
78425         * lib/imaxabs.c: Likewise.
78426         * lib/imaxdiv.c: Likewise.
78427         * lib/javacomp.c: Likewise.
78428         * lib/javaexec.c: Likewise.
78429         * lib/javaversion.c: Likewise.
78430         * lib/linebreak.c: Likewise.
78431         * lib/localcharset.c: Likewise.
78432         * lib/lock.c: Likewise.
78433         * lib/mbchar.c: Likewise.
78434         * lib/mbswidth.c: Likewise.
78435         * lib/mkdtemp.c: Likewise.
78436         * lib/pipe.c: Likewise.
78437         * lib/printf-args.c: Likewise.
78438         * lib/printf-parse.c: Likewise.
78439         * lib/progname.c: Likewise.
78440         * lib/progreloc.c: Likewise.
78441         * lib/readlink.c: Likewise.
78442         * lib/sh-quote.c: Likewise.
78443         * lib/stpcpy.c: Likewise.
78444         * lib/stpncpy.c: Likewise.
78445         * lib/strcasecmp.c: Likewise.
78446         * lib/strcasestr.c: Likewise.
78447         * lib/strcspn.c: Likewise.
78448         * lib/striconv.c: Likewise.
78449         * lib/strncasecmp.c: Likewise.
78450         * lib/strnlen1.c: Likewise.
78451         * lib/strstr.c: Likewise.
78452         * lib/strtok_r.c: Likewise.
78453         * lib/tls.c: Likewise.
78454         * lib/tmpdir.c: Likewise.
78455         * lib/unicodeio.c: Likewise.
78456         * lib/unsetenv.c: Likewise.
78457         * lib/vasnprintf.c: Likewise.
78458         * lib/vasprintf.c: Likewise.
78459         * lib/wait-process.c: Likewise.
78460         * lib/xallocsa.c: Likewise.
78461         * lib/xsetenv.c: Likewise.
78462         * lib/xstriconv.c: Likewise.
78463
78464 2006-09-13  Simon Josefsson  <jas@extundo.com>
78465
78466         * m4/getdate.m4: Don't AC_LIBOBJ([getdate]), automake takes care of
78467         that internally, suggested by Ralf Wildenhues
78468         <Ralf.Wildenhues@gmx.de>.
78469
78470 2006-09-13  Simon Josefsson  <jas@extundo.com>
78471
78472         * gnulib-tool (func_emit_lib_Makefile_am): Use $(LIBOBJS), not
78473         @LIBOBJS@.
78474         Suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
78475
78476 2006-09-13  Paul Eggert  <eggert@cs.ucla.edu>
78477
78478         * lib/_fpending.c: Include <config.h> unconditionally, since we no
78479         longer worry about uses that don't define HAVE_CONFIG_H.
78480         * lib/acl.c, lib/alloca.c, lib/argmatch.c, lib/atexit.c:
78481         * lib/backupfile.c, lib/basename.c, lib/c-stack.c, lib/c-strtod.c:
78482         * lib/calloc.c,lib/ canon-host.c, lib/canonicalize.c, lib/chdir-long.c:
78483         * lib/chdir-safer.c, lib/chown.c, lib/cloexec.c, lib/close-stream.c:
78484         * lib/closeout.c, lib/creat-safer.c, lib/cycle-check.c, lib/diacrit.c:
78485         * lib/dirchownmod.c, lib/dirfd.c, lib/dirname.c, lib/dup-safer.c:
78486         * lib/dup2.c, lib/error.c, lib/euidaccess.c, lib/exclude.c:
78487         * lib/exitfail.c, lib/fchmodat.c, lib/fchown-stub.c, lib/fd-safer.c:
78488         * lib/file-type.c, lib/fileblocks.c, lib/filemode.c, lib/filenamecat.c:
78489         * lib/fnmatch.c, lib/fopen-safer.c, lib/fprintftime.c, lib/free.c:
78490         * lib/fsusage.c, lib/ftruncate.c, lib/fts-cycle.c, lib/fts.c:
78491         * lib/full-write.c, lib/gai_strerror.c, lib/getcwd.c, lib/getdate.y:
78492         * lib/getdomainname.c, lib/getgroups.c, lib/gethostname.c:
78493         * lib/gethrxtime.c, lib/getloadavg.c, lib/getlogin_r.c:
78494         * lib/getndelim2.c, lib/getnline.c, lib/getopt.c, lib/getopt1.c:
78495         * lib/getpass.c, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c:
78496         * lib/getusershell.c, lib/glob.c, lib/group-member.c:
78497         * lib/hard-locale.c, lib/hash-pjw.c, lib/hash.c, lib/human.c:
78498         * lib/idcache.c, lib/inet_ntop.c, lib/inet_pton.c, lib/inttostr.c:
78499         * lib/isdir.c, lib/lchown.c, lib/linebuffer.c, lib/long-options.c:
78500         * lib/lstat.c, lib/malloc.c, lib/md5.c, lib/memcasecmp.c, lib/memchr.c:
78501         * lib/memcmp.c, lib/memcoll.c, lib/memcpy.c, lib/memmove.c:
78502         * lib/memrchr.c, lib/mkancesdirs.c, lib/mkdir-p.c, lib/mkdir.c:
78503         * lib/mkdirat.c, lib/mkstemp-safer.c, lib/mkstemp.c, lib/modechange.c:
78504         * lib/mountlist.c, lib/nanosleep.c, lib/obstack.c, lib/open-safer.c:
78505         * lib/openat-die.c, lib/openat.c, lib/pagealign_alloc.c, lib/physmem.c:
78506         * lib/pipe-safer.c, lib/posixtm.c, lib/posixver.c, lib/putenv.c:
78507         * lib/quote.c, lib/quotearg.c, lib/raise.c, lib/readtokens.c:
78508         * lib/readtokens0.c, lib/readutmp.c, lib/realloc.c, lib/regex.c:
78509         * lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c:
78510         * lib/same.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c:
78511         * lib/settime.c, lib/sha1.c, lib/sig2str.c, lib/snprintf.c:
78512         * lib/strdup.c, lib/strerror.c, lib/strftime.c, lib/stripslash.c:
78513         * lib/strndup.c, lib/strnlen.c, lib/strpbrk.c, lib/strtod.c:
78514         * lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c:
78515         * lib/time_r.c, lib/timegm.c, lib/tmpfile-safer.c, lib/unlinkdir.c:
78516         * lib/userspec.c, lib/utime.c, lib/utimecmp.c, lib/utimens.c:
78517         * lib/version-etc-fsf.c, lib/version-etc.c, lib/xalloc-die.c:
78518         * lib/xgetcwd.c, lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c:
78519         * lib/xnanosleep.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtoimax.c:
78520         * lib/xstrtol.c, lib/xstrtoumax.c, lib/yesno.c:
78521         Likewise.
78522
78523 2006-09-13  Eric Blake  <ebb9@byu.net>
78524
78525         * lib/getopt.c: Fix typo in last commit.
78526
78527 2006-09-12  Sergey Poznyakoff  <gray@gnu.org.ua>
78528
78529         * lib/argp-help.c (argp_doc): Make sure NULL is not passed to
78530         dgettext.
78531
78532 2006-09-12  Jim Meyering  <jim@meyering.net>
78533
78534         * lib/nanosleep.c: Include <sys/types.h> before sys/select.h, to avoid
78535         compilation failure (due to use of pid_t in latter) on NetBSD 1.6.
78536         Reported by Nelson H. F. Beebe.
78537
78538 2006-09-10  Sergey Poznyakoff  <gray@gnu.org.ua>
78539
78540         * lib/argp-parse.c (__argp_parse) [!_LIBC]: Make sure
78541         program_invocation_name and program_invocation_short_name are
78542         initialized.
78543         * lib/argp-namefrob.h: Move declarations of program_invocation_name
78544         and program_invocation_short_name to argp.h, so they are visible
78545         to user programs.
78546         * lib/argp.h: Likewise
78547
78548 2006-09-10  Bruno Haible  <bruno@clisp.org>
78549
78550         * modules/mkdtemp (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
78551         m4/inttypes_h.m4, m4/uintmax_t.m4.
78552
78553 2006-09-10  Bruno Haible  <bruno@clisp.org>
78554
78555         * m4/mkdtemp.m4 (gl_PREREQ_MKDTEMP): Don't require
78556         gl_AC_TYPE_UINTMAX_T.
78557
78558 2006-09-10  Bruno Haible  <bruno@clisp.org>
78559
78560         * lib/mkdtemp.c: Include <stdint.h> always. Don't include <inttypes.h>.
78561
78562 2006-09-09  Sergey Poznyakoff  <gray@gnu.org.ua>
78563
78564         * lib/argp.h (struct argp): Document the N_("..") "\v" N_("..")
78565         convention.  Text proposed by Bruno Haible.
78566         (struct argp_option): Document the use of N_() wrappers.
78567
78568         * lib/argp-help.c (argp_doc): Split the untranslated doc string on
78569         '\v', and translate the two parts separately, instead of feeding
78570         the whole string to gettext.  This allows to exclude
78571         '\v' from the strings visible to the translator by writing doc
78572         strings as N_("..") "\v" N_("..").
78573
78574 2006-09-09  Paul Eggert  <eggert@cs.ucla.edu>
78575
78576         * config/srclist.txt: Undo latest change; the bug was fixed.
78577
78578 2006-09-09  Bruno Haible  <bruno@clisp.org>
78579
78580         * gnulib-tool (func_emit_lib_Makefile_am): Eliminate lib_LDFLAGS
78581         assignments if building a library without libtool.
78582         (func_emit_tests_Makefile_am): Likewise. Handle lib_* variables as
78583         in func_emit_lib_Makefile_am.
78584         (func_import): When building a static library libfoo.a, arrange to
78585         define variables LIBFOO_LIBDEPS and LIBFOO_LTLIBDEPS.
78586         (func_create_testdir): Likewise.
78587         * modules/gc (configure.ac, Makefile.am): If building statically,
78588         augment gl_libdeps and gl_ltlibdeps instead of lib_LDFLAGS.
78589         * modules/iconvme (configure.ac, Makefile.am): Likewise.
78590         * modules/striconv (configure.ac, Makefile.am): Likewise.
78591         Based on a suggestion by Ralf Wildenhues.
78592
78593 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78594
78595         * m4/mktime.m4 (AC_FUNC_MKTIME): Sync from Autoconf.
78596         Check for unistd.h too, since Autoconf doesn't assume POSIX.
78597         Also:
78598
78599         2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78600         Add year_2050_test to catch glibc bug 2821
78601         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78602
78603         2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
78604         Prefer #ifdef to #if.
78605
78606         2006-04-02  Paul Eggert  <eggert@cs.ucla.edu>
78607         Return from 'main' instead of calling 'exit'.
78608
78609 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78610
78611         * lib/mktime.c (guess_time_tm): Fix bug where mktime
78612         returned the maximum time_t value rather than (time_t) -1.
78613         Problem originally reported by William Bardwell
78614         <http://sourceware.org/bugzilla/show_bug.cgi?id=2821>.
78615
78616         * lib/isapipe.h (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78617         Moved to here ...
78618         * lib/isapipe.c (HAVE_FIFO_PIPES) [!defined HAVE_FIFO_PIPES]:
78619         ... from here.
78620
78621 2006-09-08  Paul Eggert  <eggert@cs.ucla.edu>
78622
78623         * config/srclist.txt: Temporarily comment out mktime.c until glibc bug
78624         2821 is fixed.
78625
78626 2006-09-08  Jim Meyering  <jim@meyering.net>
78627
78628         Don't make generated files read-only.  That would bother too many
78629         people.  However, do retain the ability to work when targets are
78630         read-only: remove the destination and temporary files before writing
78631         them (when generated via sed or echo), or by using the -f option for
78632         both cp and mv commands.  Suggestion to use -f from Paul Eggert.
78633         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78634         * modules/byteswap, modules/configmake, modules/fcntl:
78635         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78636         * modules/localcharset, modules/netinet_in, modules/poll:
78637         * modules/stdbool, modules/stdint, modules/sys_select:
78638         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78639
78640 2006-09-08  Jim Meyering  <jim@meyering.net>
78641
78642         Avoid new build failure on FreeBSD 6.0.
78643         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Include
78644         <sys/param.h> when testing whether getmntinfo uses statvfs.  Patch by
78645         Pavel Tsekov, in <http://savannah.gnu.org/bugs/?17643>.
78646
78647 2006-09-07  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78648
78649         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't use plain echo.
78650
78651 2006-09-07  Jim Meyering  <jim@meyering.net>
78652
78653         Fix global typo in last change: use chmod u-w, not chmod u-x.
78654         Spotted by Paul Eggert and Bruce Korb.
78655         * modules/alloca-opt, modules/argz, modules/arpa_inet:
78656         * modules/byteswap, modules/configmake, modules/fcntl:
78657         * modules/fnmatch, modules/getopt, modules/glob, modules/inttypes:
78658         * modules/localcharset, modules/netinet_in, modules/poll:
78659         * modules/stdbool, modules/stdint, modules/sys_select:
78660         * modules/sys_socket, modules/sys_stat, modules/sysexits:
78661
78662 2006-09-06  Jim Meyering  <jim@meyering.net>
78663
78664         Make generated files be read-only.
78665         * modules/alloca-opt (Makefile.am): Work also when $@ is read-only.
78666         Ensure that each generated file is now read-only.
78667         * modules/argz: Likewise.
78668         * modules/arpa_inet: Likewise.
78669         * modules/byteswap: Likewise.
78670         * modules/configmake: Likewise.
78671         * modules/fcntl: Likewise.
78672         * modules/fnmatch: Likewise.
78673         * modules/getopt: Likewise.
78674         * modules/glob: Likewise.
78675         * modules/inttypes: Likewise.
78676         * modules/netinet_in: Likewise.
78677         * modules/poll: Likewise.
78678         * modules/stdbool: Likewise.
78679         * modules/stdint: Likewise.
78680         * modules/sys_select: Likewise.
78681         * modules/sys_socket: Likewise.
78682         * modules/sys_stat: Likewise.
78683         * modules/sysexits: Likewise.
78684         * modules/localcharset: Same as above, but continue using temporary
78685         file named "t-$@" (why different?) rather than the "$@-t" used
78686         everywhere else.
78687
78688         * modules/sysexits (Makefile.am): Replace literal occurrences
78689         of "sysexit.h" more readable, and more consistent, "$@".
78690
78691 2006-09-06  Bruno Haible  <bruno@clisp.org>
78692
78693         * modules/striconv: New file.
78694         * modules/xstriconv: New file.
78695         * MODULES.html.sh (Internationalization functions): Add striconv,
78696         xstriconv.
78697
78698 2006-09-06  Bruno Haible  <bruno@clisp.org>
78699
78700         * modules/gc (Makefile.am): Augment lib_LDFLAGS, not lib_LIBADD.
78701         * modules/iconvme (Makefile.am): Likewise. Also handle the case of
78702         not using libtool correctly.
78703
78704 2006-09-06  Bruno Haible  <bruno@clisp.org>
78705
78706         * lib/striconv.h: New file.
78707         * lib/striconv.c: New file, merging iconvme.c with GNU gettext's
78708         iconvstring.c.
78709         * lib/xstriconv.h: New file.
78710         * lib/xstriconv.c: New file.
78711
78712 2006-09-06  Bruno Haible  <bruno@clisp.org>
78713
78714         * gnulib-tool (func_emit_lib_Makefile_am): Initialize also
78715         lib_..._LDFLAGS.
78716
78717 2006-09-05  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78718
78719         * lib/argz_.h: Sync from Libtool.
78720
78721         2006-09-04  George Bosilca <bosilca@cs.utk.edu>
78722                 and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
78723
78724         * lib/libltdl/argz_.h: It's __cplusplus, not _cplusplus.
78725
78726 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78727
78728         * modules/trim: New file.
78729
78730 2006-09-05  Davide Angelocola  <davide.angelocola@tiscali.it>
78731
78732         * lib/trim.h: New file.
78733         * lib/trim.c: New file.
78734
78735 2006-09-05  Bruno Haible  <bruno@clisp.org>
78736
78737         * MODULES.html.sh (String handling): Add trim.
78738
78739 2006-09-04  Karl Berry  <karl@gnu.org>
78740
78741         * config/srclist.txt (signed.m4, gettext.m4): changes not propagated
78742         until next release.
78743
78744 2006-09-03  Bruno Haible  <bruno@clisp.org>
78745
78746         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Locate mingw shared libraries
78747         correctly.
78748
78749 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78750
78751         * m4/getloadavg.m4 (gl_GETLOADAVG): Use CONFIGURING_GETLOADAVG,
78752         not gl_GETLOADAVG.  Omit unneeded semicolons.
78753         Problems reported by Ralf Wildenhues in
78754         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78755         (gl_PREREQ_GETLOADAVG): Use AC_DEFUN, not m4_define.  Put
78756         at the end, which is the usual gnulib style.
78757
78758         * m4/fstypename.m4 (gl_FSTYPENAME): Use AC_CHECK_MEMBERS instead
78759         of doing all the work ourselves.
78760         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Don't check for
78761         sys/statvfs.h since the code doesn't use HAVE_SYS_STATVFS_H.
78762
78763 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78764
78765         * lib/getloadavg.c: Use CONFIGURING_GETLOADAVG, not gl_GETLOADAVG.
78766         Problem reported by Ralf Wildenhues in
78767         <http://lists.gnu.org/archive/html/bug-gnulib/2006-09/msg00000.html>.
78768
78769         * lib/mountlist.c: All uses of HAVE_F_FSTYPENAME_IN_STATFS replaced by
78770         HAVE_STRUCT_STATFS_F_FSTYPENAME.
78771
78772 2006-09-01  Paul Eggert  <eggert@cs.ucla.edu>
78773
78774         * gnulib-tool (func_emit_lib_Makefile_am): Fix typos in
78775         yesterday's patch by changing test -n to test -z.
78776
78777 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78778
78779         * modules/getloadavg (Files): Add m4/getloadavg.m4.
78780         (configure.ac): AC_FUNC_GETLOADAVG -> gl_GETLOADAVG, as
78781         the former is now obsolescent.
78782
78783         * modules/chdir-long (Depends-on): Add fcntl.
78784
78785 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78786
78787         * m4/fnmatch.m4: Add comment that Autoconf AC_FUNC_FNMATCH is
78788         obsolescent, and programs should use gnulib instead.
78789         * m4/getloadavg.m4: New file, with contents taken from Autoconf
78790         but with prefixes changed.
78791
78792 2006-08-31  Paul Eggert  <eggert@cs.ucla.edu>
78793
78794         * lib/getloadavg.c [defined gl_GETLOADAVG]: Don't include config.h
78795         or stdbool.h, because they might not exist while configuring.
78796
78797         * lib/chdir-long.c: Include <fcntl.h>, for O_DIRECTORY.
78798         Don't include unistd.h or limits.h; not needed, since chdir-long.h
78799         does that for us.
78800         (O_DIRECTORY): Remove.
78801
78802 2006-08-31  Eric Blake  <ebb9@byu.net>
78803
78804         * gnulib-tool: Don't let emacs change spaces to TAB.
78805
78806 2006-08-31  Bruno Haible  <bruno@clisp.org>
78807
78808         * gnulib-tool: When calling func_import more than once, do it in a
78809         subshell.
78810         Reported by Eric Blake <ebb9@byu.net>.
78811
78812 2006-08-31  Bruno Haible  <bruno@clisp.org>
78813
78814         * gnulib-tool (nl): Remove variable.
78815         (sed_transform_lib_file): Use more robust test for config-h module.
78816         (func_import): Fix typo in 2006-08-25 patch.
78817
78818 2006-08-31  Bruno Haible  <bruno@clisp.org>
78819
78820         * gnulib-tool (func_emit_lib_Makefile_am): When --makefile-name was
78821         specified, augment Makefile.am variables instead of assigning them.
78822
78823 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78824
78825         Work around a bug in both the Linux and SunOS 64-bit kernels:
78826         nanosleep mishandles sleeps for longer than 2**31 seconds.
78827         Problem reported by Frank v Waveren in
78828         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78829         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Require gl_CLOCK_TIME.
78830         Check for nanosleep bug.
78831         (LIB_NANOSLEEP): Append clock_gettime library if needed.
78832
78833 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78834
78835         Work around a bug in both the Linux and SunOS 64-bit kernels:
78836         nanosleep mishandles sleeps for longer than 2**31 seconds.
78837         Problem reported by Frank v Waveren in
78838         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00298.html>.
78839         * lib/nanosleep.c (BILLION): New constant.
78840         (getnow) [HAVE_BUG_BIG_NANOSLEEP]: New functions.
78841         (rpl_nanosleep) [HAVE_BUG_BIG_NANOSLEEP]: Completely new
78842         implementation.
78843
78844 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78845
78846         * modules/nanosleep (Depends-on): Add gettime.
78847
78848 2006-08-30  Paul Eggert  <eggert@cs.ucla.edu>
78849         and Simon Josefsson  <jas@extundo.com>
78850         and Oskar Liljeblad  <oskar@osk.mine.nu>
78851
78852         * MODULES.html.sh (Support for building documentation): Add gpl, lgpl.
78853         * gnulib-tool (func_import): New license type 'unmodifiable license
78854         text'.
78855         * modules/fdl: Use it.  Longer description.
78856         * module/gpl, module/lgpl: New files.
78857
78858 2006-08-30  Jim Meyering  <jim@meyering.net>
78859
78860         * lib/isapipe.c (isapipe): Rename local s/fd/fd_pair/ to avoid
78861         shadowing the parameter.
78862
78863 2006-08-29  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78864
78865         Sync from Libtool:
78866
78867         2006-08-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
78868
78869         * lib/libltdl/argz.c: Use `#ifdef HAVE_CONFIG_H', to facilitate code
78870         sharing with gnulib.  Report by Eric Blake.
78871
78872 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78873
78874         * modules/isapipe: New file.
78875         * MODULES.html.sh (File descriptor based Input/Output): Add isapipe.
78876
78877 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78878
78879         * modules/configmake (Makefile.am): Add a comment, and omit
78880         the CONFIGMAKE_ prefix from generated macro names.  Suggested
78881         by Bruno Haible.
78882
78883 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78884
78885         * m4/isapipe.m4: New file.
78886
78887 2006-08-29  Paul Eggert  <eggert@cs.ucla.edu>
78888
78889         * lib/isapipe.c, lib/isapipe.h: New files.
78890
78891 2006-08-29  Jim Meyering  <jim@meyering.net>
78892
78893         * modules/configmake (Makefile.am): Make configmake.h depend on
78894         Makefile.  Otherwise, a stale configmake.h could hang around.
78895
78896 2006-08-29  Eric Blake  <ebb9@byu.net>
78897
78898         * lib/error.c (error_at_line, print_errno_message): Match libc, after
78899         resolution of upstream bug 3044.
78900
78901 2006-08-29  Bruno Haible  <bruno@clisp.org>
78902
78903         * modules/localcharset (Depends-on): Add configmake.
78904         (Makefile.am): Remove setting of LIBDIR through DEFS.
78905
78906 2006-08-29  Bruno Haible  <bruno@clisp.org>
78907
78908         * lib/localcharset.c: Include configmake.h in order to get LIBDIR
78909         defined.
78910
78911 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78912
78913         * modules/fcntl: New file.
78914         * modules/chdir-safer (Depends-on): Add fcntl.
78915         * modules/fts: Likewise.
78916         * modules/mkdir-p: Likewise.
78917
78918         * modules/stdint (Makefile.am): Do not substitute ABSOLUTE_INTTYPES_H.
78919         This undoes the most recent change, since we're now addressing the
78920         problem in a different way.
78921
78922         * gnulib-tool (emit_lib_Makefile_am): Don't put $makefile_name
78923         into output, since the output might be called Makefile.am even
78924         if $makefile_name is something different.
78925         (func_import): Use $makefile_am rather than
78926         ${makefile_name-Makefile.am}, to fix a bug where makefile_name was
78927         empty.
78928
78929         * modules/inttypes (Files): Add m4/inttypes-h.m4.
78930
78931 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78932
78933         * m4/inttypes.m4 (gl_INTTYPES_H): Move ABSOLUTE_INTTYPES_H code here...
78934         * m4/stdint.m4 (gl_STDINT_H): ... from here.  This undoes the most
78935         recent change to stdint.m4, since we're now addressing the problem in a
78936         different way.
78937
78938 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78939
78940         * m4/fcntl_h.m4: New file.
78941
78942 2006-08-28  Paul Eggert  <eggert@cs.ucla.edu>
78943
78944         * lib/fcntl_.h: New file.
78945         * lib/chdir-safer.c (O_DIRECTORY, O_NOFOLLOW): Remove, now that we have
78946         the fcntl module.
78947         * lib/dirchownmod.c: Likewise.
78948         * lib/fts.c: Likewise.
78949
78950         * lib/inttypes_.h [defined _GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H]:
78951         Include @ABSOLUTE_INTTYPES_H@ if available, but do nothing else.
78952         * lib/stdint_.h (_GL_JUST_INCLUDE_ABSOLUTE_INTTYPES_H): Define
78953         just before including <inttypes.h>, to avoid circular inclusion.
78954
78955 2006-08-28  Jim Meyering  <jim@meyering.net>
78956
78957         * doc/visibility.texi: Actually read and correct the grammar of the
78958         sentence affected by yesterday's change.
78959
78960 2006-08-28  Eric Blake  <ebb9@byu.net>
78961
78962         * modules/inttypes (Makefile.am): Fix sed error when inttypes.h
78963         needs wrapper.
78964
78965 2006-08-28  Eric Blake  <ebb9@byu.net>
78966
78967         * m4/inttypes.m4 (gl_INTTYPES_H): Fix missing #endif.
78968
78969 2006-08-28  Eric Blake  <ebb9@byu.net>
78970
78971         * m4/codeset.m4 (AM_LANGINFO_CODESET): Avoid compiler warning.
78972
78973 2006-08-28  Bruno Haible  <bruno@clisp.org>
78974
78975         * modules/c-strstr: New file, from GNU gettext.
78976         * MODULES.html.sh (String handling): Add c-strstr.
78977
78978 2006-08-28  Bruno Haible  <bruno@clisp.org>
78979
78980         * m4/inttypes.m4 (gl_INTTYPES_H): Don't test for the existence of SCNX*
78981         macros.
78982         Reported by Eric Blake.
78983
78984 2006-08-28  Bruno Haible  <bruno@clisp.org>
78985
78986         * lib/vasnprintf.c (EOVERFLOW): Remove definition.
78987         (VASNPRINTF): Return a string of length > INT_MAX without failing.
78988         * lib/vasprintf.c: Include errno.h, limits.h.
78989         (EOVERFLOW): New fallback definition.
78990         (vasprintf): Test here whether the string length is > INT_MAX.
78991         * lib/vsnprintf.c: Include errno.h, limits.h.
78992         (EOVERFLOW): New fallback definition.
78993         (vsnprintf): Fix bug when generated string was too long for the buffer.
78994         Test here whether the string length is > INT_MAX.
78995
78996 2006-08-28  Bruno Haible  <bruno@clisp.org>
78997
78998         * lib/inttypes_.h (SCNX*): Remove definitions.
78999         Reported by Eric Blake.
79000
79001 2006-08-28  Bruno Haible  <bruno@clisp.org>
79002
79003         * lib/c-strstr.h: New file, from GNU gettext.
79004         * lib/c-strstr.c: New file, from GNU gettext.
79005
79006 2006-08-28  Bruno Haible  <bruno@clisp.org>
79007
79008         * gnulib-tool: Reorder some statements.
79009
79010 2006-08-28  Bruno Haible  <bruno@clisp.org>
79011
79012         * gnulib-tool: New option --makefile-name.
79013         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Use
79014         $makefile_name.
79015         (func_import): Write $makefile_name to the cache file, and read it from
79016         there unless explicitly specified. Use $makefile_name as file name
79017         instead of Makefile.am. Adjust the recommendations accordingly.
79018
79019 2006-08-28  Bruno Haible  <bruno@clisp.org>
79020
79021         * gnulib-tool (func_verify_module): Check against misapplying patch.
79022
79023 2006-08-28  Bruno Haible  <bruno@clisp.org>
79024
79025         * gnulib-tool (func_relativize, func_relconcat): New functions.
79026         Give an error if --local-dir is given with --update.
79027         Remove trailing slashes from $local_gnulib_dir.
79028         (func_import): Store the relativized $local_gnulib_dir in
79029         gnulib-cache.m4, and read it from there if not specified explicitly.
79030
79031 2006-08-28  Bruno Haible  <bruno@clisp.org>
79032
79033         * gnulib-tool (func_get_tests_module): Don't assume that $gnulib_dir
79034         is the current directory. Respect also $local_gnulib_dir.
79035
79036 2006-08-28  Bruno Haible  <bruno@clisp.org>
79037             Simon Josefsson  <jas@extundo.com>
79038
79039         BeOS portability.
79040         * lib/getaddrinfo.c (PF_INET, PF_UNSPEC): New macros.
79041
79042 2006-08-27  Jim Meyering  <jim@meyering.net>
79043
79044         * doc/visibility.texi: Remove duplicate word: "pointer".
79045
79046 2006-08-26  Bruno Haible  <bruno@clisp.org>
79047
79048         * modules/inttypes (Files): Add lib/inttypes_.h, remove lib/inttypes.h.
79049         Add m4/inttypes.m4, remove m4/_inttypes_h.m4 and m4/include_next.m4.
79050         (Makefile.am): Create inttypes.h from inttypes_.h.
79051         * modules/stdint (Makefile.am): Substitute also ABSOLUTE_INTTYPES_H.
79052
79053         * modules/imaxabs: New file.
79054
79055         * modules/imaxdiv: New file.
79056
79057 2006-08-26  Bruno Haible  <bruno@clisp.org>
79058
79059         * m4/inttypes.m4: New file.
79060         * m4/_inttypes_h.m4: Remove file.
79061         * m4/inttypes-pri.m4 (gt_INTTYPES_PRI): Also AC_SUBST
79062         PRI_MACROS_BROKEN.
79063         * m4/stdint.m4 (gl_STDINT_H): Define also ABSOLUTE_INTTYPES_H.
79064
79065         * m4/imaxabs.m4: New file.
79066
79067         * m4/imaxdiv.m4: New file.
79068
79069 2006-08-26  Bruno Haible  <bruno@clisp.org>
79070
79071         * lib/inttypes_.h: New file.
79072         * lib/inttypes.h: Remove file.
79073         * lib/stdint_.h: Include <inttypes.h> through its absolute filename.
79074
79075         * lib/imaxabs.c: New file.
79076
79077         * lib/imaxdiv.c: New file.
79078
79079 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79080
79081         New config-h module, so that "make" output needn't be cluttered
79082         by -DHAVE_CONFIG_H.
79083         * MODULES.html.sh (Support for building libraries and executables):
79084         Add config-h.
79085         * modules/config-h: New file.
79086         * gnulib-tool (nl, sed_transform_lib_file): New vars.
79087         (func_import): Turn "#ifdef HAVE_CONFIG_H" to "#if 1" if
79088         the config-h module is used.
79089
79090         New configmake module, so that "make" output needn't be cluttered
79091         by fluff like '-DLIBDIR=\"/usr/local/lib\"'.
79092         * MODULES.html.sh (Support for building libraries and executables):
79093         Add configmake.
79094         * modules/configmake: New file.
79095
79096 2006-08-25  Paul Eggert  <eggert@cs.ucla.edu>
79097
79098         * m4/config-h.m4: New file.
79099
79100 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79101
79102         * config/srclist.txt: Add elisp-comp.
79103
79104 2006-08-24  Paul Eggert  <eggert@cs.ucla.edu>
79105
79106         * MODULES.html.sh (Support for building libraries and executables):
79107         Add elisp-comp.
79108         * build-aux/elisp-comp: New file.
79109         * modules/elisp-comp: New file.
79110
79111 2006-08-24  Bruno Haible  <bruno@clisp.org>
79112
79113         * gnulib-tool (func_create_testdir): Use non-default values of
79114         sourcebase and m4base.
79115
79116 2006-08-24  Bruno Haible  <bruno@clisp.org>
79117
79118         * MODULES.html.sh (Compatibility checks for POSIX:2001 functions: Fix
79119         HTML structure.
79120
79121 2006-08-23  Paul Eggert  <eggert@cs.ucla.edu>
79122
79123         * modules/openat (Depends-on): Add lchown.
79124
79125 2006-08-23  Bruno Haible  <bruno@clisp.org>
79126
79127         * gnulib-tool (func_import, func_create_testdir): Emit an invocation
79128         of gl_LOCK_EARLY instead of gl_LOCK.
79129
79130 2006-08-23  Bruno Haible  <bruno@clisp.org>
79131
79132         * m4/lock.m4 (gl_LOCK_BODY): Change the default value of gl_use_threads
79133         on OSF/1 to no.
79134         Reported by Stephen Cartwright <sgcartwr@ucalgary.ca>.
79135
79136 2006-08-23  Bruno Haible  <bruno@clisp.org>
79137
79138         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Don't consider BeOS statvfs
79139         as unusable.
79140
79141         * m4/lock.m4 (gl_LOCK_EARLY): Renamed from gl_LOCK.
79142         (gl_LOCK_BODY): Remove gl_PREREQ_LOCK invocation.
79143         (gl_LOCK): New macro.
79144
79145 2006-08-22  Simon Josefsson  <jas@extundo.com>
79146
79147         * modules/gc-md5 (Makefile.am): Need to add md5.h, after changes
79148         to md5 module.
79149
79150 2006-08-22  Simon Josefsson  <jas@extundo.com>
79151
79152         * MODULES.html.sh: Add "Support for maintaining and release
79153         projects".
79154
79155         * build-aux/gnupload: New file, from coreutils.
79156
79157 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79158
79159         Avoid the need for AC_LIBSOURCES in m4 macros.
79160         * modules/arcfour (EXTRA_DIST): Add arcfour.h.
79161         * modules/arctwo (EXTRA_DIST): Add arctwo.h.
79162         * modules/check-version (EXTRA_DIST): Add check-version.h.
79163         * modules/crc (EXTRA_DIST): Add crc.h.
79164         * modules/des (EXTRA_DIST): Add des.h.
79165         * modules/gc (EXTRA_DIST): Add gc.h.
79166         * modules/getdelim (EXTRA_DIST): Add getdelim.h.
79167         * modules/getline (EXTRA_DIST): Add getline.h.
79168         * modules/getlogin_r (EXTRA_DIST): Add getlogin_r.h.
79169         * modules/hmac-md5 (EXTRA_DIST): Add hmac.h.
79170         * modules/hmac-sha1 (EXTRA_DIST): Add hmac.h.
79171         * modules/md2 (EXTRA_DIST): Add md2.h.
79172         * modules/md4 (EXTRA_DIST): Add md4.h.
79173         * modules/pagealign_alloc (EXTRA_DIST): Add pagealign_alloc.h.
79174         * modules/read-file (EXTRA_DIST): Add read-file.h.
79175         * modules/readline (EXTRA_DIST): Add readline.h.
79176         * modules/rijndael (EXTRA_DIST): Add rijndael-alg-fst.h,
79177         rijndael-api-fst.h.
79178
79179 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79180
79181         * m4/rijndael.m4 (gl_ARCFOUR):
79182         * m4/arctwo.m4 (gl_ARCTWO):
79183         * m4/check-version.m4 (gl_CHECK_VERSION):
79184         * m4/crc.m4 (gl_CRC):
79185         * m4/des.m4 (gl_DES):
79186         * m4/gc-pbkdf2-sha1.m4 (gl_GC_PBKDF2_SHA1):
79187         * m4/gc.m4 (gl_GC):
79188         * m4/getdelim.m4 (gl_FUNC_GETDELIM):
79189         * m4/getline.m4 (gl_FUNC_GETLINE):
79190         * m4/getlogin_r.m4 (gl_GETLOGIN_R_SUBSTITUTE):
79191         * m4/hmac-md5.m4 (gl_HMAC_MD5):
79192         * m4/hmac-sha1.m4 (gl_HMAC_SHA1):
79193         * m4/md2.m4 (gl_MD2):
79194         * m4/md4.m4 (gl_MD4):
79195         * m4/pagealign_alloc.m4 (gl_PAGEALIGN_ALLOC):
79196         * m4/read-file.m4 (gl_FUNC_READ_FILE):
79197         * m4/readline.m4 (gl_FUNC_READLINE):
79198         * m4/rijndael.m4 (gl_RIJNDAEL):
79199         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
79200         to get the necessary .h files and whatnot.
79201
79202 2006-08-22  Paul Eggert  <eggert@cs.ucla.edu>
79203
79204         * config/srclist.txt: Remove gnupload, since coreutils now syncs from
79205         gnulib rather than the other way around.
79206         * config/srclistvars.sh (COREUTILS): Remove.
79207
79208 2006-08-22  Jim Meyering  <jim@meyering.net>
79209
79210         * modules/mkdir-p (Makefile.am): Fix typo: s/lib+SOURCES/lib_SOURCES/.
79211
79212         * modules/getpass-gnu (Makefile.am): Add getpass.h to EXTRA_DIST.
79213
79214 2006-08-22  Eric Blake  <ebb9@byu.net>
79215
79216         * modules/regexprops-generic: New file.
79217         * MODULES.html.sh (Support for building documentation): List it.
79218
79219 2006-08-22  Eric Blake  <ebb9@byu.net>
79220
79221         * m4/stdint_h.m4 (gl_AC_HEADER_STDINT_H): Avoid compiler warning.
79222         * m4/inttypes_h.m4 (gl_AC_HEADER_INTTYPES_H): Likewise.
79223         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Likewise.
79224         * m4/intmax_t.m4 (gt_AC_TYPE_INTMAX_T): Likewise.
79225
79226 2006-08-22  Bruno Haible  <bruno@clisp.org>
79227
79228         * gnulib-tool (func_emit_lib_Makefile_am): Don't treat lib_LIBRARIES
79229         and lib_LTLIBRARIES like the other lib_* variables.
79230
79231 2006-08-22  Bruno Haible  <bruno@clisp.org>
79232
79233         * build-aux/x-to-1.in: New file, from GNU gettext.
79234
79235 2006-08-22  Bruno Haible  <bruno@clisp.org>
79236
79237         * m4/readutmp.m4 (gl_READUTMP): Compile readutmp.c only if <utmp.h> or
79238         <utmpx.h> exists.
79239
79240 2006-08-22  Bruno Haible  <bruno@clisp.org>
79241
79242         * lib/readutmp.h: Skip most definitions if neither <utmp.h> nor
79243         <utmpx.h> exists.
79244
79245 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79246
79247         BeOS portability.
79248         * lib/dirchownmod.c (dirchownmod): Don't use fchmod if it doesn't
79249         exist.
79250         Problem reported by Bruno Haible.
79251
79252 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79253
79254         Avoid the need for AC_LIBSOURCES in m4 macros.
79255         * modules/acl (EXTRA_DIST): Add acl.h.
79256         * modules/argmatch (Files): Add m4/argmatch.m4.
79257         (configure.ac): Add gl_ARGMATCH.
79258         (EXTRA_DIST): Renamed from lib_SOURCES, for
79259         consistency with the other modules.  Remove argmatch.c.
79260         * modules/backupfile (EXTRA_DIST): Add backupfile.h.
79261         * modules/c-strtod (EXTRA_DIST): Add c-strtod.h.
79262         * modules/c-strtold (EXTRA_DIST): Add c-strtod.c, c-strtod.h.
79263         * modules/canonhost (EXTRA_DIST): Add c-canonhost.h.
79264         * modules/canonicalize (EXTRA_DIST): Add canonicalize.h.
79265         * modules/chdir-long (EXTRA_DIST): Add chdir-long.h.
79266         * modules/chdir-safer (EXTRA_DIST): Add chdir-safer.h.
79267         * modules/cloexec (EXTRA_DIST): Add cloexec.h.
79268         * modules/close-stream (EXTRA_DIST): Add close-stream.h.
79269         * modules/closeout (EXTRA_DIST): Add closeout.h.
79270         * modules/cycle-check (EXTRA_DIST): Add cycle-check.h.
79271         * modules/dev-ino (EXTRA_DIST): Add dev-ino.h.
79272         * modules/dirfd (EXTRA_DIST): Add dirfd.h.
79273         * modules/dirname (EXTRA_DIST): Renamed from lib_SOURCES.  Add
79274         dirname.h; remove basename.c and stripslash.c.
79275         * modules/exclude (EXTRA_DIST): Add exclude.h.
79276         * modules/exitfail (EXTRA_DIST): Add exitfail.h.
79277         * modules/fcntl-safer (EXTRA_DIST): Add fcntl-safer.h fcntl--.h.
79278         * modules/file-type (EXTRA_DIST): Add file-type.h.
79279         * modules/filemode (EXTRA_DIST): Add filemode.h.
79280         * modules/filenamecat (EXTRA_DIST): Add filenamecat.h.
79281         * modules/fopen-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
79282         * modules/fpending (EXTRA_DIST): Add __fpending.h.
79283         * modules/fprintftime (EXTRA_DIST): Add fprintftime.h.
79284         * modules/fsusage (EXTRA_DIST): Add fsusage.h.
79285         * modules/fts (EXTRA_DIST): Add fts_.h fts-cycle.c.
79286         * modules/getcwd (EXTRA_DIST): Add getcwd.h.
79287         * modules/getdate (EXTRA_DIST): Add getdate.c.
79288         * modules/gethrxtime (EXTRA_DIST): Add gethrxtime.h xtime.h.
79289         * modules/getpagesize (EXTRA_DIST): Add getpagesize.h.
79290         * modules/getpass (EXTRA_DIST): Add getpass.h.
79291         * modules/glob (EXTRA_DIST): Add glob_.h glob-libc.h.
79292         * modules/group-member (EXTRA_DIST): Add group-member.h.
79293         * modules/hard-locale (EXTRA_DIST): Add hard-locale.h.
79294         * modules/hash (EXTRA_DIST): Add hash.h.
79295         * modules/human (EXTRA_DIST): Add human.h.
79296         * modules/inttypes (EXTRA_DIST): Add inttypes.h.
79297         * modules/lchmod (EXTRA_DIST): Add lchmod.h.
79298         * modules/lchown (EXTRA_DIST): Add lchown.h.
79299         * modules/long-options (EXTRA_DIST): Add long-options.h.
79300         * modules/lstat (EXTRA_DIST): Add lstat.h.
79301         * modules/md5 (EXTRA_DIST): Add memcasecmp.h.
79302         * modules/memcoll (EXTRA_DIST): Add memcoll.h.
79303         * modules/mempcpy (EXTRA_DIST): Add mempcpy.h.
79304         * modules/memrchr (EXTRA_DIST): Add memrchr.h.
79305         * modules/memxor (EXTRA_DIST): Add memxor.h.
79306         * modules/mkancesdirs (EXTRA_DIST): Add mkancesdirs.h.
79307         * modules/mkdir-p (EXTRA_DIST): Add modechange.h.
79308         * modules/mountlist (EXTRA_DIST): Add mountlist.h.
79309         * modules/openat (EXTRA_DIST): Add at-func.c openat.h openat-priv.h.
79310         * modules/pathmax (EXTRA_DIST): Add pathmax.h.
79311         * modules/physmem (EXTRA_DIST): Add physmem.h.
79312         * modules/posixtm (EXTRA_DIST): Add posixtm.h.
79313         * modules/posixver (EXTRA_DIST): Add posixver.h.
79314         * modules/quote (EXTRA_DIST): Add quote.h.
79315         * modules/quotearg (EXTRA_DIST): Add quotearg.h.
79316         * modules/readtokens (EXTRA_DIST): Add readtokens.h.
79317         * modules/readutmp (EXTRA_DIST): Add readutmp.h.
79318         * modules/regex (EXTRA_DIST): Add regcomp.c regex.h regex_internal.c
79319         regex_internal.h regexec.c.
79320         * modules/safe-read (EXTRA_DIST): Add safe-read.h.
79321         * modules/safe-write (EXTRA_DIST): Add safe-write.h.
79322         * modules/same (EXTRA_DIST): Add same.h.
79323         * modules/same-inode (EXTRA_DIST): Add same-inode.h.
79324         * modules/save-cwd (EXTRA_DIST): Add save-cwd.h.
79325         * modules/savedir (EXTRA_DIST): Add savedir.h.
79326         * modules/sha1 (EXTRA_DIST): Add sha1.h.
79327         * modules/sig2str (EXTRA_DIST): Add sig2str.h.
79328         * modules/stat-macros (EXTRA_DIST): Add stat-macros.h.
79329         * modules/stat-time (EXTRA_DIST): Add stat-time.h.
79330         * modules/stdlib-safer (EXTRA_DIST): Add stdlib-safer.h stdlib--.h.
79331         * modules/strdup (EXTRA_DIST): Add strdup.h.
79332         * modules/strftime (EXTRA_DIST): Add strftime.h.
79333         * modules/strndup (EXTRA_DIST): Add strndup.h.
79334         * modules/strnlen (EXTRA_DIST): Add strnlen.h.
79335         * modules/strverscmp (EXTRA_DIST): Add strverscmp.h.
79336         * modules/time_r (EXTRA_DIST): Add time_r.h.
79337         * modules/timespec (EXTRA_DIST): Add timespec.h.
79338         * modules/tmpfile-safer (EXTRA_DIST): Add stdio-safer.h stdio--.h.
79339         * modules/unistd-safer (EXTRA_DIST): Add unistd-safer.h unistd--.h.
79340         * modules/unlinkdir (EXTRA_DIST): Add unlinkdir.h.
79341         * modules/unlocked-io (EXTRA_DIST): Add unlocked-io.h.
79342         * modules/userspec (EXTRA_DIST): Add userspec.h.
79343         * modules/utimecmp (EXTRA_DIST): Add utimecmp.h.
79344         * modules/utimens (EXTRA_DIST): Add utimens.h.
79345         * modules/xalloc (EXTRA_DIST): Add xalloc.h.
79346         * modules/xgetcwd (EXTRA_DIST): Add xgetcwd.h.
79347         * modules/xnanosleep (EXTRA_DIST): Add xnanosleep.h.
79348         * modules/xreadlink (EXTRA_DIST): Add xreadlink.h.
79349         * modules/xstrtod (EXTRA_DIST): Add xstrtod.h.
79350         * modules/xstrtol (EXTRA_DIST): Add xstrtol.h.
79351         * modules/xstrtold (EXTRA_DIST): Add xstrtod.c xstrtod.h.
79352         * modules/yesno (EXTRA_DIST): Add yesno.h.
79353
79354 2006-08-21  Paul Eggert  <eggert@cs.ucla.edu>
79355
79356         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Check for fchmod.
79357
79358         * m4/argmatch.m4: New file, from coreutils with AC_LIBSOURCES removed.
79359         * m4/dev-ino.m4, same-inode.m4: Remove.
79360
79361         * m4/_inttypes_h.m4 (gl_INTTYPES_H):
79362         * m4/acl.m4 (AC_FUNC_ACL):
79363         * m4/backupfile.m4 (gl_BACKUPFILE):
79364         * m4/c-strtod.m4 (gl_C99_STRTOLD):
79365         * m4/canon-host.m4 (gl_CANON_HOST):
79366         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME):
79367         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG):
79368         * m4/chdir-safer.m4 (gl_CHDIR_SAFER):
79369         * m4/cloexec.m4 (gl_CLOEXEC):
79370         * m4/close-stream.m4 (gl_CLOSE_STREAM):
79371         * m4/closeout.m4 (gl_CLOSEOUT):
79372         * m4/dirfd.m4 (gl_FUNC_DIRFD):
79373         * m4/dirname.m4 (gl_DIRNAME):
79374         * m4/exclude.m4 (gl_EXCLUDE):
79375         * m4/exitfail.m4 (gl_EXITFAIL):
79376         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER):
79377         * m4/file-type.m4 (gl_FILE_TYPE):
79378         * m4/filemode.m4 (gl_FILEMODE):
79379         * m4/filenamecat.m4 (gl_FILE_NAME_CONCAT):
79380         * m4/fpending.m4 (gl_FUNC_FPENDING):
79381         * m4/fprintftime.m4 (gl_FPRINTFTIME):
79382         * m4/fts.m4 (gl_FUNC_FTS):
79383         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL):
79384         * m4/getdate.m4 (gl_GETDATE):
79385         * m4/gethrxtime.m4 (gl_GETHRXTIME):
79386         * m4/getpagesize.m4 (gl_GETPAGESIZE):
79387         * m4/getpass.m4 (gl_FUNC_GETPASS):
79388         * m4/gettime.m4 (gl_GETTIME):
79389         * m4/getugroups.m4 (gl_GETUGROUPS):
79390         * m4/glob.m4 (gl_GLOB_SUBSTITUTE):
79391         * m4/group-member.m4 (gl_FUNC_GROUP_MEMBER):
79392         * m4/hard-locale.m4 (gl_HARD_LOCALE):
79393         * m4/hash.m4 (gl_HASH):
79394         * m4/idcache.m4 (gl_IDCACHE):
79395         * m4/lchmod.m4 (gl_FUNC_LCHMOD):
79396         * m4/lchown.m4 (gl_FUNC_LCHOWN):
79397         * m4/long-options.m4 (gl_LONG_OPTIONS):
79398         * m4/lstat.m4 (gl_FUNC_LSTAT):
79399         * m4/md5.m4 (gl_MD5):
79400         * m4/memcasecmp.m4 (gl_MEMCASECMP):
79401         * m4/memcoll.m4 (gl_MEMCOLL):
79402         * m4/mempcpy.m4 (gl_FUNC_MEMPCPY):
79403         * m4/memrchr.m4 (gl_FUNC_MEMRCHR):
79404         * m4/memxor.m4 (gl_MEMXOR):
79405         * m4/mkancesdirs.m4 (gl_MKANCESDIRS):
79406         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS):
79407         * m4/modechange.m4 (gl_MODECHANGE):
79408         * m4/mountlist.m4 (gl_MOUNTLIST):
79409         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP):
79410         * m4/openat.m4 (gl_FUNC_OPENAT):
79411         * m4/pathmax.m4 (gl_PATHMAX):
79412         * m4/physmem.m4 (gl_PHYSMEM):
79413         * m4/posixtm.m4 (gl_POSIXTM):
79414         * m4/posixver.m4 (gl_POSIXVER):
79415         * m4/quote.m4 (gl_QUOTE):
79416         * m4/quotearg.m4 (gl_QUOTEARG):
79417         * m4/readtokens.m4 (gl_READTOKENS):
79418         * m4/readutmp.m4 (gl_READUTMP):
79419         * m4/regex.m4 (gl_REGEX):
79420         * m4/safe-read.m4 (gl_SAFE_READ):
79421         * m4/safe-write.m4 (gl_SAFE_WRITE):
79422         * m4/same.m4 (gl_SAME):
79423         * m4/save-cwd.m4 (gl_SAVE_CWD):
79424         * m4/savedir.m4 (gl_SAVEDIR):
79425         * m4/settime.m4 (gl_SETTIME):
79426         * m4/sha1.m4 (gl_SHA1):
79427         * m4/sig2str.m4 (gl_FUNC_SIG2STR):
79428         * m4/stat-macros.m4 (gl_STAT_MACROS):
79429         * m4/stat-time.m4 (gl_STAT_TIME):
79430         * m4/stdio-safer.m4 (gl_FOPEN_SAFER):
79431         * m4/stdlib-safer.m4 (gl_STDLIB_SAFER):
79432         * m4/strdup.m4 (gl_FUNC_STRDUP):
79433         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME):
79434         * m4/strndup.m4 (gl_FUNC_STRNDUP):
79435         * m4/strnlen.m4 (gl_FUNC_STRNLEN):
79436         * m4/strverscmp.m4 (gl_FUNC_STRVERSCMP):
79437         * m4/time_r.m4 (gl_TIME_R):
79438         * m4/timespec.m4 (gl_TIMESPEC):
79439         * m4/unistd-safer.m4 (gl_UNISTD_SAFER):
79440         * m4/unlinkdir.m4 (gl_UNLINKDIR):
79441         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO):
79442         * m4/userspec.m4 (gl_USERSPEC):
79443         * m4/utimecmp.m4 (gl_UTIMECMP):
79444         * m4/utimens.m4 (gl_UTIMENS):
79445         * m4/xalloc.m4 (gl_XALLOC):
79446         * m4/xgetcwd.m4 (gl_XGETCWD):
79447         * m4/xnanosleep.m4 (gl_XNANOSLEEP):
79448         * m4/xreadlink.m4 (gl_XREADLINK):
79449         * m4/xstrtod.m4 (gl_XSTRTOD):
79450         * m4/yesno.m4 (gl_YESNO):
79451         Don't use AC_LIBSOURCES; instead, rely on the files in ../modules/
79452         to get the necessary .h files and whatnot.
79453
79454 2006-08-21  Mark D. Baushke  <mdb@gnu.org>
79455             Bruno Haible  <bruno@clisp.org>
79456
79457         * gnulib-tool (func_verify_module): Work around Sun's non-POSIX 1003.2
79458         /bin/sh understanding of '!' conditional negation.
79459
79460 2006-08-21  Jim Meyering  <jim@meyering.net>
79461
79462         * modules/openat (Depends-on): Really alphabetize.
79463
79464         * modules/acl (Depends-on): Add error and quote.
79465
79466         * check-module (find_included_lib_files): Add at-func.c to the
79467         ok-to-include-more-than-once white list.
79468
79469         * modules/openat (Depends-on): Add lstat.  Alphabetize.
79470
79471 2006-08-21  Bruno Haible  <bruno@clisp.org>
79472
79473         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
79474         Emit a pkgdata_DATA variable only if some snippets add contents to it.
79475         Reported by Martin Lambers <marlam@marlam.de>.
79476
79477 2006-08-21  Bruno Haible  <bruno@clisp.org>
79478
79479         * gnulib-tool (func_emit_lib_Makefile_am): If the snippets already
79480         specify an installation location, don't emit a noinst_LIBRARIES or
79481         noinst_LTLIBRARIES assignment.
79482
79483 2006-08-21  Bruno Haible  <bruno@clisp.org>
79484
79485         BeOS portability.
79486         * modules/mbchar (Include): Don't test HAVE_WCTYPE_H any more, since
79487         BeOS has mbrtowc() but no <wctype.h>.
79488
79489 2006-08-21  Bruno Haible  <bruno@clisp.org>
79490
79491         BeOS portability.
79492         * m4/mbchar.m4 (gl_MBCHAR): Compile mbchar.c also if <wctype.h> doesn't
79493         exist.
79494
79495 2006-08-21  Bruno Haible  <bruno@clisp.org>
79496
79497         BeOS portability.
79498         * lib/mbchar.h: Include <wctype.h> only if it exists.
79499
79500 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79501
79502         Remove files that are no longer needed by their respective modules.
79503         * m4/obstack.m4: Remove.
79504         * m4/strerror_r.m4: Remove.
79505         * m4/uint32_t.m4: Remove.
79506         * m4/uintptr_t.m4: Remove.
79507         * m4/ullong_max.m4: Remove.
79508         * m4/xstrtoimax.m4: Remove.
79509         * m4/xstrtoumax.m4: Remove.
79510
79511         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Do not require
79512         gl_AC_TYPE_UINTMAX_T, gl_STRUCT_DEV_INO, or gl_SAME_INODE, since gnulib
79513         dependencies now capture this.
79514
79515         * m4/cycle-check.m4 (gl_CYCLE_CHECK):
79516         Do not use AC_LIBSOURCES, since gnulib modules now do this.
79517         * m4/fsusage.m4 (gl_FSUSAGE): Likewise.
79518         * m4/human.m4 (gl_HUMAN): Likewise.
79519         * m4/inttostr.m4 (gl_INTTOSTR): Likewise.
79520         * m4/xstrtol.m4 (gl_XSTRTOL): Likewise.
79521
79522         * m4/filemode.m4 (gl_FILEMODE): Require AC_STRUCT_ST_DM_MODE.
79523
79524         * m4/filemode.m4 (gl_PREREQ_FSUSAGE_EXTRA): Do not require
79525         gl_AC_TYPE_INTMAX_T or gl_AC_TYPE_UINTMAX_T, since we now require
79526         stdint.
79527         * m4/human.m4 (gl_HUMAN): Likewise.
79528         * m4/inttostr.m4 (gl_PREREQ_INTTOSTR): Likewise.
79529         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Likewise.
79530         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79531         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79532         * m4/xstrtol (gl_XSTRTOL): Likewise.
79533
79534         * m4/gethrxtime.m4 (gl_XTIME): gl_AC_TYPE_LONG_LONG ->
79535         AC_TYPE_LONG_LONG_INT.
79536         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Likewise.
79537         * m4/strtoll.m4 (gl_FUNC_STRTOLL): Likewise.
79538         * m4/strtoull.m4 (gl_FUNC_STRTOULL): Likewise, for unsigned long.
79539         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Likewise.
79540
79541         * m4/human.m4 (gl_HUMAN): Do not require AM_STDBOOL_H since we depend
79542         on stdbool.
79543
79544         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL_H, gl_PREREQ_XSTRTOL): Remove.
79545         (gl_PREREQ_XSTRTOUL): Remove.
79546
79547         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Check for hasmntopt.
79548
79549         * m4/posixver.m4: Fix comment since head -1 now works even in POSIX
79550         mode.
79551
79552 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79553
79554         Add and change modules to make it easier for coreutils to use
79555         gnulib-tool.
79556         * modules/backupfile (Files): Remove m4/d-ino.m4.
79557         (Depends-on): Add d-ino.
79558         * modules/cycle-check (Depends-on): Add stdint.
79559         (lib_SOURCES): Add cycle-check.h.
79560         * modules/d-ino: New module.
79561         * modules/d-type: New module.
79562         * modules/error (Files): Remove m4/strerror_r.m4.
79563         * modules/filemode (Files): Add m4/st_dm_mode.m4.
79564         * modules/fsuage (Files): Remove m4/ulonglong.m4, m4/stdint_h.m4,
79565         m4/inttypes_h.m4, m4/uintmax_t.m4.
79566         (Depends-on): Add stdint.
79567         (lib_SOURCES): Add fsusage.h.
79568         * modules/getcwd (Files): Remove d-ino.m4.
79569         (Depends-on): Add d-ino.
79570         * modules/getndelim2 (Depends-on): Add stdint.
79571         * modules/glob (Files): Remove m4/d-type.m4.
79572         (Depends-on): Add d-type.
79573         * modules/host-os: New module.
79574         * modules/human (Files):  Remove m4/ulonglong.m4, m4/stdint_h.m4,
79575         m4/inttypes_h.m4, m4/uintmax_t.m4.
79576         * Depends-on: Add stdint.
79577         (lib_SOURCES): Add human.h.
79578         * modules/inttostr (Files): Remove m4/intmax_t.m4,
79579         m4/inttostr.m4, m4/inttypes_h.m4, m4/longlong.m4, m4/stdint_h.m4,
79580         m4/uintmax_t.m4, m4/ulonglong.m4.
79581         (Depends-on): Add stdint.
79582         (EXTRA_DIST): Add inttostr.h.
79583         * modules/lchmod: New module.
79584         * modules/link-follow: New module.
79585         * modules/mkdir-p (Files): Remove lib/lchmod.h, m4/lchmod.m4.
79586         (Depends-on): Add lchmod.
79587         * modules/mkstemp (Files): Remove m4/ulonglong.m4,
79588         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4.
79589         (Depends-on): Add stdint.
79590         * modules/obstack (Files): Remove m4/inttypes_h.m4, m4/obstack.m4,
79591         m4/stdint_h.m4, m4/uintmax_t.m4, m4/ulonglong.m4.
79592         (Depends-on): Add stdint.
79593         (configure.ac): Change gl_OBSTACK to AC_FUNC_OBSTACK.
79594         * modules/perl: New module.
79595         * modules/regex (Depends-on): Add stdint.
79596         * modules/rmdir-errno: New module.
79597         * modules/strtoimax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79598         m4/intmax_t.m4.
79599         (Depends-on): Add stdint.
79600         * modules/strtoumax (Files): Remove m4/stdint_h.m4, m4/inttypes_h.m4,
79601         m4/uintmax_t.m4.
79602         (Depends-on): Add stdint.
79603         * modules/unlink-busy: New module.
79604         * modules/utimecmp (Depends-on): Add stdint.
79605         * modules/uptime: New module.
79606         * modules/winsz-ioctl: New module.
79607         * modules/winsz-termios: New module.
79608         * modules/xnanosleep (Depends-on): Add nanosleep.
79609         * modules/ullong_max: Remove.
79610         * modules/xstrtoimax (Files): Remove m4/xstrtoimax.m4.
79611         (configure.ac): Remove gl_XSTRTOIMAX; no action needed now.
79612         * modules/xstrtol (Files): Remove m4/ulonglong.m4, m4/longlong.m4,
79613         m4/stdint_h.m4, m4/inttypes_h.m4, m4/uintmax_t.m4, m4/intmax_t.m4.
79614         (Depends-on): Add inttypes.
79615         (lib_SOURCES): Add xstrtol.h.
79616         * modules/xstrtoumax (Files): Remove m4/xstrtoumax.m4.
79617         (configure.ac): Remove gl_XSTRTOUMAX; no action needed now.
79618         * MODULES.html.sh: Move 'assert' into the assert section.
79619         Move 'dummy' into the linking section.
79620         Remove ullong_max.
79621         Add section for compatibility checks for POSIX:2001 functions,
79622         and put d-ino, d-type, link-follow, rmdir-errno, unlink-busy,
79623         winsz-ioctl, and winsz-termios into it.
79624         Add lchmod.
79625         Add top-level Misc section and put host-os, perl, and uptime
79626         into it.
79627
79628 2006-08-20  Paul Eggert  <eggert@cs.ucla.edu>
79629
79630         * lib/cycle-check.h: Include <stdint.h> unconditionally, since we
79631         now assume the stdint module.  Do not include inttypes.h.
79632         * lib/fsusage.h: Likewise.
79633         * lib/getndelim2.c: Likewise.
79634         * lib/human.h: Likewise.
79635         * lib/inttostr.h: Likewise.
79636         * lib/obstack.c: Likewise.
79637         * lib/regex_internal.h: Likewise.
79638         * lib/tempname.c: Likewise.
79639         * lib/utimecmp.c: Likewise.
79640         * lib/xstrtol.h: Likewise.
79641
79642         * lib/stat_.h: Fix typo: HAVE_FUNC_LSTAT -> HAVE_LSTAT.
79643
79644         * lib/strtoimax.c: Adjust to macro name changes in Autoconf,
79645         e.g., HAVE_LONG_LONG -> HAVE_LONG_LONG_INT.
79646         * lib/xtime.h: Likewise.
79647
79648 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79649
79650         * modules/openat (Files): Add lib/fchmodat.c.
79651         Fixes problem reported by Jay Youngman.
79652
79653 2006-08-19  Paul Eggert  <eggert@cs.ucla.edu>
79654
79655         * lib/fchmodat.c: New file, from coreutils.  This was inadvertently
79656         omitted in the 2006-08-17 update.  Problem reported by Jay Youngman.
79657
79658 2006-08-18  Paul Eggert  <eggert@cs.ucla.edu>
79659             Bruno Haible  <bruno@clisp.org>
79660
79661         * m4/bison-i18n.m4 (BISON_I18N): Also handle the case where yacc exists
79662         and is a script that invokes bison. Tighten the code. Add comments.
79663
79664 2006-08-18  Jim Meyering  <jim@meyering.net>
79665
79666         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Also check for
79667         CLOCK_REALTIME, since gethrxtime may revert to using clock_gettime via
79668         gettime.c.  Gabor Z. Papp reported that gethrxtime-using programs
79669         failed to link due to unresolved clock_gettime on a linux-2.4.x system.
79670
79671 2006-08-18  Bruno Haible  <bruno@clisp.org>
79672
79673         * modules/bison-i18n: New file.
79674         * MODULES.html.sh (Internationalization functions): Add it.
79675
79676 2006-08-18  Bruno Haible  <bruno@clisp.org>
79677
79678         * m4/ls-mntd-fs.m4 (gl_LIST_MOUNTED_FILE_SYSTEMS): Also check for
79679         sys/statvfs.h. When getmntinfo was found, check its declaration and
79680         set either MOUNTED_GETMNTINFO or MOUNTED_GETMNTINFO2 depending on it.
79681
79682 2006-08-18  Bruno Haible  <bruno@clisp.org>
79683
79684         * m4/bison-i18n.m4: New file, from bison.
79685
79686 2006-08-18  Bruno Haible  <bruno@clisp.org>
79687
79688         * lib/mountlist.c [MOUNTED_GETMNTINFO2]: Include sys/statvfs.h.
79689         (ME_DUMMY): Treat "kernfs" as a dummy.
79690         (read_file_system_list) [MOUNTED_GETMNTINFO2]: Implement.
79691
79692 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79693
79694         Update from coreutils.
79695
79696         2006-08-15  Jim Meyering  <jim@meyering.net>
79697
79698         * m4/openat.m4 (gl_FUNC_OPENAT): Add at-func.c via AC_LIBSOURCES.
79699
79700         2006-01-17  Jim Meyering  <jim@meyering.net>
79701
79702         * m4/fts.m4 (gl_FUNC_FTS_CORE): Depend on gl_FUNC_OPENAT.
79703
79704         2006-01-11  Jim Meyering  <jim@meyering.net>
79705
79706         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile fchmodat.c.
79707         Check for the lchmod function.
79708
79709 2006-08-17  Paul Eggert  <eggert@cs.ucla.edu>
79710
79711         Update from coreutils.
79712
79713         * lib/__fpending.h: Add copyright notice.
79714         * lib/fprintftime.h: Likewise.
79715         * lib/savedir.c: Use (C) in copyright notice.
79716         * lib/savedir.h: Likewise.
79717
79718         2006-08-15  Jim Meyering  <jim@meyering.net>
79719
79720         * lib/at-func.c: New file, with the logic of all emulated at-functions.
79721         * lib/openat-priv.h: Include <errno.h> and define ENOSYS,
79722         in support of the EXPECTED_ERRNO macro.
79723         * lib/openat.c (fstatat, unlinkat, fchownat): Remove function
79724         definitions.  Instead, define the appropriate symbols and include
79725         "at-func.c".
79726         * lib/mkdirat.c (mkdirat): Likewise.
79727         * lib/fchmodat.c (fchmodat): Likewise.
79728         (ENOSYS): Remove definition.
79729         * lib/openat.c: Don't include <errno.h>, now that "openat-priv.h" does
79730         it.  Don't include "unistd--.h" -- it wasn't ever used.
79731
79732         2006-01-17  Jim Meyering  <jim@meyering.net>
79733
79734         Rewrite fts.c not to change the current working directory,
79735         by using openat, fstatat, fdopendir, etc..
79736
79737         * lib/fts.c [! _LIBC]: Include "openat.h" and "unistd--.h".
79738         (HAVE_OPENAT_SUPPORT): Define.
79739         [_LIBC] (fchdir): Don't undef or define; no longer used.
79740         (FCHDIR): Define in terms of cwd_advance_fd rather than fchdir.
79741         Now, this `function' always succeeds, and consumes its file descriptor
79742         parameter -- so callers must not close such FDs.  Update callers.
79743         (diropen_fd, opendirat, cwd_advance_fd): New functions.
79744         (diropen): Add parameter, SP.  Adjust all callers.
79745         Implement using diropen_fd, rather than open.
79746         (fts_open): Initialize new member, fts_cwd_fd.
79747         Remove fts_rft-setting code.
79748         (fts_close): Close fts_cwd_fd, if necessary.
79749         (__opendir2): Define in terms of opendir or opendirat,
79750         depending on whether the FST_NOCHDIR flag is set.
79751         (fts_build): Since fts_safe_changedir consumes its FD, and since
79752         this code must do `closedir(dirp)', dup the dirfd(dirp) argument,
79753         and close the dup'd file descriptor upon failure.
79754         (fts_stat): Use fstatat(...AT_SYMLINK_NOFOLLOW) in place of lstat.
79755         (fts_safe_changedir): Tweak semantics to reflect that this function
79756         now calls cwd_advance_fd and hence consumes its FD argument.
79757         * lib/fts_.h [struct FTS] (fts_cwd_fd): New member.
79758         [struct FTS] (fts_rft): Remove now-unused member.
79759         [struct FTS] (fts_cycle.state): Improve comment.
79760
79761         * lib/openat.c (openat_needs_fchdir): New function.
79762         * lib/openat.h (openat_needs_fchdir): Declare it.
79763
79764 2006-08-16  Paul Eggert  <eggert@cs.ucla.edu>
79765
79766         * lib/memcoll.c (memcoll): Set errno = 0 in the shortcut case, too.
79767         Problem and fix reported by Pádraig Brady in
79768         <http://lists.gnu.org/archive/html/bug-coreutils/2006-08/msg00099.html>.
79769
79770 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79771
79772         * modules/cycle-check (configure.ac): Add gl_CYCLE_CHECK.
79773
79774 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79775
79776         * lib/memcoll.c (memcoll): Optimize for the common case where the
79777         arguments are bytewise equal.
79778
79779 2006-08-15  Paul Eggert  <eggert@cs.ucla.edu>
79780
79781         * doc/regexprops-generic.texi: Add a copyright notice.
79782
79783 2006-08-15  Bruno Haible  <bruno@clisp.org>
79784
79785         * modules/tmpdir (License): Change to LGPL.
79786
79787 2006-08-15  Bruno Haible  <bruno@clisp.org>
79788
79789         * gnulib-tool (func_all_modules, func_verify_module): COPYING is not a
79790         module.
79791
79792 2006-08-14  Simon Josefsson  <jas@extundo.com>
79793
79794         * config/srclist.txt: Add gnupload.
79795
79796 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79797
79798         Change copyright notice from LGPL 2 to GPL 2, since that's the
79799         standard form used in the gnulib repository.
79800         * tests/test-lock.c: Likewise.
79801         * tests/test-stdint.c: Likewise.
79802         * tests/test-tls.c: Likewise.
79803
79804         * users.txt: Add bison, diffutils, libprelude, prelude-lml,
79805         prelude-manager.  User shorter URLs for GNU projects, without '?'.
79806         Add copyright notice.
79807
79808         * check-module: Add copyright notice.  Output a copyright
79809         notice if "--version" is specified.
79810         * modules/COPYING: New file.
79811         * tests/test-getaddrinfo.c: Add copyright notice.
79812         * tests/test-verify.c: Likewise.
79813
79814 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79815
79816         Change copyright notice from LGPL 2 to GPL 2, since that's the
79817         standard form used in the gnulib repository.
79818         * lib/lock.c: LGPL -> GPL.
79819         * lib/lock.h: Likewise.
79820         * lib/strnlen1.c: Likewise.
79821         * lib/strnlen1.h: Likewise.
79822         * lib/tls.c: Likewise.
79823         * lib/tls.h: Likewise.
79824         * lib/tmpdir.c: Likewise.
79825
79826         * lib/TODO: Remove; this belongs only in coreutils.
79827
79828 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79829
79830         Add copyright notices to long-enough files that lack them, since
79831         otherwise the files aren't clearly free.  Use the same notice that
79832         getdate.texi already uses.
79833         * doc/alloca-opt.texi: Add copyright notice.
79834         * doc/alloca.texi: Likewise.
79835         * doc/ctime.texi: Likewise.
79836         * doc/functions.texi: Likewise.
79837         * doc/gcd.texi: Likewise.
79838         * doc/gnulib-tool.texi: Likewise.
79839         * doc/inet_ntoa.texi: Likewise.
79840         * doc/visibility.texi: Likewise.
79841
79842         * doc/getdate.texi: Update FDL version from 1.1 to 1.2.
79843         * doc/quote.texi: Add copyright notice.
79844
79845         * doc/solaris-versions: Add SunOS 5.10, SunOS 1.x, SunOS 4.0, SunOS
79846         4.0.x, SunOS 4.1.1.1, SunOS 4.1.1_U1, SunOS 4.1.3B.  SunOS 4.1.3
79847         was Solaris 1.1A.  Remove space before B in Solaris 1.1.1B.
79848         Mention SunOS 5.11.  Mention that everything before SunOS 5.7
79849         is now obsolete, and give a pointer to the Sun list.
79850         Add copyright notice.
79851
79852 2006-08-14  Paul Eggert  <eggert@cs.ucla.edu>
79853
79854         * config/srclistvars.sh: Add copyright notice.
79855
79856 2006-08-14  Eric Blake  <ebb9@byu.net>
79857
79858         Import the following change from libc:
79859
79860         2006-08-12  Ulrich Drepper  <drepper@redhat.com>
79861
79862         Upstream bug 2997.
79863         * lib/misc/error.c: Add space between program name and message if file
79864         name is missing.
79865
79866 2006-08-12  Karl Berry  <karl@gnu.org>
79867
79868         * config/srclist.txt (ssize_t.m4, sig_atomic_t.m4, signalblocking.m4):
79869         remove, these originate in gnulib now.
79870
79871 2006-08-11  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
79872
79873         * doc/Makefile (standards.info standards.html standards.dvi):
79874         Also depend on make-stds.texi.
79875
79876 2006-08-11  Paul Eggert  <eggert@cs.ucla.edu>
79877
79878         * lib/pipe-safer.c (pipe_safer): Fix misspelling: HAVE_FUNC_PIPE ->
79879         HAVE_PIPE.  Fix a file descriptor leak when fd_safer fails.
79880
79881         * lib/regex_internal.c (re_string_skip_chars): Don't assume WEOF fits
79882         in wchar_t.  Problem reported by Eric Blake.
79883
79884         * lib/snprintf.c (snprintf): memcpy LEN bytes, not SIZE - 1, when
79885         LEN is smaller than SIZE.  Suggested by Bruno Haible.
79886         Also, help the compiler to keep LEN in a register.
79887
79888 2006-08-11  Eric Blake  <ebb9@byu.net>
79889
79890         * users.txt: Sort.  Add tar.
79891
79892 2006-08-11  Bruno Haible  <bruno@clisp.org>
79893
79894         * users.txt: New file.
79895
79896 2006-08-11  Bruno Haible  <bruno@clisp.org>
79897
79898         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Include <stdio.h> and <time.h>
79899         before <wchar.h>. Needed for OSF/1 and BSD/OS.
79900
79901 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79902
79903         * modules/snprintf (Depends-on): Remove minmax.
79904         (Maintainer): Add self and Bruno.
79905
79906 2006-08-10  Paul Eggert  <eggert@cs.ucla.edu>
79907
79908         * lib/.cppi-disable: Add snprintf.h, socket_.h.
79909         * lib/snprintf.c: Include <errno.h> and <limits.h>.
79910         (EOVERFLOW): Define if the system does not.
79911         Do not include "minmax.h"; it wasn't used.
79912         (snprintf): Don't assume size_t promotes to an unsigned type.
79913         Fix bug when generated string was too long for the buffer: the
79914         buffer's contents are supposed to be the initial prefix of the
79915         output.  Don't assume vasnprintf returns EOVERFLOW if the size
79916         exceeds INT_MAX; do the check ourselves.
79917
79918         Import the following changes from libc:
79919
79920         2006-06-02  Jakub Jelinek  <jakub@redhat.com>
79921
79922         * lib/posix/regex_internal.c (re_string_skip_chars): If no character
79923         has been converted at all, set *last_wc to WEOF.  If mbrtowc failed,
79924         set wc to the byte which couldn't be converted.
79925         (re_string_reconstruct): Don't clear valid_raw_len before calling
79926         re_string_skip_chars.  If wc is WEOF after re_string_skip_chars, set
79927         tip_context using re_string_context_at.
79928
79929         2006-05-02  Ulrich Drepper  <drepper@redhat.com>
79930
79931         * lib/posix/regex.h: g++ still cannot handled [restrict].
79932
79933         2006-04-21  Ulrich Drepper  <drepper@redhat.com>
79934
79935         * lib/posix/regex.h: Remove special handling for VMS.
79936
79937 2006-08-10  Jim Meyering  <jim@meyering.net>
79938
79939         * modules/same-inode: New module.
79940         * modules/dev-ino: New module.
79941         * modules/cycle-check: Depend on these modules, rather than simply
79942         including their .h files.
79943         (Makefile.am): Don't list cycle-check.[ch] here, now that they're
79944         required via m4/cycle-check.m4.
79945         * modules/same: Depend on new same-inode module, rather than
79946         including same-inode.h.
79947         * modules/chdir-safer: New file.
79948
79949         * modules/chown (Depends-on): Add stat-macros.
79950
79951 2006-08-10  Jim Meyering  <jim@meyering.net>
79952
79953         * m4/cycle-check.m4: New file.
79954         Require gl_STRUCT_DEV_INO and gl_SAME_INODE.
79955         * m4/dev-ino.m4, m4/same-inode.m4: New files.
79956
79957 2006-08-10  Eric Blake  <ebb9@byu.net>
79958
79959         * modules/verror (Depends-on): Remove bogus gl_VERROR that snuck
79960         in from original proposal.
79961
79962 2006-08-10  Eric Blake  <ebb9@byu.net>
79963         and Ralf Wildenhues <Ralf.Wildenhues@gmx.de>
79964
79965         * gnulib-tool (func_import): Detect unexpanded macros in gnulib
79966         namespace.
79967
79968 2006-08-10  Bruno Haible  <bruno@clisp.org>
79969
79970         * gnulib-tool (func_create_testdir): Detect unexpanded macros here
79971         as well.
79972
79973 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79974
79975         Sync from coreutils.
79976
79977         2006-07-19  Mike Frysinger  <vapier@gentoo.org>
79978
79979         * lib/mountlist.c [ME_REMOTE]: Filter out cifs.
79980         Reported by Toralf Förster in <http://bugs.gentoo.org/141012>.
79981
79982 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
79983
79984         * modules/restrict: Remove; no longer needed now that we assume
79985         Autoconf 2.59 or later.
79986         * MODULES.html.sh: Remove 'restrict'.
79987         * modules/argp (Depends-on): Remove 'restrict'.
79988         * modules/base64 (Depends-on): Likewise.
79989         * modules/gc (Depends-on): Likewise.
79990         * modules/getaddrinfo (Depends-on): Likewise.
79991         * modules/glob (Depends-on): Likewise.
79992         * modules/inet_ntop (Depends-on): Likewise.
79993         * modules/inet_pton (Depends-on): Likewise.
79994         * modules/memxor (Depends-on): Likewise.
79995         * modules/regex (Depends-on): Likewise.
79996         * modules/strtok_r (Depends-on): Likewise.
79997         * modules/time_r (Depends-on): Likewise.
79998
79999 2006-08-09  Paul Eggert  <eggert@cs.ucla.edu>
80000
80001         * m4/argp.m4 (gl_ARGP): Require AC_C_RESTRICT.
80002         * m4/gc.m4 (gl_PREREQ_GC): Likewise.
80003         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
80004         * m4/inet_ntop.m4 (gl_PREREQ_INET_NTOP): Likewise.
80005         * m4/inet_pton.m4 (gl_PREREQ_INET_PTON): Likewise.
80006         * m4/memxor.m4 (gl_MEMXOR): Likewise.
80007         * m4/restrict.m4: Remove; no longer needed.  All remaining uses of
80008         gl_C_RESTRICT replaced by AC_C_RESTRICT.
80009
80010         Merge from coreutils.
80011         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_C_RESTRICT, not
80012         gl_C_RESTRICT, now that we assume Autoconf 2.59 or later.
80013         * m4/strtok_r.m4 (gl_FUNC_STRTOK_R): Likewise.
80014         * m4/time_r.m4 (gl_TIME_R): Likewise.
80015
80016 2006-08-09  Karl Berry  <karl@gnu.org>
80017
80018         * config/srclist.txt: no more gettext-tools, per Bruno.
80019
80020 2006-08-08  Eric Blake  <ebb9@byu.net>
80021
80022         * modules/verror: New module.
80023         * MODULES.html.sh: Document it.
80024
80025 2006-08-08  Eric Blake  <ebb9@byu.net>
80026
80027         * lib/verror.h, lib/verror.c: New files.
80028
80029 2006-08-08  Eric Blake  <ebb9@byu.net>
80030
80031         * lib/verror.c (verror_at_line): Work around glibc bug 2997, so that
80032         verror_at_line output complies with GNU Coding Standards even when
80033         file is NULL.
80034
80035 2006-08-07  Bruno Haible  <bruno@clisp.org>
80036
80037         * lib/allocsa.h (sa_alignof) [_AIX]: Also consider 'long long' in newer
80038         versions of AIX.
80039         Reported by Ralf Wildenhues.
80040
80041 2006-08-07  Bruno Haible  <bruno@clisp.org>
80042
80043         * gnulib-tool (func_create_testdir): Wrap the set of autoconf snippets
80044         in an AC_DEFUN. Needed so that the autoconf snippets can use
80045         AC_REQUIRE.
80046
80047 2006-08-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80048
80049         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80050         Initialize pkgdata_DATA.
80051         * modules/javaversion (Makefile.am): Add to pkgdata_DATA, rather than
80052         overriding it.
80053
80054 2006-08-06  Eric Blake  <ebb9@byu.net>
80055
80056         * lib/error.h: Fold in some upstream changes from glibc.
80057         * lib/error.c: Likewise.
80058
80059 2006-08-04  Bruno Haible  <bruno@clisp.org>
80060
80061         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80062         Make the mostlyclean-local rule depend on mostlyclean-generic.
80063         Reported by Jim Meyering. Solution suggested by Ralf Wildenhues.
80064
80065 2006-07-31  Bruno Haible  <bruno@clisp.org>
80066
80067         * m4/localcharset.m4 (gl_LOCALCHARSET): Remove tests for <stddef.h>,
80068         <stdlib.h>, <string.h>.
80069
80070 2006-07-30  Bruno Haible  <bruno@clisp.org>
80071
80072         * modules/readlink (License): Change to LGPL.
80073
80074 2006-07-30  Bruno Haible  <bruno@clisp.org>
80075
80076         * modules/javaversion (Makefile.am): Distribute javaversion.java and
80077         javaversion.class. Also install javaversion.class in $(pkgdatadir) and
80078         set PKGDATADIR to point to it.
80079
80080 2006-07-30  Bruno Haible  <bruno@clisp.org>
80081
80082         * modules/csharpexec (configure.ac): Comment out macro invocation.
80083         * modules/javaexec (configure.ac): Likewise.
80084         * modules/javacomp-script (configure.ac): Likewise.
80085
80086         * modules/csharpcomp-script (configure.ac): Use AC_REQUIRE.
80087
80088 2006-07-30  Bruno Haible  <bruno@clisp.org>
80089
80090         * modules/clean-temp (Depends-on): Add linkedhash-list, remove
80091         linked-list.
80092
80093 2006-07-30  Bruno Haible  <bruno@clisp.org>
80094
80095         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Assume <string.h> exists.
80096
80097 2006-07-30  Bruno Haible  <bruno@clisp.org>
80098
80099         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
80100         Initialize MOSTLYCLEANFILES to core and *.stackdump, so that core dumps
80101         get removed.
80102
80103 2006-07-29  Bruno Haible  <bruno@clisp.org>
80104
80105         Make it possible for gnulib-tool to work with locally modified or
80106         augmented gnulib repositories.
80107         * gnulib-tool (func_usage): Document --local-dir option.
80108         (local_gnulib_dir): New variable.
80109         Handle --local-dir option.
80110         (func_lookup_file): New function.
80111         (func_all_modules, func_verify_module): Look also in $local_gnulib_dir.
80112         (func_get_description, func_get_filelist, func_get_description,
80113         func_get_filelist, func_get_dependencies, func_get_autoconf_snippet,
80114         func_get_automake_snippet, func_get_include_directive,
80115         func_get_license, func_get_maintainer): Use func_lookup_file.
80116         (func_import, func_create_testdir): Use func_lookup_file.
80117
80118 2006-07-29  Bruno Haible  <bruno@clisp.org>
80119
80120         * modules/setenv (Depends-on): Add unistd.
80121
80122 2006-07-29  Bruno Haible  <bruno@clisp.org>
80123
80124         * lib/setenv.c: Undo unintended modification done on 2006-02-27.
80125
80126 2006-07-29  Bruno Haible  <bruno@clisp.org>
80127
80128         * lib/localcharset.c: Assume <stddef.h>, <stdlib.h>, <string.h> exist.
80129
80130 2006-07-29  Bruno Haible  <bruno@clisp.org>
80131
80132         * gnulib-tool (import, update): If there is no Makefile.am, look at
80133         aclocal.m4, instead of bailing out.
80134
80135 2006-07-29  Bruno Haible  <bruno@clisp.org>
80136
80137         * gnulib-tool (func_usage): Revert most of the 2006-07-15 change.
80138         Categorize the options by when they are useful.
80139
80140 2006-07-29  Bruno Haible  <bruno@clisp.org>
80141
80142         * gnulib-tool (func_usage): Document option --no-libtool.
80143         Handle option --no-libtool.
80144         (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am): Update
80145         for changed semantics of $libtool variable.
80146         (func_import): Likewise. If libtool is not used, show this through
80147         an option --no-libtool.
80148         (func_create_testdir): Update.
80149
80150 2006-07-29  Bruno Haible  <bruno@clisp.org>
80151
80152         * gnulib-tool (func_import): Extend error message about missing
80153         --doc-base.
80154
80155 2006-07-29  Bruno Haible  <bruno@clisp.org>
80156
80157         * gnulib-tool (func_import): Don't create the $docbase directory if
80158         there is no file to store there.
80159
80160 2006-07-29  Bruno Haible  <bruno@clisp.org>
80161
80162         * gnulib-tool (autoconf_minversion): If a --dir option is given and
80163         relevant, look for configure.ac there, not in the current directory.
80164         Also use a simple search for AC_PREREQ, not "autoconf --trace".
80165
80166 2006-07-29  Bruno Haible  <bruno@clisp.org>
80167
80168         * gnulib-tool (SORT): New variable.
80169         (func_usage): Undocument --assume-autoconf option.
80170         Remove --assume-autoconf option handling.
80171         (autoconf_minversion): Determine from the contents of configure.ac.
80172         (func_import): Remove autoconf_minversion handling.
80173         Suggested by Eric Blake.
80174
80175 2006-07-29  Bruno Haible  <bruno@clisp.org>
80176
80177         * doc/gnulib-tool.texi (gl_LIBTOOL): Mention --no-libtool option.
80178
80179 2006-07-29  Bruno Haible  <bruno@clisp.org>
80180
80181         * config/srclist.txt (*setenv.[ch]): Remove rules.
80182
80183 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80184
80185         * m4/inet_pton.m4, inet_ntop.m4: Check for netinet/in.h too.
80186
80187 2006-07-28  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80188
80189         * lib/inet_ntop.h, inet_pton.h: Need to include netinet/in.h before
80190         arpa/inet.h.
80191
80192 2006-07-28  Simon Josefsson  <jas@extundo.com>
80193
80194         * modules/inet_ntop (Depends-on): Depend on arpa_inet.
80195         * modules/inet_pton (Depends-on): Likewise.
80196
80197 2006-07-28  Simon Josefsson  <jas@extundo.com>
80198
80199         * m4/netinet_in_h.m4: New file.
80200
80201 2006-07-28  Simon Josefsson  <jas@extundo.com>
80202
80203         * lib/inet_ntop.h, inet_pton.h: No need to guard netinet/in.h
80204         #include's.
80205
80206 2006-07-28  Simon Josefsson  <jas@extundo.com>
80207
80208         * lib/inet_ntop.h, inet_pton.h: No need to guard arpa/inet.h
80209         #include's.
80210
80211 2006-07-28  Paul Eggert  <eggert@cs.ucla.edu>
80212
80213         * lib/modechange.c (mode_compile): Numeric modes now affect setuid and
80214         setgid on directories only if they set these bits.
80215         * lib/modechange.h: Remove obsolete comment about masks.
80216
80217 2006-07-28  Eric Blake  <ebb9@byu.net>
80218
80219         * lib/regex_internal.h (struct re_dfa_t) [!_LIBC]: Avoid invalid C89
80220         macro expansion.
80221
80222 2006-07-28  Bruno Haible  <bruno@clisp.org>
80223
80224         * lib/inet_ntop.h, inet_pton.h: Use #if HAVE* instead of #ifdef HAVE*.
80225
80226 2006-07-28  Bruno Haible  <bruno@clisp.org>
80227
80228         * m4/mbchar.m4 (gl_MBCHAR): Also test for iswcntrl.
80229
80230 2006-07-28  Bruno Haible  <bruno@clisp.org>
80231
80232         * lib/mbchar.h (iswalnum, iswalpha, iswblank, iswcntrl, iswdigit,
80233         iswgraph, iswlower, iswprint, iswpunct, iswspace, iswupper, iswxdigit):
80234         Define fallbacks.
80235         Avoids link error on FreeBSD 4.x.
80236         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
80237
80238         * lib/wcwidth.h (iswprint): Assume an ASCII compatible wide character
80239         encoding.
80240         * lib/mbswidth.c (iswcntrl): Likewise.
80241
80242 2006-07-27  Bruno Haible  <bruno@clisp.org>
80243
80244         * m4/stdint.m4 (gl_STDINT_H): Define __STDC_CONSTANT_MACROS during the
80245         test.
80246
80247 2006-07-27  Bruno Haible  <bruno@clisp.org>
80248
80249         * lib/stdint_.h (INT*_C, UINT*_C) [C++]: Define these if
80250         __STDC_CONSTANT_MACROS is defined, not if __STDC_LIMIT_MACROS is
80251         defined.
80252
80253 2006-07-26  Eric Blake  <ebb9@byu.net>
80254
80255         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Check for missing pipe.
80256
80257 2006-07-26  Eric Blake  <ebb9@byu.net>
80258
80259         * lib/mkstemp-safer.c [! HAVE_MKSTEMP]: Add prototype for platforms
80260         like mingw that lack mkstemp.
80261         * lib/pipe-safer.c (pipe_safer) [!HAVE_FUNC_PIPE]: Provide fallback to
80262         avoid compilation warning on mingw.
80263
80264 2006-07-26  Bruno Haible  <bruno@clisp.org>
80265
80266         * m4/stdint.m4 (gl_STDINT_H): Also verify the existence of the macros
80267         INT*_MIN, INT_LEAST*_MAX, INT_LEAST*_MIN, UINT_LEAST*_MAX,
80268         INT_FAST*_MIN, INTPTR_MIN.
80269
80270 2006-07-25  Bruno Haible  <bruno@clisp.org>
80271
80272         * modules/version-etc (Depends-on): Add stdarg.
80273
80274 2006-07-25  Bruno Haible  <bruno@clisp.org>
80275
80276         * m4/stdint.m4 (gl_INTEGER_TYPE_SUFFIX): Avoid 'eval' in front of
80277         complex commands.
80278
80279 2006-07-25  Bruno Haible  <bruno@clisp.org>
80280
80281         * lib/version-etc.c (version_etc_va): Use va_copy, assumed to be
80282         defined in <stdarg.h> or config.h.
80283
80284 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
80285
80286         * m4/stdio-safer.m4 (gl_FOPEN_SAFER, gl_TMPFILE_SAFER): New macros.
80287         (gl_STDIO_SAFER): Remove.
80288
80289 2006-07-24  Paul Eggert  <eggert@cs.ucla.edu>
80290
80291         * MODULES.html.sh (File stream based Input/Output):
80292         Add fopen-safer, tmpfile-safer; remove stdio-safer.
80293         * modules/getusershell (Depends-on): Change stdio-safer to fopen-safer.
80294         * modules/fopen-safer, modules/tmpfile-safer: New files.
80295         * modules/stdio-safer: Remove.
80296
80297 2006-07-24  Bruno Haible  <bruno@clisp.org>
80298
80299         * modules/tmpdir: New file.
80300         * MODULES.html.sh (File system functions): Add it.
80301
80302 2006-07-24  Bruno Haible  <bruno@clisp.org>
80303
80304         * modules/javacomp (Depends-on): Add unistd, javaversion, binary-io,
80305         getline, pathname, fwriteerror, clean-temp, xvasprintf, strstr.
80306
80307 2006-07-24  Bruno Haible  <bruno@clisp.org>
80308
80309         * modules/clean-temp: New file.
80310
80311 2006-07-24  Bruno Haible  <bruno@clisp.org>
80312
80313         * m4/tmpdir.m4: New file, from GNU gettext.
80314
80315 2006-07-24  Bruno Haible  <bruno@clisp.org>
80316
80317         * lib/tmpdir.h: New file, from GNU gettext.
80318         * lib/tmpdir.c: New file, from GNU gettext.
80319
80320 2006-07-24  Bruno Haible  <bruno@clisp.org>
80321
80322         * lib/clean-temp.h: New file, from GNU gettext.
80323         * lib/clean-temp.c: New file, from GNU gettext.
80324
80325 2006-07-23  Eric Blake  <ebb9@byu.net>
80326
80327         * modules/stdio-safer (Files): Add tmpfile-safer.c.
80328         (Depends-on): Add binary-io.
80329
80330 2006-07-23  Eric Blake  <ebb9@byu.net>
80331
80332         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add tmpfile-safer.c.
80333
80334 2006-07-23  Eric Blake  <ebb9@byu.net>
80335
80336         * lib/tmpfile-safer.c: New file.
80337         * lib/stdio-safer.h (fopen_safer): Add prototype.
80338         * lib/stdio--.h (tmpfile): Make safer.
80339
80340 2006-07-23  Bruno Haible  <bruno@clisp.org>
80341
80342         * lib/gl_anylinked_list2.h (ASYNCSAFE): New macro.
80343         (gl_linked_add_first, gl_linked_add_last, gl_linked_add_before,
80344         gl_linked_add_after, gl_linked_add_at, gl_linked_remove_node,
80345         gl_linked_remove_at): Use it.
80346
80347 2006-07-22  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
80348         and Simon Josefsson <jas@extundo.com>
80349
80350         * lib/getaddrinfo.h (AI_PASSIVE): Make sure it is defined.
80351
80352         * lib/getaddrinfo.c (getaddrinfo): Support AI_PASSIVE.
80353
80354 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80355
80356         * modules/close-stream: New file.
80357         * modules/closeout (Description): Make it clear that it exits
80358         with a diagnostic on error.
80359         (Depends-on): Add close-stream.  Remove fpending, stdbool.
80360         * MODULES.html.sh (File stream based Input/Output): Add close-stream.
80361
80362 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80363
80364         * m4/close-stream.m4: New file.
80365
80366 2006-07-22  Paul Eggert  <eggert@cs.ucla.edu>
80367
80368         * lib/close-stream.c, lib/close-stream.h: New files.
80369
80370 2006-07-22  Bruno Haible  <bruno@clisp.org>
80371
80372         Merge from GNU gettext 0.15.
80373
80374         2006-05-01  Bruno Haible  <bruno@clisp.org>
80375
80376                 * build-aux/javacomp.sh.in: Update for changed javacomp.m4.
80377
80378         2006-07-22  Bruno Haible  <bruno@clisp.org>
80379
80380                 * modules/javaversion: New file.
80381                 * MODULES.html.sh (Java): Add javaversion.
80382
80383         2006-03-12  Bruno Haible  <bruno@clisp.org>
80384
80385                 * build-aux/javaexec.sh.in: Update for changed javaexec.m4.
80386
80387         2005-12-04  Bruno Haible  <bruno@clisp.org>
80388
80389                 * build-aux/csharpexec.sh.in: Add support for 'clix' launcher
80390                 (untested).
80391
80392         2006-06-21  Bruno Haible  <bruno@clisp.org>
80393
80394                 Avoid warnings from recent versions of mcs.
80395                 * build-aux/csharpcomp.sh.in (options_mcs): Don't use options
80396                 -o, -L, -r any more. Use options documented since mcs-1.0
80397                 instead. Similarly for -g.
80398
80399         2005-12-04  Bruno Haible  <bruno@clisp.org>
80400
80401                 * build-aux/csharpcomp.sh.in: Suffix for resources is
80402                 .resources, not .resource.
80403
80404         2005-07-09  Bruno Haible  <bruno@clisp.org>
80405
80406                 * build-aux/csharpcomp.sh.in (options_csc): For -l option,
80407                 add a .dll suffix.
80408                 Reported by Mark Junker <mjscod@gmx.de>.
80409
80410         2006-07-22  Bruno Haible  <bruno@clisp.org>
80411
80412                 * modules/gettext: Upgrade to gettext-0.15.
80413                 (Files): Remove m4/isc-posix.m4. Add m4/lock.m4,
80414                 m4/visibility.m4.
80415                 Replace m4/inttypes.m4 with m4/inttypes-h.m4.
80416
80417 2006-07-22  Bruno Haible  <bruno@clisp.org>
80418
80419         Merge from GNU gettext 0.15.
80420
80421         2006-03-25  Bruno Haible  <bruno@clisp.org>
80422
80423                 * lib-link.m4 (AC_LIB_LINKFLAGS_FROM_LIBS): New macro.
80424
80425         2006-07-21  Bruno Haible  <bruno@clisp.org>
80426
80427                 * javacomp.m4 (gt_JAVACOMP): Convert target_version "null" to
80428                 "1.1".
80429
80430         2006-05-09  Bruno Haible  <bruno@clisp.org>
80431
80432                 * javacomp.m4 (gt_JAVACOMP): On Cygwin, set
80433                 CLASSPATH_SEPARATOR to a semicolon. Use CLASSPATH_SEPARATOR
80434                 for the conftestver execution.
80435
80436         2006-05-01  Bruno Haible  <bruno@clisp.org>
80437
80438                 * javacomp.m4 (gt_JAVACOMP): Accept a source-version and an
80439                 optional target-version argument. Verify that the compiler
80440                 groks source of the specified source-version, or add -source
80441                 option as necessary. Verify that the compiler produces
80442                 bytecode in the specified target-version, or add -target and
80443                 -source options as necessary. Make the result of the test
80444                 available as variable CONF_JAVAC. Also log error output in
80445                 config.log.
80446
80447         2006-03-11  Bruno Haible  <bruno@clisp.org>
80448
80449                 * javacomp.m4 (gt_JAVACOMP): Treat gcj-4.x like gcj-3.x.
80450
80451         2006-05-09  Bruno Haible  <bruno@clisp.org>
80452
80453                 * javaexec.m4 (gt_JAVAEXEC): On Cygwin, set
80454                 CLASSPATH_SEPARATOR to a semicolon.
80455
80456         2006-03-12  Bruno Haible  <bruno@clisp.org>
80457
80458                 * javaexec.m4 (gt_JAVAEXEC): Make the result of the test
80459                 available as variable CONF_JAVA, for subsequent autoconf
80460                 tests. Also log error output in config.log.
80461
80462         2006-07-19  Bruno Haible  <bruno@clisp.org>
80463
80464                 * getline.m4 (AM_FUNC_GETLINE): When cross-compiling, assume
80465                 that getline works on glibc2 systems. Needed to avoid trouble
80466                 in relocatable.c.
80467                 Reported by Nils Magnus Larsgard <nmlarsgaard@atmel.no>.
80468
80469         2005-12-04  Bruno Haible  <bruno@clisp.org>
80470
80471                 * csharpexec.m4 (gt_CSHARPEXEC): Add support for 'clix'
80472                 launcher (untested).
80473
80474         2005-12-04  Bruno Haible  <bruno@clisp.org>
80475
80476                 * csharpcomp.m4 (gt_CSHARPCOMP): Also set CSHARPCOMPFLAGS.
80477
80478         2006-07-22  Bruno Haible  <bruno@clisp.org>
80479
80480                 * gettext.m4: Update from GNU gettext-0.15.
80481                 * nls.m4: Likewise.
80482                 * po.m4: Likewise.
80483                 * inttypes-pri.m4: Likewise.
80484                 * inttypes-h.m4: Renamed from inttypes.m4.
80485                 (gl_HEADER_INTTYPES_H): Renamed from gt_HEADER_INTTYPES_H.
80486
80487 2006-07-22  Bruno Haible  <bruno@clisp.org>
80488
80489         Merge from GNU gettext 0.15.
80490
80491         2005-07-05  Bruno Haible  <bruno@clisp.org>
80492
80493                 * printf-args.c (printf_fetchargs): Work around broken
80494                 definition of wint_t on mingw.
80495
80496         2005-02-12  Bruno Haible  <bruno@clisp.org>
80497
80498                 * xallocsa.h: Add extern "C" for C++.
80499
80500         2006-05-17  Bruno Haible  <bruno@clisp.org>
80501
80502                 Cygwin portability.
80503                 * progreloc.c (WIN32_NATIVE): Renamed from WIN32.
80504
80505         2006-04-30  Bruno Haible  <bruno@clisp.org>
80506
80507                 * progreloc.c: Include <mach-o/dyld.h> if available.
80508                 (find_executable): Use _NSGetExecutablePath when possible.
80509
80510         2006-05-06  Charles Wilson  <cygwin@cwilson.fastmail.fm>
80511
80512                 * progreloc.c (maybe_executable) [CYGWIN]: Use the access()
80513                 function.
80514
80515         2005-12-29  Bruno Haible  <bruno@clisp.org>
80516
80517                 * progreloc.c (set_program_name_and_installdir): Fix
80518                 compilation error.
80519
80520         2005-12-04  Bruno Haible  <bruno@clisp.org>
80521
80522                 Cygwin portability.
80523                 * progreloc.c: Include <windows.h> also on Cygwin.
80524                 (find_executable): Add support for Cygwin.
80525                 (set_program_name_and_installdir): Handle also platforms with
80526                 nonempty EXEEXT.
80527
80528         2006-07-11  Bruno Haible  <bruno@clisp.org>
80529
80530                 * javacomp.c: Fix a comment.
80531                 Reported by Jim Meyering.
80532
80533         2006-04-30  Bruno Haible  <bruno@clisp.org>
80534
80535                 * javacomp.h (compile_java_class): Add source_version,
80536                 target_version arguments.
80537                 * javacomp.c: Rewritten to choose only a compiler that
80538                 respects the specified source_version and target_version.
80539
80540         2006-06-27  Bruno Haible  <bruno@clisp.org>
80541
80542                 Assume correct S_ISDIR macro.
80543                 * mkdtemp.c: Remove test of STAT_MACROS_BROKEN.
80544
80545         2006-07-22  Bruno Haible  <bruno@clisp.org>
80546
80547                 * javaversion.h: New file, from GNU gettext.
80548                 * javaversion.c: New file, from GNU gettext.
80549                 * javaversion.java: New file, from GNU gettext.
80550                 * javaversion.class: New file, from GNU gettext.
80551
80552         2006-05-17  Bruno Haible  <bruno@clisp.org>
80553
80554                 Cygwin portability.
80555                 * javaexec.c (execute_java_class): Test for jview program
80556                 also on Cygwin.
80557
80558         2006-04-09  Bruno Haible  <bruno@clisp.org>
80559
80560                 * fatal-signal.c: Don't include string.h.
80561                 (at_fatal_signal): Use a copying loop instead of memcpy.
80562
80563         2005-12-04  Bruno Haible  <bruno@clisp.org>
80564
80565                 * csharpexec.c: Add support for 'clix' launcher (untested).
80566                 (execute_csharp_using_sscli): New function.
80567                 (execute_csharp_program): Call it.
80568
80569         2006-06-21  Bruno Haible  <bruno@clisp.org>
80570
80571                 Avoid warnings from recent versions of mcs.
80572                 * csharpcomp.c (compile_csharp_using_mono): Don't use options
80573                 -o, -L, -r any more. Use options documented since mcs-1.0
80574                 instead. Similarly for -g.
80575
80576         2005-07-09  Bruno Haible  <bruno@clisp.org>
80577
80578                 * csharpcomp.c (compile_csharp_using_sscli): For -l option,
80579                 add a .dll suffix.
80580                 Reported by Mark Junker <mjscod@gmx.de>.
80581
80582         2006-06-17  Bruno Haible  <bruno@clisp.org>
80583
80584                 * config.charset: Update for NetBSD 3.0.
80585
80586         2006-05-17  Bruno Haible  <bruno@clisp.org>
80587
80588                 Cygwin portability.
80589                 * localcharset.c (WIN32_NATIVE): Renamed from WIN32.
80590
80591         2006-05-16  Bruno Haible  <bruno@clisp.org>
80592
80593                 * localcharset.c [CYGWIN]: Include <windows.h>.
80594                 (get_charset_aliases): For Cygwin, return the same CPxxx
80595                 aliases list as under WIN32.
80596                 (locale_charset) [CYGWIN]: Try to retrieve the encoding from
80597                 the environment variables. Fall back to GetACP().
80598
80599         2006-04-05  Bruno Haible  <bruno@clisp.org>
80600
80601                 * config.charset: Update Juan Manuel Guerrero's address.
80602
80603         2005-02-12  Bruno Haible  <bruno@clisp.org>
80604
80605                 * allocsa.h: Add extern "C" for C++.
80606
80607         2005-02-10  Bruno Haible  <bruno@clisp.org>
80608
80609                 * allocsa.h (sa_alignof): Define differently with AIX xlc, to
80610                 avoid a bug of this compiler on AIX 3.2.5 dealing with enums.
80611
80612         2006-07-22  Bruno Haible  <bruno@clisp.org>
80613
80614                 * gettext.h: Update to GNU gettext-0.15.
80615
80616 2006-07-22  Bruno Haible  <bruno@clisp.org>
80617
80618         * config/srclist.txt: Resync printf-args.c, vasnprintf.c,
80619         localcharset.c, mkdtemp.c, config.rpath, lib-ld.m4, lib-link.m4,
80620         lib-prefix.m4, longdouble.m4, ssize_t.m4.
80621
80622 2006-07-21  Eric Blake  <ebb9@byu.net>
80623
80624         * modules/stdlib-safer: New file.
80625         * MODULES.html.sh (File stream based Input/Output): Add
80626         stdlib-safer.
80627
80628 2006-07-21  Eric Blake  <ebb9@byu.net>
80629
80630         * lib/stdlib-safer.h: New file from coreutils, required by
80631         stdlib--.h.
80632
80633 2006-07-20  Paul Eggert  <eggert@cs.ucla.edu>
80634
80635         * gnulib-tool (func_usage): Document --assume-autoconf='latest-stable'.
80636
80637 2006-07-20  Bruno Haible  <bruno@clisp.org>
80638
80639         * gnulib-tool: Recognize new option --assume-autoconf.
80640         (autoconf_minversion): New variable.
80641         (func_get_filelist): Use it to decide whether to add onceonly_2_57.m4.
80642
80643 2006-07-20  Bruno Haible  <bruno@clisp.org>
80644
80645         * MODULES.html.sh (func_all_modules): Add a missing func_begin_table.
80646
80647 2006-07-19  Derek R. Price  <derek@ximbiot.com>
80648
80649         * lib/getaddrinfo.h: Don't define unimplemented AI_* flags.
80650         Reindent and repaginate.
80651
80652 2006-07-19  Derek Price  <derek@ximbiot.com>
80653
80654         * doc/gnulib.texi (Libtool and Windows):  Eliminate passive voice.
80655         Correct grammar.
80656
80657 2006-07-17  Bruno Haible  <bruno@clisp.org>
80658
80659         * modules/list: New file.
80660         * modules/array-list: New file.
80661         * modules/carray-list, modules/carray-list-tests: New files.
80662         * modules/linked-list, modules/linked-list-tests: New files.
80663         * modules/avltree-list, modules/avltree-list-tests: New files.
80664         * modules/rbtree-list, modules/rbtree-list-tests: New files.
80665         * modules/linkedhash-list, modules/linkedhash-list-tests: New files.
80666         * modules/avltreehash-list, modules/avltreehash-list-tests: New files.
80667         * modules/rbtreehash-list, modules/rbtreehash-list-tests: New files.
80668         * modules/oset: New file.
80669         * modules/array-oset: New file.
80670         * modules/avltree-oset, modules/avltree-oset-tests: New files.
80671         * modules/rbtree-oset, modules/rbtree-oset-tests: New files.
80672         * tests/test-carray_list.c: New file.
80673         * tests/test-linked_list.c: New file.
80674         * tests/test-avltree_list.c: New file.
80675         * tests/test-rbtree_list.c: New file.
80676         * tests/test-linkedhash_list.c: New file.
80677         * tests/test-avltreehash_list.c: New file.
80678         * tests/test-rbtreehash_list.c: New file.
80679         * tests/test-avltree_oset.c: New file.
80680         * tests/test-rbtree_oset.c: New file.
80681         * MODULES.html.sh (Container data structures): New section.
80682
80683 2006-07-17  Bruno Haible  <bruno@clisp.org>
80684
80685         * m4/gl_list.m4: New file.
80686
80687 2006-07-17  Bruno Haible  <bruno@clisp.org>
80688
80689         * lib/gl_list.h: New file.
80690         * lib/gl_list.c: New file.
80691         * lib/gl_array_list.h: New file.
80692         * lib/gl_array_list.c: New file.
80693         * lib/gl_carray_list.h: New file.
80694         * lib/gl_carray_list.c: New file.
80695         * lib/gl_linked_list.h: New file.
80696         * lib/gl_linked_list.c: New file.
80697         * lib/gl_anylinked_list1.h: New file.
80698         * lib/gl_anylinked_list2.h: New file.
80699         * lib/gl_avltree_list.h: New file.
80700         * lib/gl_avltree_list.c: New file.
80701         * lib/gl_anyavltree_list1.h: New file.
80702         * lib/gl_anyavltree_list2.h: New file.
80703         * lib/gl_rbtree_list.h: New file.
80704         * lib/gl_rbtree_list.c: New file.
80705         * lib/gl_anyrbtree_list1.h: New file.
80706         * lib/gl_anyrbtree_list2.h: New file.
80707         * lib/gl_anytree_list1.h: New file.
80708         * lib/gl_anytree_list2.h: New file.
80709         * lib/gl_linkedhash_list.h: New file.
80710         * lib/gl_linkedhash_list.c: New file.
80711         * lib/gl_anyhash_list1.h: New file.
80712         * lib/gl_anyhash_list2.h: New file.
80713         * lib/gl_avltreehash_list.h: New file.
80714         * lib/gl_avltreehash_list.c: New file.
80715         * lib/gl_rbtreehash_list.h: New file.
80716         * lib/gl_rbtreehash_list.c: New file.
80717         * lib/gl_anytreehash_list1.h: New file.
80718         * lib/gl_anytreehash_list2.h: New file.
80719
80720         * lib/gl_oset.h: New file.
80721         * lib/gl_oset.c: New file.
80722         * lib/gl_array_oset.h: New file.
80723         * lib/gl_array_oset.c: New file.
80724         * lib/gl_avltree_oset.h: New file.
80725         * lib/gl_avltree_oset.c: New file.
80726         * lib/gl_rbtree_oset.h: New file.
80727         * lib/gl_rbtree_oset.c: New file.
80728         * lib/gl_anytree_oset.h: New file.
80729
80730 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80731
80732         * m4/mkancesdirs.m4: New file.
80733         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Mention dirchownmod.c,
80734         dirchownmod.h.  Don't require AC_FUNC_ALLOCA, gl_AFS, gl_CHDIR_SAFER;
80735         no longer needed.  Require gl_FUNC_LCHOWN, since dirchownmod.c needs
80736         it.
80737
80738 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80739
80740         * lib/dirchownmod.c, lib/dirchownmod.h, lib/mkancesdirs.c:
80741         * lib/mkancesdirs.h: New files.
80742         * lib/mkdir-p.c: Don't include alloca.h, stdio.h, sys/types.h,
80743         unistd.h, string.h, chdir-safer.h, dirname.h, lchmod.h, lchown.h,
80744         save-cwd.h.  Instead, include dirchownmod.h and mkancesdirs.h.
80745         (make_dir_parents): New args MAKE_ANCESTOR, OPTIONS, ANNOUNCE,
80746         MODE_BITS.  Remove options VERBOSE_FMT_STRING, CWD_ERRNO.  All
80747         callers changed.  Revamp internals significantly, by not
80748         attempting to create directories that are temporarily more
80749         permissive than the final results.  Do not attempt to use
80750         save_cwd/restore_cwd; it isn't worth it for mkdir and install.
80751         This removes some race conditions, fixes some bugs, and simplifies
80752         things.  Use new dirchownmod function to do owner and mode changes.
80753         * lib/mkdir-p.h: Likewise.
80754         * lib/modechange.c (octal_to_mode): New function.
80755         (struct mode_change): New member mentioned.
80756         (make_node_op_equals): New arg mentioned.  All callers changed.
80757         (mode_compile): Keep track of which mode bits the user has explicitly
80758         mentioned.
80759         (mode_adjust): New arg DIR, so that we implement the X op correctly.
80760         New arg PMODE_BITS, to keep track of which mode bits the user
80761         mentioned; it treats S_ISUID and S_ISGID speciall.
80762         All callers changed.
80763         * lib/modechange.h: Likewise.
80764
80765 2006-07-16  Paul Eggert  <eggert@cs.ucla.edu>
80766
80767         * MODULES.html.sh: Add mkancestors.
80768         * modules/mkancesdirs: New module.
80769         * modules/mkdir-p (Files): Remove lib/chdir-safer.c, lib/chdir-safer.h,
80770         lib/same-inode.h, m4/afs.m4, m4/chdir-safer.m4.
80771         The chdir-safer and afs files are now orphans; I'll remove them
80772         unless someone speaks up.
80773         Add lib/dirchownmod.c, lib/dirchownmod.h.
80774         (Depends-on): Remove alloca, chown, save-cwd, dirname.
80775         Add lchown, mkancesdirs.
80776         (Maintainer): Add self.
80777
80778 2006-07-15  Karl Berry  <karl@gnu.org>
80779
80780         * gnulib-tool: help message wording/arrangement.
80781
80782 2006-07-14  Simon Josefsson  <jas@extundo.com>
80783
80784         * doc/gnulib.texi (Libtool and Windows): New section.
80785
80786 2006-07-12  Simon Josefsson  <jas@extundo.com>
80787
80788         * modules/gendocs (License): Fix license, approved by Karl.
80789
80790 2006-07-12  Eric Blake  <ebb9@byu.net>
80791
80792         * MODULES.html.sh: Add gendocs.
80793
80794 2006-07-11  Eric Blake  <ebb9@byu.net>
80795
80796         * modules/fdl: New module, to install doc/fdl.texi.
80797         * MODULES.html.sh: Add new section for documentation modules.
80798         * gnulib-tool: Avoid space-tab.
80799         (--doc-base): New option, to manage files from doc.
80800
80801 2006-07-11  Eric Blake  <ebb9@byu.net>
80802
80803         * m4/absolute-header.m4: Fix comments to match recent change.
80804
80805 2006-07-11  Eric Blake  <ebb9@byu.net>
80806
80807         * gnulib-tool: List --doc-base before --tests-base.
80808
80809 2006-07-11  Derek R. Price  <derek@ximbiot.com>
80810
80811         * lib/glob.c: s/NAMLEN/_D_EXACT_NAMLEN/.
80812
80813 2006-07-11  Bruno Haible  <bruno@clisp.org>
80814
80815         * README: Mention where to put documentation.
80816
80817 2006-07-10  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80818
80819         * doc/functions.texi, gnulib-tool.texi, gnulib.texi: Fix some typos.
80820
80821 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80822
80823         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Like today's change
80824         to stdint.m4.
80825
80826 2006-07-10  Paul Eggert  <eggert@cs.ucla.edu>
80827
80828         * m4/stdint.m4 (gl_STDINT_H): Like yesterday's change to
80829         absolute-header.m4.  Also, set ABSOLUTE_STDINT_H to a string
80830         "no/such/file/stdint.h" when there is no such file, so that
80831         the resulting C code can be parsed by dodgy compilers.
80832         Problems reported by Bob Proulx.
80833
80834 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80835
80836         * lib/backupfile.c, dirfd.h, fts.c, getcwd.c, glob.c, glob_.h:
80837         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80838         macros into the GNU _D_EXACT_NAMLEN.
80839         * lib/savedir.c:  Likewise.
80840         (savedirstream): Use _D_EXACT_NAMLEN in preference to strlen.
80841
80842 2006-07-10  Derek R. Price  <derek@ximbiot.com>
80843         and Paul Eggert  <eggert@cs.ucla.edu>
80844
80845         * m4/backupfile.m4, d-ino.m4, d-type.m4, dirfd.m4, fts.m4, getcwd.m4:
80846         * m4/savedir.m4:
80847         Ignore the obsolescent !HAVE_DIRENT_H case.  Consolidate NAMLEN
80848         macros into the GNU _D_EXACT_NAMLEN.
80849
80850 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80851
80852         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Use "" rather than <>
80853         around the absolute name, to work around a problem with the HP-UX
80854         11.23 native C compiler, reported by Bob Proulx.
80855
80856 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80857
80858         * doc/maintain.texi, make-stds.texi: Sync from
80859         <http://savannah.gnu.org/projects/gnustandards>.
80860
80861 2006-07-09  Paul Eggert  <eggert@cs.ucla.edu>
80862
80863         * build-aux/depcomp, build-aux/install-sh: Sync from Automake.
80864
80865 2006-07-09  Jim Meyering  <jim@meyering.net>
80866
80867         * m4/glob.m4: Remove a doubled word in a comment.
80868
80869 2006-07-09  Jim Meyering  <jim@meyering.net>
80870
80871         * lib/argp-pv.c: Remove a doubled word in a comment.
80872         * lib/check-version.c (check_version): Likewise.
80873         * lib/javacomp.c (compile_java_class): Likewise.
80874
80875 2006-07-08  Paul Eggert  <eggert@cs.ucla.edu>
80876
80877         * gnulib-tool (func_get_filelist): Don't echo m4/onceonly_2_57.m4,
80878         for the benefit of people using Autoconf 2.60.  If you want to
80879         support older Autoconf versions you can copy m4/onceonly_2_57.m4
80880         (or m4/onceonly.m4, if pre-2.57) manually.
80881
80882 2006-07-08  Jim Meyering  <jim@meyering.net>
80883
80884         * m4/link-follow.m4: Remove one of two adjacent "whether"s in a
80885         comment.
80886         * m4/getopt.m4: Remove one of two adjacent "your"s in a comment.
80887         * m4/regex.m4 (gl_REGEX): Remove one of two adjacent "the"s in a
80888         comment.
80889
80890 2006-07-08  Jim Meyering  <jim@meyering.net>
80891
80892         * lib/getndelim2.h (getndelim2): Remove doubled "after" in comment.
80893
80894 2006-07-07  Simon Josefsson  <jas@extundo.com>
80895
80896         * tests/test-crc.c: Change expected crc value, the test vector
80897         were probably computed using the old broken crc.c?
80898
80899 2006-07-06  Simon Josefsson  <jas@extundo.com>
80900
80901         * modules/sys_socket (Files): Add m4/sockpfaf.m4 (this module is
80902         now the canonical place for the M4 file).
80903
80904         * modules/getaddrinfo (Files): Remove m4/sockpfaf.m4, we get it
80905         from the sys_socket dependency now.
80906
80907         * modules/inet_pton (Files): Ditto.
80908
80909         * modules/inet_ntop (Files): Ditto.
80910
80911 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
80912
80913         * modules/getusershell (configure.ac): Use gl_FUNC_GETUSERSHELL,
80914         not gl_PREREQ_GETUSERSHELL.
80915
80916 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80917
80918         * m4/_inttypes_h.m4 (gl_INTTYPES_H): Use AC_CHECK_DECLS_ONCE
80919         with only one argument, for Autoconf 2.60.
80920         * m4/fileblocks.m4 (gl_PREREQ_FILEBLOCKS): AC_CHECK_DECLS_ONCE may
80921         expand to nothing, so add a shell command to avoid syntax error.
80922         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
80923
80924 2006-07-06  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
80925
80926         * lib/strtod.c (strtod): cast the argument of tolower to unsigned char.
80927
80928 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80929
80930         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't check for getenv decl;
80931         no longer needed.  Check for isblank decl.
80932         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Don't check for getenv decl.
80933         * m4/regex.m4 (gl_PREREQ_REGEX): Dheck for isblank decl instead
80934         of existence.
80935
80936 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80937
80938         * lib/getloadavg.c: Use __VMS, not VMS.
80939         * lib/getopt.c: Likewise.
80940         * lib/getpagesize.h: Likewise.
80941         * lib/glob.c: Remove most VMS cruft; it hasn't been tested for a while
80942         and probably does not work.
80943
80944 2006-07-06  Paul Eggert  <eggert@cs.ucla.edu>
80945
80946         * lib/.cppi-disable: Add wcwidth.
80947         * lib/fnmatch.c (ISBLANK): Remove.  All uses changed to isblank.
80948         (isblank) [! (defined isblank || HAVE_DECL_ISBLANK)]: New macro.
80949         (ISGRAPH): Remove.  All uses changed to isgraph.
80950         (FOLD) [!defined _LIBC]: Remove special case.
80951         * lib/getdate.y (lookup_word): Remove no-longer-needed call to islower.
80952         * lib/regex_internal.h (isblank): Depend on HAVE_DECL_ISBLANK, not
80953         HAVE_ISBLANK.
80954         * lib/strftime.c (TOLOWER, TOUPPER) [!defined _LIBC]: Remove special
80955         case.
80956
80957 2006-07-06  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
80958
80959         * lib/getaddrinfo.c: Changes to compile under MSVC6: changed
80960         '#if WIN32_NATIVE' to '#ifdef' & moved WSAAPI macro inside
80961         brackets.  Other minor changes to suppress some compiler
80962         warnings.
80963
80964 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80965         and Paul Eggert  <eggert@cs.ucla.edu>
80966
80967         * m4/backupfile.m4 (gl_BACKUPFILE): Check for dirent.h, instead
80968         of invoking obsolescent AC_HEADER_DIRENT macro.
80969         * m4/d-ino.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_INO): Likewise.
80970         * m4/d-type.m4 (gl_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Likewise.
80971         * m4/dirfd.m4 (gl_FUNC_DIRFD): Likewise.
80972         * m4/fts.m4 (gl_FUNC_FTS_CORE): Likewise.
80973         * m4/getcwd.m4 (gl_PREREQ_GETCWD): Likewise.
80974         * m4/glob.m4 (gl_PREREQ_GLOB): Likewise.
80975         * m4/savedir.m4 (gl_SAVEDIR): Likewise.
80976         * m4/readdir.m4: Remove; no longer needed.
80977
80978 2006-07-06  Derek R. Price  <derek@ximbiot.com>
80979         and Paul Eggert  <eggert@cs.ucla.edu>
80980
80981         * lib/backupfile.c [HAVE_DIRENT_H && ! HAVE_NDIR_H]:
80982         Don't worry about this obsolete case any more.
80983         (HAVE_DIR): Remove.  All uses removed; we now assume you can read
80984         directories.
80985         * lib/dirfd.h [HAVE_DIRENT_H && ! HAVE_NDIR_H]: Don't
80986         worry about this obsolete case any more.
80987         * lib/fts.c: Likewise.
80988         * lib/getcwd.c: Likewise.
80989         * lib/glob.h: Likewise.
80990         * lib/savedir.c: Likewise.
80991
80992 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
80993
80994         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Use AC_CHECK_DECLS_ONCE
80995         rather than AC_CHECK_DECLS for strtoimax and strtoumax.
80996         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Remove; no longer
80997         needed.
80998         All uses removed.
80999         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
81000         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
81001         * m4/exclude.m4 (gl_EXCLUDE): Don't check for isascii; no longer
81002         needed.
81003         * m4/getdate.m4 (gl_GETDATE): Likewise.
81004         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
81005         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
81006         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
81007         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
81008         * m4/strtoul.m4 (gl_PREREQ_STRTOUL): Likewise.
81009         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81010         * m4/exclude.m4 (gl_EXCLUDE): Don't require AC_C_INLINE; no longer
81011         needed.
81012
81013 2006-07-05  Paul Eggert  <eggert@cs.ucla.edu>
81014
81015         * lib/memcasecmp.c: Include <limits.h>.
81016         (memcasecmp): Don't assume UCHAR_MAX <= INT_MAX.
81017         * lib/strtod.c (strtod): Don't assume isspace works on negative chars.
81018         Don't assume isdigit succeeds only on '0' through '9'.
81019
81020 2006-07-05  Eric Blake  <ebb9@byu.net>
81021
81022         * modules/getaddrinfo (Depends-on): Add snprintf.
81023
81024 2006-07-05  Eric Blake  <ebb9@byu.net>
81025
81026         * m4/sockpfaf.m4 (gl_SOCKET_FAMILIES): Use gl_HEADER_SYS_SOCKET
81027         to avoid 'header present but could not be compiled' on cygwin.
81028
81029 2006-07-05  Eric Blake  <ebb9@byu.net>
81030
81031         * lib/getaddrinfo.h (NI_NUMERICHOST, NI_NUMERICSERV): Define if
81032         missing from netdb.h.
81033         * lib/getaddrinfo.c (includes): Include inet_ntop and snprintf.
81034
81035 2006-07-05  Derek R. Price  <derek@ximbiot.com>
81036
81037         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Don't require AC_HEADER_STDC;
81038         no longer needed.
81039         * m4/exclude.m4 (gl_EXCLUDE): Likewise.
81040         * m4/getdate.m4 (gl_GETDATE): Likewise.
81041         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Likewise.
81042         * m4/memcasecmp.m4 (gl_MEMCASECMP): Likewise.
81043         * m4/strtod.m4 (gl_FUNC_STRTOD): Likewise.
81044         * m4/strtol.m4 (gl_PREREQ_STRTOL): Likewise.
81045         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
81046
81047 2006-07-05  Derek R. Price  <derek@ximbiot.com>
81048
81049         * lib/exclude.c (IN_CTYPE_DOMAIN, is_space): Remove; no longer needed.
81050         All uses of is_space replaced by isspace.
81051         * lib/exit.h: Don't talk about STDC_HEADERS.
81052         * lib/fnmatch.c (ISASCII): Remove; no longer needed.  All uses removed.
81053         (ISPRINT, ISDIGIT, ISALNUM, ISALPHA, ISCNTRL, ISLOWER, ISPUNCT):
81054         (ISSPACE, ISUPPER, ISXDIGIT): Remove; no longer needed.  All uses
81055         replaced by isprint etc.
81056         * lib/getdate.y (IN_CTYPE_DOMAIN, ISSPACE, ISALPHA, ISLOWER): Likewise.
81057         * lib/getusershell.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
81058         * lib/memcasecmp.c (IN_CTYPE_DOMAIN, ISLOWER, TOUPPER): Likewise.
81059         * lib/strtod.c (IN_CTYPE_DOMAIN, ISSPACE, ISDIGIT, TOLOWER): Likewise.
81060         * lib/strtol.c (IN_CTYPE_DOMAIN): Likewise.
81061         * lib/xstrtol.c (IN_CTYPE_DOMAIN, ISSPACE): Likewise.
81062
81063 2006-07-05  Bruno Haible  <bruno@clisp.org>
81064
81065         * m4/strndup.m4 (gl_FUNC_STRNDUP): When cross-compiling, check whether
81066         the function exists, before testing against AIX.
81067         Reported by Martin Lambers <marlam@marlam.de>.
81068
81069 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
81070
81071         * modules/cycle-check (lib_SOURCES): Add same-inode.h.
81072         From Mark D. Baushke.
81073
81074 2006-07-04  Paul Eggert  <eggert@cs.ucla.edu>
81075
81076         * m4/absolute-header.m4 (gl_ABSOLUTE_HEADER): Prepend three slashes
81077         to the absolute name, not just one, to bypass Sun C 5.8's
81078         "warning: #include of /usr/include/... may be non-portable".
81079
81080 2006-07-04  Eric Blake  <ebb9@byu.net>
81081
81082         * modules/dirname-tests: New test module.
81083         * tests/test-dirname.c: New file, replacing dirname.c
81084         TEST_DIRNAME section that was recently deleted.
81085
81086 2006-07-04  Bruno Haible  <bruno@clisp.org>
81087
81088         Assume ANSI C header files and <ctype.h> functions.
81089         * lib/mbswidth.c (IN_CTYPE_DOMAIN, ISPRINT, ISCNTRL): Remove macros.
81090         (mbsnwidth): Use isprint, iscntrl instead.
81091
81092 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81093
81094         Merge from coreutils.
81095         * MODULES.html.sh: Add xstrtold.
81096         * modules/xstrtold: New file.
81097         * modules/cycle-check (Files): Add lib/same-inode.h.
81098         * modules/dirname (Files): Add m4/double-slash-root.m4.
81099         * modules/getcwd (Files): Add m4/getcwd-abort-bug.m4.
81100         * modules/mkdir-p (Files): Add lib/same-inode.h.
81101         * modules/same (Files): Add lib/same-inode.h.
81102
81103 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81104
81105         * m4/absolute-header.m4: Renamed from full-header-path.m4.
81106         This is to keep the terminology clean; POSIX talks about
81107         "absolute pathnames", not "full pathnames", but the GNU
81108         Coding Standards say to use "path" for something else;
81109         so use "absolute" to keep both sides happy.
81110         (gl_ABSOLUTE_HEADER): Renamed from gl_FULL_HEADER_PATH.
81111         Set gl_absolute_header, not gl_full_header_path.
81112         Set gl_cv_absolute_<header>, not gl_full_path_<header>.
81113         Define ABSOLUTE_<HEADER>, not FULL_PATH_<HEADER>.
81114         All uses changed.
81115
81116         Merge from coreutils.
81117
81118         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
81119
81120         * m4/c-strtod.m4 (gl_C_STRTOLD): Add c-strtod.c to LIBSOURCES.
81121         Require gl_USE_SYSTEM_EXTENSIONS, not gl_C_STRTOD, since we don't
81122         want to require the building of c-strtod.o.
81123         * m4/lib-check.m4 (cu_LIB_CHECK): Remove SEQ_LIBM, since seq no longer
81124         needs -lm directly.
81125         * m4/xstrtod.m4 (gl_XSTRTOLD): New macro.
81126
81127         2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
81128
81129         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Prefer binutils's
81130         --as-needed option if available.  Problem reported by Albert Chin in
81131         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00114.html>.
81132         However, use -Wl,--as-needed, not bare --as-needed, since HP-UX 11.11
81133         cc merely issues a bunch of annoying warnings for --as-needed
81134         (this problem was reported by Bob Proulx).  Also, try linking with
81135         -lm to detect a bug in binutils 2.16 (this problem was reported
81136         by Ralf Wildenhues).
81137
81138         2006-06-18  Jim Meyering  <jim@meyering.net>
81139
81140         Test for a bug that causes glibc's getcwd to suffer a failed assertion.
81141         * m4/getcwd-abort-bug.m4 (gl_FUNC_GETCWD_ABORT_BUG): New file and
81142         macro.
81143         * m4/getcwd.m4 (gl_FUNC_GETCWD): If we detect support for getcwd_null,
81144         also check for glibc-2.4's abort-inducing bug.
81145
81146         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Fix typo.
81147         Low-probability clean-up should be to use rmdir to get rid of
81148         the just-created directory, not unlink.
81149
81150         * m4/ftruncate.m4 (gl_FUNC_FTRUNCATE): If ftruncate is missing, make
81151         configure fail, and request a bug report to inform us about it.
81152         Add a comment that, barring reports to the contrary, in 2007 we'll
81153         assume ftruncate is universally available.
81154
81155         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
81156
81157         * m4/filemode.m4 (gl_FILEMODE): Check for strmode declaration.
81158
81159         2006-03-12  Jim Meyering  <jim@meyering.net>
81160
81161         * m4/chdir-safer.m4 (gl_CHDIR_SAFER): Add same-inode.h to the list.
81162         * m4/cycle-check.m4 (gl_CYCLE_CHECK): Likewise.
81163         * m4/same.m4 (gl_SAME): Likewise.
81164         * m4/root-dev-ino.m4 (gl_ROOT_DEV_INO): Likewise.
81165
81166         2006-03-11  Eric Blake  <ebb9@byu.net>
81167
81168         * m4/double-slash-root.m4: New file, provides gl_DOUBLE_SLASH_ROOT.
81169         * m4/dirname.m4 (gl_DIRNAME): Use gl_DOUBLE_SLASH_ROOT.
81170         * m4/dos.m4 (FILE_SYSTEM_PREFIX_LEN): Move from here to dirname.h.
81171         (FILE_SYSTEM_DRIVE_PREFIX_CAN_BE_RELATIVE): New define.
81172
81173 2006-07-03  Paul Eggert  <eggert@cs.ucla.edu>
81174
81175         * lib/stdint_.h: Include <sys/types.h> after @FULL_PATH_STDINT_H@, for
81176         MacOS X 10.4.6.  Don't mention <sys/int_types.h>.  Problems
81177         reported by Mark D. Baushke, one in
81178         <http://lists.gnu.org/archive/html/bug-gnulib/2006-07/msg00015.html>.
81179
81180         Merge from coreutils.
81181
81182         * lib/.cppi-disable: Add stdint_.h.
81183         * lib/.cvsignore: Add stdint.h.
81184
81185         2006-06-30  Paul Eggert  <eggert@cs.ucla.edu>
81186
81187         * lib/xstrtod.c (XSTRTOD, DOUBLE): New macros, so that we can support
81188         both double and long double versions.
81189         (XSTRTOD): Renamed from xstrtod.  Use DOUBLE internally.
81190         * lib/xstrtold.c: New file.
81191         * lib/xstrtod.h (xstrtold): New decl.
81192
81193         2006-05-22  Paul Eggert  <eggert@cs.ucla.edu>
81194
81195         * lib/filemode.c (setst): Remove.
81196         (strmode): Rewrite to avoid setst.  This makes the code shorter,
81197         (arguably) clearer, and the generated code is a bit smaller on my
81198         Debian GNU/Linux stable x86 host.
81199
81200         2006-04-17  Paul Eggert  <eggert@cs.ucla.edu>
81201
81202         * lib/filemode.c: Include "filemode.h" first, to test the interface.
81203         Assume that filemode.h includes sys/types.h and sys/stat.h.
81204         (HAVE_ST_DM_MODE): New macro, moved here from ls.c.
81205         (ftypelet): Reorder to put common cases first, for efficiency.
81206         Add 'P', 'w'.  Remove 'M', since it's now the caller's responsibility
81207         to do 'M'.
81208         (strmode): Renamed from mode_string, and now stores 12 bytes instead
81209         of 10, for compatibility with FreeBSD.  All callers changed.
81210         (filemodestring): Now stores 12 bytes instead of 10, and sets file
81211         types that can't be deduced solely from st_mode.  First arg is now a
81212         const pointer.
81213         * lib/filemode.h (HAVE_DECL_STRMODE): Include <string.h> for strmode.
81214         (strmode): Renamed from mode_string.
81215         (filemodestring): New decl.
81216         * lib/stat-macros.h: Don't undef S_ISDOOR, since it's never buggy.
81217         (S_ISDOOR): Don't bother with S_IFDOOR, since that code is never
81218         needed.
81219         (S_ISPORT, S_ISWHT): New macros, if not already defined.
81220
81221         2006-04-12  Paul Eggert  <eggert@cs.ucla.edu>
81222
81223         * lib/fsusage.c: Don't include <inttypes.h> or <stdint.h>, since
81224         fsusage.h now does that.  Include fsusage.h first, to test interface.
81225         Prefer statvfs if it works, since it's blessed by POSIX.  Attempt
81226         at most one method (the old code could have generated decls that
81227         didn't conform to C89, not that this was ever exercised).
81228         * lib/fsusage.h: Include <inttypes.h> and <stdint.h> if they exist.
81229
81230         2006-03-19  Jim Meyering  <jim@meyering.net>
81231
81232         Work even in a chroot where d_ino values for entries in "/"
81233         don't match the stat.st_ino values for the same names.
81234         * lib/getcwd.c (__getcwd): When no d_ino value matches the target inode
81235         number, iterate through all entries again, using lstat instead.
81236         Reported by Kenshi Muto in http://bugs.debian.org/355810, and by
81237         Zouhir Hafidi in https://bugzilla.redhat.com/bugzilla/190656.
81238
81239         * lib/getcwd.c (__getcwd): Clarify a comment.
81240         Use memcpy in place of a call to strcpy.
81241
81242         2006-03-12  Jim Meyering  <jim@meyering.net>
81243
81244         * lib/fts-cycle.c (leave_dir): If cycle-check's saved dev-ino pair
81245         matches that of the current directory (which we're about to chdir ".."
81246         out of), then save the dev-ino of the parent, instead.
81247
81248         * lib/same-inode.h (SAME_INODE): New file/macro.
81249         * lib/chdir-safer.c (SAME_INODE): Remove definition.
81250         Include "same-inode.h", instead.
81251         * lib/same.c: Likewise.
81252         * lib/cycle-check.h: Include "same-inode.h".
81253         (CYCLE_CHECK_REFLECT_CHDIR_UP): Define.
81254         * lib/cycle-check.c (SAME_INODE): Remove definition.
81255         * lib/root-dev-ino.h: Include "same-inode.h".
81256
81257         2006-03-11  Eric Blake  <ebb9@byu.net>
81258
81259         * lib/same.c (same_name): s/base_name/last_component/
81260         * lib/backupfile.c (check_extension, numbered_backup): Likewise.
81261         * lib/filenamecat.c (file_name_concat): Likewise.
81262
81263         2006-03-11  Eric Blake  <ebb9@byu.net>,
81264                     Paul Eggert  <eggert@cs.ucla.edu>
81265
81266         * lib/dirname.h (FILE_SYSTEM_PREFIX_LEN): Move here from dos.m4.
81267         [FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't treat 1: as a
81268         drive prefix.
81269         (IS_ABSOLUTE_FILE_NAME): Treat all drive letters as absolute on
81270         platforms like cygwin with FILE_SYSTEM_DRIVE_PREFIX_IS_ABSOLUTE.
81271         (last_component): New method.
81272         * lib/dirname.c (dir_len): Determine when drive letters need a
81273         subsequent slash.  Preserve // when it is special.
81274         (dir_name): Don't append dot when drive letter is absolute.
81275         [TEST_DIRNAME]: Move into a full-blown gnulib test.
81276         * lib/basename.c (base_name): New semantics - malloc the result.
81277         Preserve // when it is special.  Preserve relative files that look
81278         like drive letters.
81279         (base_len): Preserve // when it is special.
81280         (last_component): New method, similar to old base_name semantics.
81281         * lib/stripslash.c (strip_trailing_slashes): Use last_component, not
81282         base_name.  Strip redundant slashes from ///.
81283
81284 2006-07-03  Jim Meyering  <jim@meyering.net>
81285
81286         * lib/cycle-check.h (CYCLE_CHECK_REFLECT_CHDIR_UP): Abort if this
81287         macro is used before the first cycle_check call.
81288
81289 2006-07-03  Eric Blake  <ebb9@byu.net>
81290
81291         * modules/dirname (Depends-on): Add xstrndup.
81292
81293 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
81294
81295         * m4/stdint.m4 (gl_STDINT_H): Use more-mnemonic identifiers for
81296         test cases, so that config.log is a bit easier to follow.
81297
81298 2006-07-02  Paul Eggert  <eggert@cs.ucla.edu>
81299
81300         * lib/stdint_.h (intmax_t, uintmax_t): Prefer long to long long if
81301         both are 64 bits, since this seems to be the tradition, and this
81302         prevents gcc -Wformat from warning about usages with PRIuMAX.  If
81303         we ever run into a host that prefers long long to long in this
81304         case, we'll need another configure-time test.  Problem reported by
81305         Jim Meyering.
81306
81307 2006-07-02  Eric Blake  <ebb9@byu.net>
81308
81309         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Simplify by using AC_CHECK_DECLS.
81310
81311 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81312
81313         * modules/inttypes (Depends-on): No longer depends on stdint.
81314         * modules/stdint (Description): Say more about assumptions.
81315         Say that the fast types might differ.  Say macros are used.
81316         (Files): Remove m4/size_max.m4, m4/wchar_t.m4.  Add m4/longlong.m4.
81317         (Makefile.am): Revise list of substituted symbols to match
81318         new stdint.m4.
81319         * modules/stdint-tests (Files): Add m4/wchar_t.m4, m4/wint_t.m4.
81320         (configure.ac): Add gt_TYPE_WCHAR_T, gt_TYPE_WINT_T.
81321         * tests/test-stdint.c (verify_same_types)
81322         [! (__GNUC__ >= 2 && DO_PEDANTIC)]: Put in a decl, so that
81323         the code conforms to C99/C89.
81324         Test for WCHAR_MIN and WCHAR_MAX only if HAVE_WCHAR_T.
81325         Test for WINT_MIN and WINT_MAX only if HAVE_WINT_T.
81326
81327 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81328
81329         * m4/longlong.m4 (AC_TYPE_LONG_LONG_INT): Backport from Autoconf 2.60,
81330         but fix a bug, by requiring at least 64 bits.
81331         * m4/ulonglong.m4 (AC_TYPE_UNSIGNED_LONG_LONG_INT): Likewise.
81332         * m4/longlong.m4 (gl_AC_TYPE_LONG_LONG): Now just call
81333         AC_TYPE_LONG_LONG_INT.  This macro is obsolete and will go soon.
81334         * m4/ulonglong.m4 (gl_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
81335
81336         * m4/stdint.m4 (gl_STDINT_H): Rewrite to accommodate stdint_.h
81337         changes.  Make 2.59 a prerequisite.  Check and substitute for
81338         HAVE_LONG_LONG_INT.  Rely on Autoconf to check for stdint.h and
81339         inttypes.h.  Do not use special include files; just use the
81340         defaults.  Check for sys/inttypes.h and sys/bitypes.h in the usual
81341         way now.  Remove no-longer-needed tests for HAVE_LONG_64BIT,
81342         HAVE_LONG_LONG_64BIT, int8_t, int16_t, int32_t, int64_t, uint8_t,
81343         uint16_t, uint32_t uint64_t, int_least8_t, int_least16_t,
81344         int_least32_t, int_least64_t, uint_least8_t, uint_least16_t,
81345         uint_least32_t, uint_least64_t, int_fast8_t, int_fast16_t,
81346         int_fast32_t, int_fast64_t, uint_fast8_t uint_fast16_t,
81347         uint_fast32_t, uint_fast64_t, intptr_t, uintptr_t, intmax_t,
81348         uintmax_t, INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX,
81349         UINT16_MAX, INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN,
81350         INT64_MAX, UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX,
81351         UINT_LEAST8_MAX, INT_LEAST16_MIN, INT_LEAST16_MAX,
81352         UINT_LEAST16_MAX, INT_LEAST32_MIN, INT_LEAST32_MAX,
81353         UINT_LEAST32_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX,
81354         UINT_LEAST64_MAX, INT_FAST8_MIN, INT_FAST8_MAX, UINT_FAST8_MAX,
81355         INT_FAST16_MIN, INT_FAST16_MAX, UINT_FAST16_MAX, INT_FAST32_MIN,
81356         INT_FAST32_MAX, UINT_FAST32_MAX, INT_FAST64_MIN, INT_FAST64_MAX,
81357         UINT_FAST64_MAX, INTPTR_MIN, INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN,
81358         INTMAX_MAX, UINTMAX_MAX, PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN,
81359         SIG_ATOMIC_MAX, SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN,
81360         WINT_MAX.  Check for C99 conformance more strictly, by detecting
81361         bugs in glibc 2.4, Solaris 10, and OpenBSD 3.9.  On the other hand do
81362         not check for things that C99 does not require, e.g., int8_t.  If
81363         a test isn't needed unless <stdint.h> isn't working, and is
81364         unlikely to be needed for any other reason, then don't do it
81365         unless <stdint.h> isn't working.  Do not check for ptrdiff_t or
81366         size_t, since we assume C89 freestanding at least.  Do not check
81367         for sig_atomic_t, wchar_t, or wint_t, since the code now does
81368         the right thing even if the types are not defined.  Instead use:
81369         (gl_STDINT_TYPE_PROPERTIES): New macro.
81370         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H): Remove.  Don't bother
81371         testing whether <sys/types.h> clashes, as Autoconf does this for
81372         us now.  All uses removed.
81373         (gl_STDINT_CHECK_TYPES, gl_STDINT_MISSING_BOUND):
81374         (gl_STDINT_MISSING_BOUNDS, gl_STDINT_MISSING_BOUNDS2):
81375         (gl_CHECK_TYPE_SAME):
81376         Remove; no longer needed.
81377         (gl_STDINT_BITSIZEOF): Don't bother to check whether the type
81378         exists, since we'll return 0 anyway in that case.
81379         (gl_INTEGER_TYPE_SUFFIX, gl_STDINT_INCLUDES): New macros.
81380
81381 2006-07-01  Paul Eggert  <eggert@cs.ucla.edu>
81382
81383         * lib/stdint_.h (_GL_STDINT_H): Renamed from _STDINT_H, to avoid
81384         possible collision with system files.
81385         (<stdio.h>, <time.h>, <wchar.h>) [defined __cplusplus && ! defined
81386         __STDC_CONSTANT_MACROS)]: Do not include, since we don't need
81387         WCHAR_MIN and WCHAR_MAX in this case.
81388         (<stddef.h>): Do not include; no longer needed.
81389         (<sys/types.h>): Include if @HAVE_SYS_TYPES_H@, not if
81390         (defined(__OpenBSD__) || defined(__bsdi__) || defined(__sgi)).
81391         (<sys/inttypes.h>): Include if @HAVE_SYS_INTTYPES_H@ &&
81392         !@HAVE_INTTYPES_H@, not if (defined(__FreeBSD__)
81393         && (__FreeBSD__ >= 3) && (__FreeBSD__ <= 4)).
81394         (__STDINT_H__) [@HAVE_STDINT_H@ && defined __sgi && ! defined
81395         __c99]: Define, to work around IRIX <stdint.h> incompatibility.
81396         (@FULL_PATH_STDINT_H@) [!(defined(__sgi) && @HAVE_INTTYPES_H@ &&
81397         !defined(__c99))]: Include in this case too, since it's harmless
81398         now.
81399         (<inttypes.h>) [@HAVE_INTTYPES_H@]: Include, since it's no longer
81400         dangerous to do so.
81401         (@FULL_PATH_INTTYPES_H@) [(defined(__hpux) || defined(_AIX)) &&
81402         @HAVE_INTTYPES_H@]: Do not include, since we now include <inttypes.h>.
81403         (_STDINT_MIN, _STDINT_MAX): New macros.
81404         (int8_t, uint8_t, int16_t, uint16_t, int32_t, uint32_t, int64_t):
81405         (uint64_t, int_least8_t, uint_least8_t, int_least16_t):
81406         (uint_least16_t, int_least32_t, uint_least32_t, int_least64_t):
81407         (uint_least64_t, int_fast8_t, uint_fast8_t, int_fast16_t):
81408         (uint_fast16_t, int_fast32_t, uint_fast32_t, int_fast64_t):
81409         (uint_fast64_t, intptr_t, uintptr_t, intmax_t, uintmax_t): Now
81410         macros, not typedefs; this simplifies things quite a bit.
81411         Use long int for all types narrower than int64_t.
81412         (intmax_t, uintmax_t, INTMAX_C, UINTMAX_C):
81413         Define in terms of long long int or int64_t or long int,
81414         not int64_t or int32_t.  This saves some compile-time testing.
81415         (INT8_MIN, INT8_MAX, UINT8_MAX, INT16_MIN, INT16_MAX, UINT16_MAX):
81416         (INT32_MIN, INT32_MAX, UINT32_MAX, INT64_MIN, INT64_MAX):
81417         (UINT64_MAX, INT_LEAST8_MIN, INT_LEAST8_MAX, UINT_LEAST8_MAX):
81418         (INT_LEAST16_MIN, INT_LEAST16_MAX, UINT_LEAST16_MAX):
81419         (INT_LEAST32_MIN, INT_LEAST32_MAX, UINT_LEAST32_MAX):
81420         (INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX, INT_FAST8_MIN):
81421         (INT_FAST8_MAX, UINT_FAST8_MAX, INT_FAST16_MIN, INT_FAST16_MAX):
81422         (UINT_FAST16_MAX, INT_FAST32_MIN, INT_FAST32_MAX, UINT_FAST32_MAX):
81423         (INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTPTR_MIN):
81424         (INTPTR_MAX, UINTPTR_MAX, INTMAX_MIN, INTMAX_MAX, UINTMAX_MAX):
81425         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81426         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81427         undef any previous version and define our own version, for
81428         simplicity and consistency with the new macros for types.
81429         (PTRDIFF_MIN, PTRDIFF_MAX, SIG_ATOMIC_MIN, SIG_ATOMIC_MAX):
81430         (SIZE_MAX, WCHAR_MIN, WCHAR_MAX, WINT_MIN, WINT_MAX):
81431         Simplify definitions by using _STDINT_MIN and _STDINT_MAX
81432         where appropriate.  Rely on new symbols @PTRDIFF_T_SUFFIX@,
81433         @SIG_ATOMIC_T_SUFFIX@, @SIZE_T_SUFFIX@, @WCHAR_T_SUFFIX@,
81434         @WINT_T_SUFFIX@ to keep things simple here.
81435         (UINT8_C, UINT16_C, UINT32_C, INT64_C, UINT64_C):
81436         Simplify by assuming typical 8/16/32/64 host, since we're
81437         already doing that elsewhere anyway.
81438         Use (LONG_MAX >> 31 >> 31 == 1) rather than @HAVE_LONG_64BIT@,
81439         and assume long long int is 64 bits if available.  This
81440         speeds up 'configure'.
81441
81442 2006-07-01  Eric Blake  <ebb9@byu.net>
81443
81444         * m4/stdarg.m4 (gl_STDARG_H): Use proper AH_VERBATIM.
81445         Reported by Andreas Buening.
81446
81447 2006-07-01  Eric Blake  <ebb9@byu.net>
81448
81449         * m4/stdarg.m4 (gl_STDARG_H): Properly parenthesize gl_va_copy.
81450
81451 2006-06-30  Jim Hyslop  <jhyslop@dreampossible.ca>  (tiny change)
81452
81453         * lib/getaddrinfo.c: fixed typo
81454
81455 2006-06-29  Jim Meyering  <jim@meyering.net>
81456
81457         * modules/strftime (Maintainer): Add my name, since with the
81458         FPRINTFTIME changes strftime.c has forked from glibc.
81459
81460 2006-06-29  Eric Blake  <ebb9@byu.net>
81461
81462         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): Use AC_C_INLINE.
81463
81464 2006-06-29  Eric Blake  <ebb9@byu.net>
81465
81466         * m4/sys_stat_h.m4 (gl_HEADER_SYS_STAT_H): New file.
81467
81468 2006-06-29  Eric Blake  <ebb9@byu.net>
81469
81470         * lib/stat_.h: New file.
81471
81472 2006-06-29  Eric Blake  <ebb9@byu.net>
81473
81474         * lib/stat_.h (rpl_mkdir): Declare inline, to avoid warnings about
81475         unused static function.
81476
81477 2006-06-29  Eric Blake  <ebb9@byu.net>
81478
81479         * doc/functions.texi (Function Portability): Document missing lstat
81480         on mingw.
81481
81482 2006-06-29  Eric Blake  <ebb9@byu.net>
81483
81484         * MODULES.html.sh: Add sys_stat.
81485         * modules/sys_stat: New module.
81486         * modules/mkstemp (Depends-on): Add sys_stat.
81487
81488 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81489
81490         * m4/strftime.m4: Don't call AC_FUNC_STRFTIME.
81491
81492 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81493
81494         * m4/c-bs-a.m4: Removed.
81495
81496 2006-06-29  Derek R. Price  <derek@ximbiot.com>
81497
81498         * lib/strftime.c: Assume strftime() exists.
81499
81500 2006-06-29  Derek Price  <derek@ximbiot.com>
81501
81502         * modules/c-bs-a: Removed - \a is C89.
81503         * MODULES.html.sh: Remove c-bs-a.
81504
81505 2006-06-29  Bruno Haible  <bruno@clisp.org>
81506
81507         * modules/wcwidth (License): Change to LGPL.
81508
81509 2006-06-28  Simon Josefsson  <jas@extundo.com>
81510
81511         * tests/test-getaddrinfo.c: Test getnameinfo too.  Call WSAStartup
81512         on _WIN32.
81513
81514         * modules/getaddrinfo (Depends-on): Add inet_ntop, needed by
81515         getnameinfo.
81516
81517 2006-06-28  Simon Josefsson  <jas@extundo.com>
81518
81519         * m4/getaddrinfo.m4: Look for getnameinfo prototypes too.
81520
81521 2006-06-28  Simon Josefsson  <jas@extundo.com>
81522
81523         * lib/getaddrinfo.c: Try to load ws2_32.dll on Windows, to find the
81524         functions there.  It will succeed on Windows XP, but on Windows
81525         2000 and (presumably) earlier, it will fail, and use the internal
81526         re-implementation.
81527         (use_win32_p): New function.
81528         (getaddrinfo): Use strtoul on servname, to support numeric ports.
81529         Support AI_NUMERICSERV to disable getservbyname.
81530         (getnameinfo): New function, only supports
81531         NI_NUMERICHOST|NI_NUMERICSERV for now.
81532
81533         * lib/getaddrinfo.h: Test and check for AI_* flags separately, MinGW
81534         only have some of them.  Add AI_NUMERICSERV.  Add prototype for
81535         getnameinfo.
81536
81537 2006-06-28  Eric Blake  <ebb9@byu.net>
81538
81539         * modules/wcwidth: New file.
81540         * modules/mbchar (Depends-on): Add wcwidth.
81541         * modules/mbswidth (Depends-on): Add wcwidth.
81542         * MODULES.html.sh: Add wcwidth.
81543
81544 2006-06-28  Eric Blake  <ebb9@byu.net>
81545
81546         * m4/mbswidth.m4 (gl_MBSDWIDTH): Move wcwidth from here...
81547         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): ...to this new file.
81548
81549 2006-06-28  Eric Blake  <ebb9@byu.net>
81550
81551         * lib/xvasprintf.h: Fix comments.
81552
81553 2006-06-28  Eric Blake  <ebb9@byu.net>
81554
81555         * lib/mbchar.h (wcwidth): Include wcwidth.h.
81556         * lib/mbswidth.c (wcwidth): Move from here...
81557         * lib/wcwidth.h: ...to this new file.
81558
81559 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81560
81561         * m4/savedir.m4: Remove AC_FUNC_CLOSEDIR_VOID requirement.
81562
81563         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Don't require AC_C_CONST, since
81564         it's obsolete.
81565         * m4/strftime.m4 (gl_FUNC_GNU_STRFTIME): Likewise.
81566
81567 2006-06-28  Derek R. Price  <derek@ximbiot.com>
81568
81569         * lib/savedir.c (CLOSEDIR): Remove.  All uses changed to closedir.
81570         Autoconf 2.60 says this stuff was obsolete.
81571
81572 2006-06-28  Bruno Haible  <bruno@clisp.org>
81573
81574         * modules/wcwidth (Files): Add m4/wchar_t.m4.
81575
81576 2006-06-28  Bruno Haible  <bruno@clisp.org>
81577
81578         * m4/wcwidth.m4 (gl_FUNC_WCWIDTH): Also require AC_C_INLINE and
81579         gt_TYPE_WCHAR_T.
81580
81581 2006-06-28  Bruno Haible  <bruno@clisp.org>
81582
81583         * lib/wcwidth.h: Declare nothing if !HAVE_WCHAR_T. Provide a fallback
81584         declaration for wcwidth.
81585         * lib/mbswidth.c: Restore the includes of <wchar.h> and <wctype.h>.
81586
81587 2006-06-28  Bruno Haible  <bruno@clisp.org>
81588
81589         * lib/mkdtemp.c [MINGW]: Include <io.h>.
81590         (mkdir): Define using _mkdir.
81591
81592 2006-06-28  Bruno Haible  <bruno@clisp.org>
81593
81594         * lib/getaddrinfo.h: Fix POSIX URL.
81595         * lib/getaddrinfo.c (WIN32_NATIVE): New macro. Use it instead of
81596         _WIN32.
81597         (use_win32_p): Make static.
81598         (getaddrinfo): Reject service name if it is empty or does not consist
81599         solely of decimal digits, or if its value is > 65535.
81600         (getnameinfo): Remove useless casts.
81601
81602 2006-06-27  Simon Josefsson  <jas@extundo.com>
81603
81604         * modules/sys_select: New file, suggested by Bruno Haible, Paul
81605         Eggert and Martin Lambers.
81606
81607 2006-06-27  Simon Josefsson  <jas@extundo.com>
81608
81609         * m4/sys_select_h.m4: New file, suggested by Bruno Haible, Paul
81610         Eggert and Martin Lambers.
81611
81612 2006-06-27  Bruno Haible  <bruno@clisp.org>
81613
81614         * m4/stdint.m4 (gl_STDINT_BITSIZEOF): For nonexistent types, set the
81615         result to 0, not to empty.
81616         Reported by Martin Neitzel <neitzel@sco.gaertner.de>.
81617
81618 2006-06-27  Bruno Haible  <bruno@clisp.org>
81619
81620         * lib/stdint_.h (intmax_t, uintmax_t): Undefine before typedef.
81621
81622 2006-06-26  Simon Josefsson  <jas@extundo.com>
81623
81624         * m4/inet_ntop.m4: Don't check for sys/types.h, we assume it is
81625         present.
81626
81627 2006-06-26  Paul Eggert  <eggert@cs.ucla.edu>
81628
81629         * lib/base64.c (B64): Use _ as the formal parameter, not x, to avoid
81630         bug in IBM C V6 for AIX.  Problem reported by Larry Jones in
81631         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00181.html>.
81632
81633 2006-06-26  Mark D. Baushke  <mdb@gnu.org>
81634
81635         * m4/stdint.m4 (gl_STDINT_H): Treat BSD/OS like OpenBSD.
81636
81637 2006-06-26  Bruno Haible  <bruno@clisp.org>
81638
81639         * modules/stdint (Makefile.am): Also substitute HAVE_WCHAR_H.
81640
81641 2006-06-26  Bruno Haible  <bruno@clisp.org>
81642
81643         * m4/stdint.m4 (gl_STDINT_H): Test also for <wchar.h>.
81644
81645 2006-06-26  Bruno Haible  <bruno@clisp.org>
81646
81647         * m4/stdint.m4 (gl_STDINT_H): Don't include <stdint.h> when using the
81648         SGI C compiler in pre-C99 mode.
81649         Suggested by Mark D. Baushke and Larry Jones.
81650
81651 2006-06-26  Bruno Haible  <bruno@clisp.org>
81652
81653         * lib/stdint_.h: Include <wchar.h> if necessary for WCHAR_MIN or
81654         WCHAR_MAX.
81655         Reported by Mark D. Baushke and Larry Jones.
81656
81657 2006-06-26  Bruno Haible  <bruno@clisp.org>
81658
81659         * lib/stdint_.h: Don't include <stdint.h> when using the SGI C compiler
81660         in pre-C99 mode.
81661         Suggested by Mark D. Baushke and Larry Jones.
81662
81663 2006-06-23  Simon Josefsson  <jas@extundo.com>
81664             Bruno Haible  <bruno@clisp.org>
81665
81666         * gnulib-tool (func_emit_lib_Makefile_am): Define MOSTLYCLEANDIRS.
81667         Emit mostlyclean-local rule.
81668         (func_emit_tests_Makefile_am): Likewise.
81669         * modules/sys_socket (Makefile.am): Use MOSTLYCLEANDIRS.
81670
81671 2006-06-23  Mark D. Baushke  <mdb@gnu.org>
81672
81673         * lib/stdint_.h: Treat BSD/OS like OpenBSD.
81674
81675 2006-06-23  Bruno Haible  <bruno@clisp.org>
81676
81677         * tests/test-stdint.c: Update to match ISO C 99 Technical
81678         Corrigendum 1.
81679
81680 2006-06-23  Bruno Haible  <bruno@clisp.org>
81681
81682         * m4/stdint.m4 (gl_STDINT_H): Treat IRIX like OpenBSD.
81683
81684 2006-06-23  Bruno Haible  <bruno@clisp.org>
81685
81686         * lib/stdint_.h: Treat IRIX like OpenBSD.
81687
81688 2006-06-23  Bruno Haible  <bruno@clisp.org>
81689
81690         * lib/stdint_.h (UINT8_C, UINT16_C, UINT32_C): Define according to
81691         ISO C 99 Technical Corrigendum 1.
81692
81693 2006-06-22  Simon Josefsson  <jas@extundo.com>
81694
81695         * m4/sockpfaf.m4: Include winsock2.h too, to make it work under
81696         MinGW.
81697
81698 2006-06-22  Paul Eggert  <eggert@cs.ucla.edu>
81699
81700         * lib/glob.c (collated_compare): Remove 'const' uses that weren't
81701         needed.  Some compiler complained about some of them.  Problem reported
81702         by Larry Jones in
81703         <http://lists.gnu.org/archive/html/bug-gnulib/2006-06/msg00172.html>.
81704
81705 2006-06-21  Simon Josefsson  <jas@extundo.com>
81706
81707         * tests/test-getaddrinfo.c: New file.
81708
81709         * modules/getaddrinfo-tests: New file.
81710
81711         * MODULES.html.sh: Add inet_pton.
81712
81713         * modules/inet_pton: New file.
81714
81715 2006-06-21  Simon Josefsson  <jas@extundo.com>
81716
81717         * m4/getaddrinfo.m4: Don't define WINVER.  Look for gethostbyname in
81718         -lws2_32 too.  Fixes getaddrinfo on Windows 2000, with the price
81719         of using the (limited) gnulib implementation on Windows XP.
81720
81721         * m4/inet_pton.m4: New file.
81722
81723 2006-06-21  Simon Josefsson  <jas@extundo.com>
81724
81725         * lib/getaddrinfo.c (getaddrinfo): Set ai_family in the return
81726         variable.
81727
81728         * lib/socket_.h: Don't define WINVER.
81729
81730         * lib/inet_pton.h, inet_pton.c: New file, taken from glibc but
81731         slightly modified to work in gnulib.
81732
81733 2006-06-21  Simon Josefsson  <jas@extundo.com>
81734
81735         * doc/gnulib.texi (Windows sockets): Add.
81736
81737 2006-06-21  Paul Eggert  <eggert@cs.ucla.edu>
81738
81739         * lib/read-file.c (fread_file): Start with buffer allocation of
81740         0 bytes rather than 1 byte; this simplifies the code.
81741         Don't invoke feof; it's not needed.  Refactor to avoid duplicate
81742         code to free buffer and save/restore errno.
81743         (internal_read_file): Remove unused local.
81744
81745 2006-06-20  Paul Eggert  <eggert@cs.ucla.edu>
81746
81747         * lib/openat.c (openat): Use ?:, not if, to work around GCC bug 4210
81748         <http://gcc.gnu.org/bugzilla/show_bug.cgi?id=4210>.
81749         Problem reported by Denis Excoffier in
81750         <http://lists.gnu.org/archive/html/bug-tar/2006-06/msg00023.html>.
81751
81752 2006-06-19  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
81753
81754         * modules/sys_socket, modules/socklen: Include sys/types since
81755         FreeBSD 4.x's sys/socket.h needs it.
81756
81757 2006-06-19  Simon Josefsson  <jas@extundo.com>
81758
81759         * lib/inet_ntop.c: Always build inet_ntop4, since inet_ntop6 calls it.
81760
81761 2006-06-19  Paul Eggert  <eggert@cs.ucla.edu>
81762
81763         * lib/alloca_.h (alloca) [defined alloca]: Don't define or declare.
81764
81765 2006-06-19  Bruno Haible  <bruno@clisp.org>
81766
81767         * m4/stdint.m4 (gl_STDINT_H): Enclose the values of FULL_PATH_STDINT_H
81768         and FULL_PATH_INTTYPES_H in angle brackets.
81769         Reported by Mark D. Baushke <mdb@gnu.org>.
81770
81771 2006-06-17  Eric Blake  <ebb9@byu.net>
81772
81773         * m4/rmdir-errno.m4 (gl_FUNC_FMDIR_NOTEMPTY): Assume errno.h declares
81774         errno.
81775
81776 2006-06-17  Bruno Haible  <bruno@clisp.org>
81777
81778         * m4/stdint.m4 (gl_STDINT_H) [FreeBSD >= 5]: Don't include
81779         <sys/inttypes.h>.
81780
81781 2006-06-17  Bruno Haible  <bruno@clisp.org>
81782
81783         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove test
81784         whether errno is declared. Assume <errno.h> declares errno.
81785
81786 2006-06-17  Bruno Haible  <bruno@clisp.org>
81787
81788         * lib/stdint_.h [FreeBSD >= 5]: Don't include <sys/inttypes.h>.
81789
81790 2006-06-17  Bruno Haible  <bruno@clisp.org>
81791
81792         * lib/stdint_.h (_UINT8_T, _UINT32_T, _UINT64_T): New macros. Fixes a
81793         problem on Solaris 2.5.1.
81794
81795 2006-06-16  Eric Blake  <ebb9@byu.net>
81796
81797         * lib/unsetenv.c [!defined errno]: Assume errno.h declares errno.
81798         * lib/unicodeio.c [!defined errno]: Likewise.
81799         * lib/strtol.c [!defined errno]: Likewise.
81800         * lib/strtod.c [!defined errno]: Likewise.
81801
81802 2006-06-15  Eric Blake  <ebb9@byu.net>
81803
81804         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Work in spite of -Werror.
81805
81806 2006-06-15  Eric Blake  <ebb9@byu.net>
81807
81808         * config/srclist.txt (ssize_t.m4): Lose sync.
81809
81810 2006-06-15  Bruno Haible  <bruno@clisp.org>
81811
81812         * modules/stdint (Files): Include m4/full-header-path.m4,
81813         m4/size_max.m4, m4/wchar_t.m4.
81814         (Makefile.am): Many more substitutions.
81815         * modules/stdint-tests: New file.
81816         * tests/test-stdint.c: New file.
81817
81818 2006-06-15  Bruno Haible  <bruno@clisp.org>
81819
81820         * m4/stdint.m4 (gl_STDINT_H): Rewritten to produce a complete stdint.h.
81821         (gl_HEADER_STDINT_H, gl_HEADER_INTTYPES_H, gl_STDINT_CHECK_TYPES,
81822         gl_STDINT_MISSING_BOUND, gl_STDINT_MISSING_BOUNDS,
81823         gl_STDINT_MISSING_BOUNDS2, gl_STDINT_BITSIZEOF, gl_CHECK_TYPES_SIGNED,
81824         gl_CHECK_TYPE_SAME): New macros.
81825
81826 2006-06-15  Bruno Haible  <bruno@clisp.org>
81827
81828         * m4/size_max.m4 (gl_SIZE_MAX): Make it work also when cross-compiling.
81829
81830 2006-06-15  Bruno Haible  <bruno@clisp.org>
81831
81832         * lib/stdint_.h: Rewritten to be fully auto-configured.
81833         Fixes bug on HP-UX/IA64.
81834
81835 2006-06-11  Paul Eggert  <eggert@cs.ucla.edu>
81836
81837         * lib/getdate.y (__attribute__): Don't define if already defined.
81838         Problem reported by Larry Jones.
81839         * lib/utimens.c (__attribute__): Likewise.
81840
81841 2006-06-04  Paul Eggert  <eggert@cs.ucla.edu>
81842
81843         * lib/regexec.c (group_nodes_into_DFAstates): Fix a buffer overrun
81844         reported by Andreas Schwab.
81845
81846 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81847             Bruno Haible  <bruno@clisp.org>
81848
81849         * m4/strndup.m4 (gl_FUNC_STRNDUP): Replace the AC_REPLACE_FUNCS with a
81850         check for the declaration of strnlen and a run test that exposes the
81851         AIX 5.1 strnlen bug.  In the failure case, #define strndup to
81852         rpl_strndup.
81853
81854 2006-05-30  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81855             Bruno Haible  <bruno@clisp.org>
81856
81857         * lib/strndup.c (strndup) [!_LIBC]: Don't undefine macro definition.
81858
81859 2006-05-28  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
81860
81861         * m4/c-strtod.m4 (gl_C99_STRTOLD): Use a link test rather than a
81862         compile test, for Tru64 4.0D.
81863
81864 2006-05-28  Karl Berry  <karl@gnu.org>
81865
81866         * config/srclist.txt (printf-args.c): lose sync.
81867
81868 2006-05-26  Martin Lambers  <marlam@marlam.de>
81869
81870         * lib/getpass.c: Updates the test for the native W32 API, and adds
81871         missing includes, thus fixing compilation warnings.
81872
81873 2006-05-25  Sergey Poznyakoff  <gray@gnu.org.ua>
81874
81875         * lib/exclude.c (exclude_fnmatch): New function.
81876         (excluded_file_name): Call exclude_fnmatch.
81877         * lib/exclude.h (excluded_file_name): New prototype
81878
81879 2006-05-25  Paul Eggert  <eggert@cs.ucla.edu>
81880
81881         * lib/tempname.c (small_open, large_open): New macros.
81882         (__open, __open64) [!_LIBC]: Remove.
81883         (__gen_tempname): Use small_open and large_open instead of __open
81884         and __open64.  This fixes a portability bug on HP-UX 11.11i
81885         reported by Simon Wing-Tang in
81886         <http://lists.gnu.org/archive/html/bug-coreutils/2006-05/msg00114.html>.
81887
81888 2006-05-24  Bruno Haible  <bruno@clisp.org>
81889
81890         * lib/printf-args.c (printf_fetchargs): Turn NULL pointers for
81891         TYPE_STRING and TYPE_WIDE_STRING into a non-NULL replacement.
81892         Reported by Thorsten Maerz <torte@netztorte.de> via
81893         Aaron Stone <aaron@serendipity.cx>.
81894
81895 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81896
81897         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Rename cache variables to use
81898         gl_ rather than jm_.  Link, don't run, so that cross-compiles are
81899         allowed.  Check that resulting type is arithmetic.  Move AC_REQUIRE
81900         and AC_CHECK_HEADERS_ONCE outside of AC_CACHE_CHECK, since they're
81901         not really conditional on the cache.
81902         (gl_PREREQ_NANOSLEEP): Check for sys/select.h.
81903
81904 2006-05-19  Paul Eggert  <eggert@cs.ucla.edu>
81905
81906         * lib/nanosleep.c [HAVE_SYS_SELECT_H]: Include <sys/select.h>.
81907         Use the usual Autoconf way to include <time.h> and/or sys/time.h.
81908         (my_usleep): Don't mishandle maximum value.
81909
81910 2006-05-19  Jim Meyering  <jim@meyering.net>
81911
81912         * lib/getugroups.c: Correct an outdated comment.  From Bruno Haible.
81913
81914 2006-05-17  Bruno Haible  <bruno@clisp.org>
81915
81916         Cygwin portability.
81917         * lib/classpath.c (PATH_SEPARATOR) [CYGWIN]: Define as ':'.
81918
81919 2006-05-17  Bruno Haible  <bruno@clisp.org>
81920
81921         * lib/stdint_.h: Fix recognition of Cygwin.
81922
81923 2006-05-15  Bruno Haible  <bruno@clisp.org>
81924
81925         * build-aux/config.rpath: Improve support for Sun C 5.9 on Linux, based
81926         on libtool patch by Ralf Wildenhues.
81927
81928 2006-05-14  Paul Eggert  <eggert@cs.ucla.edu>
81929
81930         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Fix overly-picky
81931         test for C99 conformance; (bool) 0.5 is an integer constant
81932         expression, but (bool) -0.5 is not.  Problem reported by Fedor
81933         Sergeev in <http://forum.sun.com/jive/thread.jspa?threadID=96202>.
81934
81935 2006-05-11  Simon Josefsson  <jas@extundo.com>
81936
81937         * m4/xvasprintf.m4: Fix obvious typo.
81938
81939 2006-05-11  Jim Meyering  <jim@meyering.net>
81940
81941         * lib/sha1.c (sha1_buffer): Correct comment: s/MD5/SHA1/.  From
81942         James Lemley.
81943
81944 2006-05-10  Simon Josefsson  <jas@extundo.com>
81945
81946         * lib/md4.c: Typo fix, update copyright years.
81947         (K1, K2): Don't use L because it turn computations into 64-bit on
81948         64-bit platforms.
81949
81950 2006-05-10  Paul Eggert  <eggert@cs.ucla.edu>
81951
81952         * lib/crc.c (crc32_update): Remove unnecessary L suffix.
81953         * lib/md4.c (rol): Cast right-shift arg to uint32_t to prevent
81954         unwanted sign propagation, e.g., on hosts with 64-bit int.
81955         There still are some problems with reeelly weird theoretical hosts
81956         (e.g., 33-bit int) but it's not worth worrying about now.
81957         * lib/sha1.c (rol): Likewise.
81958         (K1, K2, K3, K4): Remove unnecessary L suffix.
81959
81960 2006-05-10  Bruno Haible  <bruno@clisp.org>
81961
81962         * lib/des.c: Cast to avoid warnings.
81963
81964 2006-05-09  Bruno Haible  <bruno@clisp.org>
81965
81966         * modules/xvasprintf (Files): Add m4/xvasprintf.m4.
81967         (Depends-on): Depend also on xsize, stdarg.
81968         (configure.ac): Add gl_XVASPRINTF.
81969
81970 2006-05-09  Bruno Haible  <bruno@clisp.org>
81971
81972         * m4/xvasprintf.m4: New file.
81973
81974 2006-05-09  Bruno Haible  <bruno@clisp.org>
81975
81976         * lib/xvasprintf.c: Include limits.h, string.h, xsize.h.
81977         (EOVERFLOW): Define fallback value.
81978         (xstrcat): New function.
81979         (xvasprintf): Recognize the special case of a string concatenation.
81980
81981 2006-05-08  Eric Blake  <ebb9@byu.net>
81982
81983         * gnulib-tool (func_version): Base copyright year on CVS date.
81984         (func_emit_copyright_notice): New function.
81985         (func_emit_lib_Makefile_am): Use it.
81986         (func_emit_tests_Makefile_am): Likewise.
81987         (func_import): Likewise.
81988
81989 2006-05-08  Bruno Haible  <bruno@clisp.org>
81990
81991         * modules/stdarg: New file.
81992         * MODULES.html.sh (func_all_modules): Add section for <stdarg.h>.
81993
81994 2006-05-08  Bruno Haible  <bruno@clisp.org>
81995
81996         * m4/stdarg.m4: New file, from GNU gettext.
81997
81998 2006-05-08  Bruno Haible  <bruno@clisp.org>
81999
82000         * config/srclist.txt (build-aux/config.rpath): different from latest
82001         release.
82002
82003 2006-05-08  Bruno Haible  <bruno@clisp.org>
82004
82005         * build-aux/config.rpath: Add support for Sun C 5.9 on Linux.
82006
82007 2006-05-05  Jim Meyering  <jim@meyering.net>
82008
82009         * m4/warning.m4: New file, derived from bison's file by the same name.
82010
82011 2006-05-03  Bruno Haible  <bruno@clisp.org>
82012
82013         * lib/stdint_.h: Shorter URL.
82014         * lib/inttypes.h: Likewise.
82015
82016 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
82017
82018         * modules/inttypes (Maintainer): Change from Derek Price to 'all'.
82019
82020 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
82021
82022         * lib/verify.h: Document the internals better.  Most of this change
82023         was written by Bruno Haible.
82024
82025 2006-05-02  Paul Eggert  <eggert@cs.ucla.edu>
82026
82027         * doc/verify.texi: New file, partly based on a proposal by
82028         Bruno Haible.
82029
82030 2006-05-02  Bruno Haible  <bruno@clisp.org>
82031
82032         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Move the include_next
82033         test from here...
82034         * m4/_inttypes_h.m4 (gl_INTTYPES_H): ... to here.
82035
82036 2006-04-29  Bruno Haible  <bruno@clisp.org>
82037
82038         * lib/gcd.c: Use WORD_T and GCD instead of unsigned long and gcd.
82039         Suggested by Oskar Liljeblad <oskar@osk.mine.nu>.
82040
82041 2006-04-29  Bruno Haible  <bruno@clisp.org>
82042
82043         * gnulib-tool: Make --update option actually work.
82044
82045 2006-04-29  Bruno Haible  <bruno@clisp.org>
82046
82047         * doc/gcd.texi: New file.
82048         * doc/gnulib.texi: Include it.
82049
82050 2006-04-25  Paul Eggert  <eggert@cs.ucla.edu>
82051
82052         * lib/getdate.y (get_date): When adding relative date, start with the
82053         initial time, not with the result of the first mktime call.
82054
82055 2006-04-25  Bruno Haible  <bruno@clisp.org>
82056
82057         * gnulib-tool (func_import): Output the include directives in three
82058         blocks, sorted separately.
82059         Reported by Ben Pfaff <blp@cs.stanford.edu>.
82060
82061 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
82062
82063         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use prototype
82064         to define main with arguments, for C++.  Reported by Eric Blake.
82065         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC):
82066         Prefer 'int main ()' to 'int main (void)', for C++.
82067         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Likewise.
82068         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Specify a return type
82069         for 'main', for C99 and C++.
82070
82071 2006-04-24  Paul Eggert  <eggert@cs.ucla.edu>
82072
82073         * m4/fsusage.m4 (gl_FILE_SYSTEM_USAGE): Use return, not exit.
82074         Don't assume that exit status -1 is valid.
82075         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82076         * m4/putenv.m4 (gl_FUNC_PUTENV): Likewise.
82077         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Likewise.
82078         * m4/readdir.m4 (GL_FUNC_READDIR): Include <stdlib.h>.
82079         * m4/rename.m4 (vb_FUNC_RENAME): Likewise.
82080         * m4/unlink-busy.m4 (gl_FUNC_UNLINK_BUSY_TEXT): Use AC_RUN_IFELSE,
82081         not AC_TRY_RUN.  Use return, not exit.  Don't assume that
82082         functions can be used without declaring them, or that you can
82083         exit with status -1.
82084         * m4/utimes-null.m4 (gl_FUNC_UTIMES_NULL): Likewise.
82085
82086 2006-04-24  Karl Berry  <karl@gnu.org>
82087
82088         * config/srclist.txt (longdouble.m4): sync lost.
82089
82090 2006-04-24  Eric Blake  <ebb9@byu.net>
82091
82092         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Avoid unused variable warning.
82093
82094 2006-04-24  Bruno Haible  <bruno@clisp.org>
82095
82096         * m4/poll.m4 (gl_FUNC_POLL): When cross-compiling, reject also the
82097         poll() implementation in AIX.
82098         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82099
82100 2006-04-24  Bruno Haible  <bruno@clisp.org>
82101
82102         * m4/poll.m4 (gl_FUNC_POLL): Rearrange code, so that POLL_H gets
82103         assigned exactly once.
82104
82105 2006-04-23  Claudio Fontana  <claudio@gnu.org>
82106             Bruno Haible  <bruno@clisp.org>
82107
82108         * modules/gettext (Makefile.am): Add a -I flag for <libintl.h>.
82109         * gnulib-tool (func_emit_lib_Makefile_am): Emit empty default value
82110         for AM_CPPFLAGS.
82111
82112 2006-04-23  Bruno Haible  <bruno@clisp.org>
82113
82114         * modules/copy-file: Depend on unistd.
82115         * modules/execute: Likewise.
82116         * modules/fatal-signal: Likewise.
82117         * modules/findprog: Likewise.
82118         * modules/mkdtemp : Likewise.
82119         * modules/pipe: Likewise.
82120         * modules/wait-process: Likewise.
82121
82122 2006-04-23  Bruno Haible  <bruno@clisp.org>
82123
82124         * lib/fwriteerror.c (fwriteerror): Call fclose also when an error
82125         condition was already detected.
82126         Reported by Ben Pfaff <blp@cs.stanford.edu>.
82127
82128 2006-04-23  Bruno Haible  <bruno@clisp.org>
82129
82130         * lib/copy-file.c: Include <unistd.h> unconditionally.
82131         * lib/execute.c: Likewise.
82132         * lib/fatal-signal.c: Likewise.
82133         * lib/findprog.c: Likewise.
82134         * lib/mkdtemp.c: Likewise.
82135         * lib/pipe.h: Likewise.
82136         * lib/pipe.c: Likewise.
82137         * lib/wait-process.h: Likewise.
82138
82139 2006-04-23  Bruno Haible  <bruno@clisp.org>
82140
82141         * gnulib-tool (func_usage): Fix --import description. Document
82142         --update.
82143         (func_import): Create temporary file in a temporary directory, if
82144         --dry-run is specified. Silence errors from 'grep' when there are no
82145         m4 files in $m4dir.
82146         (func_create_testdir): Silence errors from 'grep' when there are no
82147         m4 files in $m4dir.
82148         Reported by Karl Berry <karl@freefriends.org>.
82149
82150 2006-04-20  Bruno Haible  <bruno@clisp.org>
82151
82152         * m4/argp.m4 (gl_ARGP): Don't call AC_CHECK_DECLS_ONCE with more than
82153         one argument, so that the code will be portable to Autoconf 2.60.
82154         * m4/getlogin_r.m4 (gl_PREREQ_GETLOGIN_R): Likewise.
82155         * m4/getpass.m4 (gl_PREREQ_GETPASS): Likewise.
82156         * m4/unlocked-io.m4 (gl_FUNC_GLIBC_UNLOCKED_IO): Likewise.
82157
82158 2006-04-19  Derek Price  <derek@ximbiot.com>
82159             Eric Blake  <ebb9@byu.net>
82160
82161         * m4/full-header-path.m4 (gl_FULL_HEADER_PATH): Use </full/path.h>
82162         rather than "/full/path.h".  Update comment to match.  Shorten &
82163         generalize m4_translit call via AS_TR_CPP.
82164
82165 2006-04-19  Derek Price  <derek@ximbiot.com>
82166             Eric Blake  <ebb9@byu.net>
82167
82168         * lib/inttypes.h: Correct grammar in comment.
82169
82170 2006-04-18  Derek Price  <derek@ximbiot.com>
82171             Paul Eggert  <eggert@cs.ucla.edu>
82172
82173         * modules/inttypes: New file.
82174         * modules/strtoimax, modules/strtoumax: Depend on inttypes.
82175
82176 2006-04-18  Derek Price  <derek@ximbiot.com>
82177             Paul Eggert  <eggert@cs.ucla.edu>
82178
82179         * m4/_inttypes_h.m4, m4/full-header-path.m4, m4/include_next.m4:
82180         New files.
82181
82182 2006-04-18  Derek Price  <derek@ximbiot.com>
82183             Paul Eggert  <eggert@cs.ucla.edu>
82184
82185         * lib/inttypes.h: New file.
82186         * lib/strtoimax.c: Assume <inttypes.h>.
82187
82188 2006-04-15  Paul Eggert  <eggert@cs.ucla.edu>
82189
82190         * lib/utimens.c (futimens): glibc futimesat messes up if /proc
82191         isn't mounted.  Problem reported by Kir Kolyshkin.
82192
82193 2006-04-13  Paul Eggert  <eggert@cs.ucla.edu>
82194
82195         * lib/regcomp.c (init_dfa): Don't use wchar_t or wctype_t if
82196         RE_ENABLE_I18N is not defined.  Problem reported by Mark D. Baushke via
82197         Derek R. Price.
82198         * lib/regex.h (RE_DUP_MAX): Update comment to match current
82199         implementation.
82200
82201 2006-04-12  Eric Blake  <ebb9@byu.net>
82202
82203         * modules/time_r (Makefile.am): Remove lib_SOURCES line, as this
82204         is now done automatically by the corresponding Autoconf macro.
82205
82206 2006-04-11  Paul Eggert  <eggert@cs.ucla.edu>
82207
82208         * m4/time_r.m4 (gl_TIME_R): Add AC_LIBSOURCES for time_r.c and
82209         time_r.h.
82210
82211 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82212
82213         Merge regex changes from libc, removing some of our
82214         POSIX-conformance changes that were rejected and redoing them in a
82215         less-intrusive way.
82216
82217         * lib/regcomp.c (re_compile_internal, init_dfa):
82218         Length arg is now size_t, not Idx.  All uses changed.
82219         (peek_token): Forward decl now says internal_function.
82220         (__re_error_msgid, __re_error_msgid_idx):
82221         Now static rather than extern with attribute_hidden.
82222         (re_compile_pattern) [!defined _LIBC]: Use K&R-style defn.
82223         For some reason libc prefers K&R style defns for external functions.
82224         (regerror) [!defined _LIBC]: Likewise.
82225         (re_set_syntax, re_compile_fastmap, regcomp, regfree, re_comp):
82226         (seek_collating_symbol_entry, lookup_collation_sequence_value):
82227         (build_range_exp, build_collating_symbol):
82228         Use K&R-style defn.
82229         (re_compile_fastmap): Use '\0' to memset, not 0.
82230         (utf8_sb_map): Make the calculations more obvious.
82231         (init_dfa, parse_bracket_exp, build_charclass_op):
82232         Call calloc and cast result, as glibc does.
82233         (init_word_char, fetch_token, peek_token, peek_token_bracket):
82234         (build_range_exp, build_collating_symbol):
82235         Now internal functions.
82236
82237         * lib/regex.c [!defined _LIBC]: Allow compiling with C++ compilers.
82238
82239         * lib/regex.h (__USE_GNU_REGEX): New macro.  Don't depend on
82240         _REGEX_SOURCE any more; depend on _GNU_SOURCE instead.
82241         Don't depend on VMS; depend on __VMS instead, for POSIX
82242         namespace cleanness.
82243         (regoff_t): Define to ssize_t, not long int.
82244
82245         Remove the REG_ macros named below.  Instead, make the old names
82246         (e.g., RE_BACKSLASH_ESCAPE_IN_LISTS) visible only if
82247         __USE_GNU_REGEX.
82248         (REG_BACKSLASH_ESCAPE_IN_LISTS):
82249         (REG_BK_PLUS_QM, REG_CHAR_CLASSES, REG_CONTEXT_INDEP_ANCHORS):
82250         (REG_CONTEXT_INDEP_OPS, REG_CONTEXT_INVALID_OPS):
82251         (REG_DOT_NEWLINE, REG_DOT_NOT_NULL, REG_HAT_LISTS_NOT_NEWLINE):
82252         (REG_INTERVALS, REG_LIMITED_OPS, REG_NEWLINE_ALT):
82253         (REG_NO_BK_BRACES, REG_NO_BK_PARENS, REG_NO_BK_REFS):
82254         (REG_NO_BK_VBAR, REG_NO_EMPTY_RANGES):
82255         (REG_UNMATCHED_RIGHT_PAREN_ORD, REG_NO_POSIX_BACKTRACKING):
82256         (REG_NO_GNU_OPS, REG_DEBUG, REG_INVALID_INTERVAL_ORD):
82257         (REG_IGNORE_CASE, REG_CARET_ANCHORS_HERE):
82258         (REG_CONTEXT_INVALID_DUP, REG_NO_SUB, REG_SYNTAX_EMACS):
82259         (REG_SYNTAX_AWK, REG_SYNTAX_GNU_AWK, REG_SYNTAX_POSIX_AWK):
82260         (REG_SYNTAX_GREP, REG_SYNTAX_EGREP, REG_SYNTAX_POSIX_EGREP):
82261         (REG_SYNTAX_ED, REG_SYNTAX_SED, _REG_SYNTAX_POSIX_COMMON):
82262         (REG_SYNTAX_POSIX_BASIC, REG_SYNTAX_POSIX_MINIMAL_BASIC):
82263         (REG_SYNTAX_POSIX_EXTENDED, REG_SYNTAX_POSIX_MINIMAL_EXTENDED):
82264         (REG_DUP_MAX, REG_UNALLOCATED, REG_REALLOCATE, REG_FIXED):
82265         (REG_NREGS):
82266         Remove.  All uses replaced by the old RE_* names.
82267         (RE_BACKSLASH_ESCAPE_IN_LISTS):
82268         (RE_BK_PLUS_QM, RE_CHAR_CLASSES, RE_CONTEXT_INDEP_ANCHORS):
82269         (RE_CONTEXT_INDEP_OPS, RE_CONTEXT_INVALID_OPS):
82270         (RE_DOT_NEWLINE, RE_DOT_NOT_NULL, RE_HAT_LISTS_NOT_NEWLINE):
82271         (RE_INTERVALS, RE_LIMITED_OPS, RE_NEWLINE_ALT):
82272         (RE_NO_BK_BRACES, RE_NO_BK_PARENS, RE_NO_BK_REFS):
82273         (RE_NO_BK_VBAR, RE_NO_EMPTY_RANGES):
82274         (RE_UNMATCHED_RIGHT_PAREN_ORD, RE_NO_POSIX_BACKTRACKING):
82275         (RE_NO_GNU_OPS, RE_DEBUG, RE_INVALID_INTERVAL_ORD):
82276         (RE_IGNORE_CASE, RE_CARET_ANCHORS_HERE):
82277         (RE_CONTEXT_INVALID_DUP, RE_NO_SUB):
82278         Don't bother having these macros be independent of each others'
82279         values, since they no longer exist in the POSIX name space.
82280
82281         Rename the following member names back to their old names,
82282         unless !__USE_GNU_REGEX.  All uses changed back.
82283         (buffer): Renamed from re_buffer.
82284         (allocated): Renamed from re_allocated.
82285         (used): Renamed from re_used.
82286         (syntax): Renamed from re_syntax.
82287         (fastmap): Renamed from re_fastmap.
82288         (translate): Renamed from re_translate.
82289         (can_be_null): Renamed from re_can_be_null.
82290         (regs_allocated): Renamed from re_regs_allocated.
82291         (fastmap_accurate): Renamed from re_fastmap_accurate.
82292         (no_sub): Renamed from re_no_sub.
82293         (not_bol): Renamed from re_not_bol.
82294         (not_eol): Renamed from re_not_eol.
82295         (newline_anchor): Renamed from re_newline_anchor.
82296         (num_regs): Renamed from rm_num_regs.
82297         (start): Renamed from rm_start.
82298         (end): Renamed from rm_end.
82299
82300         (free_state): Move up a bit.
82301
82302         * lib/regex_internal.h (inline) [__GNUC__ < 3 && defined _LIBC]:
82303         #define to be empty.
82304         (ASCII_CHARS): New macro, replacing all uses of 0x80 and/or SBC_MAX / 2
82305         when that is what is intended.
82306         (SBC_MAX): Define to UCHAR_MAX + 1, not 256.
82307         (__re_error_msgid, __re_error_msgid_idx): Remove decls; not needed.
82308         (MAX): New macro.
82309         (re_xmalloc, re_calloc, re_xrealloc, re_x2realloc): Remove.
82310         All uses changed back to re_malloc, etc.  It's now the caller's
82311         responsibility to check for overflow; all callers changed.
82312         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc, re_xnrealloc):
82313         (re_x2nrealloc): Remove.
82314         (free_state): Remove decl.
82315
82316         * lib/regexc.c (regexec, re_match, re_search, re_match_2, re_search_2):
82317         (re_set_registers, re_exec):
82318         Use K&R-style defn.
82319
82320         2006-01-31  Roland McGrath  <roland@redhat.com>
82321
82322         * lib/regcomp.c (calc_eclosure_iter): Remove dead variables.
82323         Reported by Mike Frysinger <vapier@gentoo.org>.
82324
82325         2006-01-15  Andreas Jaeger  <aj@suse.de>
82326
82327         [BZ #1950]
82328         * lib/regex_internal.c (re_string_reconstruct): Adjust for
82329         build_wcs_upper_buffer change.
82330         (build_wcs_upper_buffer): Change return type.
82331
82332         2005-12-10  Ulrich Drepper  <drepper@redhat.com>
82333
82334         * lib/regex_internal.h: Include <stdint.h> if available.
82335
82336         2005-12-06  Paolo Bonzini  <bonzini@gnu.org>
82337
82338         * lib/regex_internal.h (SIZE_MAX): Provide a default definition.
82339
82340         2005-10-14  Ulrich Drepper  <drepper@redhat.com>
82341
82342         * lib/regcomp.c: Adjust for changed secondary hash function.
82343
82344         2005-09-30  Ulrich Drepper  <drepper@redhat.com>
82345
82346         * lib/regex.h: Pretty printing.
82347         Clean up namespace a bit.
82348
82349         2005-09-30  Jakub Jelinek  <jakub@redhat.com>
82350
82351         * lib/regexec.c (update_cur_sifted_state, check_arrival,
82352         check_arrival_add_next_nodes): Avoid using uninitialized variable.
82353
82354         2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
82355                     Ulrich Drepper  <drepper@redhat.com>
82356
82357         [BZ #1302]
82358         * lib/regex_internal.h (bitset_t): Renamed from bitset.  All uses
82359         changed.
82360         (bitset_word_t): Renamed from bitset_word.  All uses changed.
82361
82362         2005-09-22  Ulrich Drepper  <drepper@redhat.com>
82363
82364         [BZ #281]
82365         * lib/regex.h: Define RE_TRANSLATE_TYPE as unsigned char *.
82366         * lib/regcomp.c: Remove unnecessary uses of
82367         unsigned RE_TRANSLATE_TYPE.
82368         * lib/regex_internal.h: Likewise.
82369         * lib/regex_internal.c: Likewise.
82370         * lib/regexec.c: Likewise.
82371         Based on a patch by Stepan Kasal <kasal@ucw.cz>.
82372
82373         2005-09-07  Ulrich Drepper  <drepper@redhat.com>
82374
82375         * lib/regexec.c (find_recover_state): Remove unnecessary
82376         initialization.
82377         (transit_state_bkref): Make DFA a const pointer.
82378         (get_subexp): Likewise.
82379         (check_arrival): Likewise.
82380         (update_cur_sifted_state): Likewise.
82381         (re_search_internal): Likewise.
82382         (prune_impossible_nodes): Likewise.
82383         (acquire_init_state_context): Likewise.
82384         (proceed_next_node): Likewise.
82385         (set_regs): Likewise.
82386         (free_fail_stack_return): Likewise.
82387         (check_arrival_expand_ecl): Mark DFA parameter as const.
82388         (check_arrival_expand_ecl_sub): Likewise.
82389         (check_subexp_limits): Likewise.
82390         (sub_epsilon_src_nodes):  Likewise.
82391         (add_epsilon_src_nodes):  Likewise.
82392         (merge_state_array): Likewise.
82393         (update_regs): Likewise.
82394         (build_trtable): Likewise.
82395         (sift_states_backward): Mark MCTX parameter as const.
82396         (build_sifted_states): Likewise.
82397         (update_cur_sifted_state): Likewise.
82398         (sift_states_mkref): Likewise.
82399         (check_arrival_expand_ecl): Mark eclosure as const.
82400         (check_dst_limits_calc_pos_1): Likewise.
82401         * lib/regex_internal.h (re_match_context_t): Make dfa a const
82402         pointer.
82403
82404         2005-09-06  Ulrich Drepper  <drepper@redhat.com>
82405
82406         * lib/regexec.c (merge_state_with_log): Define dfa as const pointer.
82407         (transit_state_sb): Likewise.
82408         (transit_state_mb): Likewise.
82409         (sift_states_iter_mb): Likewise.
82410         (check_arrival_add_next_nodes): Likewise.
82411         (check_node_accept_bytes): Change first parameter to pointer-to-const.
82412         [_LIBC] (re_search_2_stub): Use mempcpy.
82413
82414         * lib/regex_internal.c (re_string_reconstruct): Avoid calling
82415         mbrtowc for very simple UTF-8 case.
82416
82417         * lib/regex_internal.c (re_acquire_state): Make DFA pointer arg
82418         a pointer-to-const.
82419         (re_acquire_state_context): Likewise.
82420         * lib/regex_internal.h: Adjust prototypes.
82421
82422         * lib/regex.c: Prevent using C++ compilers.
82423
82424         * lib/regex_internal.c (re_acquire_state): Minor code rearrangement.
82425         (re_acquire_state_context): Likewise.
82426
82427 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82428
82429         * modules/regex (Depends-on): Add ssize_t.
82430
82431 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82432
82433         * m4/regex.m4 (gl_REGEX): Check for new glibc interface to
82434         translation table.
82435
82436 2006-04-09  Paul Eggert  <eggert@cs.ucla.edu>
82437
82438         * doc/gnulib-tool.texi (Modified imports): pathname -> file name.
82439
82440 2006-03-29  Mark D. Baushke  <mdb@gnu.org>
82441             Bruno Haible  <bruno@clisp.org>
82442
82443         * lib/stdint_.h: On OpenBSD, don't redefine types already included in
82444         <sys/types.h> and <inttypes.h>.
82445
82446 2006-03-25  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82447
82448         * m4/argz.m4 (gl_FUNC_ARGZ): If we define `error_t', also define
82449         `__error_t_defined', so argp.h will not typedef the former.
82450
82451 2006-03-25  Paul Eggert  <eggert@cs.ucla.edu>
82452
82453         * m4/regex.m4 (gl_REGEX): Don't insist on REG_SYNTAX_POSIX_EGREP,
82454         REG_SYNTAX_EMACS, and REG_IGNORE_CASE.  Settle for the traditional
82455         glibc names.  Even if glibc is changed to conform to POSIX, the
82456         traditional names will be available anyway, since regex depends on
82457         the extensions module.  Also, fix a longstanding typo in the
82458         implementation of Spencer ERE test #75 from grep 2.3.  Problems
82459         reported by Emanuele Giaquinta.  Also, change sense of cached
82460         variable, so that the message makes sense.
82461
82462 2006-03-24  Simon Josefsson  <jas@extundo.com>
82463
82464         * lib/base64.c: Fix problems reported by Eric Blake <ebb9@byu.net>,
82465         including some doc fixes.
82466         (base64_encode_alloc): Fix +1 bug on allocation failures.
82467
82468 2006-03-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82469
82470         * lib/base64.c (base64_encode): Do not read past end of array with
82471         unsanitized input on systems with CHAR_BIT > 8.
82472
82473 2006-03-24  Eric Blake  <ebb9@byu.net>
82474
82475         * lib/time_r.c (copy_string_result): Remove, as it is no longer used.
82476
82477 2006-03-22  Karl Berry  <karl@gnu.org>
82478
82479         * config/srclist.txt (*setenv.[ch]): get from coreutils.
82480         * config/srclistvars.sh (COREUTILS): new var.
82481
82482 2006-03-17  Jim Meyering  <jim@meyering.net>
82483
82484         * m4/regex.m4 (gl_REGEX): Fix typo in last change:
82485         s/_REGEX_WIDE_OFFSETS/_REGEX_LARGE_OFFSETS/.
82486
82487 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82488
82489         * m4/regex.m4 (gl_REGEX): Don't check for off_t, since the code
82490         no longer needs it.  Instead, check that regoff_t is as least
82491         as wide as ptrdiff_t.
82492
82493         Don't define _REGEX_WIDE_OFFSETS unless using the included regex,
82494         so that our regex.h stays compatible with the installed regex.
82495         This is helpful for installers who configure --without-included-regex.
82496         Problem reported by Emanuele Giaquinta.
82497
82498 2006-03-16  Paul Eggert  <eggert@cs.ucla.edu>
82499
82500         * lib/regex.h (regoff_t) [defined _REGEX_LARGE_OFFSETS]:
82501         Typedef to long int, not to off_, as POSIX will likely change
82502         in that direction.
82503
82504 2006-03-15  Eric Blake  <ebb9@byu.net>
82505
82506         * m4/dirfd.m4 (gl_FUNC_DIRFD): Use AC_REQUIRE for AC_HEADER_DIRENT.
82507
82508 2006-03-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82509
82510         * lib/argp-help.c (validate_uparams): Fix typo
82511         * lib/argp-parse.c (argp_default_options): Consistently begin help
82512         messages with a lowercase letter.
82513
82514 2006-03-11  Paul Eggert  <eggert@cs.ucla.edu>
82515
82516         * lib/time_r.h (asctime_r, ctime_r): Remove.  These functions can
82517         overrun buffers and shouldn't be used (much as gets shouldn't be
82518         used).
82519         * lib/time_r.c (asctime_r, ctime_r): Likewise.
82520
82521 2006-03-08  Simon Josefsson  <jas@extundo.com>
82522
82523         * m4/gc-random.m4: Permit 'no' as variable values and fix warnings,
82524         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82525
82526 2006-03-08  Simon Josefsson  <jas@extundo.com>
82527
82528         * m4/gc-random.m4: Call AC_CANONICAL_HOST and use $host_os instead of
82529         $target, suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82530
82531 2006-03-08  Simon Josefsson  <jas@extundo.com>
82532
82533         * lib/gc-gnulib.c (randomize): Don't open files called 'no', they
82534         signal that configure disabled the device.
82535
82536 2006-03-08  Simon Josefsson  <jas@extundo.com>
82537
82538         * build-aux/maint.mk: Fix refresh-po, to handle no translated
82539         languages.
82540
82541 2006-03-07  Simon Josefsson  <jas@extundo.com>
82542
82543         * modules/getopt (Depends-on): Add unistd.
82544
82545         * modules/unistd: New file.
82546
82547 2006-03-07  Simon Josefsson  <jas@extundo.com>
82548
82549         * modules/gc-random: New file.
82550
82551 2006-03-07  Simon Josefsson  <jas@extundo.com>
82552
82553         * m4/unistd_h.m4: New file.
82554
82555 2006-03-07  Simon Josefsson  <jas@extundo.com>
82556
82557         * m4/readline.m4 (gl_FUNC_READLINE): Rewrite the cached part of the
82558         test to be side-effect free by storing the result in the cache
82559         variable gl_cv_lib_readline, and moving the assignment of
82560         LIBREADLINE and LTLIBREADLINE outside the COMMANDS-TO-SET-IT.
82561         From Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
82562
82563 2006-03-07  Simon Josefsson  <jas@extundo.com>
82564
82565         * m4/gc-random.m4: New file, mostly from gc.m4.  Warn instead of
82566         error on missing devices (the functions will return an error).
82567
82568         * m4/gc.m4: Move random stuff to gc-random.m4
82569
82570 2006-03-07  Simon Josefsson  <jas@extundo.com>
82571
82572         * lib/unistd_.h: New file.
82573
82574 2006-03-07  Simon Josefsson  <jas@extundo.com>
82575
82576         * lib/gc-libgcrypt.c, gc-gnulib.c: Use GC_USE_RANDOM.
82577
82578 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82579
82580         * m4/unistd_h.m4 (gl_HEADER_UNISTD): Rename, to match modules file.
82581         Problem reported by Juan Manuel Guerrero.
82582
82583 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82584
82585         * lib/c-stack.c: Include unistd.h unconditionally, since we now assume
82586         the unistd module.
82587         * lib/getlogin_r.c: Likewise.
82588         * lib/getlogin_r.h: Likewise.
82589         * lib/glob.c: Likewise.
82590         * lib/pagealign_alloc.c: Likewise.
82591         * lib/unistd_.h: Remove; no longer needed.
82592
82593 2006-03-07  Paul Eggert  <eggert@cs.ucla.edu>
82594
82595         * MODULES.html.sh (Support for systems lacking POSIX:2001):
82596         Add unistd.
82597         * modules/c-stack (Depends-on): Add unistd.
82598         * modules/getlogin_r: Likewise.
82599         * modules/glob: Likewise.
82600         * modules/pagealign_alloc: Likewise.
82601         * modules/unistd (Files): Remove lib/unistd_.h.
82602         (EXTRA_DIST): Remove.
82603         (unistd.h): Create using 'echo' rather than 'cp', so that we don't
82604         need unistd_.h.
82605         (MOSTLYCLEANFILES): Remove unistd.h-t.
82606
82607 2006-03-03  Simon Josefsson  <jas@extundo.com>
82608
82609         * build-aux/maint.mk: Add several syntax checks from CoreUtils.
82610
82611 2006-03-03  Simon Josefsson  <jas@extundo.com>
82612
82613         * build-aux/maint.mk: Add refresh-po rule, based on ideas from
82614         libidn and bison.
82615
82616 2006-03-03  Simon Josefsson  <jas@extundo.com>
82617
82618         * build-aux/maint.mk: Add indent target.
82619
82620 2006-03-03  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de> (tiny change)
82621
82622         * m4/poll.m4 (gl_FUNC_POLL): If we deem poll(2) unacceptable, use
82623         our replacement poll.h in any case, to avoid a differing
82624         declaration from a system header.  Seen on AIX.
82625
82626 2006-03-01  Simon Josefsson  <jas@extundo.com>
82627
82628         * lib/readline.c: Fix typo, tiny patch from Stepan Kasal
82629         <kasal@ucw.cz>.
82630
82631 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82632
82633         * modules/gettime (Depends-on): Add extensions module.
82634         * modules/nanosleep (Depends-on): Likewise.
82635         * modules/settime (Depends-on): Likewise.
82636
82637 2006-03-01  Paul Eggert  <eggert@cs.ucla.edu>
82638
82639         * m4/clock_time.m4 (gl_CLOCK_TIME): Require gl_USE_SYSTEM_EXTENSIONS,
82640         not merely AC_GNU_SOURCE, for the benefit of Solaris 10 when compiled
82641         pedantically.
82642         * m4/nanosleep.m4 (gl_FUNC_NANOSLEEP): Likewise.
82643         * m4/timespec.m4 (gl_TIMESPEC): Likewise.
82644
82645         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Use "=" with "test",
82646         not "==".  Reported by Ralf Wildenhues.
82647
82648 2006-03-01  Karl Berry  <karl@gnu.org>
82649
82650         * doc/Copyright/request-*: new files, synced from gnuorg.
82651
82652 2006-03-01  Karl Berry  <karl@gnu.org>
82653
82654         * config/srclist.txt (Copyright/*): new entries.
82655
82656 2006-02-28  Simon Josefsson  <jas@extundo.com>
82657
82658         * lib/getopt.c: Protect #include of unistd.h, for MSVS.
82659
82660 2006-02-27  Simon Josefsson  <jas@extundo.com>
82661
82662         * lib/base64.h: Indent #define's.  From Jim Meyering
82663         <jim@meyering.net>.
82664
82665 2006-02-27  Jim Meyering  <jim@meyering.net>
82666
82667         Revert the change of 2006-02-24, so these files can continue
82668         to be sync'd from gettext.
82669         * lib/mkdtemp.c, setenv.c, unsetenv.c: *Un*-normalize inclusion
82670         of `config.h'.
82671
82672 2006-02-26  Paul Eggert  <eggert@cs.ucla.edu>
82673
82674         * modules/intprops: New file.
82675         * MODULES.html.sh (Numeric conversion functions <stdlib.h>):
82676         Add intprops.
82677         * modules/getloadavg (Files): Remove lib/intprops.h.
82678         (Depends-on): Add intprops.
82679         * modules/human: Likewise.
82680         * modules/inttostr: Likewise.
82681         * modules/openat: Likewise.
82682         * modules/sig2str: Likewise.
82683         * modules/userspec: Likewise.
82684         * modules/utimecmp: Likewise.
82685         * modules/xnanosleep: Likewise.
82686         * modules/xstrtol: Likewise.
82687
82688 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny changes)
82689
82690         * modules/xstrtod: Omit xstrtod.h, xstrtod.c; they're in LIB_SOURCES.
82691         * modules/lock-tests (TESTS): Use $(EXEEXT).
82692         * modules/tls-tests: Likewise.
82693         * modules/argp-tests: Likewise.
82694         (check_PROGRAMS): New var, replacing...
82695         (noinst_PROGRAMS, test_argp_SOURCES): Remove.
82696
82697 2006-02-24  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82698
82699         * lib/mkdtemp.c, lib/setenv.c, lib/unsetenv.c: Normalize inclusion of
82700         `config.h'.
82701
82702 2006-02-24  Paul Eggert  <eggert@cs.ucla.edu>
82703
82704         * lib/glob.c: Say "invalid" rather than "illegal" in comments.
82705
82706 2006-02-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
82707
82708         Sync from coreutils.
82709         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Require gl_FUNC_LCHMOD and
82710         gl_CHDIR_SAFER.
82711
82712 2006-02-22  Jim Meyering  <jim@meyering.net>
82713
82714         Sync from coreutils.
82715         * m4/chdir-safer.m4: New file.
82716
82717 2006-02-20  Paul Eggert  <eggert@cs.ucla.edu>
82718
82719         * lib/getcwd.c (AT_FDCWD): Work around a bug in Solaris 9 and 10, where
82720         AT_FDCWD exceeds INT_MAX.
82721         * lib/openat.h (AT_FDCWD): Likewise.
82722
82723 2006-02-17  Eric Blake  <address@hidden>
82724
82725         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Fix caching error.
82726
82727 2006-02-16  Simon Josefsson  <jas@extundo.com>
82728
82729         * modules/getaddrinfo (Depends-on): Add sys_socket.
82730
82731 2006-02-15  Simon Josefsson  <jas@extundo.com>
82732
82733         * build-aux/maint.mk: Add dsyntax-check rule.
82734
82735 2006-02-15  Eric Blake  <ebb9@byu.net>
82736
82737         * m4/sys_socket_h.m4 (gl_HEADER_SYS_SOCKET): Don't attempt using
82738         winsock2.h or ws2tcpip.h when sys/socket.h is present. Fixes
82739         'present but cannot compile' warnings on cygwin.
82740         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Use gl_HEADER_SYS_SOCKET.  Don't
82741         use ws2tcpip.h if sys/socket.h works.
82742         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Use gl_HEADER_SYS_SOCKET.
82743         (gl_GETADDRINFO): Don't use ws2tcpip.h when sys/socket.h is present.
82744
82745 2006-02-14  Simon Josefsson  <jas@extundo.com>
82746
82747         * modules/maintainer-makefile (Files): Rename.
82748
82749         * build-aux/GNUmakefile: Rename Makefile.maint to maint.mk
82750         and (the local) Makefile.cfg to maint-cfg.mk.
82751
82752         * build-aux/Makefile.maint, build-aux/maint.mk: Renamed the former
82753         to the latter.
82754
82755         * modules/maintainer-makefile: New module.
82756
82757         * build-aux/Makefile.maint: New file, from GNU CoreUtils, although
82758         severaly stripped to make it possible to build it up from scratch
82759         with reliable tests.
82760
82761         * build-aux/GNUmakefile: New file, from GNU CoreUtils with some
82762         fixes to permit overriding the default actions when configure and
82763         makefile are not available.
82764
82765 2006-02-14  Paul Eggert  <eggert@cs.ucla.edu>
82766
82767         Sync from coreutils.
82768         * modules/lstat (Depends-on): Don't depend on xalloc.
82769         (License): Change from GPL to LGPL, since this is now simply a
82770         replacement for a libc function.
82771
82772 2006-02-14  Jim Meyering  <jim@meyering.net>
82773
82774         Sync from coreutils.
82775
82776         Eliminate the unwelcome (albeit unlikely) possibility of xmalloc
82777         failure on deficient systems, and simplify gnulib lgpl dependencies.
82778         * lib/lstat.c (rpl_lstat): Rewrite to use stat() in place of the
82779         xmalloc/lstat combination.  Based on a patch from Bruno Haible.
82780
82781         * lib/xalloc-die.c: Remove unused definition of N_.
82782
82783 2006-02-14  Jim Meyering  <jim@meyering.net>
82784
82785         Sync from coreutils.
82786         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Invoke
82787         AC_CHECK_FUNCS(getmntent) unconditionally so that tests of
82788         $ac_cv_func_getmntent (e.g., in gl_LIST_MOUNTED_FILE_SYSTEMS) need not
82789         double-quote uses of that variable, to accommodate the rare case in
82790         which getmntent is available in none of the libraries checked.  This
82791         happens at least on FreeBSD 5.0.
82792
82793 2006-02-13  Simon Josefsson  <jas@extundo.com>
82794
82795         * gnulib-tool (Usage): Fix --import, from
82796         karl@freefriends.org (Karl Berry).
82797
82798 2006-02-13  Sergey Poznyakoff  <gray@gnu.org.ua>
82799
82800         * lib/argp-fmtstream.c: Restore another bugfix lost on 2005-12-12
82801
82802 2006-02-07  Sergey Poznyakoff  <gray@gnu.org.ua>
82803
82804         * lib/argp-namefrob.h: Restore changes accidentally lost during the
82805         "autoupdate" on 2005-12-12.
82806
82807 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82808
82809         * modules/closeout (Depends-on): Remove atexit.
82810
82811 2006-02-07  Paul Eggert  <eggert@cs.ucla.edu>
82812
82813         * lib/closeout.c (close_stdout): Don't assume 'bool' converts nonzero
82814         ints to 0 or 1, as this isn't true for the stdbool.h substitute.
82815
82816 2006-02-05  Paul Eggert  <eggert@cs.ucla.edu>
82817
82818         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Don't #define
82819         __EXTENSIONS__ if this causes compilation to fail.  Problem
82820         reported by Nelson H. F. Beebe with Solaris 10 and Sun C 5.7
82821         c89 -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED.
82822
82823 2006-01-27  Paul Eggert  <eggert@cs.ucla.edu>
82824
82825         * lib/fnmatch.c (L_): Renamed from L, to work around a bug in
82826         Mac OS X 10.3.9 with GCC 3 reported by Claudio Fontana in
82827         <http://lists.gnu.org/archive/html/bug-gnulib/2006-01/msg00074.html>.
82828         All uses changed.
82829
82830 2006-01-26  Simon Josefsson  <jas@extundo.com>
82831
82832         * lib/socket_.h: Set WINVER to 0x0501, to make sure getaddrinfo
82833         prototype is visible on mingw32.
82834
82835         * lib/getaddrinfo.h: Define EAI_ADDRFAMILY and EAI_SYSTEM if not set,
82836         for mingw32.
82837
82838         * lib/gai_strerror.c, getaddrinfo.h: Protect netdb.h #include (for
82839         mingw32).
82840
82841 2006-01-26  Paul Eggert  <eggert@cs.ucla.edu>
82842
82843         * lib/fts.c (diropen): Open with O_NOCTTY | O_NONBLOCK too.  Don't
82844         attempt to open for write; this always fails, at least on POSIX
82845         hosts.  This reinstates the 2006-01-09 change, which was
82846         inadvertently removed.
82847
82848 2006-01-26  Bruno Haible  <bruno@clisp.org>
82849
82850         * gnulib-tool (func_import): Use "trap 'exit $?' instead of "trap :".
82851         Reported by Paul Eggert.
82852
82853 2006-01-26  Bruno Haible  <bruno@clisp.org>
82854             Paul Eggert  <eggert@cs.ucla.edu>
82855
82856         * lib/stdbool_.h (_Bool)
82857         [(! (defined __cplusplus || defined __BEOS__)
82858           && !defined __GNUC__
82859           && !(defined __HP_cc || defined __xlc__
82860                || (defined __SUNPRO_C && (__SUNPRO_C < 0x550 || __STDC__ == 1))
82861                || defined __sgi))]:
82862         #define to signed char in these cases too; this simplifies
82863         the code (so that we don't have to worry about HP-UX, AIX, SunPRO,
82864         etc., separately) and makes it more conservative.
82865
82866 2006-01-25  Simon Josefsson  <jas@extundo.com>
82867
82868         * m4/getaddrinfo.m4: Look for getaddrinfo inside ws2tcip.h and
82869         -lws2_32.  Protect sys/socket.h and netdb.h #include's.  Include
82870         ws2tcpip.h with WINVER=0x0501.  All for mingw32.
82871
82872 2006-01-25  Sergey Poznyakoff  <gray@gnu.org.ua>
82873
82874         * lib/argp-namefrob.h: Bugfix. Remove stray #
82875
82876 2006-01-25  Paul Eggert  <eggert@cs.ucla.edu>
82877
82878         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for xlc bug if __GCC__ too,
82879         so that we test the test.
82880         Check for yet another HP-UX cc bug involving *bool |= bool.
82881
82882 2006-01-25  Karl Berry  <karl@gnu.org>
82883
82884         * config/srclist.txt (vasnprintf.c): sync lost.
82885
82886 2006-01-25  Jim Meyering  <jim@meyering.net>
82887
82888         Sync from the stable (b5) branch of coreutils:
82889
82890         * lib/fts.c (fts_children): Don't let close() clobber errno from
82891         failed fchdir().
82892
82893         * lib/fts.c (fts_stat): When following a symlink-to-directory,
82894         don't necessarily interpret stat-fails+lstat-succeeds as indicating
82895         a dangling symlink.  That can also happen at least for ELOOP.
82896         The fix: return FTS_SLNONE only when the stat errno is ENOENT.
82897         FYI, this bug predates the inclusion of fts.c in coreutils.
82898
82899         * lib/fts.c (fts_open): Put new maxarglen declaration and uses
82900         in their own block, so pre-c99 compilers don't object.
82901
82902         Avoid the double-free (first in fts_read, second in fts_close) that
82903         would occur when an `active' directory is made inaccessible (e.g.,
82904         via chmod a-x) during a traversal.
82905         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
82906         before returning.  Reproduce this failure by
82907         mkdir -p a/b; cd a; chmod a-x . b
82908         Reported by Stavros Passas.
82909
82910 2006-01-25  Jim Meyering  <jim@meyering.net>
82911
82912         * lib/fileblocks.c: Remove more useless parentheses.
82913         * lib/readutmp.h: Likewise.
82914
82915 2006-01-25  Bruno Haible  <bruno@clisp.org>
82916
82917         * lib/stdbool_.h (_Bool) [IRIX cc]: Define as 'signed char', to avoid
82918         warnings.
82919         Reported by Paul Eggert.
82920
82921 2006-01-25  Bruno Haible  <bruno@clisp.org>
82922
82923         * gnulib-tool (func_import): Use "trap :" instead of "trap -" to get
82924         rid of a trap command. For Solaris sh.
82925         Reported by Mark D. Baushke <mdb@gnu.org>.
82926
82927 2006-01-24  Simon Josefsson  <jas@extundo.com>
82928
82929         * lib/socket_.h (SHUT_WR, SHUT_RDWR): Don't hardcode, suggested by
82930         Bruno.
82931
82932 2006-01-24  Karl Berry  <karl@gnu.org>
82933
82934         * config/srclist.txt (argp-namefrob.h): sync lost.
82935
82936 2006-01-24  Jim Meyering  <jim@meyering.net>
82937
82938         * modules/openat (Files): Add lib/intprops.h.
82939         From Mark D. Baushke.
82940
82941 2006-01-24  Jim Meyering  <jim@meyering.net>
82942
82943         * m4/openat.m4 (gl_FUNC_OPENAT): Add AC_LIBSOURCES([intprops.h]).
82944         Reported by Mark D. Baushke.
82945
82946 2006-01-24  Jim Meyering  <jim@meyering.net>
82947
82948         * lib/socket_.h: Remove useless parentheses in uses of cpp `defined'.
82949
82950 2006-01-24  Bruno Haible  <bruno@clisp.org>
82951
82952         * modules/strnlen (Maintainer): Change from glibc to all.
82953
82954 2006-01-24  Bruno Haible  <bruno@clisp.org>
82955
82956         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check for IBM and HP-UX bugs.
82957         Patch by Paul Eggert.
82958
82959 2006-01-24  Bruno Haible  <bruno@clisp.org>
82960
82961         * lib/stdbool_.h (_Bool) [__cplusplus]: Don't define if the compiler
82962         already has it.
82963         Report and patch by Albert Chin-A-Young  <china@thewrittenword.com> on
82964         2005-11-26.
82965
82966         * lib/stdbool_.h (_Bool) [HP-UX cc, AIX cc,xlc]: Define as
82967         'signed char' to avoid problems with the built-in _Bool type.
82968         Reported by Paul Eggert on 2005-11-26.
82969
82970 2006-01-24  Bruno Haible  <bruno@clisp.org>
82971
82972         * gnulib-tool (func_import): Avoid constructing complicated sed
82973         expressions inside backquote.
82974         Report and solution by Mark D. Baushke <mdb@gnu.org>.
82975
82976 2006-01-23  Ulrich Drepper  <drepper@redhat.com>
82977
82978         These changes imported from libc.
82979         * lib/getopt.c: Use __fxprintf instead of inline stream orientation
82980         test and two separate function calls.
82981         * lib/strndup.c (__strndup): Add libc_hidden_def.
82982
82983 2006-01-23  Simon Josefsson  <jas@extundo.com>
82984
82985         * modules/lock-tests: Use check_PROGRAMS instead of noinst_PROGRAMS.
82986         Remove the test_*_SOURCES variable: automake infers it by default.
82987         * modules/tls-tests: Likewise.
82988
82989 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
82990
82991         Work around porting bugs reported by Dieter in
82992         <http://lists.gnu.org/archive/html/bug-bison/2006-01/msg00049.html>.
82993         * lib/getopt.c (_NOPROTO): Remove; no longer needed.
82994         Include <stdlib.h> and <unistd.h> in all environments; it's safe now.
82995         Include "getopt.h" first, to check interface.
82996         (getenv): Declare only if defined HAVE_DECL_GETENV &&
82997         !HAVE_DECL_GETENV.
82998         * lib/strndup.c [!_LIBC]: Include "strndup.h" to get prototype.
82999         (__strndup): Revert to K&R-style function dfns, the glibc style.
83000         * lib/strnlen.c: Don't claim it's taken from glibc; it's not.
83001         (strnlen, __strnlen): Remove #defines and #undefs; not needed.
83002         Include strnlen.h first, to get prototype properly.
83003         (strnlen): Renamed from __strnlen.
83004         Remove weak alias.
83005
83006 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83007
83008         * m4/getopt.m4 (gl_PREREQ_GETOPT): Check for getenv decl.
83009
83010 2006-01-23  Paul Eggert  <eggert@cs.ucla.edu>
83011
83012         * config/srclist.txt: Adjust to reflect glibc reorganization.
83013         This affects only comments.
83014
83015 2006-01-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
83016
83017          * gnulib-tool, build-aux/csharpcomp.sh.in: Do not pass `-q' to mktemp.
83018          Reported by Bruce Korb <bkorb@gnu.org>.
83019
83020 2006-01-22  Paul Eggert  <eggert@cs.ucla.edu>
83021
83022         * lib/quotearg.c (quotearg_buffer_restyled): Add "default: break;"
83023         to pacify gcc -Wswitch-default.
83024
83025 2006-01-22  Bruno Haible  <bruno@clisp.org>
83026
83027         * lib/vasnprintf.c (VASNPRINTF): In the computation of the size of the
83028         temporary buffer for sprintf, take into account the precision also
83029         for 'd', 'i', 'u', 'o', 'x', 'X'.
83030
83031 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
83032
83033         * modules/argp-tests: New module
83034         * tests/test-argp.c: New file
83035         * tests/test-argp-2.sh: New file
83036
83037 2006-01-21  Sergey Poznyakoff  <gray@gnu.org.ua>
83038
83039         * lib/argp-help.c (usage_long_opt): Do not print DOC options.
83040         (__argp_base_name): Removed
83041         * lib/argp-namefrob.h (__argp_basename): Removed definition. Was a
83042         typo.
83043         (__argp_base_name): Provide macro definition or extern declaration
83044         depending on the configuration
83045
83046 2006-01-20  Simon Josefsson  <jas@extundo.com>
83047
83048         * modules/inet_ntop (Depends-on): Depend on sys_socket.
83049
83050 2006-01-20  Simon Josefsson  <jas@extundo.com>
83051
83052         * lib/inet_ntop.h: Unconditionally include sys/socket.h.
83053
83054 2006-01-20  Paul Eggert  <eggert@cs.ucla.edu>
83055
83056         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Use -Wl,-z,ignore
83057         rather than -Xlinker -z -Xlinker ignore, as it's more portable.
83058         Suggested by Bruno Haible.
83059
83060 2006-01-20  Karl Berry  <karl@gnu.org>
83061
83062         * config/srclist.txt (argp-fmtstream.h, localcharset.c): comment out
83063         until changes propagate, I guess.
83064
83065 2006-01-19  Simon Josefsson  <jas@extundo.com>
83066
83067         * m4/socklen.m4: Look in ws2tcpip.h too, for mingw32.
83068
83069 2006-01-19  Simon Josefsson  <jas@extundo.com>
83070
83071         * lib/socket_.h: Map SHUT_RD, SHUT_WR, SHUT_RDWR correctly.
83072
83073 2006-01-19  Simon Josefsson  <jas@extundo.com>
83074
83075         * gnulib-tool: Set check_PROGRAMS.
83076
83077         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
83078         modules/des-tests, modules/gc-arcfour-tests,
83079         modules/gc-arctwo-tests, modules/gc-des-tests,
83080         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
83081         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
83082         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
83083         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
83084         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
83085         modules/md5-tests, modules/readline, modules/rijndael-tests: Use
83086         check_PROGRAMS instead of noinst_PROGRAMS to be able to remove
83087         test_*_SOURCES.
83088
83089 2006-01-18  Simon Josefsson  <jas@extundo.com>
83090
83091         * modules/socklen (Depends-on): Depend on sys_socket.
83092
83093 2006-01-18  Simon Josefsson  <jas@extundo.com>
83094
83095         * modules/arcfour-tests, modules/arctwo-tests, modules/crc-tests,
83096         modules/des-tests, modules/gc-arcfour-tests,
83097         modules/gc-arctwo-tests, modules/gc-des-tests,
83098         modules/gc-hmac-md5-tests, modules/gc-hmac-sha1-tests,
83099         modules/gc-md2-tests, modules/gc-md4-tests, modules/gc-md5-tests,
83100         modules/gc-pbkdf2-sha1-tests, modules/gc-rijndael-tests,
83101         modules/gc-sha1-tests, modules/gc-tests, modules/hmac-md5-tests,
83102         modules/hmac-sha1-tests, modules/md2-tests, modules/md4-tests,
83103         modules/md5-tests, modules/readline, modules/rijndael-tests: Add
83104         $(EXEEXT) to automake TESTS variable, for mingw32.
83105
83106 2006-01-17  Simon Josefsson  <jas@extundo.com>
83107
83108         * modules/socklen (Include): Need sys/socket.h.
83109
83110 2006-01-17  Bruno Haible  <bruno@clisp.org>
83111
83112         * modules/ssize_t (Include): Add <sys/types.h>.
83113
83114 2006-01-16  Paul Eggert  <eggert@cs.ucla.edu>
83115
83116         * m4/lib-ignore.m4 (gl_IGNORE_UNUSED_LIBRARIES): Don't use ldd, as
83117         it's not portable and it doesn't work with cross-compiles.
83118         Problem reported by Bruno Haible.  Fix missing-$ typo in
83119         'test "gl_cv_ignore_unused_libraries" ...' that prevented
83120         -zignore from being used with Sun's C compiler.
83121
83122 2006-01-12  Simon Josefsson  <jas@extundo.com>
83123
83124         * lib/base64.c: Fix warning, reported by Bruno Haible
83125         <bruno@clisp.org> and patch by Paul Eggert <eggert@CS.UCLA.EDU>.
83126
83127 2006-01-12  Bruno Haible  <bruno@clisp.org>
83128
83129         * modules/ldd: New file.
83130         * build-aux/ldd.sh.in: New file.
83131         * MODULES.html.sh (Support for building libraries and executables): Add
83132         ldd.
83133
83134 2006-01-12  Bruno Haible  <bruno@clisp.org>
83135
83136         * m4/ldd.m4: New file.
83137
83138 2006-01-12  Bruno Haible  <bruno@clisp.org>
83139
83140         * gnulib-tool (func_import, func_create_testdir): Don't go into an
83141         endless loop while replacing $auxdir with build-aux.
83142
83143 2006-01-11  Simon Josefsson  <jas@extundo.com>
83144
83145         * lib/stdint_.h (SIZE_MAX): Add missing (.
83146
83147 2006-01-11  Paul Eggert  <eggert@cs.ucla.edu>
83148
83149         Sync from coreutils.
83150         * lib/md5.c: Fix commentary typos.
83151         (alignof, UNALIGNED_P): No need for a GCC-specific version.
83152         * lib/md5.h (__attribute__): Remove; unused.
83153         * lib/sha1.c: Fix commentary to match md5 better.
83154         * lib/sha1.h (struct sha1_ctx): Use a word buffer, not a byte buffer,
83155         so that we don't need to worry about alignment.  All uses changed.
83156         This merges the 2005-10-28 md5 change into sha1.
83157
83158 2006-01-11  Jim Meyering  <jim@meyering.net>
83159
83160         Sync from coreutils.
83161         * lib/md5.c (OP): Fix spacing.
83162
83163 2006-01-11  Bruno Haible  <bruno@clisp.org>
83164
83165         Ensure automatic ordering between gl_LOCK and gl_ARGP.
83166         * m4/lock.m4 (gl_LOCK_BODY): Renamed from gl_LOCK.
83167         (gl_LOCK): New macro, requiring gl_LOCK_BODY.
83168
83169 2006-01-11  Bruno Haible  <bruno@clisp.org>
83170
83171         Ensure automatic ordering between gl_LOCK and gl_ARGP.
83172         * gnulib-tool (func_import, func_create_testdir): Put gl_LOCK into
83173         the "early" section as well.
83174
83175 2006-01-11  Bruno Haible  <bruno@clisp.org>
83176
83177         Avoid "ar: no archive members specified" error on MacOS X.
83178         * gnulib-tool (func_modules_add_dummy): New function.
83179         (func_import, func_create_testdir): Invoke it.
83180
83181 2006-01-11  Bruno Haible  <bruno@clisp.org>
83182
83183         * gnulib-tool (func_import, func_create_testdir): Replace build-aux
83184         with $auxdir in AC_CONFIG_FILES statements.
83185
83186 2006-01-11  Bruno Haible  <bruno@clisp.org>
83187
83188         * gnulib-tool (func_emit_lib_Makefile_am, func_emit_tests_Makefile_am):
83189         Initialize also noinst_HEADERS to empty.
83190
83191 2006-01-11  Bruno Haible  <bruno@clisp.org>
83192
83193         * gnulib-tool (AUTOMAKEPATH, AUTOCONF, ACLOCAL, AUTOMAKE): New
83194         variables.
83195         (func_create_megatestdir): Call aclocal, autoconf, automake here, not
83196         autoreconf.
83197
83198 2006-01-11  Bruno Haible  <bruno@clisp.org>
83199
83200         * gnulib-tool (AUTOCONF, ACLOCAL, AUTOMAKE, AUTORECONF): Make
83201         overridable by the user.
83202         Reported by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83203
83204 2006-01-10  Simon Josefsson  <jas@extundo.com>
83205
83206         * modules/sys_socket: New file.
83207
83208 2006-01-10  Simon Josefsson  <jas@extundo.com>
83209
83210         * m4/sys_socket_h.m4: New file.
83211
83212 2006-01-10  Simon Josefsson  <jas@extundo.com>
83213
83214         * lib/socket_.h: New file.
83215
83216 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83217
83218         * modules/readutmp (Maintainer): Add myself.
83219
83220 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83221
83222         * m4/memcoll.m4 (gl_MEMCOLL): Don't require AC_FUNC_MEMCMP, undoing
83223         the 2002-12-31 change.  Problem and fix reported by Bruno Haible.
83224         People who are still concerned with buggy memcmp implementations
83225         can invoke gl_FUNC_MEMCMP themselves.
83226
83227 2006-01-10  Paul Eggert  <eggert@cs.ucla.edu>
83228
83229         * lib/regex_internal.h (BITSET_WORD_BITS):
83230         Work around a bug in 64-bit PGC (before version 6.1-2), where the
83231         preprocessor mishandles large unsigned values as if they were signed.
83232         Problem reported by Claudio Fontana in
83233         <http://lists.gnu.org/archive/html/bug-gnulib/2005-12/msg00061.html>.
83234
83235 2006-01-10  Jim Meyering  <jim@meyering.net>
83236
83237         Avoid the double-free (first in fts_read, second in fts_close) that
83238         would occur when an `active' directory is made inaccessible (e.g.,
83239         via chmod a-x) during a traversal.
83240         * lib/fts.c (fts_read): After a failed fchdir, update sp->fts_cur
83241         before returning.  Reproduce this failure by
83242         mkdir -p a/b; cd a; chmod a-x . b
83243         Reported by Stavros Passas.
83244
83245         Sync from coreutils.
83246         * lib/sha1.c: Tweak grammar in a comment.
83247
83248 2006-01-10  Jim Meyering  <jim@meyering.net>
83249
83250         * m4/fpending.m4: Also include <stdio.h>, for Dragonfly.
83251         Patch by Joerg Sonnenberger.
83252
83253 2006-01-10  Bruno Haible  <bruno@clisp.org>
83254
83255         * modules/readutmp: Depend on module free.
83256         * modules/strtok_r: Depend on module restrict.
83257
83258 2006-01-10  Bruno Haible  <bruno@clisp.org>
83259
83260         * modules/gettext (configure.ac): Add an invocation of
83261         AM_GNU_GETTEXT_VERSION. Needed since autoreconf is used by gnulib-tool.
83262
83263 2006-01-10  Bruno Haible  <bruno@clisp.org>
83264
83265         * m4/localcharset.m4 (gl_LOCALCHARSET): Also test for getc_unlocked.
83266         Reported by Werner Lemberg <wl@gnu.org>.
83267
83268 2006-01-10  Bruno Haible  <bruno@clisp.org>
83269
83270         * lib/localcharset.c: Update from GNU gettext.
83271
83272 2006-01-10  Bruno Haible  <bruno@clisp.org>
83273
83274         * lib/argp.h (__const): Remove macro. Use const instead.
83275         * lib/argp-fmtstream.h (__const): Likewise.
83276         * lib/glob_.h (__const): Remove macro.
83277         * lib/glob-libc.h: Use const instead of __const.
83278
83279 2006-01-10  Bruno Haible  <bruno@clisp.org>
83280
83281         * gnulib-tool (func_emit_tests_Makefile_am): Emit an empty SUBDIR
83282         variable.
83283         Needed to avoid an automake error regarding the 'gettext' module.
83284
83285 2006-01-09  Simon Josefsson  <jas@extundo.com>
83286
83287         * modules/inet_ntop (Depends-on): Add restrict.
83288
83289 2006-01-09  Simon Josefsson  <jas@extundo.com>
83290
83291         * modules/gc-rijndael-tests (License): Put under LGPL.
83292
83293         * modules/gc-des-tests (License): Likewise.
83294
83295         * modules/gc-arcfour-tests (License): Likewise.
83296
83297         * modules/gc-arctwo-tests (License): Likewise.
83298
83299         * modules/gc-pbkdf2-sha1-tests (License): Likewise.
83300
83301         * modules/gc-hmac-sha1-tests (Files): Likewise.
83302
83303         * modules/gc-hmac-md5-tests (License): Likewise.
83304
83305         * modules/gc-sha1-tests (License): Likewise.
83306
83307         * modules/gc-md5-tests (License): Likewise.
83308
83309         * modules/gc-md4-tests (License): Likewise.
83310
83311         * modules/gc-md2-tests (License): Likewise.
83312
83313         * modules/gc-tests (License): Likewise.
83314
83315         * modules/des-tests (License): Likewise.
83316
83317         * modules/md4-tests (License): Likewise.
83318
83319         * modules/md2-tests (License): Likewise.
83320
83321 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83322
83323         Sync from coreutils:
83324
83325         * MODULES.html.sh (build_lib): New section, with new lib-ignore module.
83326         * modules/lib-ignore: New file.
83327         * modules/mkdir-p (Files): Add chdir-safer.c, chdir-safer.h, lchmod.h,
83328         chdir-safer.m4, lchmod.m4.
83329         * modules/openat: Add mkdirat.c, openat-priv.h.
83330
83331 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83332
83333         Sync from coreutils.
83334         * m4/lib-ignore.m4: New file.
83335         * m4/lchmod.m4: New file.
83336
83337 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83338
83339         Sync from coreutils.
83340         * lib/chdir-long.c (cdb_free): Don't bother trying to open directory
83341         for write access: POSIX says that must fail.
83342         * lib/fts.c (diropen): Likewise.
83343         * lib/save-cwd.c (save_cwd): Likewise.
83344         * lib/chdir-long.c (cdb_free): Open with O_NOCTTY | O_NONBLOCK as
83345         well, for minor improvements on hosts that lack O_DIRECTORY.
83346         * lib/chown.c (rpl_chown) [CHOWN_MODIFIES_SYMLINK]:
83347         Don't try O_WRONLY unless O_RDONLY failed wth EACCES.
83348         Fall back on chown if open failed with EACCES.
83349
83350         * lib/gettime.c (gettime) [!defined OK_TO_USE_1S_CLOCK]:
83351         Report an error at compile-time if only a 1-second nominal clock
83352         resolution is found.
83353
83354         * lib/lchmod.h: New file.
83355         * lib/mkdir-p.c: Include lchmod.h, lchown.h.
83356         (make_dir_parents): Use lchown rather than chown, and
83357         lchmod rather than chmod.
83358
83359         * lib/mountlist.c (ME_DUMMY): "none" and "proc" file systems are
83360         dummies too.  Problem with "none" reported by Bob Proulx.  Problem with
83361         "proc" reported by n0dalus.
83362
83363         * lib/mountlist.c: Include <limits.h>.
83364         (dev_from_mount_options)
83365         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]:
83366         New function.  It no longer assumes "dev=" has the System V meaning
83367         on Linux (since it doesn't).  It also parses "dev=" more carefully.
83368         (read_file_system_list)
83369         [defined MOUNTED_GETMNTENT1 || defined MOUNTED_GETMNTENT2]: Use it.
83370         MOUNTED_GETMNTENT2 is new here; the code didn't used to look for
83371         dev= in that case.
83372
83373         * lib/posixtm.h (PDS_PRE_2000): New macro.
83374         * lib/posixtm.c (year): Arg is now syntax_bits rather than
83375         allow_century.  All usages changed.  Reject dates outside the range
83376         1969-1999 if PDS_PRE_2000 is used.
83377
83378 2006-01-09  Paul Eggert  <eggert@cs.ucla.edu>
83379
83380         Sync from coreutils.
83381         * doc/getdate.texi (General date syntax): Invalid dates are rejected.
83382         (Time of day items): Mention the possibility of leap seconds.
83383         Problem reported by Dr. David Alan Gilbert.
83384
83385 2006-01-09  Jim Meyering  <jim@meyering.net>
83386
83387         Sync from coreutils.
83388
83389         * lib/version-etc.c (COPYRIGHT_YEAR): Update to 2006.
83390
83391         * lib/chdir-safer.h, lib/chdir-safer.c: New files.
83392
83393         * lib/modechange.c (mode_compile): Reject an invalid mode string
83394         that starts with an octal digit.  From Andreas Gruenbacher.
83395
83396         * lib/openat.c: Include "fcntl--.h" and "unistd--.h", to map open
83397         and dup to open_safer and dup_safer, respectively.
83398         (openat_permissive): Fix typo in comment.
83399
83400         * lib/openat.c: Don't include <stdlib.h>, <unistd.h>, <fcntl.h>,
83401         "gettext.h"; either no longer needed or are guaranteed by openat.h.
83402         (_): Remove; no longer needed.
83403         (openat): Renamed from rpl_openat; no need for rpl_openat
83404         since openat.h renames openat for us.
83405         Replace most of the body with a call to openat_permissive,
83406         to avoid duplicate code.
83407         Port to (probably hypothetical) environments were mode_t is
83408         wider than int.
83409         (openat_permissive): Require mode arg, so that we can check
83410         types better.  Put it just after flags.  Change cwd failure
83411         indicator from pointer-to-bool to pointer-to-errno-value.
83412         All callers changed.
83413         Invoke openat_save_fail and/or openat_restore_fail if
83414         cwd_errno is null, so that openat can call us.
83415         (openat_permissive, fdopendir, fstatat, unlinkat):
83416         Simplify errno handling to avoid some duplicate code,
83417         as it's OK to set errno on success.
83418         * lib/openat.h: Revamp code so that function macros depend on
83419         __OPENAT_PREFIX only, not also on AT_FDCWD.
83420         (openat_ro): Remove.  Caller changed to use openat_permissive.
83421         (openat_permissive): Now a macro, if not a function.
83422         (openat_restore_fail, openat_save_fail): Now always functions,
83423         since mkdirat needs them even if __OPENAT_PREFIX is defined.
83424
83425         * lib/openat-priv.h: New file, defining macros used by mkdirat.c
83426         and openat.c.
83427         * lib/mkdirat.c: Include openat-priv.h.
83428         Remove definitions of macros defined therein.
83429         * lib/openat.c: Likewise.
83430
83431         * lib/mkdirat.c (mkdirat): New file and function.
83432         * lib/openat.h (mkdirat): Declare.
83433
83434         * lib/openat.c (fdopendir): Don't change errno when returning non-NULL.
83435
83436         * lib/openat.h (openat_permissive): Declare.
83437         (openat_ro): Define.
83438
83439         * lib/openat.c (EXPECTED_ERRNO): New macro.
83440         (openat_permissive): New function -- used in remove.c rewrite.
83441         (all functions): Set errno just before returning, only if there
83442         was an actual failure.
83443         Use EXPECTED_ERRNO rather than comparing against only ENOTDIR.
83444
83445         Emulate openat-family functions using Linux's procfs, if possible.
83446         Idea and some code based on Ulrich Drepper's glibc changes.
83447
83448         * lib/openat.c: (BUILD_PROC_NAME): New macro.
83449         Include <stdio.h>, <string.h>, "alloca.h" and "intprops.h".
83450         (rpl_openat): Emulate by trying to open /proc/self/fd/%d/%s,
83451         before falling back on save_cwd and restore_cwd.
83452         (fdopendir, fstatat, unlinkat): Likewise.
83453
83454         * lib/openat.c (fstatat, unlinkat): Perform the syscall directly,
83455         skipping the save_cwd...restore_cwd overhead, if FILE is absolute.
83456
83457         * lib/openat.c (rpl_openat): Use the promoted type (int), not mode_t,
83458         as second argument to va_arg.  Otherwise, some versions of gcc
83459         warn that `if this code is reached, the program will abort'.
83460
83461 2006-01-09  Jim Meyering  <jim@meyering.net>
83462
83463         Sync from coreutils.
83464         * m4/openat.m4 (gl_FUNC_OPENAT): Require and compile mkdirat.c.
83465         Require openat-priv.h.
83466
83467 2006-01-09  Bruno Haible  <bruno@clisp.org>
83468
83469         * modules/strnlen (Include): Use strnlen.h.
83470
83471 2006-01-09  Bruno Haible  <bruno@clisp.org>
83472
83473         * m4/stdint.m4 (gl_STDINT_H): Also test for <sys/bitypes.h>.
83474
83475 2006-01-09  Bruno Haible  <bruno@clisp.org>
83476
83477         * lib/sysexit_.h (EX_OK): New macro.
83478         Suggested by Martin Lambers <marlam@marlam.de>.
83479
83480 2006-01-09  Bruno Haible  <bruno@clisp.org>
83481
83482         * lib/stdint_.h: On Linux libc4 and libc5, include <sys/bitypes.h> and
83483         don't define _STDINT_H_NEED_SIGNED_INT_TYPES.
83484
83485 2006-01-09  Bruno Haible  <bruno@clisp.org>
83486
83487         * lib/stdint_.h (SIZE_MAX): Write the value without involving negative
83488         numbers.
83489
83490 2006-01-09  Bruno Haible  <bruno@clisp.org>
83491
83492         * lib/javacomp.sh.in: Move to ../build-aux/javacomp.sh.in.
83493         * lib/javaexec.sh.in: Move to ../build-aux/javaexec.sh.in.
83494         * lib/csharpcomp.sh.in: Move to ../build-aux/csharpcomp.sh.in.
83495         * lib/csharpexec.sh.in: Move to ../build-aux/csharpexec.sh.in.
83496
83497 2006-01-09  Bruno Haible  <bruno@clisp.org>
83498
83499         * build-aux/javacomp.sh.in: New file, moved from lib/.
83500         * modules/javacomp-script (Files): Update.
83501         (configure.ac): Add AC_CONFIG_FILES invocation.
83502         (EXTRA_DIST): Remove variable.
83503
83504         * build-aux/javaexec.sh.in: New file, moved from lib/.
83505         * modules/javaexec (Files): Update.
83506         (configure.ac): Add AC_CONFIG_FILES invocation.
83507         (EXTRA_DIST): Remove javaexec.sh.in.
83508
83509         * build-aux/csharpcomp.sh.in: New file, moved from lib/.
83510         * modules/csharpcomp-script (Files): Update.
83511         (configure.ac): Add AC_CONFIG_FILES invocation.
83512         (EXTRA_DIST): Remove variable.
83513
83514         * build-aux/csharpexec.sh.in: New file, moved from lib/.
83515         * modules/csharpexec (Files): Update.
83516         (configure.ac): Add AC_CONFIG_FILES invocation.
83517         (EXTRA_DIST): Remove csharpexec.sh.in.
83518
83519 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83520
83521         Sync from coreutils.
83522
83523         Add POSIX ACL support
83524         * lib/acl.h (copy_acl, set_acl): Add declarations.
83525         * lib/acl.c (acl_entries): Add fallback implementation for POSIX ACL
83526         systems other than Linux.
83527         (chmod_or_fchmod): New function: use fchmod when possible,
83528         and chmod otherwise.
83529         (file_has_acl): Add a POSIX ACL implementation, with a
83530         Linux-specific subcase.
83531         (copy_acl): Add: copy an acl and S_ISUID, S_ISGID, and
83532         S_ISVTX from one file to another.  Fall back to fchmod/chmod when
83533         acls are unsupported.
83534         (set_acl): Add: set a file's acl and S_ISUID, S_ISGID, and
83535         S_ISVTX to a defined value.  Fall back to fchmod/chmod when acls
83536         are unsupported.
83537
83538 2006-01-09  Andreas Gruenbacher  <agruen@suse.de>
83539
83540         Sync from coreutils.
83541         * m4/acl.m4 (AC_FUNC_ACL): Add POSIX ACL and Linux-specific acl tests.
83542
83543 2006-01-07  Bruno Haible  <bruno@clisp.org>
83544
83545         * gnulib-tool (func_import): Add an AC_PROG_RANLIB dependency to
83546         gl_EARLY.
83547
83548 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83549
83550         * lib/strftime.c (tzname): Don't declare if it is already #defined.
83551         Problem reported for Mingw by Mark Junker.
83552
83553 2006-01-04  Paul Eggert  <eggert@cs.ucla.edu>
83554
83555         * README: Gnulib normally doesn't generate a tarball.
83556
83557 2006-01-03  Paul Eggert  <eggert@cs.ucla.edu>
83558
83559         * lib/xtime.h (xtime_make, xtime_nonnegative_nsec, xtime_nsec): Use
83560         long int, not int, for nanosecond counts, so that people who are
83561         used to POSIX struct timespec won't be surprised.  Reported by Jim
83562         Meyering.
83563
83564 2005-12-28  Bruno Haible  <bruno@clisp.org>
83565
83566         * build-aux/config.rpath: Update from GNU gettext.
83567
83568 2005-12-16  Jim Meyering  <jim@meyering.net>
83569
83570         * modules/fprintftime: New module.
83571         * MODULES.html.sh (Date and time <time.h>): Add fprintftime.
83572
83573 2005-12-16  Jim Meyering  <jim@meyering.net>
83574
83575         * m4/fprintftime.m4: New file.
83576
83577 2005-12-16  Jim Meyering  <jim@meyering.net>
83578
83579         * lib/fprintftime.c, lib/fprintftime.h: New files.
83580
83581 2005-12-15  Simon Josefsson  <jas@extundo.com>
83582
83583         * modules/socklen (configure.ac): Fix M4 macro name, to align with
83584         new m4/socklen.m4.
83585
83586 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83587
83588         * m4/argp.m4: Define HAVE_DECL_PROGRAM_INVOCATION_NAME and
83589         HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME
83590
83591 2005-12-10  Sergey Poznyakoff  <gray@gnu.org.ua>
83592
83593         * lib/argp-fmtstream.c (__argp_fmtstream_update): Fix coredump
83594         * lib/argp-help.c (fill_in_uparams): Check if the constructed
83595         struct uparams is valid. Fall back to the default values if it is
83596         not.
83597
83598 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83599
83600         * modules/argp (Files): Add argp-pin.c
83601         (Depends-on): dirname
83602         (lib_SOURCES): Add argp-pin.c
83603
83604 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83605
83606         * m4/argp.m4:  Check if program_invocation_name and
83607         program_invocation_short_name are declared and define appropriate
83608         macros if they are not.
83609
83610 2005-12-09  Sergey Poznyakoff  <gray@gnu.org.ua>
83611
83612         * lib/argp-help.c (__argp_base_name): New function
83613         (__argp_short_program_name): Rewrite using __argp_base_name
83614         * lib/argp-namefrob.h: Define program_invocation_name and
83615         program_invocation_short_name if requested
83616         (__argp_base_name): Add prototype
83617         * lib/argp-parse.c (argp_def): Use gettext wrappers
83618         (argp_default_parser): Use __argp_base_name
83619         * lib/argp-pin.c: New file. Defines program_invocation_name and
83620         program_invocation_short_name on systems that lack them.
83621
83622 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83623
83624         * m4/stat-time.m4 (gl_STAT_TIME): Add check for
83625         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83626         porting problem reported by Georg Schwarz in
83627         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83628
83629 2005-12-07  Paul Eggert  <eggert@cs.ucla.edu>
83630
83631         * lib/stat-time.h (STATE_TIMESPEC, STAT_TIMESPEC_NS): Add check for
83632         TYPEOF_STRUCT_STAT_ST_ATIM_IS_STRUCT_TIMESPEC, to fix IRIX 5.3
83633         porting problem reported by Georg Schwarz in
83634         <http://lists.gnu.org/archive/html/bug-coreutils/2005-12/msg00083.html>.
83635
83636 2005-12-05  Bruno Haible  <bruno@clisp.org>
83637
83638         * lib/csharpcomp.sh.in (options_csc): For -l option, add a .dll suffix.
83639         * lib/csharpcomp.c (compile_csharp_using_sscli): Likewise.
83640         Reported by Mark Junker <mjscod@gmx.de>.
83641
83642 2005-12-02  Paul Eggert  <eggert@cs.ucla.edu>
83643
83644         * m4/socklen.m4 (gl_TYPE_SOCKLEN_T): Renamed from gl_SOCKLEN_T.
83645         Use implementation from Albert Chin, with some
83646         comments/corrections by Stepan Kasal and myself.
83647
83648 2005-12-02  Bruno Haible  <bruno@clisp.org>
83649
83650         * gnulib-tool (func_import): Accept GPLed build tool modules when
83651         --lgpl is given.
83652         * modules/csharpcomp-script: New file.
83653         * modules/csharpcomp: Depend on it.
83654         * modules/javacomp-script: New file.
83655         * modules/javacomp: Depend on it.
83656         Suggested by Simon Josefsson.
83657
83658 2005-12-01  Paul Eggert  <eggert@cs.ucla.edu>
83659
83660         * m4/regex.m4 (gl_REGEX): Check whether off_t can be used in a switch
83661         statement, to work around an HP-UX 10.20 compiler bug reported by
83662         Peter O'Gorman.
83663
83664 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83665
83666         * modules/savedir (Depends-on): Add openat.
83667
83668 2005-11-29  Paul Eggert  <eggert@cs.ucla.edu>
83669
83670         * lib/stdint_.h (intmax_t) [defined intmax_t]: Do not declare.
83671         (uintmax_t) [defined uintmax_t]: Do not declare.
83672         (SIZE_MAX) [defined SIZE_MAX]: Do not define.
83673         This works around a problem if intmax_t.m4 and/or uintmax_t.m4
83674         and/or size_max.m4 are also used.  Problem reported by Mark D. Baushke.
83675         (SIZE_MAX): Define to ((size_t) -1), not (~(size_t)0), for the
83676         sake of portability to weird hosts that C allows (though we don't
83677         know of any practical examples).
83678
83679         * lib/savedir.h (fdsavedir): New decl.
83680         * lib/savedir.c (fdsavedir, savedirstream): New functions; the latter
83681         contains most of the former guts of savedir.
83682         (savedir): Use savedirstream.
83683         Include "openat.h".
83684
83685 2005-11-25  Paul Eggert  <eggert@cs.ucla.edu>
83686
83687         * modules/obstack (Files): Add m4/ulonglong.m4.
83688         Problem reported by Davide Angelocola.
83689
83690 2005-11-15  Paul Eggert  <eggert@cs.ucla.edu>
83691
83692         * lib/xstrtod.c: Don't bother with #pragma STDC FENV_ACCESS ON, as
83693         coreutils no longer futzes with rounding modes.
83694
83695 2005-11-14  Jim Meyering  <jim@meyering.net>
83696
83697         * lib/mkstemp-safer.c: Include <config.h>, required for possible
83698         replacement of mkstemp.
83699
83700 2005-11-10  Simon Josefsson  <jas@extundo.com>
83701
83702         * lib/readline.c: Remove EOL.
83703
83704 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83705
83706         * modules/gethrxtime (Depends-on): Add gettime.
83707
83708 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83709
83710         * m4/gethrxtime.m4 (gl_PREREQ_GETHRXTIME): Don't require AC_HEADER_TIME
83711         or gettimeofday; no longer needed.
83712
83713 2005-11-10  Paul Eggert  <eggert@cs.ucla.edu>
83714
83715         * lib/gethrxtime.c: Include "timespec.h" rather than the sys/time /
83716         time business.
83717         (gethrxtime) [! (HAVE_NANOUPTIME
83718         || (defined CLOCK_MONOTONIC && HAVE_CLOCK_GETTIME)
83719         || HAVE_MICROUPTIME)]: Fall back on gettime rather than rolling
83720         our own approximation.
83721
83722 2005-11-08  Eric Blake  <ebb9@byu.net>
83723
83724         * lib/inet_ntop.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83725
83726 2005-11-08  Eric Blake  <ebb9@byu.net>
83727
83728         * lib/getaddrinfo.h: Use #if !, not #ifndef, for AC_CHECK_DECLS.
83729
83730 2005-11-04  Bruno Haible  <bruno@clisp.org>
83731
83732         * gnulib-tool: Implement --update mode.
83733
83734 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83735
83736         Fix porting problem reported by Theodoros V. Kalamatianos.
83737         * lib/utimens.c (futimens) [HAVE_WORKING_UTIMES && HAVE_FUTIMES]:
83738         Don't assume that futimes failing means we must fail.
83739
83740 2005-10-30  Paul Eggert  <eggert@cs.ucla.edu>
83741
83742         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Revamp wording and local
83743         variables to suggest the intended function of the PATH_MAX check.
83744
83745 2005-10-30  Kean Johnston  <jkj@sco.com>
83746
83747         Trivial changes to support SCO systems.
83748         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Check for MAXPATHLEN as well
83749         as PATH_MAX.
83750         * m4/fpending.m4 (gl_FUNC_FPENDING): Correct check for SCO systems,
83751         where __ptr is null when no I/O is pending.
83752
83753 2005-10-29  Paul Eggert  <eggert@cs.ucla.edu>
83754
83755         * lib/getcwd.c (__getcwd): Don't assume that system calls after readdir
83756         leave errno alone.  Problem reported by Dmitry V. Levin.
83757
83758 2005-10-28  Simon Josefsson  <jas@extundo.com>
83759
83760         * tests/test-gc-md4.c, tests/test-gc-md5.c, tests/test-gc-sha1.c:
83761         Test more.
83762
83763         * tests/test-gc-md2.c, tests/test-md2.c: New files.
83764
83765         * modules/md2, modules/md2-tests: New files.
83766
83767 2005-10-28  Simon Josefsson  <jas@extundo.com>
83768
83769         * m4/inet_ntop.m4: More tests.
83770
83771         * m4/gc-md2.m4, md2.m4: New file.
83772
83773 2005-10-28  Simon Josefsson  <jas@extundo.com>
83774
83775         * lib/inet_ntop.h, inet_ntop.c: Make it work under mingw32: Add
83776         "restrict" keywords, as per POSIX.  Protect the function
83777         declaration around HAVE_DECL_INET_NTOP rather than HAVE_INET_NTOP.
83778         Don't use K&R prototypes.  Check the sprintf return values.
83779         Re-define EAFNOSUPPORT if not present.  Indent.
83780
83781         * lib/md5.h, md5.c: Simplify buffer handling visavi alignment,
83782         suggested by Bruno Haible <bruno@clisp.org>.
83783
83784         * lib/gc-gnulib.c, gc-libgcrypt.c: Check calloc return value.
83785
83786         * lib/gc.h: Add MD2 and RMD160 length defines.  Add prototypes.
83787
83788         * lib/gc-libgcrypt.c: Add MD2 (which is not available through
83789         libgcrypt).
83790
83791         * lib/gc-gnulib.c: Add MD2.  Implement gc_hash_* API.
83792
83793         * lib/md2.h, lib/md2.c: New files.
83794
83795 2005-10-28  Paul Eggert  <eggert@cs.ucla.edu>
83796
83797         * lib/savedir.c (savedir): Don't assume that xrealloc etc. leave
83798         errno alone.  Problem reported by Frederic Jolliton.
83799
83800 2005-10-27  Paul Eggert  <eggert@cs.ucla.edu>
83801
83802         * modules/verify (License): Change from GPL to LGPL.  This is a
83803         tiny module and there are apparently near-equivalents that are
83804         under the BSD license.
83805
83806 2005-10-24  Simon Josefsson  <jas@extundo.com>
83807
83808         * modules/sha1: Relicense to LGPL.
83809
83810 2005-10-24  Simon Josefsson  <jas@extundo.com>
83811
83812         * lib/md4.h: Shrink buffer size, now that we changed the type.
83813
83814 2005-10-23  Simon Josefsson  <jas@extundo.com>
83815
83816         * gnulib-tool (func_import): Fix --tests-base.
83817
83818 2005-10-22  Simon Josefsson  <jas@extundo.com>
83819
83820         * modules/arcfour (Depends-on): Need stdint.
83821
83822 2005-10-22  Simon Josefsson  <jas@extundo.com>
83823
83824         * m4/gc.m4: Don't be fooled by --disable-*random-device parameters,
83825         suggested by Bruno Haible <bruno@clisp.org>.  Fix error messages.
83826
83827 2005-10-22  Simon Josefsson  <jas@extundo.com>
83828
83829         * lib/md4.h, md4.c: Simplify buffer handling visavi alignment,
83830         suggested by Bruno Haible <bruno@clisp.org>.
83831
83832 2005-10-22  Simon Josefsson  <jas@extundo.com>
83833
83834         * lib/crc.h: Include stddef.h, for size_t.
83835
83836 2005-10-22  Simon Josefsson  <jas@extundo.com>
83837
83838         * lib/arcfour.h, arcfour.c: Use fixed size indices in the
83839         arcfour_context struct (simplify test vector testing in GNU
83840         Shishi).
83841
83842 2005-10-21  Simon Josefsson  <jas@extundo.com>
83843
83844         * modules/des, modules/des-tests: New files.
83845
83846         * modules/gc-des, modules/gc-des-tests: New files.
83847
83848         * tests/test-des.c, tests/test-gc-des.c: New file.
83849
83850 2005-10-21  Simon Josefsson  <jas@extundo.com>
83851
83852         * modules/arctwo, modules/arctwo-tests: New files.
83853
83854         * tests/test-arctwo.c: New file.
83855
83856         * modules/gc-arctwo, modules/gc-arctwo-tests: New files.
83857
83858         * tests/test-gc-arctwo.c: New file.
83859
83860 2005-10-21  Simon Josefsson  <jas@extundo.com>
83861
83862         * m4/gc.m4: Don't use libgcrypt if gcrypt.h isn't found, suggested by
83863         Bruno Haible <bruno@clisp.org>.
83864
83865         * m4/gc-des.m4: New file.
83866
83867 2005-10-21  Simon Josefsson  <jas@extundo.com>
83868
83869         * m4/arctwo.m4: New file.
83870
83871         * m4/gc-arctwo.m4: New file.
83872
83873 2005-10-21  Simon Josefsson  <jas@extundo.com>
83874
83875         * lib/rijndael-api-fst.c: Fix bugs in CBC mode for more than one
83876         block.
83877
83878 2005-10-21  Simon Josefsson  <jas@extundo.com>
83879
83880         * lib/hmac-md5.c (hmac_md5): Add comments, suggested by Bruno Haible
83881         <bruno@clisp.org>.
83882
83883         * lib/hmac-sha1.c (hmac_sha1): Likewise.
83884
83885         * lib/crc.c (crc32_update): Actually use crc parameter, suggested by
83886         Bruno Haible <bruno@clisp.org>.
83887
83888         * lib/crc.h: Include stdint.h directly, suggested by Bruno Haible
83889         <bruno@clisp.org>.
83890
83891 2005-10-21  Simon Josefsson  <jas@extundo.com>
83892
83893         * lib/gc-libgcrypt.c (gc_cipher_open): Handle ECB.
83894
83895 2005-10-21  Simon Josefsson  <jas@extundo.com>
83896
83897         * lib/gc-gnulib.c: Support ARCTWO in CBC mode.
83898
83899 2005-10-21  Simon Josefsson  <jas@extundo.com>
83900
83901         * lib/des.h, lib/des.c: New files.
83902
83903         * lib/gc-gnulib.c: Support DES.c
83904
83905 2005-10-21  Simon Josefsson  <jas@extundo.com>
83906
83907         * lib/arctwo.h, lib/arctwo.c: New files.
83908
83909         * lib/gc-gnulib.c: Support ARCTWO.
83910
83911 2005-10-21  Simon Josefsson  <jas@extundo.com>
83912
83913         * lib/arctwo.h (arctwo_setkey): Protect variable in CPP macro,
83914         suggested by Ralf Wildenhues <Ralf.Wildenhues@gmx.de>.
83915
83916 2005-10-21  Simon Josefsson  <jas@extundo.com>
83917
83918         * gnulib-tool (func_import, func_create_testdir): Define automake
83919         conditional GL_COND_LIBTOOL if libtool is used (to be used by modules
83920         Makefile.am snippet),
83921         suggested by Bruno Haible <bruno@clisp.org>.
83922
83923         * modules/gc (Makefile.am): Use it.
83924
83925 2005-10-21  Bruno Haible  <bruno@clisp.org>
83926
83927         * gnulib-tool (func_import, func_create_testdir): Add quoting to last
83928         patch.
83929
83930 2005-10-19  Simon Josefsson  <jas@extundo.com>
83931
83932         * tests/test-gc-rijndael.c: New file.
83933
83934         * modules/gc-rijndael, modules/gc-rijndael-test: New files.
83935
83936 2005-10-19  Simon Josefsson  <jas@extundo.com>
83937
83938         * tests/test-gc-md4.c, tests/test-gc-md5.c: Test gc_hash_buffer
83939         interface too.
83940
83941 2005-10-19  Simon Josefsson  <jas@extundo.com>
83942
83943         * tests/test-gc-arcfour.c: New file.
83944
83945         * modules/gc-arcfour, modules/gc-arcfour-tests: New files.
83946
83947 2005-10-19  Simon Josefsson  <jas@extundo.com>
83948
83949         * modules/gc-md4, modules/gc-md4-tests: New file.
83950
83951         * tests/test-gc-md4.c: New file.
83952
83953 2005-10-19  Simon Josefsson  <jas@extundo.com>
83954
83955         * m4/gc-md4.m4: New file.
83956
83957 2005-10-19  Simon Josefsson  <jas@extundo.com>
83958
83959         * m4/gc-hmac-md5.m4, gc-hmac-sha1.m4, gc-md4.m4,
83960         gc-md5.m4, gc-sha1.m4: Fix typo, suggested by Stepan Kasal
83961         <kasal@ucw.cz>.
83962
83963 2005-10-19  Simon Josefsson  <jas@extundo.com>
83964
83965         * m4/gc-arcfour.m4: New file.
83966
83967         * m4/gc-rijndael.m4: New file.
83968
83969 2005-10-19  Simon Josefsson  <jas@extundo.com>
83970
83971         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support MD4.
83972
83973 2005-10-19  Simon Josefsson  <jas@extundo.com>
83974
83975         * lib/gc-gnulib.c: Support ARCFOUR.
83976
83977 2005-10-19  Simon Josefsson  <jas@extundo.com>
83978
83979         * lib/gc-gnulib.c: Implement gc_cipher_* API, currently only with AES
83980         support.
83981
83982         * lib/gc.h: Add ECB enum type.
83983
83984         * lib/hmac-md5.c, hmac-sha1.c: Include memxor.h.
83985
83986 2005-10-18  Simon Josefsson  <jas@extundo.com>
83987
83988         * tests/test-md5.c: New file.
83989
83990         * modules/md5-tests: New file.
83991
83992 2005-10-18  Simon Josefsson  <jas@extundo.com>
83993
83994         * tests/test-md4.c: New file.
83995
83996         * modules/md4, modules/md4-tests: New files.
83997
83998 2005-10-18  Simon Josefsson  <jas@extundo.com>
83999
84000         * m4/md4.m4: New file.
84001
84002 2005-10-18  Simon Josefsson  <jas@extundo.com>
84003
84004         * lib/md4.h, lib/md4.c: New files, based on md5.?.
84005
84006 2005-10-17  Stepan Kasal  <kasal@ucw.cz>
84007
84008         * gnulib-tool (func_create_testdir): Omit the second check whether
84009         BUILT_SOURCES in nonempty.
84010
84011 2005-10-17  Simon Josefsson  <jas@extundo.com>
84012
84013         * tests/test-rijndael.c: New file.
84014
84015 2005-10-17  Simon Josefsson  <jas@extundo.com>
84016
84017         * modules/sha1: Depend on stdint instead of md5.
84018
84019         * modules/md5: Depend on stdint, remove uint32_t.
84020
84021 2005-10-17  Simon Josefsson  <jas@extundo.com>
84022
84023         * modules/gc-sha1-tests: New file.
84024
84025         * tests/test-gc-sha1.c: New file.
84026
84027 2005-10-17  Simon Josefsson  <jas@extundo.com>
84028
84029         * m4/md5.m4: Remove call to uint32_t.m4.
84030
84031 2005-10-17  Simon Josefsson  <jas@extundo.com>
84032
84033         * lib/sha1.c: Use uint32_t instead of md5_uint32.t
84034
84035         * lib/sha1.h: Use stdint.h and uint32_t instead of md5_uint32 from
84036         md5.h.
84037
84038         * lib/md5.c: Use uin32_t.  Fix non-gcc UNALIGNED_P macro.
84039
84040         * lib/md5.h: Use stdint.h and uint32_t.  Doc fix.
84041
84042 2005-10-17  Simon Josefsson  <jas@extundo.com>
84043
84044         * lib/gc.h, gc-libgcrypt.c: Add more hash types/functions.
84045
84046 2005-10-17  Simon Josefsson  <jas@extundo.com>
84047
84048         * lib/gc.h, gc-libgcrypt.c: Add ciphers.
84049
84050 2005-10-17  Simon Josefsson  <jas@extundo.com>
84051
84052         * lib/gc-libgcrypt.c (gc_hmac_sha1): Fix assert.
84053
84054         * lib/gc.h (gc_nonce, gc_pseudo_random, gc_random): Add prototypes.
84055
84056 2005-10-17  Bruno Haible  <bruno@clisp.org>
84057
84058         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Change the return statement so
84059         that it can also be used in a test.
84060
84061 2005-10-16  Bruno Haible  <bruno@clisp.org>
84062
84063         * gnulib-tool (func_emit_tests_Makefile_am): Also define
84064         TESTS_ENVIRONMENT, so that individual tests can augment it.
84065
84066         * gnulib-tool (func_create_testdir): Use an intermediate target for
84067         building $(BUILT_SOURCES). Needed because BUILT_SOURCES can contain
84068         macros, like $(ALLOCA_H), which cannot be passed through the command
84069         line.
84070
84071 2005-10-15  Simon Josefsson  <jas@extundo.com>
84072
84073         * modules/rijndael-tests: New file.
84074
84075         * modules/rijndael: New file.
84076
84077 2005-10-15  Simon Josefsson  <jas@extundo.com>
84078
84079         * m4/rijndael.m4: New file.
84080
84081 2005-10-15  Simon Josefsson  <jas@extundo.com>
84082
84083         * lib/rijndael-api-fst.h, lib/rijndael-api-fst.c: New files.
84084
84085         * lib/rijndael-alg-fst.h, lib/rijndael-alg-fst.c: New files.
84086
84087 2005-10-14  Simon Josefsson  <jas@extundo.com>
84088
84089         * tests/test-arcfour.c: New file.
84090
84091         * modules/arcfour, modules/arcfour-tests: New files.
84092
84093 2005-10-14  Simon Josefsson  <jas@extundo.com>
84094
84095         * m4/arcfour.m4: New file.
84096
84097 2005-10-14  Simon Josefsson  <jas@extundo.com>
84098
84099         * lib/arcfour.h, lib/arcfour.c: New files.
84100
84101 2005-10-14  Roland McGrath  <roland@redhat.com>
84102
84103         Import from libc.  [BZ #1331]
84104         * lib/obstack.h [!__STDC__] (obstack_int_grow_fast): Fix misnamed
84105         macro argument.
84106         Reported by Matej Vela <vela@debian.org>.
84107
84108 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
84109
84110         * lib/obstack.c [defined _LIBC && defined USE_IN_LIBIO]: Don't
84111         include <wchar.h>; no longer needed.
84112
84113 2005-10-14  Paul Eggert  <eggert@cs.ucla.edu>
84114
84115         * config/srclist.txt: Add glibc bug 321 for obstack.c, obstack.h.
84116
84117 2005-10-14  Jakub Jelinek  <jakub@redhat.com>
84118         and  Ulrich Drepper  <drepper@redhat.com>
84119
84120         Import from libc.
84121         * lib/obstack.c (print_and_abort) [defined _LIBC]: Use __fxprintf
84122         instead of inline stream orientation test and two separate
84123         function calls.  Pay no attention to USE_IN_LIBIO.
84124
84125 2005-10-13  Simon Josefsson  <jas@extundo.com>
84126
84127         * modules/gc-hmac-md5-tests: New file.
84128
84129         * tests/test-gc-hmac-sha1.c: New file.
84130
84131         * tests/test-gc.c (main): Remove MD5 and HMAC-MD5 tests.
84132
84133         * modules/gc-hmac-md5-tests: New file.
84134
84135         * tests/test-gc-md5.c: New file.
84136
84137         * modules/gc-md5-tests: New file.
84138
84139 2005-10-13  Simon Josefsson  <jas@extundo.com>
84140
84141         * lib/gc-pbkdf2-sha1.c (gc_pbkdf2_sha1): Optimize CEIL computation.
84142         Move memory allocation outside of loop.
84143
84144 2005-10-13  Paul Eggert  <eggert@cs.ucla.edu>
84145
84146         * lib/mkdir-p.c (make_dir_parents): Don't report an error if an
84147         intermediate directory is in a read-only file system.  Problem
84148         reported by Eric Blake.
84149
84150 2005-10-13  Oskar Liljeblad  <oskar@osk.mine.nu>
84151
84152         * modules/human (Depends-on): Depend on xstrtoumax, not xstrtol.
84153
84154 2005-10-12  Simon Josefsson  <jas@extundo.com>
84155
84156         * tests/test-hmac-sha1.c: New file.
84157
84158         * modules/hmac-sha1-tests: New file.
84159
84160         * modules/hmac-sha1: New file.
84161
84162 2005-10-12  Simon Josefsson  <jas@extundo.com>
84163
84164         * modules/gc-sha1: New file.
84165
84166 2005-10-12  Simon Josefsson  <jas@extundo.com>
84167
84168         * modules/gc-pbkdf2-sha1, modules/gc-pbkdf2-sha1-tests: New files.
84169
84170         * tests/test-gc-pbkdf2-sha1.c: New file.
84171
84172 2005-10-12  Simon Josefsson  <jas@extundo.com>
84173
84174         * modules/gc-md5, modules/gc-hmac-md5: New files.
84175
84176         * modules/gc (Files): Remove md5, memxor and hmac files.
84177
84178 2005-10-12  Simon Josefsson  <jas@extundo.com>
84179
84180         * m4/gc-pbkdf2-sha1.m4: New file.
84181
84182         * m4/gc-hmac-sha1.m4: New file.
84183
84184         * m4/gc-sha1: New file.
84185
84186         * m4/hmac-sha1.m4: New file.
84187
84188 2005-10-12  Simon Josefsson  <jas@extundo.com>
84189
84190         * m4/gc-md5.m4, m4/gc-hmac-md5.m4: New files.
84191
84192         * m4/gc.m4: Don't call gl_MD5, gl_MEMXOR or gl_HMAC_MD5.
84193
84194 2005-10-12  Simon Josefsson  <jas@extundo.com>
84195
84196         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Use Gc_rc for return types,
84197         suggested by Bruno Haible <bruno@clisp.org>.
84198
84199 2005-10-12  Simon Josefsson  <jas@extundo.com>
84200
84201         * lib/gc.h, gc-gnulib.c, gc-libgcrypt.c: Support SHA-1.
84202
84203 2005-10-12  Simon Josefsson  <jas@extundo.com>
84204
84205         * lib/gc-pbkdf2-sha1.c: New file.
84206
84207         * lib/gc.h: Add gc_pbkdf2_sha1 prototype.
84208
84209 2005-10-12  Simon Josefsson  <jas@extundo.com>
84210
84211         * lib/gc-libgcrypt.c (gc_hmac_sha1): New function.
84212
84213         * lib/gc-gnulib.c (gc_hmac_sha1): New function.
84214
84215 2005-10-12  Simon Josefsson  <jas@extundo.com>
84216
84217         * lib/gc-gnulib.c: Condition MD5 and HMAC-MD5 use on GC_USE_MD5 and
84218         GC_USE_HMAC_MD5, respectively.
84219
84220         * lib/gc-libgcrypt.c (gc_md5): Fix assert call.
84221         (gc_md5): Fix typo.
84222
84223         * lib/gc.h (gc_hash_buffer): Use gc_hash in prototype.
84224
84225         * lib/gc-libgcrypt.c (gc_hash_buffer): Ditto.
84226
84227         * lib/gc-gnulib.c (gc_hash_buffer): Ditto.
84228
84229 2005-10-12  Bruno Haible  <bruno@clisp.org>
84230
84231         * m4/stdbool.m4 (gl_STDBOOL_H): Define as an alias of AM_STDBOOL_H.
84232         Reported by Stepan Kasal <kasal@ucw.cz>.
84233
84234 2005-10-11  Simon Josefsson  <jas@extundo.com>
84235
84236         * tests/test-crc.c: New file.
84237
84238         * modules/crc, modules/crc-tests: New files.
84239
84240 2005-10-11  Simon Josefsson  <jas@extundo.com>
84241
84242         * m4/crc.m4: New file.
84243
84244 2005-10-11  Simon Josefsson  <jas@extundo.com>
84245
84246         * lib/gc.h: Add gc_hash and gc_hash_buffer.
84247
84248         * lib/gc-gnulib.c (gc_hash_buffer): Add.  Reorder #include's.
84249
84250         * lib/gc-libgcrypt.c (gc_hash_buffer): Add.
84251
84252 2005-10-11  Simon Josefsson  <jas@extundo.com>
84253
84254         * lib/crc.h, lib/crc.c: New files.
84255
84256         * lib/gc.h (gc_hash_buffer): Add doc.
84257
84258 2005-10-11  Bruno Haible  <bruno@clisp.org>
84259
84260         * modules/c-strcasestr: New file.
84261         * MODULES.html.sh (String handling <string.h>): Add c-strcasestr.
84262
84263 2005-10-11  Bruno Haible  <bruno@clisp.org>
84264
84265         * modules/c-strcase: New file.
84266         * MODULES.html.sh (String handling <string.h>): Add c-strcase.
84267
84268 2005-10-11  Bruno Haible  <bruno@clisp.org>
84269
84270         * lib/strcasecmp.c: Include limits.h.
84271         (strcasecmp): Avoid integer overflow on exotic platforms.
84272         * lib/strncasecmp.c: Include limits.h.
84273         (strncasecmp): Avoid integer overflow on exotic platforms.
84274         Reported by Paul Eggert.
84275
84276 2005-10-11  Bruno Haible  <bruno@clisp.org>
84277
84278         * lib/c-strcasestr.h: New file, from GNU gettext.
84279         * lib/c-strcasestr.c: New file, from GNU gettext.
84280
84281 2005-10-11  Bruno Haible  <bruno@clisp.org>
84282
84283         * lib/c-strcase.h: New file, from GNU gettext.
84284         * lib/c-strcasecmp.c: New file, from GNU gettext.
84285         * lib/c-strncasecmp.c: New file, from GNU gettext.
84286
84287 2005-10-10  Paul Eggert  <eggert@cs.ucla.edu>
84288
84289         * modules/mempcpy (License): GPL -> LGPL.
84290         * modules/strchrnul (License): Likewise.
84291         * modules/sysexits (License): Likewise.
84292
84293 2005-10-08  Simon Josefsson  <jas@extundo.com>
84294
84295         * config/srclist.txt: Bug 1423 is closed, but 1439 remains.
84296
84297 2005-10-07  Simon Josefsson  <jas@extundo.com>
84298
84299         * m4/memxor.m4: Remove gl_C_RESTRICT call.
84300
84301 2005-10-06  Simon Josefsson  <jas@extundo.com>
84302
84303         * tests/test-hmac-md5.c: New file.
84304
84305         * modules/hmac-md5-tests: New file.
84306
84307         * modules/hmac-md5: New file.
84308
84309 2005-10-06  Simon Josefsson  <jas@extundo.com>
84310
84311         * m4/hmac-md5.m4: New file.
84312
84313         * m4/memxor.m4: Require gl_C_RESTRICT.
84314
84315 2005-10-06  Simon Josefsson  <jas@extundo.com>
84316
84317         * lib/memxor.c (memxor): Avoid casts and warnings.
84318
84319 2005-10-06  Simon Josefsson  <jas@extundo.com>
84320
84321         * lib/hmac-md5.c: New file.
84322
84323         * lib/hmac.h: New file.
84324
84325 2005-10-06  Paul Eggert  <eggert@cs.ucla.edu>
84326
84327         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Check that bool
84328         promotes to int, not unsigned int, to catch the AIX 5.3
84329         compiler bug.
84330
84331 2005-10-05  Simon Josefsson  <jas@extundo.com>
84332
84333         * modules/memxor: New file.
84334
84335         * modules/iconv (Files): Move config.rpath to havelib, it is used
84336         there.
84337
84338         * modules/havelib (Files): Add config.rpath.
84339
84340 2005-10-05  Simon Josefsson  <jas@extundo.com>
84341
84342         * m4/memxor.m4: New file.
84343
84344 2005-10-05  Simon Josefsson  <jas@extundo.com>
84345
84346         * lib/memxor.c (memxor): Fix compiler error.
84347
84348         * lib/md5.h (MD5_DIGEST_SIZE, MD5_BLOCK_SIZE): Add, see also
84349         <http://sourceware.org/bugzilla/show_bug.cgi?id=1423>.
84350
84351         * lib/memxor.h, lib/memxor.c: New files.
84352
84353         * lib/getaddrinfo.h: Don't protect sys/types.h with HAVE_SYS_TYPES_H,
84354         we assume all systems have it, suggested by Jim Meyering
84355         <jim@meyering.net>.  Remove HAVE_SYS_SOCKET_H test too, to see if
84356         any systems lack sys/socket.h; mingw32 is known to lack it, but we
84357         don't support it yet anyway.  Also remove HAVE_NETDB_H test, for
84358         same reasons.
84359
84360 2005-10-05  Simon Josefsson  <jas@extundo.com>
84361
84362         * config/srclist.txt: Add glibc bug 1423 for md5.h.
84363
84364 2005-10-05  Paul Eggert  <eggert@cs.ucla.edu>
84365
84366         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Don't check for
84367         sys/socket.h, netdb.h, sys/types.h; the checks areno longer
84368         needed, since the source code now assumes these .h files.
84369
84370 2005-10-05  Derek Price  <derek@ximbiot.com>
84371
84372         * lib/getdelim.c (SIZE_MAX): New macro, if not already defined.
84373
84374 2005-10-05  Bruno Haible  <bruno@clisp.org>
84375
84376         * modules/stdint (License): Change to LGPL.
84377
84378 2005-10-04  Simon Josefsson  <jas@extundo.com>
84379
84380         * lib/getaddrinfo.h: Move sys/types.h include first, reported by "Mark
84381         D. Baushke" <mdb@gnu.org>.
84382
84383 2005-10-04  Bruno Haible  <bruno@clisp.org>
84384
84385         * lib/verify.h (verify_true): Provide alternative definition for C++.
84386
84387 2005-10-03  Paul Eggert  <eggert@cs.ucla.edu>
84388
84389         * lib/getdelim.c: Include getdelim.h first.  Include <limits.h>.
84390         (SSIZE_MAX): New macro, if not already defined.
84391         (getdelim): Fix buffer overrun on 64-bit hosts with lines longer
84392         than 2 GiB.
84393
84394 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84395
84396         Sync from coreutils.
84397         * m4/openat.m4 (gl_FUNC_OPENAT): Check for fdopendir.
84398         * m4/ullong_max.m4 (gl_ULLONG_MAX): Simplify so that it merely
84399         defines ULONG_MAX_LT_ULLONG_MAX.  Thomas M.Ott reports that
84400         ULLONG_MAX doesn't work with 2.7.2.1.
84401
84402 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84403
84404         * modules/xreadlink (Makefile.am): Remove lib_SOURCES.
84405         From Ben Pfaff.
84406
84407         * modules/exclude (Depends-on): Depend on verify.
84408         * modules/strtoimax (Depends-on): Likewise.
84409         * modules/utimecmp (Depends-on): Likewise.
84410
84411 2005-10-02  Paul Eggert  <eggert@cs.ucla.edu>
84412
84413         * lib/exclude.c: Include verify.h.
84414         (verify): Remove.  All callers changed to use verify.h's version.
84415         * lib/strtoimax.c: Likewise.
84416         * lib/utimecmp.c: Likewis.e
84417
84418         Sync from coreutils.
84419         * lib/.cppi-disable: Add getaddrinfo.h, getdelim.h, getline.h,
84420         getpass.c, mbchar.h, mbuiter.h, strcase.h, strnlen.h, strnlen1.h.
84421         * lib/.cvsignore: Add fts.h, search.h, t-fpending.
84422         * lib/settime.c (settime): Fix { typo in previous patch.  Also, don't
84423         bother returning ENOSYS if settimeofday or stime fails; just let
84424         them return whatever errno they want to return.
84425         * lib/utimens.c: Include unistd.h, for dup2.
84426         (futimens): Fix typo: HAVE_FUTIMESAT was misspelled in an #if.
84427         (futimens) [! HAVE_FUTIMESAT]: If !file, set errno before returning -1.
84428
84429 2005-10-02  Jim Meyering  <jim@meyering.net>
84430
84431         Sync from coreutils.
84432         * m4/utimes.m4 (gl_FUNC_UTIMES): Detect the version of utimes
84433         from glibc-2.2.5 that fails for read-only files.
84434
84435 2005-10-02  Jim Meyering  <jim@meyering.net>
84436
84437         Sync from coreutils.
84438         * lib/fts-cycle.c [HAVE_CONFIG_H]: Include <config.h>.
84439         * lib/openat-die.c: Use `#ifdef HAVE_CONFIG_H', not
84440         `#if HAVE_CONFIG_H'.
84441         * lib/openat.c (fdopendir): Do not define if HAVE_FDOPENDIR.
84442         Remove AT_FDCWD test.
84443         Do not consume the fd unless successful.
84444         * lib/openat.h (fdopendir): Do not define if HAVE_FDOPENDIR.
84445         * lib/settime.c (settime): Move the HAVE_STIME block `up' into an #elif
84446         block, so that we don't even try to compile it if settimeofday is
84447         available.  This works around a compilation failure on OSF1 V5.1,
84448         due to stime requiring a `long int*' while tv_sec is `int'.
84449
84450 2005-10-02  Alfred M. Szmidt  <ams@gnu.org>
84451
84452         Sync from coreutils.
84453         * m4/chdir-long.m4 (gl_FUNC_CHDIR_LONG): Compare $gl_have_path...
84454         against `yes', rather than just testing for nonempty.
84455
84456 2005-10-01  Simon Josefsson  <jas@extundo.com>
84457
84458         * m4/getaddrinfo.m4: Include sys/types.h for sys/socket.h, on FreeBSD
84459         and Darwin.
84460
84461         * m4/getaddrinfo.m4: Use AC_GNU_SOURCE, GNU only declare getaddrinfo
84462         as an (POSIX) extension.  Check for sys/types.h, sys/socket.h, and
84463         netdb.h too, needed by getaddrinfo.h.  Check if getaddrinfo,
84464         freeaddrinfo and gai_strerror are declared by the POSIX headers.
84465         Check if struct addrinfo is declared.
84466
84467 2005-10-01  Simon Josefsson  <jas@extundo.com>
84468
84469         * lib/getaddrinfo.h: Protect #include's of sys/socket.h and netdb.h.
84470         Only define struct addrinfo if !HAVE_STRUCT_ADDRINFO.  Protect
84471         AI_* and EAI_* definitions.  Protect function declarations.
84472
84473 2005-10-01  Jim Meyering  <jim@meyering.net>
84474
84475         Sync from coreutils.
84476
84477         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Look for getservbyname in these
84478         libraries [inet nsl socket xnet].  Nelson Beebe reported that with
84479         native cc on Solaris 7, getaddrinfo.c requires -lsocket.
84480         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84481         in the inet and nsl libraries.  Required on Solaris 5.7.
84482
84483 2005-10-01  Jim Meyering  <jim@meyering.net>
84484
84485         Sync from coreutils.
84486         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Check for gethostbyname
84487         in the inet and nsl libraries.  Required on Solaris 5.7.
84488
84489 2005-10-01  Eric Blake  <ebb9@byu.net>  (tiny change)
84490
84491         * lib/getdelim.c (getdelim): Remove unused variables.
84492
84493 2005-09-29  Paul Eggert  <eggert@cs.ucla.edu>
84494
84495         * lib/xtime.h (XTIME_PRECISION): Now of type int, not long long int,
84496         so that the code works even with ancient cpp.  Portability problem
84497         with GCC 2.7.2.1 reported by Thomas M.Ott.
84498
84499 2005-09-27  Paul Eggert  <eggert@cs.ucla.edu>
84500
84501         * modules/regex (Depends-on): Add strcase.
84502
84503         * modules/gethostname (Licence): Change from GPL to LGPL, since
84504         gethostname.c is a trivial implementation of a standard library
84505         function.
84506         * modules/poll (License): Change from GPL to LGPL, since it's
84507         derived from LGPL code.
84508
84509 2005-09-27  Jim Meyering  <jim@meyering.net>
84510
84511         * lib/getcwd.c: Change #ifdef<TAB>HAVE_CONFIG_H to #ifdef
84512         HAVE_CONFIG_H.
84513
84514         * lib/intprops.h (signed_type_or_expr__): Define.
84515         (INT_STRLEN_BOUND) [__GNUC__]: Use a slightly tighter bound
84516         for unsigned types.
84517
84518 2005-09-26  Paul Eggert  <eggert@cs.ucla.edu>
84519
84520         * lib/verify.h (verify_expr): Remove, replacing with:
84521         (verify_true): New macro that returns true instead of void.
84522         (verify_type__): Remove.
84523         (verify): Use verify_true rather than verify_type__.
84524
84525 2005-09-26  Bruno Haible  <bruno@clisp.org>
84526
84527         * modules/mbchar (Include): Mention that HAVE_WCHAR_H && HAVE_WCTYPE_H
84528         is necessary.
84529         (lib_SOURCES): Remove mbchar.c.
84530         * modules/mbfile (Include): Mention that HAVE_MBRTOWC is necessary.
84531         (Files): Add m4/mbrtowc.m4.
84532         * modules/mbiter: Likewise.
84533         * modules/mbuiter: Likewise.
84534
84535 2005-09-26  Bruno Haible  <bruno@clisp.org>
84536
84537         * m4/mbchar.m4 (gl_MBCHAR): Check for wchar.h and wctype.h. Don't
84538         compile mbchar.c if they are not both present.
84539         * m4/mbfile.m4 (gl_MBFILE): Require gl_FUNC_MBRTOWC.
84540         * m4/mbiter.m4 (gl_MBITER): Likewise.
84541         * m4/strstr.m4 (gl_PREREQ_STRSTR): Use AC_REQUIRE.
84542         * m4/strcasestr.m4 (gl_PREREQ_STRCASESTR): Likewise.
84543         * m4/strcase.m4 (gl_PREREQ_STRCASECMP): Likewise.
84544
84545 2005-09-25  Jim Meyering  <jim@meyering.net>
84546
84547         * modules/inet_ntop (Depends-on): Add socklen, since inet_ntop.c
84548         also uses socklen_t.
84549
84550 2005-09-24  Paul Eggert  <eggert@cs.ucla.edu>
84551
84552         * lib/utimens.c (ENOSYS): Define if not already defined.
84553         (futimens): Support having a null PATH if the file descriptor
84554         is nonnegative.
84555
84556         * lib/regex_internal.h (__GNUC_PREREQ, always_inline, inline, pure):
84557         Remove.
84558         (__attribute): Define to empty unless GCC 3.1 or later.
84559         This works around a core dump on OpenBSD 3.4, which has GCC
84560         2.95.3, which dumps core when given __attribute__(()).  It also
84561         simplifies other tests, since we really don't want to bother with
84562         worrying about which ancient version of GCC supported what.
84563         Original problem reported by Yoann Vandoorselaere, with part of
84564         the fix suggested by Derek Price.
84565
84566 2005-09-24  Jim Meyering  <jim@meyering.net>
84567
84568         * lib/verify.h (verify_type__): Use `unsigned int' as the bitfield type
84569         so we can once again use a positive bitfield width of 1 -- now we
84570         don't have to explain why we were using a bitfield width of 2.
84571
84572 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84573
84574         * m4/regex.m4 (gl_REGEX): If replacing, define regcomp to rpl_regcomp,
84575         and similarly for the other external symbols.  Problem reported
84576         by James Gallager.
84577
84578         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Catch Sun Studio 10u1 on Linux
84579         bug reported by Jim Meyering.
84580
84581         * m4/utimens.m4 (gl_UTIMENS): Check for futimesat.
84582         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Undo previous change;
84583         not needed, since socklen is a prerequisite module.
84584
84585 2005-09-23  Paul Eggert  <eggert@cs.ucla.edu>
84586
84587         * lib/getaddrinfo.c [HAVE_NETINET_IN_H]: Include <netinet/in.h>.
84588         Problem reported by Eric Blake.
84589         (getaddrinfo): Initialize se so that it's not garbage.
84590         Redo internal storage allocation so that it doesn't make unportable
84591         assumptions about alignment.
84592         Fix a memory leak.
84593
84594         * lib/utimens.c (futimens): Use futimesat if available.
84595         Prefer it to futimes since it doesn't have the futimes bug.
84596
84597         * lib/verify.h (GL_CONCAT0, GL_CONCAT): Remove.
84598         (verify): Don't use the __LINE__ trick, as it doesn't work in general.
84599         Instead, declare a function that returns a pointer to an array,
84600         and use verify_type__ to declare the size of the array.
84601         Problem and germ of a solution reported by Bruno Haible.
84602         (verify_type__): Use 2, not 1, for bitfield size, to avoid
84603         a warning with Irix 6.5 cc.  Problem reported by Bruno Haible.
84604
84605 2005-09-23  Jim Meyering  <jim@meyering.net>
84606
84607         Sync from coreutils.
84608         Correct build failure (socklen_t not defined) on at least
84609         mips-sgi-irix6.5 and alphaev67-dec-osf5.1.
84610         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Require gl_SOCKLEN_T.
84611
84612 2005-09-23  Jim Meyering  <jim@meyering.net>
84613
84614         * modules/getaddrinfo (Depends-on): Add socklen.
84615
84616 2005-09-23  Bruno Haible  <bruno@clisp.org>
84617
84618         * tests/test-verify.c: New file.
84619
84620 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84621
84622         Sync from coreutils.
84623
84624         * modules/argmatch (Depends-on): Add verify.
84625         * modules/getloadavg (Depends-on): Depend on fcntl-safer, not
84626         unistd-safer.
84627         * modules/save-cwd (Depends-on): Likewise.
84628
84629         * modules/openat (Files): Add lib/openat-die.c.
84630         (Depends-on): Remove error, exitfail.
84631         Add dirname.
84632
84633         * modules/verify: New file.
84634         * MODULES.html.sh (Diagnostics <assert.h>): New section,
84635         with "verify" module.
84636
84637 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84638
84639         Sync from coreutils.
84640
84641         * m4/backupfile.m4, calloc.m4, chown.m4, cloexec.m4, dup2.m4:
84642         * m4/fileblocks.m4, free.m4, ftruncate.m4, getcwd.m4, getpagesize.m4:
84643         * m4/getugroups.m4, group-member.m4, idcache.m4, link-follow.m4:
84644         * m4/mkstemp.m4, mktime.m4, mountlist.m4, nanosleep.m4, pathmax.m4:
84645         * m4/physmem.m4, posixver.m4, putenv.m4, safe-read.m4, same.m4:
84646         * m4/save-cwd.m4, stdio-safer.m4, unistd-safer.m4, unlinkdir.m4:
84647         * m4/userspec.m4, xgetcwd.m4, xreadlink.m4:
84648         Don't bother checking for string.h, stdlib.h, unistd.h.
84649         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't require
84650         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK; that's now the lstat
84651         module's job.
84652         * m4/jm-macros.m4 (gl_MACROS): Likewise.
84653         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_LSTAT.
84654
84655         * m4/getdate.m4 (gl_C_COMPOUND_LITERALS): New macro.
84656         (gl_GETDATE): Use it.
84657
84658         * m4/mkdir-p.m4 (gl_MKDIR_PARENTS): Don't bother checking for unistd.h.
84659
84660 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84661
84662         Sync from coreutils.
84663
84664         * lib/.cppi-disable: Add regcomp.c, regex_internal.c, regex_internal.h,
84665         stat-time.h.
84666         * lib/argmatch.h: Include verify.h
84667         (ARGMATCH_VERIFY): Use verify rather than rolling our own.
84668         (ARGMATCH_ASSERT): Remove; unused.
84669         * lib/canonicalize.c: Assume STDC_HEADERS.
84670         * lib/exclude.c: Include "strcase.h".
84671         * lib/regex_internal.h [!defined _LIBC]: Likewise.
84672         * lib/getusershell.c: Include stdio--.h rather than stdio.h
84673         and stdio-safer.h.
84674         (getusershell): Call fopen, not fopen_safer.
84675         * lib/save-cwd.c: Include fcntl--.h rather than fcntl.h.
84676         Do not include unistd-safer.h.
84677         (save_cwd): Don't call fd_safer; no longer needed
84678         now that we include fcntl--.h.
84679
84680         * lib/getdate.y (relative_time): New type.
84681         (RELATIVE_TIME_0): New constant.
84682         (parser_control): Use relative_time instead of doing it ourselves.
84683         (%union): Add new relative_time rel member.
84684         (tYEAR_UNIT, tMONTH_UNIT, tHOUR_UNIT, tMINUTE_UNIT, tSEC_UNIT):
84685         Now typeless.
84686         (relunit, relunit_snumber): Now of type rel.
84687         (zone, rel, relunit, get_date): Adjust to above changes.
84688
84689         * lib/getloadavg.c: Include fcntl--.h rather than fcntl.h.
84690         Do not include unistd-safer.h.
84691         (getloadavg): Don't call fd_safer; no longer needed
84692         now that we include fcntl--.h.
84693
84694         * lib/mkdir-p.c (ENOSYS): Define to EEXIST if not defined.
84695         (make_dir_parents): Treat ENOSYS like EEXIST.
84696
84697         Improve quality of diagnostics on restore_cwd failure.
84698         * lib/mkdir-p.h (make_dir): Remove.  All uses replaced by mkdir.
84699         (make_dir_parents): Last arg is now int * (for errno), not bool *.
84700         * lib/mkdir-p.c (make_dir, make_dir_parents): Likewise.
84701         Rewrite "mkdir -p" algorithm to avoid the need for "stat"
84702         each time through the loop.  Do not diagnose restore_cwd failure;
84703         that is the caller's job (and perhaps the caller does not care).
84704
84705         * lib/mkdir-p.c (CLEANUP_CWD, CLEANUP): Remove.
84706         (make_dir_parents): Revamp to avoid need for CLEANUP_CWD, CLEANUP.
84707         If the file already exists but is not a directory, don't bother
84708         to try to make its parents.
84709         Close potential file descriptor leak if we can't chdir("/") (!).
84710         Don't always return true if chdir($PWD) fails; return true only
84711         if the requested action was done successfully (except for the
84712         chdir($PWD)).
84713         Don't log final directory unless we actually made it.
84714         Refactor to avoid duplicate code to fix up permissions.
84715         Don't attempt to fix up parent permissions if chdir($PWD) fails.
84716
84717         * lib/strftime.c (my_strftime): Rewrite the previous change slightly,
84718         to make it a bit faster and (I hope) clearer.
84719         * lib/strftime.c (my_strftime): Add support for %:z, %::z, %:::z.
84720         Fix bug in formats like %2N.
84721
84722         * lib/verify.h: New file.
84723
84724 2005-09-22  Paul Eggert  <eggert@cs.ucla.edu>
84725
84726         Sync from coreutils.
84727         * m4/getaddrinfo.m4 (gl_PREREQ_GETADDRINFO): Check for netinet/in.h.
84728
84729 2005-09-22  Jim Meyering  <jim@meyering.net>
84730
84731         Sync from coreutils.
84732
84733         * m4/lstat.m4 (gl_FUNC_LSTAT):
84734         Use AC_LIBSOURCES to require lstat.c and lstat.h.
84735         Remove obsolete comment.
84736         * m4/xreadlink.m4: Use AC_LIBSOURCES and AC_LIBOBJ.
84737         * m4/xstrtod.m4: Likewise.
84738
84739         * m4/openat.m4 (gl_FUNC_OPENAT): Add openat-die.c.
84740
84741 2005-09-22  Jim Meyering  <jim@meyering.net>
84742
84743         Sync from coreutils.
84744
84745         * lib/backupfile.c: Use ARGMATCH_VERIFY, just in case.
84746
84747         * lib/posixtm.c (posixtime) [lint]: Initialize *all* of tm0, not just
84748         the .tm_year member, since otherwise gcc-4.0 would now warn about
84749         tm_zone, tm_gmtoff, tm_isdst, tm_yday, tm_wday.
84750
84751         * lib/quotearg.c (quotearg_n_options): Change code to be suboptimal, in
84752         order to avoid an unsuppressible warning from gcc on 64-bit systems.
84753
84754         * lib/getdate.y (get_date): Undo part of the 2005-04-04 change, so that
84755         the command "date -d'2005-03-27 +1 day'" succeeds once again, even
84756         when run in a time zone for which daylight savings time is in effect
84757         for the starting date.
84758
84759         * lib/mkdir-p.c (make_dir_parents): Don't let a failed chdir($PWD)
84760         stop us from restricting permissions of just-created absolute-named
84761         directories.
84762         * lib/mkdir-p.c (CLEANUP_CWD): Return *true*, not false when failing
84763         to restore initial working directory.
84764         * lib/mkdir-p.c (make_dir_parents): New parameter:
84765         different_working_dir, to tell caller if/when we change the working
84766         directory and are unable to return to the initial one.
84767         * lib/mkdir-p.h (make_dir_parents): Update prototype.
84768         * lib/mkdir-p.c (CLEANUP_CWD): Change one more `return 1' to
84769         `return false'.  This fixes a bug introduced on 2004-07-30.
84770
84771         * lib/openat.c (fdopendir): Be sure to close the supplied
84772         file descriptor before returning.  This makes our replacement
84773         implementation a little closer to Solaris's, where fdopendir
84774         ties the file descriptor to the returned DIR* pointer.
84775         * lib/openat.c (unlinkat): New function.
84776         * lib/openat.h (unlinkat): Add prototype.
84777         * lib/openat-die.c (openat_save_fail): Rename from openat_save_die.
84778         (openat_restore_fail): Rename from openat_restore_die.
84779         * lib/openat.c, openat.h: Reflect s/_die/_fail/ renaming.
84780
84781         Provide an alternative to exiting immediately upon save_cwd or
84782         restore_cwd failure.  Now, an application can arrange e.g.,
84783         to perform a longjump in that case.
84784         * lib/openat.c: Include dirname.h.
84785         Use IS_ABSOLUTE_FILE_NAME rather than testing for leading slash.
84786         (rpl_openat, fdopendir, fstatat): Call openat_save_die
84787         and openat_restore_die rather than calling error directly.
84788         Don't include "error.h" or "exitfail.h"; they're no longer needed.
84789
84790         * lib/openat-die.c (openat_save_die, openat_restore_die): New file.
84791         * lib/openat.h (openat_save_die, openat_restore_die): Declare and
84792         define.
84793
84794         * lib/strftime.c [FPRINTFTIME] (fprintftime): Provide a new interface:
84795         size_t fprintftime (FILE *fp, char const *fmt, struct tm const *tm,
84796                             int utc, int nanoseconds);
84797         Background:
84798         date should not have to allocate a megabyte of virtual memory to
84799         handle a format argument like +%1048575T.  When implemented with
84800         strftime, it must allocate such a buffer, use strftime to fill it
84801         in, print it, then free it.
84802         With fprintftime, it simply prints everything and exits.
84803         With no need for memory allocation, that's one fewer way to fail.
84804         * lib/strftime.c (my_strftime): Parse the colons of %:::z *after* the
84805         optional field width, not before, so we accept %9:z, not %:9z.
84806         (my_strftime): Be sure to use L_('x') for literals.
84807
84808         * lib/backupfile.c, lib/canon-host.c, lib/canonicalize.c, lib/chown.c:
84809         * lib/cloexec.c, lib/dup-safer.c, lib/dup2.c, lib/euidaccess.c:
84810         * lib/fd-safer.c, lib/fileblocks.c, lib/fopen-safer.c, lib/fsusage.c:
84811         * lib/ftruncate.c, lib/getcwd.c, lib/getcwd.h, lib/getloadavg.c:
84812         * lib/getopt_.h, lib/getpagesize.h, lib/getugroups.c:
84813         * lib/group-member.c, lib/human.h, lib/idcache.c, lib/mkdir-p.c:
84814         * lib/mountlist.c, lib/nanosleep.c, lib/pathmax.h, lib/physmem.c:
84815         * lib/posixver.c, lib/putenv.c, lib/raise.c, lib/safe-read.c:
84816         * lib/same.c, lib/save-cwd.c, lib/setenv.c, lib/settime.c:
84817         * lib/tempname.c, lib/unlinkdir.c, lib/unsetenv.c, lib/userspec.c:
84818         * lib/xgethostname.c, lib/xreadlink.c:
84819         Assume HAVE_UNISTD_H, i.e., include <unistd.h> unconditionally.
84820
84821         * lib/chown.c, lib/cloexec.c, lib/dup-safer.c, lib/dup2.c:
84822         * lib/fsusage.c, lib/getcwd.c, lib/getloadavg.c, lib/mountlist.c:
84823         * lib/openat.h, lib/save-cwd.c, lib/tempname.c:
84824         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
84825         and don't include <sys/file.h>).
84826
84827 2005-09-22  Eric Blake  <ebb9@byu.net>  (tiny change)
84828
84829         Sync from coreutils.
84830
84831         * lib/getloadavg.c (getloadavg) [__CYGWIN__]: Port to cygwin.
84832         [__linux__]: Allocate a big enough buffer for /proc/loadavg.
84833         [!LDAV_DONE]: Avoid unused variable warning.
84834
84835 2005-09-21  Bruno Haible  <bruno@clisp.org>
84836
84837         * lib/unicodeio.h (unicode_to_mb): New declaration.
84838
84839 2005-09-20  Derek Price  <derek@ximbiot.com>
84840
84841         * lib/getaddrinfo.c: Don't include <netdb.h> included from
84842         getaddrinfo.h.
84843
84844 2005-09-20  Bruno Haible  <bruno@clisp.org>
84845
84846         * gnulib-tool: Remove trailing slashes from the values specified for
84847         --source-base, --m4-base, --tests-base, --aux-dir.
84848         Suggested by Simon Josefsson <jas@extundo.com>.
84849
84850 2005-09-20  Bruno Haible  <bruno@clisp.org>
84851
84852         * gnulib-tool (func_all_modules, func_modules_transitive_closure,
84853         func_modules_to_filelist, func_import, func_create_testdir): Make all
84854         sorting results locale-independent, so that gnulib-cache.m4 doesn't
84855         change when gnulib-tool is invoked in a different locale.
84856
84857 2005-09-19  Simon Josefsson  <jas@extundo.com>
84858
84859         * m4/socklen.m4: Fix typo.
84860
84861 2005-09-19  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
84862
84863         Use a consistent style for including <config.h>.
84864         * lib/__fpending.c, lib/acl.c, lib/argmatch.c, lib/argp-help.c,
84865         lib/argp-parse.c, lib/argp-pvh.c, lib/backupfile.c, lib/basename.c,
84866         lib/c-stack.c, lib/calloc.c, lib/check-version.c, lib/cloexec.c,
84867         lib/closeout.c, lib/copy-file.c, lib/creat-safer.c, lib/cycle-check.c,
84868         lib/dirfd.c, lib/dirname.c, lib/dup-safer.c, lib/dup2.c,
84869         lib/euidaccess.c, lib/exclude.c, lib/exitfail.c, lib/fatal-signal.c,
84870         lib/fd-safer.c, lib/file-type.c, lib/fileblocks.c, lib/filemode.c,
84871         lib/filenamecat.c, lib/findprog.c, lib/fnmatch.c, lib/fopen-safer.c,
84872         lib/free.c, lib/fsusage.c, lib/ftruncate.c, lib/full-write.c,
84873         lib/fwriteerror.c, lib/getaddrinfo.c, lib/getcwd.c, lib/getdelim.c,
84874         lib/getline.c, lib/getlogin_r.c, lib/getndelim2.c, lib/getnline.c,
84875         lib/getopt1.c, lib/getpass.c, lib/group-member.c, lib/hard-locale.c,
84876         lib/hash-pjw.c, lib/hash.c, lib/human.c, lib/idcache.c,
84877         lib/inet_ntop.c, lib/isdir.c, lib/long-options.c, lib/malloc.c,
84878         lib/memcasecmp.c, lib/memcmp.c, lib/memcoll.c, lib/memcpy.c,
84879         lib/memmove.c, lib/mkdir-p.c, lib/modechange.c, lib/mountlist.c,
84880         lib/open-safer.c, lib/physmem.c, lib/pipe-safer.c, lib/pipe.c,
84881         lib/poll.c, lib/posixver.c, lib/progname.c, lib/progreloc.c,
84882         lib/putenv.c, lib/quote.c, lib/quotearg.c, lib/readline.c,
84883         lib/readlink.c, lib/realloc.c, lib/regex.c, lib/rename.c, lib/rmdir.c,
84884         lib/rpmatch.c, lib/safe-read.c, lib/same.c, lib/save-cwd.c,
84885         lib/savedir.c, lib/sig2str.c, lib/strcspn.c, lib/strerror.c,
84886         lib/stripslash.c, lib/strncasecmp.c, lib/strndup.c, lib/strnlen.c,
84887         lib/strnlen1.c, lib/strsep.c, lib/strstr.c, lib/strtod.c,
84888         lib/strtoimax.c, lib/strtol.c, lib/strverscmp.c, lib/tempname.c,
84889         lib/time_r.c, lib/userspec.c, lib/utimecmp.c, lib/version-etc-fsf.c,
84890         lib/version-etc.c, lib/wait-process.c, lib/xalloc-die.c, lib/xgetcwd.c,
84891         lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c, lib/xreadlink.c,
84892         lib/xsetenv.c, lib/xstrndup.c, lib/xstrtoimax.c, lib/xstrtol.c,
84893         lib/xstrtoumax.c, lib/yesno.c:
84894         Standardize inclusion of config.h.
84895         * lib/__fpending.h, lib/dirfd.h, lib/getdate.h, lib/human.h,
84896         lib/inttostr.h:  Removed inclusion of config.h from header files.
84897         * lib/inttostr.c:  Adjusted in-tree users.
84898         * lib/timespec.h: Remove superfluous warning to include config.h.
84899         * lib/atexit.c, lib/chdir-long.c, lib/chown.c, lib/fchown-stub.c,
84900         lib/getgroups.c, lib/gettimeofday.c, lib/lchown.c, lib/lstat.c,
84901         lib/mkdir.c, lib/mkstemp.c, lib/nanosleep.c, lib/openat.c, lib/raise.c,
84902         lib/readtokens0.c, lib/readutmp.c, lib/unlinkdir.c: Guard inclusion of
84903         config.h with HAVE_CONFIG_H.
84904
84905 2005-09-19  Jim Meyering  <jim@meyering.net>
84906
84907         * modules/pathmax (License): Change to LGPL.
84908
84909 2005-09-19  Derek Price  <derek@ximbiot.com>
84910
84911         * config/srclist.txt: glibc's glob.h is now in lib/glob-libc.h.
84912
84913 2005-09-19  Bruno Haible  <bruno@clisp.org>
84914
84915         * gnulib-tool (import): Provide default for --tests-base.
84916
84917 2005-09-19  Bruno Haible  <bruno@clisp.org>
84918
84919         * doc/quote.texi: New file, extracted from gnulib.texi.
84920         * doc/ctime.texi: New file, extracted from gnulib.texi.
84921         * doc/inet_ntoa.texi: New file, extracted from gnulib.texi.
84922         * doc/gnulib-tool.texi: New file, extracted from gnulib.texi.
84923         * doc/gnulib.texi: Include them.
84924
84925 2005-09-18  Bruno Haible  <bruno@clisp.org>
84926
84927         Portability fix.
84928         * gnulib-tool (func_readlink): New function.
84929         (func_ln_if_changed): Use it.
84930
84931 2005-09-18  Bruno Haible  <bruno@clisp.org>
84932
84933         * gnulib-tool: Support --with-tests also with --import.
84934         (func_emit_tests_Makefile_am): Use variables $m4base and $testsbase.
84935         (func_import): Use variables $testsbase and $inctests. Emit a
84936         gl_TESTS_BASE form into gnulib-cache.m4. Create $testsbase/Makefile.am.
84937         Remind the user to add AC_CONFIG_FILES($testsdir/Makefile) and
84938         SUBDIRS += $testsdir.
84939         (func_create_testdir): Update.
84940
84941 2005-09-18  Bruno Haible  <bruno@clisp.org>
84942
84943         * gnulib-tool: Revise --dry-run implementation. Use variable $doit
84944         instead of $dry_run.
84945         (func_cp_if_changed, func_mv_if_changed): Remove functions.
84946         (func_ln_if_changed): Don't handle dry-run here.
84947         (func_import): In dry-run mode, detect more precisely which actions
84948         would be performed, and don't use "...ing" verbs.
84949
84950 2005-09-18  Bruno Haible  <bruno@clisp.org>
84951
84952         * gnulib-tool (func_tmpdir): New function, taken from GNU gettextize.
84953         (func_import): Use join on two temporary files instead of three nested
84954         loops, in order to determine which files are new or old.
84955
84956 2005-09-18  Bruno Haible  <bruno@clisp.org>
84957
84958         * gnulib-tool (func_import): Comment out code that spits out the
84959         new files with --dry-run.
84960
84961 2005-09-18  Bruno Haible  <bruno@clisp.org>
84962
84963         * doc/gnulib.texi (Invoking gnulib-tool): 50% rewritten.
84964
84965 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84966
84967         * lib/stat-time.h: New file.
84968         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP, ATIME_CMP, CTIME_CMP):
84969         (MTIME_CMP, TIMESPEC_NS): Remove.  Now done by stat-time.h,
84970         in a different way.
84971         (timespec_cmp): New function.
84972         * lib/utimecmp.c: Include stat-time.h.
84973         (SYSCALL_RESOLUTION): Depend on whether various struct stat
84974         members exist, not on the obsolescent ST_MTIM_NSEC.
84975         (utimecmp): Use the new stat-time functions rater than TIMESPEC_NS.
84976
84977 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84978
84979         * config/srclist.txt: Remove glibc bug 1033 and uncomment mktime.c.
84980
84981 2005-09-16  Paul Eggert  <eggert@cs.ucla.edu>
84982
84983         * MODULES.html.sh (File system functions): Add stat-time.
84984         * modules/stat-time: New file.
84985         * modules/timespec (Files): Remove m4/st_mtim.m4; this
84986         is now done in a different way, by the stat-time module.
84987         * modules/utimecmp (Depends-on): Add stat-time.
84988
84989 2005-09-15  Paul Eggert  <eggert@cs.ucla.edu>
84990
84991         * m4/st_mtim.m4: Remove.  Superseded by...
84992         * m4/stat-time.m4: New file.
84993         * m4/timespec.m4 (gl_TIMESPEC): Require AC_C_INLINE.
84994         Do not invoke AC_STRUCT_ST_MTIM_NSEC; no longer needed.
84995
84996 2005-09-15  Derek Price  <derek@ximbiot.com>
84997
84998         * m4/strstr.m4 (gl_FUNC_STRSTR): Don't define strstr here.
84999
85000 2005-09-15  Derek Price  <derek@ximbiot.com>
85001
85002         * lib/regex_internal.h: Blank `pure' for GNUC < 3.
85003         * lib/regex_internal.c: Ditto, using this...
85004         (__GNUC_PREREQ): ...new macro.
85005         * lib/regcomp.c, regexec.c: Blank `always_inline' for GNUC < 3.1
85006         using...
85007         (__GNUC_PREREQ): ...this new macro.
85008
85009         * lib/strstr.h: Include string.h. Define strstr as a macro here.
85010
85011 2005-09-15  Derek Price  <derek@ximbiot.com>
85012             Paul Eggert  <eggert@cs.ucla.edu>
85013
85014         * lib/regcomp.c, regexec.c, regex_internal.c: Back out previous
85015         changes, consolidating in...
85016         * lib/regex_internal.h: ...this file.
85017
85018 2005-09-13  Jim Meyering  <jim@meyering.net>
85019
85020         * lib/canon-host.c: Filter through gnu indent and reword comments
85021         slightly.
85022         * lib/canon-host.h (ch_strerror_r): Tweak cpp indentation and spacing.
85023
85024 2005-09-13  Derek Price  <derek@ximbiot.com>
85025
85026         * lib/canon-host.c (canon_host_r): Set *cherror on memory allocation
85027         failure.
85028         Reported by Jim Meyering  <jim@meyering.net>.
85029
85030 2005-09-12  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
85031
85032         * lib/base64.c: Typo.
85033         (base64_encode): Put b64str in initialized data section.
85034
85035 2005-09-12  Paul Eggert  <eggert@cs.ucla.edu>
85036
85037         Merge glibc and coreutils changes into gnulib, plus a few
85038         extra fixes.
85039         * lib/md5.c: Use #error rather than a string.
85040         (CYCLIC): New macro, from glibc source.  Use it instead of rol.
85041         * lib/md5.h (__GNUC_PREREQ, __THROW): Define if not defined already.
85042         (__attribute__): Define to empty for non recent-GCC.
85043         (__md5_buffer, __md5_finish_ctx, __md5_init_ctx, __md5_process_block):
85044         (__md5_process_bytes, __md5_read_ctx, __md5_stream):
85045         Renamed from their non-__ counterparts, with new macros replacing
85046         them if not _LIBC.  Add __THROW attribute.
85047         (rol): Remove.
85048         (struct md5_ctx): Align buffer if using GCC.
85049         * lib/sha1.h (struct sha1_ctx): Likewise.
85050         * lib/sha1.c (SWAP): Renamed from the NOTSWAP.  All uses changed.
85051         The old name was backwards.
85052         (NOTSWAP): Remove; not used.
85053         (rol): New macro, moved here from md5.h.
85054         (sha1_process_block): Remove a FIXME that doesn't make sense.
85055
85056 2005-09-12  Derek Price  <derek@ximbiot.com>
85057
85058         Return usable errors from canon-host.
85059         * lib/canon-host.h: New file.
85060         * lib/canon-host.c (canon_host): Wrap...
85061         (canon_host_r): ...this new function, which now relies exclusively on
85062         getaddrinfo.
85063         (ch_strerror): New function.
85064         (last_cherror): New global.
85065         * lib/getaddrinfo.c: Move include of getaddrinfo.h first to test
85066         interface.
85067         (getaddrinfo): Add AI_CANONNAME functionality.  Don't do arithmetic on
85068         void *.
85069         (freeaddrinfo): Free ai->ai_canonname when set.
85070
85071 2005-09-12  Derek Price  <derek@ximbiot.com>
85072
85073         Make canon-host require getaddrinfo.
85074         * m4/canon-host.m4 (gl_CANON_HOST): Remove most dependencies.
85075         AC_LIBSOURCE canon-host.h.  Call...
85076         (gl_PREREQ_CANON_HOST): ...this new function, which requires
85077         gl_GETADDRINFO.
85078         * m4/getaddrinfo.m4 (gl_GETADDRINFO): Compile gai_strerror when needed.
85079
85080 2005-09-12  Derek Price  <derek@ximbiot.com>
85081
85082         * modules/canon-host: Add canon-host.h.  Depend on getaddrinfo.  Make
85083         LGPL.
85084         * modules/getaddrinfo: Add link to opengroup spec.  Depend on strdup.
85085
85086 2005-09-12  Derek Price  <derek@ximbiot.com>
85087
85088         * lib/gai_strerror.c: Include config.h when available.  Include
85089         getaddrinfo.h before other headers to test interface.
85090         Reported by Larry Jones <lawrence.jones@ugs.com>.
85091
85092 2005-09-12  Derek Price  <derek@ximbiot.com>
85093             Paul Eggert  <eggert@cs.ucla.edu>
85094
85095         * modules/glob (Files): Add glob-libc.h.
85096
85097 2005-09-12  Derek Price  <derek@ximbiot.com>
85098             Paul Eggert  <eggert@cs.ucla.edu>
85099
85100         * m4/glob.m4 (gl_GLOB_SUBSTITUTE): AC_LIBSOURCES for glob.c,
85101         glob_.h, glob-libc.h.
85102         (gl_PREREQ_GLOB): Remove _SYS_CDEFS_H hack; no longer needed.
85103
85104 2005-09-12  Derek Price  <derek@ximbiot.com>
85105             Paul Eggert  <eggert@cs.ucla.edu>
85106
85107         * lib/glob-libc.h: Renamed from glob_.h.  The new version is
85108         taken from libc's glob.h, except with '#ifdef __GLOB_GNULIB'
85109         protecting things that should be done only in gnulib contexts.
85110         * lib/glob_.h: New file, containing only the glob things needed for
85111         gnulib.
85112         (GLOB_PREFIX): Remove.  All uses changed to look for __GLOB_GNULIB.
85113         (__GLOB_CONCAT, __GLOB_XCONCAT, __GLOB_ID): Remove; no longer needed.
85114         (glob, globfree, glob_pattern_p): Now defined simply in terms of
85115         rpl_glob, rpl_globfree, rpl_glob_pattern_p.
85116         (__GLOB_GNULIB): New macro, to keep the glob.h changes clearer
85117         and to respect the namespace rules better.
85118
85119 2005-09-08  Simon Josefsson  <jas@extundo.com>
85120
85121         * modules/socklen: New file.
85122
85123 2005-09-08  Simon Josefsson  <jas@extundo.com>
85124
85125         * m4/socklen.m4: New file.
85126
85127 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
85128
85129         * modules/utimens (Files): Add m4/utimbuf.m4, since
85130         m4/utimens.m4 requires gl_CHECK_TYPE_STRUCT_UTIMBUF.
85131         Reported by Sergey Poznyakoff.
85132
85133 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
85134
85135         * lib/glob.c (glob, globfree, __glob_pattern_p): Use old-style function
85136         definitions, since that's the preferred style in glibc.
85137         Fix a minor spacing issue, and update copyright notice to match
85138         glibc's.
85139
85140 2005-09-08  Paul Eggert  <eggert@cs.ucla.edu>
85141
85142         * config/srclist.txt: Remove glibc bug 1061; it's been fixed.
85143
85144 2005-09-06  Simon Josefsson  <jas@extundo.com>
85145
85146         * lib/getpass.c (getpass): Fix typo, test for HAVE_TCSETATTR and not
85147         TCSETATTR.  Reported by Derek Price <derek@ximbiot.com>.
85148
85149 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
85150
85151         * lib/regex_internal.h (bitset_not): Add parens to avoid gcc -Wall
85152         warning.
85153
85154 2005-09-06  Paul Eggert  <eggert@cs.ucla.edu>
85155
85156         * config/srclist.txt: Add glibc bug 1302.
85157
85158 2005-09-05  Paul Eggert  <eggert@cs.ucla.edu>
85159
85160         Change bitset word type from unsigned int to unsigned long int,
85161         as this has better performance on typical 64-bit hosts.
85162         Port bitset code to hosts with unusual word sizes.
85163         * lib/regcomp.c (build_equiv_class, build_charclass, build_range_exp):
85164         (build_collating_symbol):
85165         Prefer bitset to re_bitset_ptr_t in prototypes, when the actual
85166         argument is a bitset.  This is merely a style issue, but it makes
85167         it clearer that an entire array is expected.
85168         (re_compile_fastmap_iter, init_dfa, init_word_char, optimize_subexps):
85169         * lib/regcomp.c (lower_subexp, parse_bracket_exp, built_charclass_op):
85170         Port to the case where bitset_word is not the same as unsigned int.
85171         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
85172         (bitset_not, bitset_merge, bitset_set_all, bitset_mask):
85173         Likewise.
85174         * lib/regexec.c (check_dst_limits_calc_pos_1,
85175         check_subexp_matching_top):
85176         (build_trtable, group_nodes_into_DFAstates):
85177         Likewise.
85178         * lib/regcomp.c (re_compile_fastmap_iter, utf8_sb_map, optimize_utf8):
85179         Don't assume that SBC_MAX is a multiple of BITSET_WORD_BITS.
85180         * lib/regex_internal.h (bitset_set_all, bitset_not): Likewise.
85181         * lib/regexec.c (group_nodes_into_DFAstates): Likewise.
85182         * lib/regcomp.c (utf8_sb_map): Don't assume UINT_MAX == 0xffffffff.
85183         * lib/regcomp.c (optimize_subexps, lower_subexp):
85184         Work even if bitset_word has holes in its bitwise representation.
85185         * lib/regex_internal.h (BITSET_WORD_BITS): Likewise.
85186         * lib/regexec.c (check_dst_limits_calc_pos_1,
85187         check_subexp_matching_top):
85188         Likewise.
85189         * lib/regex_internal.c (re_string_reconstruct):
85190         Don't assume UCHAR_MAX == 255.
85191         * lib/regex_internal.h (bitset_set_all): Likewise.
85192         * lib/regex_internal.h (BITSET_WORD_BITS): Renamed from UINT_BITS.
85193         All uses changed.
85194         (BITSET_WORDS): Renamed from BITSET_UINTS.  All uses changed.
85195         (bitset_word): New type, replacing 'unsigned int' for bitset uses.
85196         All uses changed.
85197         (BITSET_WORD_MAX): New macro.
85198         (bitset_set, bitset_clear, bitset_contain, bitset_empty):
85199         (bitset_set_all, bitset_copy):  Now inline functions, not macros.
85200         (bitset_empty, bitset_copy):
85201         Prefer sizeof (bitset) to multiplying it out ourselves.
85202         (bitset_not_merge): Remove; unused.
85203         (bitset_contain): Return bool, not unsigned int with one bit on.
85204         All callers changed.
85205         * lib/regexec.c (build_trtable): Don't assume bitset has no stricter
85206         alignment than re_node_set; do this by defining a new internal
85207         type struct dests_alloc and using it to allocate memory.
85208
85209 2005-09-05  Bruno Haible  <bruno@clisp.org>
85210
85211         * gnulib-tool (func_import): Fix comparison in handling of symbolic
85212         links.
85213
85214 2005-09-04  Martin Lambers  <marlam@marlam.de>  (tiny change)
85215
85216         * modules/size_max (Makefile.am): Add size_max.h
85217
85218 2005-09-04  Derek Price  <derek@ximbiot.com>
85219
85220         * gnulib-tool (func_import): Fix reversed $symbolic logic.
85221
85222 2005-09-03  Simon Josefsson  <jas@extundo.com>
85223
85224         * gnulib-tool: Fix typo.
85225
85226 2005-09-03  Simon Josefsson  <jas@extundo.com>
85227
85228         * config/srclist.txt: Add glibc bug 1293.
85229
85230 2005-09-03  Derek Price  <derek@ximbiot.com>
85231
85232         * m4/getlogin_r (gl_GETLOGIN_R): Fix cut & paste error.
85233         From Larry Jones <lawrence.jones@ugs.com>.
85234
85235 2005-09-02  Simon Josefsson  <jas@extundo.com>
85236
85237         * modules/socklen: New file.
85238
85239 2005-09-02  Simon Josefsson  <jas@extundo.com>
85240
85241         * modules/havelib: New module.
85242
85243         * modules/gettext, modules/iconv, modules/lock, modules/readline:
85244         Use havelib.
85245
85246 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
85247
85248         Check for arithmetic overflow when calculating sizes, to prevent
85249         some buffer-overflow issues.  These patches are conservative, in the
85250         sense that when I couldn't determine whether an overflow was possible,
85251         I inserted a run-time check.
85252         * lib/regex_internal.h (re_xmalloc, re_xrealloc, re_x2realloc): New
85253         macros.
85254         (SIZE_MAX) [!defined SIZE_MAX]: New macro.
85255         (re_alloc_oversized, re_x2alloc_oversized, re_xnmalloc):
85256         (re_xnrealloc, re_x2nrealloc): New inline functions.
85257         * lib/regcomp.c (init_dfa, analyze, build_range_exp,
85258         parse_bracket_exp):
85259         (build_equiv_class, build_charclass): Check for arithmetic overflow
85260         in size expression calculations.
85261         * lib/regex_internal.c (re_string_realloc_buffers):
85262         (build_wcs_upper_buffer, re_node_set_add_intersect):
85263         (re_node_set_init_union, re_node_set_insert, re_node_set_insert_last):
85264         (re_dfa_add_node, register_state): Likewise.
85265         * lib/regexec.c (re_search_stub, re_copy_regs, re_search_internal):
85266         (prune_impossible_nodes, push_fail_stack, set_regs, check_arrival):
85267         (build_trtable, extend_buffers, match_ctx_init, match_ctx_add_entry):
85268         (match_ctx_add_subtop, match_ctx_add_sublast): Likewise.
85269
85270 2005-09-02  Paul Eggert  <eggert@cs.ucla.edu>
85271
85272         * modules/inttostr (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
85273         m4/ulonglong.m4.  Problem reported by Martin Lambers.
85274
85275 2005-09-02  Bruno Haible  <bruno@clisp.org>
85276
85277         Support for lib vs. lib64 distinction on biarch platforms.
85278         * m4/lib-prefix.m4 (AC_LIB_PREPARE_MULTILIB): New macro.
85279         (AC_LIB_PREFIX): Require it. Use $acl_libdirstem instead of 'lib'.
85280         * m4/lib-link.m4 (AC_LIB_LINKFLAGS_BODY): Likewise.
85281
85282 2005-09-02  Bruno Haible  <bruno@clisp.org>
85283
85284         * gnulib-tool (import): In the other first-use case, provide defaults
85285         as well.
85286
85287 2005-09-02  Bruno Haible  <bruno@clisp.org>
85288
85289         * config/srclist.txt: lib-link.m4 and lib-prefix.m4 currently have
85290         patches not yet found in the latest gettext release.
85291
85292 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
85293
85294         * lib/glob.c (GET_LOGIN_NAME_MAX): Renamed from LOGIN_NAME_MAX,
85295         to avoid a collision with bits/local_lim.h in glibc.
85296         All uses changed.  Problem reported by Dmitry V. Levin in
85297         <http://sources.redhat.com/bugzilla/show_bug.cgi?id=1060>.
85298
85299         * lib/regex_internal.c (build_wcs_upper_buffer): Fix portability
85300         bugs in int versus size_t comparisons.
85301         (re_string_context_at): Fix bug where the code assumed that
85302         Idx is signed.
85303
85304         Use bool where appropriate.
85305         * lib/regcomp.c (re_set_fastmap): ICASE arg is bool, not int.
85306         All callers changed.
85307         (calc_eclosure_iter): Likewise, for ROOT arg.
85308         (parse_bracket_element): Likewise, for ACCEPT_HYPHEN arg.
85309         (build_charclass_op): Likewise, for NON_MATCH arg.
85310         * lib/regex_internal.c (re_string_allocate, re_string_construct):
85311         (re_string_construct_common): Likewise, for ICASE arg.
85312         * lib/regexec.c (re_search_2_stub, re_search_stub):
85313         Likewise, for RET_LEN arg.
85314         (check_matching): Likewise, for FL_LONGEST_MATCH arg.
85315         (set_regs): Likewise, for FL_BACKTRACK arg.
85316         * lib/regcomp.c (re_compile_fastmap_iter, optimize_utf8):
85317         (duplicate_node_closure, calc_inveclosure, calc_eclosure):
85318         (calc_eclosure_iter, parse_bracket_exp):
85319         Use bool for internal variables that are booleans.
85320         * lib/regexec.c (re_search_internal, check_matching,
85321         proceed_next_node):
85322         (set_regs, build_sifted_states, sift_states_bkref):
85323         (check_arrival_add_next_nodes, check_arrival_expand_ecl_sub):
85324         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
85325         (find_collation_sequence_value):
85326         Likewise.
85327         * lib/regex_internal.c (re_node_set_insert, re_node_set_insert_last):
85328         (re_node_set_compare):
85329         Return bool, not int. All callers changed.
85330         * lib/regexec.c (check_halt_node_context, check_dst_limits):
85331         (build_trtable, check_node_accept): Likewise.
85332         * lib/regex_internal.h: Include stdbool.h.
85333
85334         Fix bugs uncovered when converting to bool.
85335         * lib/regcomp.c (calc_eclosure_iter): Check for storage allocation
85336         failure instead of charging ahead blindly.
85337         * lib/regex_internal.c (register_state): Likewise.
85338         * lib/regexec.c (re_search_2_stub): Use simpler method than boolean
85339         for freeing internal storage.
85340         (group_nodes_into_DFA_states): Use unsigned int, not int, for
85341         bitset pieces used as boolean, to avoid undefined behavior
85342         on hosts that do int overflow checking.
85343
85344 2005-09-01  Paul Eggert  <eggert@cs.ucla.edu>
85345
85346         * config/srclist.txt: Add glibc bugs 1285-1287.
85347
85348 2005-09-01  Jim Meyering  <jim@meyering.net>
85349
85350         * m4/lchown.m4: Require gl_FUNC_CHOWN, for the definition of
85351         CHOWN_MODIFIES_SYMLINK, which is used by lchown.c.
85352         Require gl_STAT_MACROS, too.
85353
85354 2005-09-01  Bruno Haible  <bruno@clisp.org>
85355
85356         * gnulib-tool (import): In the first-use case, provide defaults.
85357
85358 2005-09-01  Bruno Haible  <bruno@clisp.org>
85359
85360         * gnulib-tool (func_import): Remove the .tmp files.
85361
85362 2005-09-01  Bruno Haible  <bruno@clisp.org>
85363
85364         * gnulib-tool (func_import): Fix handling of symbolic links.
85365
85366 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85367
85368         On 64-bit hosts (where size_t is 64 bits and int is 32 bits), the
85369         old glibc regex code mishandles strings longer than 2**31 bytes.
85370         This patch fixes this when the regex code is used in gnulib
85371         (i.e., outside glibc).
85372
85373         This patch should not affect the use of the regex code inside
85374         glibc.  No doubt this problem also needs to be handled for glibc
85375         as well, but the result will be an incompatible change to the
85376         glibc ABI, and the old ABI will have to be supported too.  That
85377         can be the the subject for another patch.
85378
85379         * lib/regex.h (_REGEX_LARGE_OFFSETS): New feature-test macro,
85380         governing whether the rest of this patch is active.  By default,
85381         the macro is disabled and the patch has no effect.
85382         (regoff_t) [defined _REGEX_LARGE_OFFSETS]: Define to off_t, not int.
85383         (__re_idx_t, __re_size_t, __re_long_size_t): New types.
85384         (struct re_pattern_buffer, re_search, re_search_2, re_match):
85385         (re_match_2, re_set_registers): Use the new types.
85386         * lib/regex_internal.h (Idx, re_hashval_t): New types.
85387         (REG_MISSING, REG_ERROR, REG_VALID_INDEX, REG_VALID_NONZERO_INDEX):
85388         New macros.
85389         (re_node_set, re_charset_t, re_token_t, re_string_realloc_buffers):
85390         (re_string_context_at, bin_tree_t, re_dfastate_t):
85391         (struct re_state_table_entry, state_array_t, re_sub_match_last_t):
85392         (re_sub_match_top_t, re_match_context_t, re_sift_context_t):
85393         (struct re_fail_stack_ent_t, struct re_fail_stack_t, struct re_dfa_t):
85394         (re_string_char_size_at, re_string_wchar_at):
85395         (re_string_elem_size_at):
85396         Use the new types and macros to port to 64-bit hosts.
85397         Use unsigned types for internal values, so that the code
85398         mostly works even for arrays larger than SSIZE_MAX.
85399         * lib/regcomp.c (re_compile_internal, init_dfa, duplicate_node):
85400         (search_duplicated_node, calc_eclosure_iter, fetch_number):
85401         (parse_reg_exp, parse_branch, parse_expression, parse_sub_exp):
85402         (build_equiv_class, build_charclass, re_compile_fastmap_iter):
85403         (free_dfa_content, create_initial_state, optimize_utf8, analyze):
85404         (optimize_subexps, calc_first, link_nfa_nodes, duplicate_node_closure):
85405         (calc_inveclosure, parse_dup_op, build_range_exp):
85406         (build_collating_symbol, parse_bracket_exp, build_charclass_op):
85407         (fetch_number, create_token_tree, mark_opt_subexp):
85408         Likewise.
85409         * lib/regex_internal.c (re_string_construct_common,
85410         create_ci_newstate):
85411         (create_cd_newstate, re_string_allocate, re_string_construct):
85412         (re_string_realloc_buffers, build_wcs_upper_buffer):
85413         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
85414         (re_string_reconstruct, re_string_peek_byte_case):
85415         (re_string_fetch_byte_case, re_string_context_at):
85416         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
85417         (re_node_set_init_copy, re_node_set_add_intersect):
85418         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85419         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85420         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
85421         (re_acquire_state, re_acquire_state_context, register_state):
85422         Likewise.
85423         * lib/regex.c (match_ctx_init, match_ctx_add_entry,
85424         search_cur_bkref_entry):
85425         (match_ctx_add_subtop, match_ctx_add_sublast, sift_ctx_init):
85426         (re_search_internal, re_search_2_stub, re_search_stub)
85427         (re_copy_regs, check_matching, check_halt_state_context, update_regs):
85428         (push_fail_stack, sift_states_iter_mb, build_sifted_states):
85429         (update_cur_sifted_state, check_dst_limits):
85430         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85431         (check_subexp_limits, sift_states_bkref, merge_state_array):
85432         (check_subexp_matching_top, get_subexp, get_subexp_sub):
85433         (find_subexp_node, check_arrival, check_arrival_add_next_nodes):
85434         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
85435         (expand_bkref_cache, check_node_accept_bytes):
85436         (group_nodes_into_DFAstates, check_node_accept, regexec, re_match):
85437         (re_search, re_match_2, re_search_2, prune_impossible_nodes):
85438         (acquire_init_state_context, check_halt_node_context):
85439         (proceed_next_node, pop_fail_stack, set_regs, free_fail_stack_return):
85440         (sift_states_backward, clean_state_log_if_needed):
85441         (sub_epsilon_src_nodes, add_epsilone_src_nodes, merge_state_with_log):
85442         (find_recover_state, transit_state_sb, transit_state_mb):
85443         (transit_state_bkref, build_trtable, match_ctx_clean):
85444         Likewise.
85445         * lib/regcomp.c (parse_dup_op): Add an extra test if Idx is unsigned,
85446         to work around an assumption that REG_MISSING is negative.
85447
85448         * lib/regcomp.c (re_comp) [defined _REGEX_RE_COMP || defined _LIBC]:
85449         (seek_collating_symbol_entry) [defined _LIBC]:
85450         (lookup_collation_sequence_value) [defined _LIBC]:
85451         (build_range_exp, build_collating_symbol) [defined _LIBC]:
85452         Use prototypes rather than old-style function definitions.
85453         * lib/regexec.c (re_exec) [defined _REGEX_RE_COMP || defined _LIBC]:
85454         (transit_state_sb) [0]:
85455         (find_collation_sequence_value) [defined _LIBC]: Likewise.
85456
85457         * lib/regexec.c (re_search_internal): Simplify update of rm_so and
85458         rm_eo.
85459
85460         * lib/regcomp.c (re_compile_fastmap_iter, init_dfa, init_word_char):
85461         (optimize_subexps, lower_subexp):
85462         Don't assume 1<<31 has defined behavior on hosts with 32-bit int,
85463         since the signed shift might overflow.  Use 1u<<31 instead.
85464         * lib/regex_internal.h (bitset_set, bitset_clear, bitset_contain):
85465         Likewise.
85466         * lib/regexec.c (check_dst_limits_calc_pos_1,
85467         check_subexp_matching_top): Likewise.
85468
85469         * lib/regcomp.c (optimize_subexps, lower_subexp):
85470         Use CHAR_BIT rather than 8, for clarity.
85471         * lib/regexec.c (check_dst_limits_calc_pos_1):
85472         (check_subexp_matching_top): Likewise.
85473         * lib/regcomp.c (init_dfa): Make table_size unsigned, so that we don't
85474         have to worry about portability issues when shifting it left.
85475         Remove no-longer-needed test for table_size > 0.
85476         * lib/regcomp.c (parse_sub_exp): Do not shift more bits than there are
85477         in a word, as the resulting behavior is undefined.
85478         * lib/regexec.c (check_dst_limits_calc_pos_1): Likewise;
85479         in one case, a <= should have been an <, and in another case the
85480         whole test was missing.
85481         * lib/regex_internal.h (BYTE_BITS): Remove.  All uses changed to
85482         the standard name CHAR_BIT.
85483         * lib/regexec.c (match_ctx_add_entry): Don't assume that ~0 == -1;
85484         this is not true on one's complement and signed-magnitude hosts.
85485
85486         * lib/regex_internal.h (re_sub_match_top_t): Remove unused member
85487         next_last_offset.
85488         (struct re_dfa_t): Remove unused member states_alloc.
85489         * lib/regcomp.c (init_dfa): Don't initialize unused members.
85490
85491 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85492
85493         * m4/regex.m4 (gl_REGEX): Require AC_SYS_LARGEFILE, Define
85494         _REGEX_LARGE_OFFSETS).  Test for regoff_t/off_t bug in 64-bit
85495         and large-file glibc and in 32-bit large-file Solaris.
85496
85497 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85498
85499         * lib/regex_internal.c (re_string_reconstruct): Don't assume buffer
85500         lengths fit in regoff_t; this isn't true if regoff_t is the same
85501         width as size_t.
85502         * lib/regex.c (re_search_internal): 5th arg is LAST_START
85503         (= START + RANGE) instead of RANGE.  This avoids overflow
85504         problems when regoff_t is the same width as size_t.
85505         All callers changed.
85506         (re_search_2_stub): Check for overflow when adding the
85507         sizes of the two strings.
85508         (re_search_stub): Check for overflow when adding START
85509         to RANGE; if it occurs, substitute the extreme value.
85510
85511 2005-08-31  Paul Eggert  <eggert@cs.ucla.edu>
85512
85513         * config/srclist.txt: Add glibc bugs 1273, 1278-1282, 1284.
85514
85515 2005-08-31  Jim Meyering  <jim@meyering.net>
85516
85517         * lib/regcomp.c (search_duplicated_node): Make first pointer arg
85518         a pointer-to-const.
85519         * lib/regex_internal.c (create_ci_newstate, create_cd_newstate):
85520         (register_state): Likewise.
85521         * lib/regexec.c (search_cur_bkref_entry, check_dst_limits):
85522         (check_dst_limits_calc_pos_1, check_dst_limits_calc_pos):
85523         (group_nodes_into_DFAstates): Likewise.
85524
85525 2005-08-31  Jim Meyering  <jim@meyering.net>
85526
85527         * check-module: Add a FIXME comment.
85528
85529 2005-08-31  Eric Blake  <ebb9@byu.net>
85530
85531         * modules/unistd-safer (Files): Add unistd--.h.
85532         * modules/stdio-safer (Files): Add stdio--.h.
85533
85534 2005-08-31  Derek Price  <derek@ximbiot.com>
85535
85536         * lib/getdelim.c (getdelim): Return EOF on EOF.
85537         Reported by Larry Jones <lawrence.jones@ugs.com>.
85538
85539 2005-08-31  Bruno Haible  <bruno@clisp.org>
85540
85541         Avoid unnecessary diffs in the generated lib/Makefile.am.
85542         * gnulib-tool (func_emit_lib_Makefile_am): Don't write the cmd into
85543         the generated files.
85544         (func_import): Don't set cmd.
85545
85546 2005-08-31  Bruno Haible  <bruno@clisp.org>
85547
85548         * lib/strstr.c: Include <stddef.h>, for NULL.
85549         * lib/strcasestr.c: Likewise.
85550         Reported by Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
85551
85552 2005-08-31  Bruno Haible  <bruno@clisp.org>
85553
85554         * gnulib-tool: New option --macro-prefix.
85555         (func_import): Use macro_prefix.
85556         (import): Handle option --macro-prefix.
85557
85558 2005-08-31  Bruno Haible  <bruno@clisp.org>
85559
85560         * gnulib-tool (import): Rename most ac_* variables to cached_*.
85561         Also use new variables cached_lgpl, cached_libtool.
85562
85563 2005-08-31  Bruno Haible  <bruno@clisp.org>
85564
85565         * gnulib-tool (func_import): Require AC_GNU_SOURCE etc. instead of
85566         always instantiating them.
85567
85568 2005-08-31  Bruno Haible  <bruno@clisp.org>
85569
85570         * gnulib-tool (func_import): Read the previous cached settings
85571         from gnulib-cache.m4 and gnulib-comp.m4. Remove files that were
85572         earlier added by gnulib but are now dropped. Warn when a gnulib file
85573         overwrites a non-gnulib file.
85574
85575 2005-08-31  Bruno Haible  <bruno@clisp.org>
85576
85577         * gnulib-tool (func_import): Generate two files gnulib-cache.m4 and
85578         gnulib-comp.m4 instead of a single gnulib.m4, to make it easy for
85579         projects that don't keep autogenerated files in CVS. Put into
85580         actioncmd only the specified modules, not the transitive closure.
85581
85582 2005-08-31  Bruno Haible  <bruno@clisp.org>
85583
85584         * gnulib-tool (func_import): Fix defaulting of $libname and $libtool.
85585         Create directories that shall be filled.
85586         (import): Don't look for gl_* macros in configure.ac. Recurse across
85587         all directories containing a gnulib-cache.m4 files, if meaningful.
85588
85589 2005-08-31  Bruno Haible  <bruno@clisp.org>
85590
85591         * gnulib-tool (func_import): Emit also a stub for gl_LIBTOOL.
85592         (import): Set seen_libtool when we see gl_LIBTOOL.
85593
85594 2005-08-31  Bruno Haible  <bruno@clisp.org>
85595
85596         * gnulib-tool (func_import): Also copy m4/gnulib-tool.m4. Omit
85597         declaration macro definitions from generated gnulib.m4.
85598
85599 2005-08-30  Oskar Liljeblad  <oskar@osk.mine.nu>
85600
85601         * lib/iconvme.h: Add prototype for iconv_alloc.
85602
85603 2005-08-29  Simon Josefsson  <jas@extundo.com>
85604
85605         * lib/iconvme.c: Fix errno.
85606
85607 2005-08-29  Bruno Haible  <bruno@clisp.org>
85608
85609         * gnulib-tool: Enclose all occurrences of $destdir in "...", so
85610         that it works when the directory contains spaces.
85611
85612 2005-08-29  Bruno Haible  <bruno@clisp.org>
85613
85614         * gnulib-tool (import): Avoid unnecessary spaces in $avoidlist.
85615
85616 2005-08-29  Bruno Haible  <bruno@clisp.org>
85617
85618         * gnulib-tool (func_import): Emit more comments into gnulib.m4.
85619         Emit more advice.
85620
85621 2005-08-29  Bruno Haible  <bruno@clisp.org>
85622         and Stepan Kasal  <kasal@ucw.cz>
85623
85624         * check-module: If more parameters are given, check each of them
85625         separately; add more exceptions, as noted by Jim Meyering.
85626         (check_module): New procedure.
85627         (%exempt_header): Now contains all exceptions.
85628
85629 2005-08-29  Ben Pfaff  <blp@cs.stanford.edu>
85630
85631         * modules/byteswap (Makefile.am): Fix rule to not assume GNU make.
85632
85633 2005-08-29  Oskar Liljeblad  <oskar@osk.mine.nu>
85634
85635         * lib/iconvme.c: Split iconv_string into iconv_alloc.
85636
85637 2005-08-28  Bruno Haible  <bruno@clisp.org>
85638
85639         * m4/gnulib-tool.m4: New file.
85640
85641 2005-08-27  Jim Meyering  <jim@meyering.net>
85642
85643         * modules/unistd-safer (Files): Add pipe-safer.c.
85644         * modules/fcntl-safer (Files): Add creat-safer.c.
85645
85646 2005-08-27  Jim Meyering  <jim@meyering.net>
85647
85648         * m4/stdlib-safer.m4: New file.  From coreutils.
85649         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Add stdio--.h.
85650         * m4/fcntl-safer.m4 (gl_FCNTL_SAFER): Add creat-safer.c to the
85651         AC_LIBSOURCES list and arrange to compile it via AC_LIBOBJ.
85652         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise, add pipe-safer.c.
85653         Add pipe-safer.c and unistd--.h to the AC_LIBSOURCES list.
85654
85655 2005-08-27  Jim Meyering  <jim@meyering.net>
85656
85657         * lib/fopen-safer.c: Merge minor changes from coreutils.
85658         * lib/dup-safer.c: Likewise.
85659         * lib/fd-safer.c: Likewise.
85660
85661         Merge from coreutils.
85662         * lib/stdio--.h: New file.
85663         * lib/stdlib--.h: New file.
85664         * lib/mkstemp-safer.c: New file.
85665
85666         GNU tar needs these.
85667         * lib/pipe-safer.c: New file.
85668         * lib/creat-safer.c: New file.
85669         * lib/fcntl--.h (creat): Define to creat_safer.
85670         * lib/fcntl-safer.h: Include <sys/types.h> and declare creat_safer.
85671         * lib/unistd--.h (pipe): Define to pipe_safer.
85672         * lib/unistd-safer.h: Declare pipe_safer.
85673
85674 2005-08-26  Simon Josefsson  <jas@extundo.com>
85675
85676         * lib/getpass.c: Use _WIN32 instead of WIN32, suggested by Bruno
85677         Haible <bruno@clisp.org>.
85678
85679 2005-08-26  Paul Eggert  <eggert@cs.ucla.edu>
85680
85681         * lib/regex_internal.h: Remove all references to
85682         RE_NO_INTERNAL_PROTOTYPES; no longer neeeded now that we assume C89
85683         or better.
85684         (bitset_not, bitset_merge, bitset_not_merge):
85685         (bitset_mask, re_string_allocate, re_string_construct):
85686         (re_string_reconstruct, re_string_destruct, re_string_elem_size_at):
85687         (re_string_char_size_at, re_string_wchar_at, re_string_peek_byte_case):
85688         (re_string_fetch_byte_case, re_node_set_alloc, re_node_set_init_1):
85689         (re_node_set_init_2, re_node_set_init_copy, re_node_set_add_intersect):
85690         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
85691         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
85692         (re_node_set_remove_at, re_dfa_add_node, re_acquire_state):
85693         (re_acquire_state_context):
85694         Remove unnecessary forward decls.
85695         (re_string_char_size_at, re_string_wchar_at, re_string_elem_size_at):
85696         Put __attribute at function definition,
85697         now that the function decl has been removed.
85698         * lib/regex_internal.c (re_string_peek_byte_case):
85699         (re_string_fetch_byte_case, re_node_set_compare, re_node_set_contains):
85700         Likewise.
85701
85702 2005-08-25  Stepan Kasal  <kasal@ucw.cz>
85703
85704         * m4/regex.m4: Add AC_PREREQ(2.50).
85705         (gl_REGEX): If --with-included-regex was given, skip the autodetection.
85706
85707 2005-08-25  Simon Josefsson  <jas@extundo.com>
85708
85709         * m4/getpass.m4: Check for termios.h, tcgetattr, tcsetattr, and
85710         __fsetlocking.
85711
85712 2005-08-25  Simon Josefsson  <jas@extundo.com>
85713
85714         * lib/getpass.c: Add WIN32 implementation.  Conditionalize use of
85715         termios.h, tcgetattr, tcsetattr and __fsetlocking.  Remove some
85716         GLIBC specific code.
85717
85718 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85719
85720         Make regex safe for g++.  This fixes one real bug (an "err"
85721         that should have been "*err").  g++ problem reported by
85722         Sam Steingold.
85723         * lib/regex_internal.h (re_calloc): New macro, consistent with
85724         re_malloc etc.  All callers of calloc changed to use re_calloc.
85725         * lib/regex_internal.c (build_wcs_upper_buffer): Return reg_errcode_t,
85726         not int.  All callers changed.
85727         * lib/regcomp.c (re_compile_fastmap_iter): Don't use
85728         alloca (mb_cur_max); just use an array of size MB_LEN_MAX.
85729         * lib/regexec.c (push_fail_stack): Use re_realloc, not realloc.
85730         (find_recover_state): Change "err" to "*err"; this fixes what
85731         appears to be a real bug.
85732         (check_arrival_expand_ecl_sub): Be consistent about reg_errcode_t
85733         versus int.
85734
85735 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85736
85737         * modules/regex (Depends-on): Add malloc, since the code
85738         assumes that !malloc(0) means failure.
85739
85740 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85741
85742         * lib/regexec.c (set_regs): Don't alloca with an unbounded size.
85743
85744         alloca modernization/simplification for regex.
85745         * lib/regex.c: Remove portability cruft for alloca.  This no longer
85746         needs to be at the start of the file, and can be moved into
85747         regex_internal.h and simplified.
85748         * lib/regex_internal.h: Include <alloca.h>.
85749         (__libc_use_alloca) [!defined _LIBC]: New macro.
85750         * lib/regexec.c (build_trtable): Remove "#ifdef _LIBC", since the code
85751         now works outside glibc.
85752
85753 2005-08-25  Paul Eggert  <eggert@cs.ucla.edu>
85754
85755         * config/srclist.txt: Add glibc bugs 1241, 1245.
85756
85757 2005-08-25  Jim Meyering  <jim@meyering.net>
85758
85759         * lib/open-safer.c: Include <config.h>.
85760         Otherwise, we'd lose LARGEFILE support in any file using
85761         e.g. "fcntl--.h"
85762
85763 2005-08-25  Bruno Haible  <bruno@clisp.org>
85764
85765         * m4/minmax.m4: Require autoconf 2.52.
85766         (gl_MINMAX_IN_HEADER): Add comments. Use m4_pushdef/m4_popdef instead
85767         of define/undefine. Use AS_TR_SH and AS_TR_CPP as more robust
85768         alternatives of translit over the alphabet.
85769         Based on a patch from Stepan Kasal <kasal@ucw.cz>.
85770
85771 2005-08-24  Simon Josefsson  <jas@extundo.com>
85772
85773         * tests/test-getpass.c: New file.
85774
85775 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85776
85777         * m4/regex.m4 (gl_REGEX): Use POSIX-compliant spellings when testing
85778         for GNU regex features.
85779
85780 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85781
85782         * lib/regcomp.c (regerror): 2nd arg is 'restrict', as per POSIX.
85783         * lib/regex.h (regerror): Likewise.
85784
85785         * lib/regex.c: Do not include <sys/types.h>, as POSIX no longer
85786         requires this.  (The code never needed it.)
85787
85788         * lib/regcomp.c, regex_internal.c, regex_internal.h, regexec.c:
85789         All uses of recently-renamed identifiers changed to use the new,
85790         POSIX-compliant names.  The code will build and run just fine
85791         without these changes, but it's better to eat our own dog food
85792         and use the standard-conforming names.
85793
85794         * lib/regex.h: Fix a multitude of POSIX name space violations.
85795         These changes have an effect only for programs that define
85796         _POSIX_C_SOURCE, _POSIX_SOURCE, or _XOPEN_SOURCE; they
85797         do not change anything for programs compiled in the normal way.
85798         Also, there is no effect on the ABI.
85799
85800         (_REGEX_SOURCE): New macro.
85801         Do not include <stddef.h> if _XOPEN_SOURCE and VMS are both
85802         defined and _GNU_SOURCE is not; this fixes a name space violation.
85803
85804         Rename the following macros to obey POSIX requirements.
85805         The old names are still visible as macros if _REGEX_SOURCE is defined.
85806         (REG_BACKSLASH_ESCAPE_IN_LISTS): renamed from
85807         RE_BACKSLASH_ESCAPE_IN_LISTS.
85808         (REG_BK_PLUS_QM): renamed from RE_BK_PLUS_QM.
85809         (REG_CHAR_CLASSES): renamed from RE_CHAR_CLASSES.
85810         (REG_CONTEXT_INDEP_ANCHORS): renamed from RE_CONTEXT_INDEP_ANCHORS.
85811         (REG_CONTEXT_INDEP_OPS): renamed from RE_CONTEXT_INDEP_OPS.
85812         (REG_CONTEXT_INVALID_OPS): renamed from RE_CONTEXT_INVALID_OPS.
85813         (REG_DOT_NEWLINE): renamed from RE_DOT_NEWLINE.
85814         (REG_DOT_NOT_NULL): renamed from RE_DOT_NOT_NULL.
85815         (REG_HAT_LISTS_NOT_NEWLINE): renamed from RE_HAT_LISTS_NOT_NEWLINE.
85816         (REG_INTERVALS): renamed from RE_INTERVALS.
85817         (REG_LIMITED_OPS): renamed from RE_LIMITED_OPS.
85818         (REG_NEWLINE_ALT): renamed from RE_NEWLINE_ALT.
85819         (REG_NO_BK_BRACES): renamed from RE_NO_BK_BRACES.
85820         (REG_NO_BK_PARENS): renamed from RE_NO_BK_PARENS.
85821         (REG_NO_BK_REFS): renamed from RE_NO_BK_REFS.
85822         (REG_NO_BK_VBAR): renamed from RE_NO_BK_VBAR.
85823         (REG_NO_EMPTY_RANGES): renamed from RE_NO_EMPTY_RANGES.
85824         (REG_UNMATCHED_RIGHT_PAREN_ORD): renamed from
85825         RE_UNMATCHED_RIGHT_PAREN_ORD.
85826         (REG_NO_POSIX_BACKTRACKING): renamed from RE_NO_POSIX_BACKTRACKING.
85827         (REG_NO_GNU_OPS): renamed from RE_NO_GNU_OPS.
85828         (REG_DEBUG): renamed from RE_DEBUG.
85829         (REG_INVALID_INTERVAL_ORD): renamed from RE_INVALID_INTERVAL_ORD.
85830         (REG_IGNORE_CASE): renamed from RE_ICASE.  This renaming is a bit
85831         unusual, since we can't clash with the POSIX REG_ICASE.
85832         (REG_CARET_ANCHORS_HERE): renamed from RE_CARET_ANCHORS_HERE.
85833         (REG_CONTEXT_INVALID_DUP): renamed from RE_CONTEXT_INVALID_DUP.
85834         (REG_NO_SUB): renamed from RE_NO_SUB.
85835         (REG_SYNTAX_EMACS): renamed from RE_SYNTAX_EMACS.
85836         (REG_SYNTAX_AWK): renamed from RE_SYNTAX_AWK.
85837         (REG_SYNTAX_GNU_AWK): renamed from RE_SYNTAX_GNU_AWK.
85838         (REG_SYNTAX_POSIX_AWK): renamed from RE_SYNTAX_POSIX_AWK.
85839         (REG_SYNTAX_GREP): renamed from RE_SYNTAX_GREP.
85840         (REG_SYNTAX_EGREP): renamed from RE_SYNTAX_EGREP.
85841         (REG_SYNTAX_POSIX_EGREP): renamed from RE_SYNTAX_POSIX_EGREP.
85842         (REG_SYNTAX_ED): renamed from RE_SYNTAX_ED.
85843         (REG_SYNTAX_SED): renamed from RE_SYNTAX_SED.
85844         (_REG_SYNTAX_POSIX_COMMON): renamed from _RE_SYNTAX_POSIX_COMMON.
85845         (REG_SYNTAX_POSIX_BASIC): renamed from RE_SYNTAX_POSIX_BASIC.
85846         (REG_SYNTAX_POSIX_MINIMAL_BASIC): renamed from
85847         RE_SYNTAX_POSIX_MINIMAL_BASIC.
85848         (REG_SYNTAX_POSIX_EXTENDED): renamed from RE_SYNTAX_POSIX_EXTENDED.
85849         (REG_SYNTAX_POSIX_MINIMAL_EXTENDED): renamed from
85850         RE_SYNTAX_POSIX_MINIMAL_EXTENDED.
85851         (REG_DUP_MAX): renamed from RE_DUP_MAX.  No need to undef it.
85852         (REG_UNALLOCATED): Renamed from REGS_UNALLOCATED.
85853         (REG_REALLOCATE): Renamed from REGS_REALLOCATE.
85854         (REG_FIXED): Renamed from REGS_FIXED.
85855         (REG_NREGS): Renamed from RE_NREGS.
85856
85857         (REG_ICASE, REG_NEWLINE, REG_NOSUB): Do not depend on the values
85858         of other REG_* macros, since POSIX says the user is allowed to
85859         #undef these macros selectively.
85860
85861         (reg_errcode_t): Update comment stating what other tables need
85862         to be consistent.
85863
85864         Rename the following enum values to obey POSIX requirements.
85865         The old names are still visible as macros.
85866         (_REG_ENOSYS): Renamed from REG_ENOSYS.  Define even if _XOPEN_SOURCE
85867         is not defined, since GNU is supposed to be a superset of POSIX as
85868         much as possible, and since we want reg_errcode_t to be a signed
85869         type for implementation consistency.
85870         (_REG_NOERROR): Renamed from REG_NOERROR.
85871         (_REG_NOMATCH): Renamed from REG_NOMATCH.
85872         (_REG_BADPAT): Renamed from REG_BADPAT.
85873         (_REG_ECOLLATE): Renamed from REG_ECOLLATE.
85874         (_REG_ECTYPE): Renamed from REG_ECTYPE.
85875         (_REG_EESCAPE): Renamed from REG_EESCAPE.
85876         (_REG_ESUBREG): Renamed from REG_ESUBREG.
85877         (_REG_EBRACK): Renamed from REG_EBRACK.
85878         (_REG_EPAREN): Renamed from REG_EPAREN.
85879         (_REG_EBRACE): Renamed from REG_EBRACE.
85880         (_REG_BADBR): Renamed from REG_BADBR.
85881         (_REG_ERANGE): Renamed from REG_ERANGE.
85882         (_REG_ESPACE): Renamed from REG_ESPACE.
85883         (_REG_BADRPT): Renamed from REG_BADRPT.
85884         (_REG_EEND): Renamed from REG_EEND.
85885         (_REG_ESIZE): Renamed from REG_ESIZE.
85886         (_REG_ERPAREN): Renamed from REG_ERPAREN.
85887         (REG_ENOSYS, REG_NOERROR, REG_NOMATCH, REG_BADPAT, REG_ECOLLATE):
85888         (REG_ECTYPE, REG_EESCAPE, REG_ESUBREG, REG_EBRACK, REG_EPAREN):
85889         (REG_EBRACE, REG_BADBR, REG_ERANGE, REG_ESPACE, REG_BADRPT, REG_EEND):
85890         (REG_ESIZE, REG_ERPAREN): Now macros, not enum constants.
85891
85892         (_REG_RE_NAME, _REG_RM_NAME): New macros.
85893         (REG_TRANSLATE_TYPE): Renamed from RE_TRANSLATE_TYPE.  All uses
85894         changed.  But support the old name if the new one is not defined
85895         and if _REGEX_SOURCE.
85896
85897         Change the following member names in struct re_pattern_buffer.
85898         The old names are still supported if !_REGEX_SOURCE.
85899         The new names are always supported, regardless of _REGEX_SOURCE.
85900         (re_buffer): Renamed from buffer.
85901         (re_allocated): Renamed from allocated.
85902         (re_used): Renamed from used.
85903         (re_syntax): Renamed from syntax.
85904         (re_fastmap): Renamed from fastmap.
85905         (re_translate): Renamed from translate.
85906         (re_can_be_null): Renamed from can_be_null.
85907         (re_regs_allocated): Renamed from regs_allocated.
85908         (re_fastmap_accurate): Renamed from fastmap_accurate.
85909         (re_no_sub): Renamed from no_sub.
85910         (re_not_bol): Renamed from not_bol.
85911         (re_not_eol): Renamed from not_eol.
85912         (re_newline_anchor): Renamed from newline_anchor.
85913
85914         Change the following member names in struct re_registers.
85915         The old names are still supported if !_REGEX_SOURCE.
85916         The new names are always supported, regardless of _REGEX_SOURCE.
85917         (rm_num_regs): Renamed from num_regs.
85918         (rm_start): Renamed from start.
85919         (rm_end): Renamed from end.
85920
85921         (re_set_syntax, re_compile_pattern, re_compile_fastmap):
85922         (re_search, re_search_2, re_match, re_match_2, re_set_registers):
85923         Prepend __ to parameter names.
85924
85925         Undo yesterday's changes.
85926
85927 2005-08-24  Paul Eggert  <eggert@cs.ucla.edu>
85928
85929         * config/srclist.txt: Remove glibc bug 1233 and add 1236, which
85930         supersedes it. Add glibc bugs 1237, 1238, 1240.  Comment out
85931         lib/regex.c.
85932
85933 2005-08-24  Jim Meyering  <jim@meyering.net>
85934
85935         Sync from coreutils.
85936         * m4/fcntl-safer.m4: New file.
85937
85938         * m4/xgetcwd.m4: Use AC_LIBSOURCES and AC_LIBOBJ to indicate source
85939         and object files for this module.
85940
85941 2005-08-24  Jim Meyering  <jim@meyering.net>
85942
85943         Sync from coreutils.
85944         * lib/fcntl--.h, lib/fcntl-safer.h, lib/open-safer.c: New files.
85945
85946 2005-08-24  Jim Meyering  <jim@meyering.net>
85947
85948         * modules/xgetcwd (Makefile.am): Remove `lib_SOURCES += ...' line,
85949         now that xgetcwd.m4 requires xgetcwd.c and xgetcwd.h.
85950
85951 2005-08-24  Jim Meyering  <jim@meyering.net>
85952
85953         * modules/fcntl-safer: New module.
85954         * modules/fts (Depends-on): Add fcntl-safer.
85955         * MODULES.html.sh (File descriptor based Input/Output):
85956         Add fcntl-safer.
85957
85958 2005-08-24  Bruno Haible  <bruno@clisp.org>
85959
85960         Support for unit test modules.
85961         * modules/README: Mention tests modules.
85962         * modules/TEMPLATE-TESTS: New file.
85963         * gnulib-tool: New options --extract-tests-module, --with-tests and
85964         --tests-base (unused for the moment).
85965         (testsbase, inctests): New variables.
85966         (func_all_modules): Exclude TEMPLATE-TESTS and *-tests.
85967         (func_verify_module): Exclude TEMPLATE-TESTS.
85968         (func_verify_nontests_module, func_verify_tests_module): New functions.
85969         (func_get_dependencies): Add implicit dependency for tests modules.
85970         (func_get_tests_module): New function.
85971         (func_modules_transitive_closure): When --with-tests was specified,
85972         include the unit tests as well, unless explicitly avoided.
85973         (func_emit_lib_Makefile_am): Ignore the tests modules here.
85974         (func_emit_tests_Makefile_am): New function.
85975         (func_create_testdir): When --with-tests was specified, emit a
85976         tests/ directory.
85977         * MODULES.html.sh (Future developments): Update.
85978
85979 2005-08-24  Bruno Haible  <bruno@clisp.org>
85980
85981         * modules/tls-tests: New file.
85982         * tests/test-tls.c: New file, from GNU gettext.
85983
85984 2005-08-24  Bruno Haible  <bruno@clisp.org>
85985
85986         * modules/lock-tests: New file.
85987         * tests/test-lock.c: New file, from GNU gettext.
85988
85989 2005-08-24  Bruno Haible  <bruno@clisp.org>
85990
85991         * lib/lock.h: Add multiple inclusion guard.
85992         * lib/tls.h: Add multiple inclusion guard.
85993
85994 2005-08-24  Bruno Haible  <bruno@clisp.org>
85995
85996         * gnulib-tool: Add support for the --aux-dir option to
85997         --create-testdir, --create-megatestdir, --test, --megatest.
85998         (func_create_testdir, func_create_megatestdir): Optionally emit a
85999         AC_CONFIG_AUX_DIR directive.
86000         (create-testdir, create-megatestdir, test, megatest): Provide a
86001         default value for $auxdir.
86002
86003 2005-08-24  Bruno Haible  <bruno@clisp.org>
86004
86005         * gnulib-tool (import): Use compound statement instead of subshell
86006         where possible.
86007
86008 2005-08-24  Bruno Haible  <bruno@clisp.org>
86009
86010         * gnulib-tool (import): Change --aux-dir default to "build-aux".
86011
86012 2005-08-24  Bruno Haible  <bruno@clisp.org>
86013
86014         * gnulib-tool (func_version): Update.
86015
86016 2005-08-24  Bruno Haible  <bruno@clisp.org>
86017
86018         * gnulib-tool (func_import, func_create_testdir,
86019         func_create_megatestdir): Quote all autoconf macro arguments.
86020
86021 2005-08-24  Bruno Haible  <bruno@clisp.org>
86022
86023         * gnulib-tool (func_create_megatestdir): Call autoreconf without the
86024         option --force, because --force causes the aclocal.m4 of each
86025         subdirectory to be newer than the corresponding config.h.in.
86026
86027 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86028
86029         * m4/regex.m4 (gl_INCLUDED_REGEX): Remove; no longer used.
86030         All contents moved to gl_REGEX.
86031         (gl_REGEX): Don't bother checking whether lib/regex.c exists;
86032         assume that it does.
86033
86034 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86035
86036         * lib/regex.h (REG_NOSYS)
86037         [!defined _XOPEN_SOURCE && 200112L <= _POSIX_C_SOURCE]:
86038         Define, since POSIX requires it as of 2001.
86039         (_REG_ENOSYS)
86040         [! (defined _XOPEN_SOURCE || 200112L <= _POSIX_C_SOURCE)]:
86041         New private symbol, used to keep the enum signed in all cases.
86042         * lib/regex.h (RE_NO_EMPTY_RANGES): Fix doc bug reported by James
86043         Youngman in
86044         <http://lists.gnu.org/archive/html/bug-gnulib/2005-07/msg00132.html>.
86045
86046         * lib/regex_internal.c (re_string_skip_chars, register_state):
86047         (calc_state_hash):
86048         Remove forward decls; no longer needed now that we use prototypes.
86049         * lib/regexec.c (acquire_init_state_context, check_halt_node_context):
86050         (proceed_next_node, pop_fail_stack, sub_epsilon_src_nodes):
86051         (clean_state_log_if_needed): Likewise.
86052
86053 2005-08-23  Paul Eggert  <eggert@cs.ucla.edu>
86054
86055         * config/srclist.txt: Add glibc bugs 1231-1233.
86056
86057 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
86058
86059         Fix problems reported by Sam Steingold in
86060         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00007.html>.
86061         * lib/regexec.c (sift_states_bkref): Fix portability bug: the code
86062         assumed that reg_errcode_t is a signed type, which is not
86063         necessarily true if _XOPEN_SOURCE is not defined.
86064         * lib/regex_internal.c (calc_state_hash): Put 'inline' before type,
86065         since some compilers warn about it otherwise.
86066
86067 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
86068
86069         * lib/regcomp.c (create_initial_state): Remove duplicate decl.
86070         (init_word_char, create_initial_state, duplicate_node_closure):
86071         (fetch_token, peek_token_bracket, build_range_exp):
86072         (build_collating_symbol): Remove forward decls; no longer needed
86073         now that we use prototypes.
86074
86075         * lib/regcomp.c:
86076         (re_compile_pattern, re_set_syntax, re_compile_fastmap):
86077         (re_compile_fastmap_iter, regcomp, regerror, regfree):
86078         (re_compile_internal, init_dfa, init_word_char, free_workarea_compile):
86079         (create_initial_state, optimize_utf8, analyze, postorder, preorder):
86080         (optimize_subexps, lower_subexps, lower_subexp, calc_first, calc_next):
86081         (link_nfa_nodes, duplicate_node_closure, search_duplicated_node):
86082         (duplicate_node, calc_inveclosure, calc_eclosure, calc_eclosure_iter):
86083         (fetch_token, peek_token, peek_token_bracket, parse, parse_reg_exp):
86084         (parse_branch, parse_expression, parse_sub_exp, parse_dup_op):
86085         (build_range_exp, build_collating_symbol, parse_bracket_exp):
86086         (parse_bracket_element, parse_bracket_symbol, build_equiv_class):
86087         (build_charclass, build_charclass_op, fetch_number, create_tree):
86088         (create_token_tree, mark_opt_subexp, duplicate_tree):
86089         Use prototypes rather than old-style definitions.
86090
86091         * lib/regex_internal.c:
86092         (re_string_allocate, re_string_construct, re_string_realloc_buffers):
86093         (re_string_construct_common, build_wcs_buffer, build_wcs_upper_buffer):
86094         (re_string_skip_chars, build_upper_buffer, re_string_translate_buffer):
86095         (re_string_reconstruct, re_string_peek_byte_case):
86096         (re_string_fetch_byte_case, re_string_destruct, re_string_context_at):
86097         (re_node_set_alloc, re_node_set_init_1, re_node_set_init_2):
86098         (re_node_set_init_copy, re_node_set_add_intersect):
86099         (re_node_set_init_union, re_node_set_merge, re_node_set_insert):
86100         (re_node_set_insert_last, re_node_set_compare, re_node_set_contains):
86101         (re_node_set_remove_at, re_dfa_add_node, calc_state_hash):
86102         (re_acquire_state, re_acquire_state_context, register_state):
86103         (create_ci_newstate, create_cd_newstate, free_state):
86104         Likewise.
86105         * lib/regexec.c (regexec, re_match, re_search, re_match_2,
86106         re_search_2):
86107         (re_search_2_stub, re_search_stub, re_copy_regs, re_set_registers):
86108         (re_search_internal, prune_impossible_nodes):
86109         (acquire_init_state_context, check_matching, static):
86110         (check_halt_node_context, check_halt_state_context, proceed_next_node):
86111         (push_fail_stack, pop_fail_stack, set_regs, free_fail_stack_return):
86112         (update_regs, sift_states_backward, build_sifted_states):
86113         (clean_state_log_if_needed, merge_state_array):
86114         (update_cur_sifted_state, add_epsilon_src_nodes):
86115         (sub_epsilon_src_nodes, check_dst_limits, check_dst_limits_calc_pos_1):
86116         (check_dst_limits_calc_pos, check_subexp_limits, sift_states_bkref):
86117         (sift_states_iter_mb, transit_state, merge_state_with_log, static):
86118         (find_recover_state, check_subexp_matching_top, transit_state_mb):
86119         (transit_state_bkref, get_subexp, get_subexp_sub, find_subexp_node):
86120         (check_arrival, check_arrival_add_next_nodes):
86121         (check_arrival_expand_ecl, check_arrival_expand_ecl_sub):
86122         (expand_bkref_cache, build_trtable, group_nodes_into_DFAstates):
86123         (check_node_accept_bytes, check_node_accept, extend_buffers):
86124         (match_ctx_init, match_ctx_clean, match_ctx_free, match_ctx_add_entry):
86125         (search_cur_bkref_entry, match_ctx_add_subtop, match_ctx_add_sublast):
86126         (sift_ctx_init):
86127         Likewise.
86128
86129         * lib/regex_internal.h:
86130         (re_string_allocate, re_string_construct, re_string_reconstruct):
86131         (re_string_realloc_buffers, build_wcs_buffer, build_wcs_upper_buffer):
86132         (build_upper_buffer, re_string_translate_buffer, re_string_destruct):
86133         (re_string_elem_size_at, re_string_char_size_at, re_string_wchar_at):
86134         (re_string_context_at, re_string_peek_byte_case):
86135         (re_string_fetch_byte_case): Declare even if RE_NO_INTERNAL_PROTOTYPES
86136         is defined, since we now use prototypes always.
86137
86138         * lib/regex.h (_RE_ARGS): Remove.  No longer needed, since we assume
86139         C89 or better.  All uses removed.
86140
86141 2005-08-20  Paul Eggert  <eggert@cs.ucla.edu>
86142
86143         * config/srclist.txt: Add glibc bugs 1220-1227.
86144
86145 2005-08-20  Jim Meyering  <jim@meyering.net>
86146
86147         * lib/regexec.c (regexec, re_search_stub) [!_LIBC]: Omit declaration
86148         of unused local, dfa.
86149
86150 2005-08-20  Bruno Haible  <bruno@clisp.org>
86151
86152         * m4/regex.m4 (gl_PREREQ_REGEX): Require AC_GNU_SOURCE.
86153
86154 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86155
86156         * lib/regex_internal.c (re_string_realloc_buffers, re_node_set_insert):
86157         (re_node_set_insert_last, re_dfa_add_node):
86158         Rename local variables to avoid GCC shadowing warnings.
86159
86160 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86161
86162         * lib/regex_internal.c (re_acquire_state, re_acquire_state_context)
86163         [defined lint]: Suppress bogus uninitialized-variable warnings.
86164
86165         * lib/regcomp.c (duplicate_node): Return new index, not an error code,
86166         and let the caller return REG_ESPACE if out of space.  This
86167         removes an uninitialied-variable warning with GCC 4.0.1, and also
86168         avoids taking the address of a local variable.  All callers
86169         changed.
86170
86171 2005-08-19  Paul Eggert  <eggert@cs.ucla.edu>
86172
86173         * config/srclist.txt: Comment out $LIBCSRC/posix/regex_internal.c,
86174         $LIBCSRC/posix/regexec.c.
86175         Add glibc bug 1217 for regcomp.c.
86176
86177 2005-08-19  Jim Meyering  <jim@meyering.net>
86178
86179         * lib/regexec.c (proceed_next_node): Redo local variables to
86180         avoid GCC shadowing warnings.
86181
86182 2005-08-18  Bruno Haible  <bruno@clisp.org>
86183
86184         * lib/strstr.c (strstr): Fix return value in multibyte case.
86185         * lib/strcasestr.c (strcasestr): Likewise.
86186
86187 2005-08-17  Paul Eggert  <eggert@cs.ucla.edu>
86188
86189         * lib/regex.h: Remove useless space-before-tab.  From coreutils.
86190
86191 2005-08-17  Jim Meyering  <jim@meyering.net>
86192
86193         Make the %s format (seconds since the epoch) work for a negative
86194         number and when used with a zero-padded field width, e.g. %015s.
86195
86196         * lib/strftime.c (my_strftime): Move the `do_number_sign_and_padding'
86197         label so that it precedes the code to set `digits'.  Otherwise,
86198         %0Ns wouldn't work.  Before this change, `date -d @-22 +%05s' would
86199         print `00-22'.  Now, it prints `-0022', as it should.
86200
86201 2005-08-17  Bruno Haible  <bruno@clisp.org>
86202
86203         * modules/strstr (Files): Add m4/mbrtowc.m4.
86204         (Depends-on): Add mbuiter.
86205
86206 2005-08-17  Bruno Haible  <bruno@clisp.org>
86207
86208         * modules/strcasestr: New file.
86209         * MODULES.html.sh (String handling, based on ANSI C 89): Add
86210         strcasestr.
86211
86212 2005-08-17  Bruno Haible  <bruno@clisp.org>
86213
86214         * modules/strcase (Depends-on): Add mbuiter. Remove strnlen1, mbchar.
86215
86216 2005-08-17  Bruno Haible  <bruno@clisp.org>
86217
86218         * modules/mbuiter: New file.
86219         * MODULES.html.sh (Extended multibyte and wide character utilities):
86220         Add mbuiter.
86221
86222 2005-08-17  Bruno Haible  <bruno@clisp.org>
86223
86224         * m4/strstr.m4 (gl_FUNC_STRSTR): Use the replacement function always.
86225         (gl_PREREQ_STRSTR): Use gl_FUNC_MBRTOWC.
86226
86227 2005-08-17  Bruno Haible  <bruno@clisp.org>
86228
86229         * m4/strcasestr.m4: New file.
86230
86231 2005-08-17  Bruno Haible  <bruno@clisp.org>
86232
86233         * lib/strstr.h: Ignore HAVE_STRSTR, always declare the gnulib function.
86234         * lib/strstr.c: Completely rewritten, with multibyte locale support.
86235
86236 2005-08-17  Bruno Haible  <bruno@clisp.org>
86237
86238         * lib/strcasestr.h: New file.
86239         * lib/strcasestr.c: New file.
86240
86241 2005-08-17  Bruno Haible  <bruno@clisp.org>
86242
86243         * lib/strcasecmp.c: Use mbuiter.h.
86244
86245 2005-08-17  Bruno Haible  <bruno@clisp.org>
86246
86247         * lib/mbuiter.h: New file.
86248
86249 2005-08-16  Paul Eggert  <eggert@cs.ucla.edu>
86250
86251         * m4/getopt.m4 (gl_GETOPT_CHECK_HEADERS): Do not override the results
86252         of gl_GETOPT_SUBSTITUTE.  That way, if both gl_GETOPT_SUBSTITUTE
86253         and gl_GETOPT are both invoked via different paths (as happens
86254         with GNU tar CVS because it uses both argp and getopt), the former
86255         wins.
86256
86257 2005-08-16  Bruno Haible  <bruno@clisp.org>
86258
86259         * modules/tls: New file.
86260         * MODULES.html.sh (Multithreading): Add tls.
86261
86262 2005-08-16  Bruno Haible  <bruno@clisp.org>
86263
86264         * modules/strnlen1: New file.
86265         * MODULES.html.sh (String handling): Add strnlen1.
86266
86267 2005-08-16  Bruno Haible  <bruno@clisp.org>
86268
86269         * modules/strcase (Files): Add m4/mbrtowc.m4.
86270         (Depends-on): Add strnlen1, mbchar.
86271
86272 2005-08-16  Bruno Haible  <bruno@clisp.org>
86273
86274         * modules/mbiter: New file.
86275         * MODULES.html.sh (Extended multibyte and wide character utilities):
86276         Add mbiter.
86277
86278 2005-08-16  Bruno Haible  <bruno@clisp.org>
86279
86280         * modules/mbfile: New file.
86281         * MODULES.html.sh (Extended multibyte and wide character utilities):
86282         Add mbfile.
86283
86284 2005-08-16  Bruno Haible  <bruno@clisp.org>
86285
86286         * modules/mbchar: New file.
86287         * MODULES.html.sh (Extended multibyte and wide character utilities):
86288         New section.
86289
86290 2005-08-16  Bruno Haible  <bruno@clisp.org>
86291
86292         * m4/tls.m4: New file, from GNU gettext.
86293
86294 2005-08-16  Bruno Haible  <bruno@clisp.org>
86295
86296         * m4/strcase.m4 (gl_FUNC_STRCASECMP): Use the replacement function
86297         always.
86298         (gl_PREREQ_STRCASECMP): Use gl_FUNC_MBRTOWC.
86299
86300 2005-08-16  Bruno Haible  <bruno@clisp.org>
86301
86302         * m4/mbiter.m4: New file.
86303
86304 2005-08-16  Bruno Haible  <bruno@clisp.org>
86305
86306         * m4/mbfile.m4: New file.
86307
86308 2005-08-16  Bruno Haible  <bruno@clisp.org>
86309
86310         * m4/mbchar.m4: New file.
86311
86312 2005-08-16  Bruno Haible  <bruno@clisp.org>
86313
86314         * lib/tls.h: New file, from GNU gettext.
86315         * lib/tls.c: New file, from GNU gettext.
86316
86317 2005-08-16  Bruno Haible  <bruno@clisp.org>
86318
86319         * lib/strnlen1.h: New file.
86320         * lib/strnlen1.c: New file.
86321
86322 2005-08-16  Bruno Haible  <bruno@clisp.org>
86323
86324         * lib/strcasecmp.c (struct mbiter_multi): Remove at_end field.
86325         (mbi_init): Update.
86326         (mbi_avail, mbi_advance): Let the iteration end before the terminating
86327         NUL byte, not after it.
86328
86329 2005-08-16  Bruno Haible  <bruno@clisp.org>
86330
86331         * lib/strcase.h (strcasecmp): Add note in comments.
86332         * lib/strncasecmp.c: Use code from strcasecmp.c.
86333         * lib/strcasecmp.c: Use mbchar module. Define private mbiter variant.
86334         (strcasecmp): Work correctly in multibyte locales.
86335
86336 2005-08-16  Bruno Haible  <bruno@clisp.org>
86337
86338         * lib/mbiter.h: New file.
86339
86340 2005-08-16  Bruno Haible  <bruno@clisp.org>
86341
86342         * lib/mbfile.h: New file.
86343
86344 2005-08-16  Bruno Haible  <bruno@clisp.org>
86345
86346         * lib/mbchar.h: New file.
86347         * lib/mbchar.c: New file.
86348
86349 2005-08-16  Bruno Haible  <bruno@clisp.org>
86350
86351         * lib/mbchar.h (mb_cmp, mb_casecmp): Order the invalid characters after
86352         the valid ones. Makes the comparison operations transitive:
86353         cmp (a, b) < 0 && cmp (b, c) < 0 ==> cmp (a, c) < 0.
86354         * lib/strcasecmp.c (strcasecmp): Use mb_casecmp.
86355
86356 2005-08-15  Simon Josefsson  <jas@extundo.com>
86357
86358         * modules/ssize_t (License): Change to 'unlimited'.
86359
86360         * gnulib-tool (sed_extract_prog): Recognize 'unlimited' license.
86361
86362 2005-08-15  Paul Eggert  <eggert@cs.ucla.edu>
86363
86364         * config/srclist.txt: Comment out $LIBCSRC/posix/regex.h.
86365         Add comments for each pending glibc patch.
86366
86367 2005-08-15  Bruno Haible  <bruno@clisp.org>
86368
86369         * lib/regex.h (__restrict_arr): Don't define to __restrict if
86370         __cplusplus is defined.
86371
86372 2005-08-14  Jim Meyering  <jim@meyering.net>
86373
86374         Sync from coreutils.
86375
86376         * lib/fts-cycle.c (setup_dir, enter_dir, leave_dir, free_dir):
86377         Use the hash-table-based cycle-detection code not just when
86378         FTS_TIGHT_CYCLE_CHECK if specified, but also with FTS_LOGICAL.
86379         Reported by James Youngman in
86380         <http://lists.gnu.org/archive/html/bug-gnulib/2005-08/msg00011.html>.
86381         * lib/fts_.h: Mention that with FTS_LOGICAL, we use
86382         FTS_TIGHT_CYCLE_CHECK.
86383         * lib/fts.c (fts_cross_check) [FTS_DEBUG]:
86384         s/active_dir_ht/fts_cycle.ht/. This lets us compile with -DFTS_DEBUG,
86385         once again.
86386         * lib/fts.c [! _LIBC]: Include "lstat.h" rather than rolling our own.
86387         * lib/fts.c (fd_safer): Remove decl.
86388         Include fcntl--.h rather than unistd-safer.h
86389         (fts_safe_changedir): Don't call fd_safer; no longer needed
86390         now that we include fcntl--.h.
86391
86392 2005-08-12  Simon Josefsson  <jas@extundo.com>
86393
86394         * modules/getndelim2: Use ssize_t module.
86395         * modules/getnline: Likewise.
86396         * modules/safe-read: Likewise.
86397         * modules/xreadlink: Likewise.
86398
86399         * modules/ssize_t: New file.
86400
86401 2005-08-12  Simon Josefsson  <jas@extundo.com>
86402
86403         * m4/readline.m4: Look for termcap, curses or ncurses if required.
86404
86405 2005-08-12  Simon Josefsson  <jas@extundo.com>
86406
86407         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
86408         ssize_t.
86409
86410 2005-08-12  Simon Josefsson  <jas@extundo.com>
86411
86412         * MODULES.html.sh (Extra functions based on ANSI C 89: Misc): Add
86413         readline, getdelim and check_version.
86414         (Support for systems lacking ISO C 99: Sizes of integer types):
86415         Add size_max.
86416
86417 2005-08-12  Bruno Haible  <bruno@clisp.org>
86418
86419         * m4/readline.m4 (gl_FUNC_READLINE): Look for ncurses first.
86420
86421 2005-08-11  Simon Josefsson  <jas@extundo.com>
86422
86423         * modules/readline: New file.
86424
86425         * modules/strnlen (Files): Add strnlen.h.
86426
86427 2005-08-11  Simon Josefsson  <jas@extundo.com>
86428
86429         * m4/readline.m4: New file.
86430
86431 2005-08-11  Simon Josefsson  <jas@extundo.com>
86432
86433         * lib/readline.h, readline.c: New file.
86434
86435 2005-08-11  Simon Josefsson  <jas@extundo.com>
86436
86437         * doc/gnulib.texi (Initial import, Finishing touches): Mention
86438         gl_AVOID.
86439
86440 2005-08-11  Bruno Haible  <bruno@clisp.org>
86441
86442         * lib/strnlen.h (strnlen): Change parameter name to match comment.
86443
86444 2005-08-10  Stepan Kasal  <kasal@ucw.cz>
86445
86446         * m4/onceonly_2_57.m4: Really require Autoconf 2.57.
86447
86448 2005-08-10  Simon Josefsson  <jas@extundo.com>
86449
86450         * tests/test-iconvme.c: New file.
86451
86452 2005-08-10  Simon Josefsson  <jas@extundo.com>
86453
86454         * m4/strnlen.m4: New file.
86455
86456         * m4/strndup.m4: Don't check for strnlen declaration, done in
86457         strnlen.m4.
86458
86459 2005-08-10  Simon Josefsson  <jas@extundo.com>
86460
86461         * lib/strndup.c: Use strnlen.h.
86462
86463         * lib/strnlen.h: New file.
86464
86465 2005-08-08  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>  (tiny change)
86466
86467         * README: Typos.
86468
86469 2005-08-02  Simon Josefsson  <jas@extundo.com>
86470
86471         * modules/readline: New file.
86472
86473 2005-08-02  Simon Josefsson  <jas@extundo.com>
86474
86475         * modules/getdelim: New file.
86476
86477         * modules/getline: Rewrite, don't use getndelim2.
86478
86479 2005-08-02  Simon Josefsson  <jas@extundo.com>
86480
86481         * m4/getline.m4: Separate out getdelim stuff into separate module.
86482
86483         * m4/getdelim.m4: New file.
86484
86485 2005-08-02  Simon Josefsson  <jas@extundo.com>
86486
86487         * lib/getline.h, getline.c: Rewrite.
86488
86489         * lib/getdelim.h, lib/getdelim.c: New files, ported from glibc.
86490
86491 2005-07-31  Bruno Haible  <bruno@clisp.org>
86492
86493         * lib/lock.h (gl_lock_initializer): New macro.
86494         (gl_lock_define_initialized): Use it.
86495         (gl_rwlock_initializer): New macro.
86496         (gl_rwlock_define_initialized): Use it.
86497         (gl_recursive_lock_initializer): New macro.
86498         (gl_recursive_lock_define_initialized): Use it.
86499
86500 2005-07-30  Karl Berry  <karl@gnu.org>
86501
86502         * doc/gnulib.texi (Initial import): mention -I$(top_builddir)/lib.
86503         Report from Ben Pfaff, regarding getopt.
86504
86505 2005-07-26  Paul Eggert  <eggert@cs.ucla.edu>
86506
86507         Add support to getopt for Emacs, which doesn't use LIBOBJS in the
86508         normal way.
86509         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE_HEADER): New macro.
86510         (gl_GETOPT_SUBSTITUTE): Use it.  Invoke gl_PREREQ_GETOPT.
86511         (gl_GETOPT_IFELSE, gl_GETOPT_CHECK_HEADERS): New macros.
86512         (gl_GETOPT): Use the new macros.  Most of the implementation
86513         is moved to the new macros.  This is for programs like Emacs
86514         that don't want all the functionality of gl_GETOPT.
86515
86516 2005-07-26  Bruno Haible  <bruno@clisp.org>
86517
86518         * m4/lock.m4: Update from GNU gettext.
86519
86520 2005-07-26  Bruno Haible  <bruno@clisp.org>
86521
86522         * lib/lock.h: Update from GNU gettext.
86523         * lib/lock.c: Update from GNU gettext.
86524
86525 2005-07-25  Paul Eggert  <eggert@cs.ucla.edu>
86526
86527         * m4/regex.m4 (gl_INCLUDED_REGEX): Use AC_RUN_IFELSE instead of the
86528         obsolescent AC_TRY_RUN.  Include the default includes files, for
86529         'exit'.
86530
86531 2005-07-24  Bruno Haible  <bruno@clisp.org>
86532
86533         * modules/visibility: New file.
86534         * MODULES.html.sh (Misc): Add visibility.
86535
86536 2005-07-24  Bruno Haible  <bruno@clisp.org>
86537
86538         * m4/visibility.m4: New file.
86539
86540 2005-07-24  Bruno Haible  <bruno@clisp.org>
86541
86542         * doc/visibility.texi: New file.
86543
86544 2005-07-22  Bruno Haible  <bruno@clisp.org>
86545
86546         * modules/alloca-opt (Makefile.am): Remove explicit dependency on
86547         $(ALLOCA_H), redundant through BUILT_SOURCES.
86548         * modules/argz (Makefile.am): Remove explicit dependency on $(ARGZ_H),
86549         redundant through BUILT_SOURCES.
86550         * modules/byteswap (Makefile.am): Remove explicit dependency on
86551         $(BYTESWAP_H), redundant through BUILT_SOURCES.
86552         * modules/fnmatch (Makefile.am): Remove explicit dependency on
86553         $(FNMATCH_H), redundant through BUILT_SOURCES.
86554         * modules/getopt (Makefile.am): Remove explicit dependency on
86555         $(GETOPT_H), redundant through BUILT_SOURCES.
86556         * modules/glob (Makefile.am): Remove explicit dependency on $(GLOB_H),
86557         redundant through BUILT_SOURCES.
86558         * modules/poll (Makefile.am): Remove explicit dependency on $(POLL_H),
86559         redundant through BUILT_SOURCES.
86560         * modules/stdbool (Makefile.am): Remove explicit dependency on
86561         $(STDBOOL_H), redundant through BUILT_SOURCES.
86562         * modules/stdint (Makefile.am): Remove explicit dependency on
86563         $(STDINT_H), redundant through BUILT_SOURCES.
86564         * modules/sysexits (Makefile.am): Add $(SYSEXITS_H) to BUILT_SOURCES.
86565         Remove explicit dependency on $(SYSEXITS_H).
86566         Reported by Alexandre Duret-Lutz <adl@src.lip6.fr>.
86567
86568 2005-07-18  Simon Josefsson  <jas@extundo.com>
86569
86570         * lib/check-version.c (check_version): Accept identical versions too.
86571
86572 2005-07-18  Bruno Haible  <bruno@clisp.org>
86573
86574         * modules/lock: New file.
86575         * MODULES.html.sh (Multithreading): New section.
86576
86577 2005-07-18  Bruno Haible  <bruno@clisp.org>
86578
86579         * m4/lock.m4: New file, from GNU gettext.
86580
86581 2005-07-18  Bruno Haible  <bruno@clisp.org>
86582
86583         * lib/lock.h: New file, from GNU gettext.
86584         * lib/lock.c: New file, from GNU gettext.
86585
86586 2005-07-18  Bruno Haible  <bruno@clisp.org>
86587
86588         * lib/lock.h (gl_once_t): New type.
86589         (gl_once_define, gl_once): New macros.
86590         * lib/lock.c (fresh_once): New variable.
86591         (glthread_once, glthread_once_call, glthread_once_singlethreaded): New
86592         functions.
86593
86594 2005-07-16  Simon Josefsson  <jas@extundo.com>
86595
86596         * doc/gnulib.texi (Library version handling): Add ELF symbol collision
86597         workaround, suggested by Bruno.
86598
86599 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86600
86601         * modules/xalloc (Depends-on): Add xalloc-die.
86602         * modules/xvasprintf (Depends-on): Add xalloc-die.
86603
86604 2005-07-15  Paul Eggert  <eggert@cs.ucla.edu>
86605
86606         * lib/quotearg.c: Add translator comment suggested by Bruno Haible,
86607         with a minor change.
86608
86609 2005-07-15  Bruno Haible  <bruno@clisp.org>
86610
86611         * m4/poll.m4 (gl_FUNC_POLL): Check against MacOS X 10.4 poll() bug.
86612         When using lib/poll.c, define poll as rpl_poll.
86613
86614 2005-07-14  Paul Eggert  <eggert@cs.ucla.edu>
86615
86616         * modules/argp (Depends-on): Remove unlocked-io.
86617
86618 2005-07-14  Derek Price  <derek@ximbiot.com>
86619
86620         * m4/glob.m4 (gl_GLOB): Cache glob interface check result.  Add check
86621         for glob symlink bug.
86622
86623 2005-07-14  Bruno Haible  <bruno@clisp.org>
86624
86625         * m4/argp.m4 (gl_ARGP): Remove invocation of gl_FUNC_GLIBC_UNLOCKED_IO.
86626         Instead, test for *_unlocked function declarations directly.
86627
86628 2005-07-11  Simon Josefsson  <jas@extundo.com>
86629
86630         * modules/size_max: New file.
86631
86632         * modules/xsize: Depend on size_max module for size_max.m4.
86633
86634 2005-07-11  Simon Josefsson  <jas@extundo.com>
86635
86636         * lib/size_max.h: New file.
86637
86638 2005-07-11  Paul Eggert  <eggert@cs.ucla.edu>
86639
86640         * lib/version-etc-fsf.c (version_etc_copyright): Parameterize the
86641         copyright symbol and the year.
86642         * lib/version-etc.c (COPYRIGHT_YEAR): New constant.
86643         (version_etc_va): Use parameterized copyright notice.
86644         Reword to conform to the current GNU coding standards.
86645
86646 2005-07-11  Karl Berry  <karl@gnu.org>
86647
86648         * doc/gnulib.texi (Quoting): new node.
86649         (Initial import): more info, from Patrice.
86650
86651 2005-07-11  Bruno Haible  <bruno@clisp.org>
86652
86653         * gnulib-tool (func_usage): Document option --avoid.
86654         (Command line options): Handle --avoid.
86655         (func_acceptable): New function.
86656         (func_modules_transitive_closure): Use it.
86657
86658 2005-07-11  Bruno Haible  <bruno@clisp.org>
86659
86660         * MODULES.html.sh: Use shortcut URLs to the www.opengroup.org site.
86661         Reported by Jim Meyering.
86662
86663 2005-07-10  Bruno Haible  <bruno@clisp.org>
86664
86665         * m4/size_max.m4 (gl_SIZE_MAX): Cast ~(size_t)0 back to size_t.
86666         Needed when size_t is smaller than 'unsigned int'.
86667         Reported by Paul Eggert.
86668
86669 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86670
86671         * modules/argp (Depends-on): Add unlocked-io
86672
86673 2005-07-09  Sergey Poznyakoff  <gray@gnu.org.ua>
86674
86675         * lib/argp-namefrob.h: Include unlocked-io.h. Removed unnecessary
86676         block of defines.
86677
86678 2005-07-08  Paul Eggert  <eggert@cs.ucla.edu>
86679
86680         * config/srclist.txt: Comment out regcomp.c, since we have a porting
86681         fix now.
86682
86683 2005-07-08  Eric Blake  <ebb9@byu.net>  (tiny change)
86684         and Paul Eggert  <eggert@cs.ucla.edu>
86685
86686         * lib/regcomp.c (init_dfa, build_range_exp): Store __btowc value
86687         in wint_t, not wchar_t.  Remove now-unnecessary cast.
86688
86689 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86690
86691         * modules/regex (Files): Add lib/regex_internal.c,
86692         lib/regex_internal.h, lib/regexec.c, lib/regcomp.c, m4/codeset.m4.
86693         (Depends-on): Add extensions.
86694         (Makefile.am): Remove lib_SOURCES; now done by m4 code.
86695
86696 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86697
86698         * m4/backupfile.m4 (gl_BACKUPFILE): Use AC_CHECK_FUNCS_ONCE on
86699         pathconf.
86700         * m4/same.m4 (gl_SAME): Likewise.
86701         Require AC_SYS_LONG_FILE_NAMES; bug reported by Gerrit P. Haase.
86702
86703         * m4/regex.m4: Adjust to new libc regex implementation.
86704         (gl_INCLUDED_REGEX): Add AC_LIBSOURCES for
86705         all the .c and .h parts of (the new) regex.
86706         Quote the m4 stuff better.
86707         Check for RE_ICASE bug of old gnulib.
86708         Check for REG_STARTEND of recent libc.
86709         Rename local variables from jm_* to gl_*.
86710         Quote operand of "test -f".
86711         Say "recent enough" version of libc, not "version 2".
86712         (gl_PREREQ_REGEX): Remove AC_FUNC_ALLOCA, since alloca is a
86713         prerequisite module.  Remove AC_HEADER_STDC; no longer needed.
86714         Check for locale.h, isblank, mbrtowc, wcrtomb, wcscoll.
86715         Remove check for btowc, isascii.
86716         Require AM_LANGINFO_CODESET.
86717
86718 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86719
86720         * lib/regex.c, regex.h: Sync from libc.
86721         * lib/regcomp.c, lib/regexec_internal.c, lib/regex_internal.h:
86722         * lib/regexec.c:
86723         New files, synced from libc, except that regex_internal.h
86724         currently has a small porting fix.
86725
86726 2005-07-07  Paul Eggert  <eggert@cs.ucla.edu>
86727
86728         * config/srclist.txt: Add regcomp.c, regex.c, regex.h,
86729         regex_internal.c, regexec.c.
86730         Add regex_internal.h too, but as a comment, since the libc version
86731         is currently broken in gnulib mode.
86732
86733 2005-07-06  Paul Eggert  <eggert@cs.ucla.edu>
86734
86735         Support programs like Emacs that use gnulib but not gettext.
86736         * MODULES.html.sh (Internationalization functions): Add gettext-h.
86737         * modules/gettext-h: New file.
86738         * modules/gettext (Files): Remove lib/gettext.h.
86739         (Depends-on): Add gettext-h.
86740         (Makefile.am): Remove lib_SOURCES.
86741         * modules/argmatch, modules/c-stack, modules/closeout:
86742         * modules/copy-file, modules/csharpcomp, modules/csharpexec:
86743         * modules/execute, modules/file-type, modules/getaddrinfo:
86744         * modules/getopt, modules/human, modules/javacomp:
86745         * modules/javaexec, modules/mkdir-p, modules/obstack:
86746         * modules/openat, modules/pagealign_alloc, modules/pipe:
86747         * modules/quotearg, modules/regex, modules/rpmatch:
86748         * modules/unicodeio, modules/userspec, modules/version-etc:
86749         * modules/wait-process, modules/xalloc-die, modules/xmemcoll:
86750         * modules/xsetenv:
86751         Depend on gettext-h, not gettext.
86752
86753 2005-07-05  Paul Eggert  <eggert@cs.ucla.edu>
86754
86755         * gnulib-tool (func_import): Add support for 'public domain' license.
86756         * modules/alloca, modules/atexit, modules/memmove:
86757         Now public domain, not GPL.
86758         * modules/dup2, modules/getpagesize, modules/malloc, modules/memset:
86759         * modules/realloc, modules/strerror, modules/strtod:
86760         Now LGPL, not GPL.
86761
86762 2005-07-05  Bruno Haible  <bruno@clisp.org>
86763
86764         * m4/mbrtowc.m4 (gl_FUNC_MBRTOWC): Upgrade to version from current
86765         autoconf CVS. Needed for mingw.
86766
86767 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86768
86769         Remove the dependency of the strftime module on the tzset module.
86770         * modules/strftime (Depends-on): Remove dependency on tzset.
86771
86772 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86773
86774         Remove the dependency of the strftime module on the tzset module.
86775         * m4/strftime.m4 (gl_FUNC_STRFTIME): Don't require
86776         gl_FUNC_TZSET_CLOBBER.
86777
86778 2005-07-03  Paul Eggert  <eggert@cs.ucla.edu>
86779
86780         Remove the dependency of the strftime module on the tzset module.
86781         * lib/strftime.c (my_strftime)
86782         [! defined _LIBC && ! HAVE_RUN_TZSET_TEST]:
86783         Copy the input structure, to work around some of the bug with
86784         Solaris 2.5.1 and Solaris 2.6.  If you still care about these old
86785         Solaris releases, you should also use the tzset module, but we won't
86786         require it as a dependency any more since we don't want LGPLed code
86787         to depend on GPLed code.
86788
86789 2005-07-02  Jim Meyering  <jim@meyering.net>
86790
86791         * m4/chown.m4, cloexec.m4, dup2.m4, fsusage.m4:
86792         * m4/getcwd-path-max.m4, getcwd.m4, mkstemp.m4, mountlist.m4:
86793         * m4/pagealign_alloc.m4, save-cwd.m4, unistd-safer.m4:
86794         Don't check for fcntl.h, and don't test for HAVE_FCNTL_H.
86795
86796 2005-07-02  Jim Meyering  <jim@meyering.net>
86797
86798         * lib/backupfile.c (backup_args): Change a `0' to NULL.
86799
86800 2005-07-01  Paul Eggert  <eggert@cs.ucla.edu>
86801
86802         * lib/xnanosleep.c: Include timespec.h, since OpenBSD 3.4 <time.h>
86803         declares only 'struct timespec;' (!).
86804
86805 2005-07-01  Jim Meyering  <jim@meyering.net>
86806
86807         * lib/chown.c, cloexec.c, dup-safer.c, dup2.c, fsusage.c, getcwd.c:
86808         * lib/getloadavg.c, mountlist.c, openat.h, pagealign_alloc.c:
86809         * lib/save-cwd.c, tempname.c:
86810         Assume HAVE_FCNTL_H (i.e., include <fcntl.h> unconditionally,
86811         and don't include <sys/file.h>).
86812
86813 2005-06-29  Jim Meyering  <jim@meyering.net>
86814
86815         * lib/mkdir-p.c (make_dir_parents): Don't apply sizeof to a hard-coded
86816         type name.  Use the variable name instead.
86817         * lib/idcache.c (getuser, getuidbyname, getgroup, getgidbyname):
86818         Likewise.
86819
86820 2005-06-28  Simon Josefsson  <jas@extundo.com>
86821
86822         * modules/check-version (Files): Add check-version.m4.
86823
86824 2005-06-28  Simon Josefsson  <jas@extundo.com>
86825
86826         * m4/check-version.m4: New file, suggested by Jim Meyering
86827         <jim@meyering.net>.
86828
86829 2005-06-28  Simon Josefsson  <jas@extundo.com>
86830
86831         * lib/check-version.h, lib/check-version.c: New files.
86832
86833 2005-06-28  Simon Josefsson  <jas@extundo.com>
86834
86835         * lib/base64.c (base64_encode): Indent.  Rename 'b64' to avoid
86836         collision with global variable.  Better indentation.  Don't
86837         increment buffer pointer beyond buffer end.  Based on comments
86838         from Paul Eggert <eggert@cs.ucla.edu>.
86839
86840         * lib/base64.h: Indent.
86841
86842 2005-06-28  Simon Josefsson  <jas@extundo.com>
86843
86844         * doc/gnulib.texi (Library version handling): New section.
86845
86846 2005-06-28  Jim Meyering  <jim@meyering.net>
86847
86848         * check-module (find_included_lib_files): Hard-code another
86849         pair of exceptions: fts.c includes fts-cycle.c and unistd-safer.h
86850         but modules/fts-lgpl (correctly) does not list those files.
86851
86852         * modules/canonicalize (Files): Add lib/pathmax.h.
86853
86854 2005-06-25  Simon Josefsson  <jas@extundo.com>
86855
86856         * modules/check-version: New file.
86857
86858 2005-06-24  Paul Eggert  <eggert@cs.ucla.edu>
86859
86860         * lib/canon-host.c (canon-host): Append trailing "," to 0 in
86861         initializer of struct addrinfo, as an indication that we don't
86862         care how many members the structure has.
86863
86864 2005-06-24  Derek Price  <derek@ximbiot.com>
86865         and Bruno Haible  <bruno@clisp.org>
86866
86867         Remove stat module & update lstat.
86868         * m4/lstat.m4 (gl_FUNC_LSTAT): Drop AC_FUNC_LSTAT in favor of
86869         AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
86870         * m4/stat.m4: Remove this file.
86871
86872 2005-06-24  Derek Price  <derek@ximbiot.com>
86873         and Bruno Haible  <bruno@clisp.org>
86874
86875         Remove stat module & update lstat.
86876         * lib/stat.c: Remove this file...
86877         (slash_aware_lstat): ...moving this content and its support...
86878         * lib/lstat.c (rpl_lstat): ...into here.
86879         * lib/lstat.h: New file.
86880
86881 2005-06-24  Derek Price  <derek@ximbiot.com>
86882         and Bruno Haible  <bruno@clisp.org>
86883
86884         Remove stat module & update lstat.
86885         * config/srclist.txt (libc sources): Remove stat.
86886
86887 2005-06-24  Derek Price  <derek@ximbiot.com>
86888         and Bruno Haible  <bruno@clisp.org>
86889
86890         Remove stat module & update lstat.
86891         * MODULES.html.sh (stat): Remove.
86892         * MODULES.html: Regenerated.
86893         * modules/lstat (Description): Correct function name.
86894         (Files): Add "lstat.h".
86895         (Depends-on): Remove stat, add xalloc, stat-macros.
86896         * modules/stat: Remove this file.
86897         (Include): Add "lstat.h", remove <sys/stat.h>.
86898
86899 2005-06-23  Paul Eggert  <eggert@cs.ucla.edu>
86900
86901         * lib/mktime.c: Include <string.h> even if !DEBUG.  (From glibc.)
86902         (ranged_convert): Don't save conversion in a temporary struct.
86903         This causes a warning with GCC 4.0.0, and anyway in the typical
86904         case it's not worth the extra 100 bytes or so of code.
86905         (ranged_convert, __mktime_internal): When calling a function via a
86906         pointer P, use P () rather than (*P) (), as we now assume C89 or
86907         better.
86908
86909 2005-06-22  Paul Eggert  <eggert@cs.ucla.edu>
86910
86911         * lib/readutmp.c (desirable_utmp_entry): Fix bug where "who -b" and
86912         "who -r" failed to give output.  Problem reported by Tim Waugh.
86913
86914         * lib/xmalloc.c (HAVE_GNU_CALLOC): New constant.
86915         (xcalloc): Use it to avoid needless tests.
86916         Problem reported by Jim Meyering.
86917
86918 2005-06-20  Derek Price  <derek@ximbiot.com>
86919
86920         * m4/bison.m4: Note that precious decls of YACC & YFLAGS will be
86921         unnecessary for Autoconfs > 2.59c.
86922
86923 2005-06-16  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
86924
86925         * lib/argp.h (__option_is_short): Check upper limit of
86926         __key. Isprint() requires its argument to have the value
86927         of an unsigned char or EOF.
86928
86929 2005-06-16  Jim Meyering  <jim@meyering.net>
86930
86931         * lib/calloc.c (rpl_calloc): Allocate a 1-byte buffer (not 1xS or Nx1)
86932         when either N or S is zero.
86933
86934 2005-06-16  Derek Price  <derek@ximbiot.com>
86935
86936         * m4/bison.m4: Declare YACC & YFLAGS precious.
86937
86938 2005-06-10  Paul Eggert  <eggert@cs.ucla.edu>
86939
86940         * lib/fnmatch.c (fnmatch): If there is an encoding error in a
86941         multibyte string or pattern, fall back on unibyte matching.
86942         Problem reported by James Youngman.
86943
86944 2005-06-08  Bruno Haible  <bruno@clisp.org>
86945
86946         * modules/csharpcomp: New file.
86947         * MODULES.html.sh (C#): Add csharpcomp.
86948
86949 2005-06-08  Bruno Haible  <bruno@clisp.org>
86950
86951         * m4/csharpcomp.m4: New file, from GNU gettext.
86952
86953 2005-06-08  Bruno Haible  <bruno@clisp.org>
86954
86955         * lib/csharpcomp.h: New file, from GNU gettext.
86956         * lib/csharpcomp.c: New file, from GNU gettext.
86957         * lib/csharpcomp.sh.in: New file, from GNU gettext.
86958
86959 2005-06-08  Bruno Haible  <bruno@clisp.org>
86960
86961         * lib/binary-io.h (fileno): Undefine before defining it. Avoids a gcc
86962         warning on mingw.
86963
86964 2005-06-07  Derek Price  <derek@ximbiot.com>
86965
86966         Sync from CVS.
86967         * lib/glob_.h: Indent nested #ifdef.
86968
86969 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
86970
86971         Sync from coreutils.
86972         Use "file name" when talking about file names, instead of "filename"
86973         or "path", as per the GNU coding standards.
86974         * lib/mkdir-p.c: Renamed from makepath.c.
86975         (make_dir_parents): Renamed from make_path.  All callers changed.
86976         * lib/mkdir-p.h: Likewise.  All includers changed.
86977         * lib/filenamecat.c: Renamed from path-concat.c.
86978         (file_name_concat): Renamed from path_concat.  All callers changed.
86979         [TEST_FILE_NAME_CONCAT]: Renamed from TEST_PATH_CONCAT.
86980         * lib/filenamecat.h: Likewise.  All includers changed.
86981         * lib/acl.c: Don't use "path" or "filename" to mean "file name"
86982         in comments or local variable names.
86983         * lib/basename.c: Likewise.
86984         * lib/canonicalize.c, canonicalize.h: Likewise.
86985         * lib/dirname.c, dirname.h: Likewise.
86986         * lib/euidaccess.c: Likewise.
86987         * lib/exclude.c: Likewise
86988         * lib/fnmatch_.h, fnmatch_loop.c: Likewise.
86989         * lib/fsusage.c, fsuage.h: Likewise.
86990         * lib/fts.c, fts_.h: Likewise.
86991         * lib/getcwd.c: Likewise.
86992         * lib/getloadavg.c: Likewise.
86993         * lib/mkstemp.c: Likewise.
86994         * lib/mountlist.c, mountlist.h: Likewise.
86995         * lib/openat.c, openat.h: Likewise.
86996         * lib/readlink-stub.c: Likewise.
86997         * lib/readutmp.c, readutmp.h: Likewise.
86998         * lib/rename.c: Likewise.
86999         * lib/rmdir.c: Likewise.
87000         * lib/same.c: Likewise.
87001         * lib/savedir.c: Likewise.
87002         * lib/stripslash.c: Likewise.
87003         * lib/tempname.c: Likewise.
87004         * lib/xreadlink.c: Likewise.
87005         * lib/exclude.c (excluded_file_name): Renamed from excluded_filename.
87006         All uses changed.
87007         * lib/exclude.h: Likewise.
87008
87009         * lib/euidaccess.c (getuid, getgid, getuid, getegid)
87010         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
87011         * lib/idcache.c (getpwuid, getpwnam, getgrgid, getgrnam)
87012         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
87013         * lib/pathmax.h: Include <limits.h> unconditionally, since other
87014         files have been getting away with it for years (MORE/BSD 4.3
87015         is extinct now).
87016         * lib/userspec.c (getpwnam, getgrnam, getgrgid)
87017         [!defined _POSIX_VERSION]: Remove decls; not needed these days.
87018
87019         * lib/pathmax.h (_POSIX_PATH_MAX) [!defined _POSIX_PATH_MAX]:
87020         Define to 256, not 255, as per modern POSIX.
87021
87022 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
87023
87024         Sync from coreutils.
87025         Use "file name" when talking about file names, instead of "filename"
87026         or "path", as per the GNU coding standards.
87027         * MODULES.html.sh: mkdir-p renamed from makepath.
87028         filenamecat renamed from path-concat.
87029         * modules/filenamecat: Renamed from modules/path-concat.
87030         (Files): filenamecat.h and filenamecat.c renamed from
87031         path-concat.h and path-concat.c.
87032         (configure.ac): gl_FILE_NAME_CONCAT, not gl_PATH_CONCAT.
87033         (Include): filenamecat.h, not path-concat.h.
87034         * modules/mkdir-p: Renamed from modules/makepath.
87035         (Files): mkdir-p.h and mkdir-p.c renamed from makepath.h and
87036         makepath.c.
87037         (configure.ac): gl_MKDIR_PARENTS, not gl_MAKEPATH.
87038         (Include): mkdir-p.h, not makepath.h.
87039
87040 2005-06-02  Paul Eggert  <eggert@cs.ucla.edu>
87041
87042         Sync from coreutils.
87043         * m4/mkdir-p.m4: Renamed from makepath.m4.
87044         (gl_MKDIR_PARENTS): Renamed from gl_MAKEPATH.  All uses changed.
87045         Rename files from makepath.c to mkdir-p.c, and from
87046         makepath.h to mkdir-p.h.
87047         * m4/filenamecat.m4: Renamed from path-concat.m4.
87048         (gl_FILE_NAME_CONCAT): Renamed from gl_PATH_CONCAT.  All uses changed.
87049         Rename files from path-concat.c to filenamecat.c,
87050         and from path-concat.h to filenamecat.h.
87051         * m4/getcwd-path-max.m4: Don't use "path" or "filename" to mean
87052         "file name" in local variables or comments.
87053         * m4/rename.m4: Likewise.
87054
87055 2005-06-01  Bruno Haible  <bruno@clisp.org>
87056
87057         * modules/csharpexec: New file.
87058         * MODULES.html.sh (C#): New section.
87059
87060 2005-06-01  Bruno Haible  <bruno@clisp.org>
87061
87062         * m4/csharp.m4: New file, from GNU gettext.
87063         * m4/csharpexec.m4: New file, from GNU gettext.
87064
87065 2005-06-01  Bruno Haible  <bruno@clisp.org>
87066
87067         * lib/csharpexec.h: New file, from GNU gettext.
87068         * lib/csharpexec.c: New file, from GNU gettext.
87069         * lib/csharpexec.sh.in: New file, from GNU gettext.
87070
87071 2005-05-31  Derek Price  <derek@ximbiot.com>
87072             Paul Eggert  <eggert@cs.ucla.edu>
87073
87074         Sync from cvs.
87075         * m4/glob.m4: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
87076
87077 2005-05-31  Derek Price  <derek@ximbiot.com>
87078             Paul Eggert  <eggert@cs.ucla.edu>
87079
87080         Sync from cvs.
87081         * lib/glob_.h: s/MISSING_SYS_CDEFS_H/_SYS_CDEFS_H/ and comment.
87082
87083 2005-05-29  Derek Price  <derek@ximbiot.com>
87084
87085         * config/srclist.txt (glob_.h, glob.c): Add these files.
87086
87087 2005-05-29  Derek Price  <derek@ximbiot.com>
87088
87089         * MODULES.html.sh: Add glob to Enhanced POSIX.2001 section.
87090         * modules/glob: New file.
87091         * modules/getlogin_r: Add link to POSIX spec in description.
87092
87093 2005-05-29  Derek Price  <derek@ximbiot.com>
87094             Paul Eggert  <eggert@cs.ucla.edu>
87095
87096         * m4/glob.m4: New file.
87097
87098 2005-05-29  Derek Price  <derek@ximbiot.com>
87099             Paul Eggert  <eggert@cs.ucla.edu>
87100
87101         * lib/glob_.h, lib/glob.c: New files.
87102
87103 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
87104
87105         * modules/fts (Files): Remove m4/inttypes-pri.m4.
87106         * modules/fts-lgpl (Depends-on): Remove gettext.
87107
87108 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
87109
87110         * m4/fts.m4 (gl_FUNC_FTS_CORE): Don't check for inttypes.h or stdint.h,
87111         and don't require gt_INTTYPES_PRI.
87112
87113 2005-05-27  Paul Eggert  <eggert@cs.ucla.edu>
87114
87115         * lib/getlogin_r.c (getlogin_r): Don't set errno to 0 on return.
87116
87117         * lib/fts.c: Don't worry about debugging on pre-C99-compatible hosts;
87118         the configuration hassle isn't worth it.
87119         Include inttypes.h and stdint.h unconditionally if FTS_DEBUG.
87120         (LONGEST_MODIFIER, PRIuMAX): Remove.
87121
87122 2005-05-27  Bruno Haible  <bruno@clisp.org>
87123
87124         * lib/getlogin_r.h: Remove second include of <stddef.h>.
87125
87126 2005-05-26  Paul Eggert  <eggert@cs.ucla.edu>
87127
87128         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Define
87129         _POSIX_PTHREAD_SEMANTICS for Solaris.
87130
87131 2005-05-25  Derek Price  <derek@ximbiot.com>
87132
87133         * MODULES.html.sh: Add getlogin_r to POSIX.2001 support section.
87134
87135 2005-05-25  Derek Price  <derek@ximbiot.com>
87136             Paul Eggert  <eggert@cs.ucla.edu>
87137
87138         * modules/getlogin_r, m4/getlogin_r.m4: New files.
87139         * lib/getlogin_r.c, getlogin_r.h: New files.
87140
87141 2005-05-25  Bruno Haible  <bruno@clisp.org>
87142             Derek Price  <derek@ximbiot.com>
87143
87144         * lib/getlogin_r.h: Simplify API documentation.
87145
87146 2005-05-23  Derek Price  <derek@ximbiot.com>
87147
87148         * modules/minmax (Files): Add m4/minmax.m4.
87149         (configure.ac): Add gl_MINMAX.
87150
87151 2005-05-22  Paul Eggert  <eggert@cs.ucla.edu>
87152
87153         * lib/fts.c (fd_safer) [_LGPL_PACKAGE]: New static function,
87154         so that unistd-safer.h (GPL'ed code) need not be included.
87155
87156 2005-05-22  Bruno Haible  <bruno@clisp.org>
87157
87158         * m4/minmax.m4: New file.
87159         Based on a patch by Derek Price <derek@ximbiot.com>.
87160
87161 2005-05-22  Bruno Haible  <bruno@clisp.org>
87162
87163         * lib/stdint_.h (_STDINT_H_HAVE_INT64): New macro. Use it in #ifdefs.
87164         (INT64_MIN): Fix definition.
87165         Suggested by Paul Eggert <eggert@cs.ucla.edu>.
87166
87167         * lib/stdint_.h (_STDINT_H_NEED_SIGNED_INT_TYPES): Renamed from
87168         NEED_SIGNED_INT_TYPES.
87169
87170         * lib/stdint_.h (_STDINT_H_HAVE_SYSTEM_INTTYPES): Renamed from
87171         HAVE_SYSTEM_INTTYPES.
87172
87173 2005-05-22  Bruno Haible  <bruno@clisp.org>
87174
87175         * lib/minmax.h: Include <limits.h> only when it defines MIN, MAX.
87176         Also include <sys/param.h> if it defines MIN, MAX.
87177         Based on a patch by Derek Price <derek@ximbiot.com>.
87178
87179 2005-05-21  Jim Meyering  <jim@meyering.net>
87180
87181         * modules/fts (Files): Add m4/inttypes-pri.m4.
87182         (Depends-on): Add lstat and remove gettext.  Alphabetize.
87183
87184 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87185
87186         New fts module.
87187         * lib/fts.c: Don't include "cycle-check.h" or "hash.h".
87188         (setup_dir, free_dir): New functions.
87189         (enter_dir, leave_dir): Define trivial
87190         alternatives of _LGPL_PACKAGE.  Move to fts-cycle.c if !_LGPL_PACKAGE.
87191         (HT_INITIAL_SIZE, ENTER_DIR): Remove.  All uses removed.
87192         (LEAVE_DIR): Fix typo: pass Fts and Ent to leave_dir.
87193         (struct Active_dir, AD_compare, AD_hash, enter_dir, leave_dir):
87194         Move to fts-cycle.c.
87195         (fts_open): Use setup_dir.
87196         (fts_close): Use free_dir.
87197         (fts_read): Have just one copy of the ENTER_DIR code rather than three.
87198         This adds a label and some gotos, but the alternatives were messier.
87199         Check for memory allocation failure when entering a dir.
87200         (fts_stat) [_LGPL_PACKAGE]: Bring back glibc cycle detection code.
87201         * lib/fts_.h (_LGPL_PACKAGE) [defined _LIBC]: New macro.
87202         (FTS): New member fts_cycle, that is a union that contains the
87203         old active_dir_ht and cycle_state.  All uses changed to mention
87204         fts_cycle.ht and fts_cycle.state.
87205         * lib/fts-cycle.c: New file, containing GPL'ed code migrated out of
87206         fts.c, with the following changes:
87207         (setup_dir, free_dir): New functions.
87208         (enter_dir): Now returns bool.  Return true if successful, false
87209         if memory exhausted.  All callers changed.
87210         Do not bother partly cleaning up on
87211         memory allocation failure; that is free_dir's job.
87212         However, free ad if hash_insert fails, to avoid memory leak.
87213         (enter_dir, leave_dir): Accommodate change to FTS by inspecting
87214         fts->fts_options to see which union member to use.
87215
87216 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87217
87218         * m4/fts.m4 (gl_FUNC_FTS_CORE): Renamed from gl_FUNC_FTS.
87219         (gl_FUNC_FTS, gl_FUNC_FTS_LGPL): New macros.
87220
87221 2005-05-20  Paul Eggert  <eggert@cs.ucla.edu>
87222
87223         * MODULES.html.sh (File system functions): Add fts, fts-lgpl.
87224
87225 2005-05-20  Jim Meyering  <jim@meyering.net>
87226
87227         * lib/unlinkdir.h (cannot_unlink_dir) [UNLINK_CANNOT_UNLINK_DIR]:
87228         Now a macro, to pacify GCC.
87229
87230 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
87231
87232         * m4/chown.m4 (gl_FUNC_CHOWN): Correct sense of test for honoring IDs
87233         of -1.
87234
87235 2005-05-20  Eric Blake  <ebb9@byu.net>  (tiny change)
87236
87237         * lib/chown.c (rpl_chown): Return -1 on failure.
87238
87239 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
87240
87241         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME]):
87242         Don't check for stddef.h.
87243         * m4/fts.m4 (gl_FUNC_FTS): Don't require AC_HEADER_STDC, as we
87244         don't use its results.
87245         Don't check for fcntl.h, stddef.h, stdlib.h, string.h, unistd.h,
87246         since we include them unconditionally.  Don't require
87247         AM_STDBOOL_H, since stdbool is a prerequisite.
87248         Don't require AC_C_CONST, AC_TYPE_SIZE_T or check for ptrdiff_t
87249         since we assume C89 or better.
87250         Don't require AC_FUNC_CLOSEDIR_VOID, AC_FUNC_LSTAT, or AC_FUNC_STAT,
87251         as we don't use their results.
87252         Don't check for fchdir, memmove, memset, strrchr, as we use
87253         them unconditionally.
87254         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Don't define
87255         GETTIMEOFDAY_CLOBBERS_LOCALTIME_BUFFER, since nobody uses it.
87256
87257 2005-05-18  Paul Eggert  <eggert@cs.ucla.edu>
87258
87259         * lib/canonicalize.c: Include canonicalize.h first, to test interface.
87260         Include <stddef.h> unconditionally, since we assume C89 now.
87261         All uses of PTR_INT_TYPE replaced by ptrdiff_t.
87262         * lib/fts.c: Include fts_.h first, to check interface.
87263         Do not include intprops.h; no longer needed.
87264         Include cycle-check.h and hash.h, since fts_.h no longer does.
87265         Remove unnecessary casts of closedir to void.
87266         (fts_build): Use a simpler method (not involving TYPE_SIGNED) to
87267         decide whether to decrement nlinks.
87268         * lib/fts_.h: Do not include hash.h or cycle-check.h; no longer needed.
87269         (FTS): Use struct hash_table * instead of Hash_table, so that
87270         we no longer need to include hash.h here.
87271
87272 2005-05-18  Jim Meyering  <jim@meyering.net>
87273
87274         * modules/dirfd (License): Change to LGPL.  Most of the code
87275         is already in the public domain.
87276
87277 2005-05-18  Jim Meyering  <jim@meyering.net>
87278
87279         * m4/fts.m4 (AC_LIBSOURCES): Add intprops.h to the list.
87280         Reported by Yoann Vandoorselaere.
87281
87282 2005-05-17  Jim Meyering  <jim@meyering.net>
87283
87284         * m4/fts.m4: New file, from coreutils.
87285
87286 2005-05-17  Jim Meyering  <jim@meyering.net>
87287
87288         * lib/fts.c, lib/fts_.h: New files, from coreutils.
87289
87290 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87291
87292         Sync from coreutils.
87293         * m4/unlinkdir.m4: New file.
87294
87295 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87296
87297         Sync from coreutils.
87298         * lib/unlinkdir.c, lib/unlinkdir.h: New files.
87299         * lib/gethrxtime.c, lib/gethrxtime.h, lib/getpass.h, lib/mountlist.h,
87300         lib/path-concat.c, lib/regex.h, lib/unlocked-io.h, lib/xtime.h:
87301         White space changes only.
87302         * lib/makepath.c (make_path): Port to hosts where leading "//" is
87303         special.
87304         * lib/yesno.c: Include getline.h, not ctype.h.
87305         (yesno): Don't remove leading white space; POSIX doesn't allow it.
87306         Use getline to remove arbitrary restriction on response length.
87307
87308 2005-05-14  Paul Eggert  <eggert@cs.ucla.edu>
87309
87310         * config/srclist-update: Spell out "Street" in FSF postal
87311         mail address; this is the style the FSF seems to prefer.
87312
87313         * build-aux/depcomp, build-aux/install-sh, build-aux/mdate-sh,
87314         build-aux/missing, build-aux/mkinstalldirs: Sync from Automake;
87315         this updates FSF postal mail address.
87316
87317         Sync from coreutils.
87318         * modules/unlinkdir: New file.
87319         * modules/yesno (Depends-on): Add getline.
87320         * MODULES.html.sh (File system functions): Add unlinkdir.
87321
87322 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87323
87324         * lib/byteswap_.h, lib/getsubopt.h, lib/iconvme.h, lib/strsep.c,
87325         lib/strsep.h:
87326         Change the initial comment to refer to GPL, not LGPL.
87327         gnulib-tool will change it to LGPL as needed.
87328
87329         * lib/__fpending.c, lib/acl.c, lib/acl.h, lib/alloca_.h, lib/allocsa.c,
87330         lib/allocsa.h, lib/argmatch.c, lib/argmatch.h, lib/argp-ba.c,
87331         lib/argp-eexst.c, lib/argp-fmtstream.c, lib/argp-fmtstream.h,
87332         lib/argp-fs-xinl.c, lib/argp-help.c, lib/argp-namefrob.h,
87333         lib/argp-parse.c, lib/argp-pv.c, lib/argp-pvh.c, lib/argp-xinl.c,
87334         lib/argp.h, lib/argz.c, lib/argz_.h, lib/asnprintf.c, lib/asprintf.c,
87335         lib/atanl.c, lib/backupfile.c, lib/backupfile.h, lib/base64.c,
87336         lib/base64.h, lib/basename.c, lib/binary-io.h, lib/byteswap_.h,
87337         lib/c-ctype.c, lib/c-ctype.h, lib/c-stack.c, lib/c-stack.h,
87338         lib/c-strtod.c, lib/calloc.c, lib/canon-host.c, lib/canonicalize.c,
87339         lib/canonicalize.h, lib/ceill.c, lib/chdir-long.c, lib/chdir-long.h,
87340         lib/chown.c, lib/classpath.c, lib/classpath.h, lib/cloexec.c,
87341         lib/closeout.c, lib/closeout.h, lib/concatpath.c, lib/config.charset,
87342         lib/copy-file.c, lib/copy-file.h, lib/cycle-check.c, lib/cycle-check.h,
87343         lib/diacrit.c, lib/diacrit.h, lib/dirfd.c, lib/dirfd.h, lib/dirname.c,
87344         lib/dirname.h, lib/dummy.c, lib/dup-safer.c, lib/dup2.c, lib/eealloc.h,
87345         lib/error.c, lib/error.h, lib/euidaccess.c, lib/exclude.c,
87346         lib/exclude.h, lib/execute.c, lib/execute.h, lib/exit.h,
87347         lib/exitfail.c, lib/exitfail.h, lib/expl.c, lib/fatal-signal.c,
87348         lib/fatal-signal.h, lib/fd-safer.c, lib/file-type.c, lib/file-type.h,
87349         lib/fileblocks.c, lib/filemode.c, lib/filemode.h, lib/findprog.c,
87350         lib/findprog.h, lib/floorl.c, lib/fnmatch.c, lib/fnmatch_.h,
87351         lib/fnmatch_loop.c, lib/fopen-safer.c, lib/free.c, lib/frexpl.c,
87352         lib/fsusage.c, lib/fsusage.h, lib/full-read.c, lib/full-read.h,
87353         lib/full-write.c, lib/full-write.h, lib/fwriteerror.c,
87354         lib/fwriteerror.h, lib/gai_strerror.c, lib/gcd.c, lib/gcd.h,
87355         lib/getaddrinfo.c, lib/getaddrinfo.h, lib/getcwd.c, lib/getcwd.h,
87356         lib/getdate.h, lib/getdate.y, lib/getdomainname.c, lib/getdomainname.h,
87357         lib/getgroups.c, lib/gethostname.c, lib/gethrxtime.c, lib/gethrxtime.h,
87358         lib/getline.c, lib/getline.h, lib/getloadavg.c, lib/getndelim2.c,
87359         lib/getndelim2.h, lib/getnline.c, lib/getnline.h, lib/getopt.c,
87360         lib/getopt1.c, lib/getopt_.h, lib/getopt_int.h, lib/getpagesize.h,
87361         lib/getpass.c, lib/getpass.h, lib/getsubopt.c, lib/getsubopt.h,
87362         lib/gettext.h, lib/gettime.c, lib/gettimeofday.c, lib/getugroups.c,
87363         lib/getusershell.c, lib/group-member.c, lib/group-member.h,
87364         lib/hard-locale.c, lib/hard-locale.h, lib/hash-pjw.c, lib/hash-pjw.h,
87365         lib/hash.c, lib/hash.h, lib/human.c, lib/human.h, lib/iconvme.c,
87366         lib/iconvme.h, lib/idcache.c, lib/inet_ntop.h, lib/intprops.h,
87367         lib/inttostr.c, lib/inttostr.h, lib/isdir.c, lib/javacomp.c,
87368         lib/javacomp.h, lib/javacomp.sh.in, lib/javaexec.c, lib/javaexec.h,
87369         lib/javaexec.sh.in, lib/lbrkprop.h, lib/lchown.c, lib/ldexpl.c,
87370         lib/linebreak.c, lib/linebreak.h, lib/linebuffer.c, lib/linebuffer.h,
87371         lib/localcharset.c, lib/localcharset.h, lib/logl.c, lib/long-options.c,
87372         lib/long-options.h, lib/lstat.c, lib/makepath.c, lib/makepath.h,
87373         lib/malloc.c, lib/mathl.h, lib/mbswidth.c, lib/mbswidth.h, lib/md5.c,
87374         lib/md5.h, lib/memcasecmp.c, lib/memcasecmp.h, lib/memchr.c,
87375         lib/memcmp.c, lib/memcoll.c, lib/memcoll.h, lib/memcpy.c, lib/memmem.c,
87376         lib/memmem.h, lib/mempcpy.c, lib/mempcpy.h, lib/memrchr.c,
87377         lib/memrchr.h, lib/memset.c, lib/minmax.h, lib/mkdir.c, lib/mkdtemp.c,
87378         lib/mkdtemp.h, lib/mkstemp.c, lib/mktime.c, lib/modechange.c,
87379         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
87380         lib/obstack.c, lib/obstack.h, lib/openat.c, lib/openat.h,
87381         lib/pagealign_alloc.c, lib/pagealign_alloc.h, lib/path-concat.c,
87382         lib/path-concat.h, lib/pathmax.h, lib/pathname.h, lib/physmem.c,
87383         lib/physmem.h, lib/pipe.c, lib/pipe.h, lib/poll.c, lib/poll_.h,
87384         lib/posixtm.c, lib/posixtm.h, lib/posixver.c, lib/printf-args.c,
87385         lib/printf-args.h, lib/printf-parse.c, lib/printf-parse.h,
87386         lib/progname.c, lib/progname.h, lib/progreloc.c, lib/putenv.c,
87387         lib/quote.c, lib/quote.h, lib/quotearg.c, lib/quotearg.h, lib/raise.c,
87388         lib/readlink.c, lib/readtokens.c, lib/readtokens.h, lib/readtokens0.c,
87389         lib/readtokens0.h, lib/readutmp.c, lib/readutmp.h, lib/realloc.c,
87390         lib/ref-add.sin, lib/ref-del.sin, lib/regex.c, lib/regex.h,
87391         lib/rename.c, lib/rmdir.c, lib/rpmatch.c, lib/safe-read.c,
87392         lib/safe-read.h, lib/safe-write.c, lib/safe-write.h, lib/same.c,
87393         lib/same.h, lib/save-cwd.c, lib/save-cwd.h, lib/savedir.c,
87394         lib/savedir.h, lib/setenv.c, lib/setenv.h, lib/settime.c,
87395         lib/sh-quote.c, lib/sh-quote.h, lib/sha1.c, lib/sha1.h, lib/sig2str.c,
87396         lib/sig2str.h, lib/sincosl.c, lib/snprintf.c, lib/snprintf.h,
87397         lib/sqrtl.c, lib/stat-macros.h, lib/stat.c, lib/stdbool_.h,
87398         lib/stdint_.h, lib/stdio-safer.h, lib/stpcpy.c, lib/stpcpy.h,
87399         lib/stpncpy.c, lib/stpncpy.h, lib/strcase.h, lib/strcasecmp.c,
87400         lib/strchrnul.c, lib/strchrnul.h, lib/strcspn.c, lib/strdup.c,
87401         lib/strdup.h, lib/strerror.c, lib/strftime.c, lib/strftime.h,
87402         lib/stripslash.c, lib/strndup.c, lib/strndup.h, lib/strnlen.c,
87403         lib/strpbrk.c, lib/strpbrk.h, lib/strsep.c, lib/strsep.h, lib/strstr.c,
87404         lib/strstr.h, lib/strtod.c, lib/strtoimax.c, lib/strtok_r.c,
87405         lib/strtok_r.h, lib/strtol.c, lib/strtoll.c, lib/strtoul.c,
87406         lib/strtoull.c, lib/strverscmp.c, lib/strverscmp.h, lib/sysexit_.h,
87407         lib/tempname.c, lib/time_r.c, lib/time_r.h, lib/timegm.c, lib/timegm.h,
87408         lib/timespec.h, lib/trigl.c, lib/trigl.h, lib/ucs4-utf16.h,
87409         lib/ucs4-utf8.h, lib/unicodeio.c, lib/unicodeio.h, lib/unistd-safer.h,
87410         lib/unlocked-io.h, lib/unsetenv.c, lib/userspec.c, lib/utf16-ucs4.h,
87411         lib/utf8-ucs4.h, lib/utime.c, lib/utimecmp.c, lib/utimecmp.h,
87412         lib/utimens.c, lib/vasnprintf.c, lib/vasnprintf.h, lib/vasprintf.c,
87413         lib/vasprintf.h, lib/version-etc-fsf.c, lib/version-etc.c,
87414         lib/version-etc.h, lib/vsnprintf.c, lib/vsnprintf.h, lib/w32spawn.h,
87415         lib/wait-process.c, lib/wait-process.h, lib/xalloc-die.c, lib/xalloc.h,
87416         lib/xallocsa.c, lib/xallocsa.h, lib/xasprintf.c, lib/xgetcwd.c,
87417         lib/xgetcwd.h, lib/xgetdomainname.c, lib/xgetdomainname.h,
87418         lib/xgethostname.c, lib/xmalloc.c, lib/xmemcoll.c, lib/xnanosleep.c,
87419         lib/xreadlink.c, lib/xreadlink.h, lib/xsetenv.c, lib/xsetenv.h,
87420         lib/xsize.h, lib/xstrndup.c, lib/xstrndup.h, lib/xstrtod.c,
87421         lib/xstrtod.h, lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h,
87422         lib/xstrtoumax.c, lib/xtime.h, lib/xvasprintf.c, lib/xvasprintf.h,
87423         lib/yesno.c, lib/yesno.h:
87424         Update FSF postal mail address.
87425
87426 2005-05-13  Paul Eggert  <eggert@cs.ucla.edu>
87427
87428         * MODULES.html.sh, README, gnulib-tool, tests/test-base64.c,
87429         tests/test-memmem.c, tests/test-stpncpy.c:
87430         Update FSF postal mail address.
87431
87432 2005-05-13  Bruno Haible  <bruno@clisp.org>
87433
87434         * lib/stdint_.h (int64_t, uint64_t, int_least64_t, uint_least64_t,
87435         int_fast64_t, uint_fast64_t, intmax_t, uintmax_t, INT64_MIN, INT64_MAX,
87436         UINT64_MAX, INT_LEAST64_MIN, INT_LEAST64_MAX, UINT_LEAST64_MAX,
87437         INT_FAST64_MIN, INT_FAST64_MAX, UINT_FAST64_MAX, INTMAX_MIN,
87438         INTMAX_MAX, UINTMAX_MAX, INT64_C, UINT64_C, INTMAX_C, UINTMAX_C):
87439         Add support for 64-bit integers in the MSVC compiler.
87440
87441 2005-05-12  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
87442
87443         * modules/getdate (Makefile.am): Add getdate.c to EXTRA_DIST
87444
87445 2005-05-12  Eric Blake  <ebb9@byu.net>  (tiny change)
87446
87447         * gnulib-tool (func_import): Sort and uniquify recommended includes.
87448
87449 2005-05-11  Paul Eggert  <eggert@cs.ucla.edu>
87450
87451         * doc/getdate.texi (General date syntax): Don't say that date
87452         date --iso-8601=ns generates acceptable dates; it doesn't yet.
87453         Problem reported by Nic Ferrier.
87454
87455 2005-05-10  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87456
87457         * lib/getaddrinfo.c: Don't fail when SOCK_STREAM or SOCK_DGRAM are
87458         specified in ai_socktype. Fix invalid ai_protocol
87459         check. ai_protocol is usually set to 0 or depending on
87460         ai_family/ai_socktype to IPPROTO_TCP / IPPROTO_UDP.  Checking for
87461         SOCK_STREAM / SOCK_DGRAM in ai_protocol was invalid.  Set
87462         ai_socktype / ai_protocol in the returned addrinfo structure.
87463
87464 2005-05-10  Simon Josefsson  <jas@extundo.com>
87465
87466         * m4/getaddrinfo.m4: Look in libnsl/libsocket for getaddrinfo, from
87467         Yoann Vandoorselaere <yoann.v@prelude-ids.com>.
87468
87469 2005-05-10  Karl Berry  <karl@gnu.org>
87470
87471         * doc/fdl.texi, gpl.texi, lgpl.texi, COPYING: update FSF address
87472         (from http://www.gnu.org/licenses).
87473         * doc/COPYING.LIB: also rename to COPYING.LESSER.
87474         * doc/COPYING.DOC: remove; per rms, only needed in doc files, so
87475         fdl.texi suffices.
87476
87477 2005-05-10  Karl Berry  <karl@gnu.org>
87478
87479         * config/srclist.txt (COPYING.LESSER): rename from COPYING.LIB.
87480         (COPYING.DOC): remove.
87481
87482         * config/srclist-update: new FSF address.
87483
87484 2005-05-10  Derek Price  <derek@ximbiot.com>
87485
87486         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 bug, not decl, when
87487         possible.
87488
87489 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87490             Bruno Haible  <bruno@clisp.org>
87491
87492         * modules/inet_ntop: New file.
87493         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
87494         inet_ntop.
87495
87496 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87497             Bruno Haible  <bruno@clisp.org>
87498
87499         * m4/inet_ntop.m4: New file.
87500
87501 2005-05-09  Yoann Vandoorselaere  <yoann.v@prelude-ids.com>
87502             Bruno Haible  <bruno@clisp.org>
87503
87504         * lib/inet_ntop.h: New file.
87505         * lib/inet_ntop.c: New file, from glibc with modifications.
87506
87507 2005-05-09  Paul Eggert  <eggert@cs.ucla.edu>
87508
87509         * modules/time_r (License): Change to LGPL.
87510         * modules/extensions (License): Change to LGPL.  Actually,
87511         the license is more permissive than that, but currently gnulib-tool
87512         doesn't know how to handle more-permissive licenses.
87513
87514         * modules/stat-macros (Depends-on): Don't depend on stat-macros (!).
87515         Problem reported by Dave Love.
87516
87517 2005-05-08  Jim Meyering  <jim@meyering.net>
87518
87519         * lib/classpath.c (PATH_SEPARATOR): Remove insignificant trailing
87520         blank.
87521
87522 2005-05-06  Paul Eggert  <eggert@cs.ucla.edu>
87523
87524         * modules/argmatch (Depends-on): Add stdbool.
87525         * modules/backupfile (Depends-on): Likewise.
87526         * modules/chdir-long (Depends-on): Likewise.
87527         * modules/closeout (Depends-on): Likewise.
87528         * modules/cycle-check (Depends-on): Likewise.
87529         * modules/dirname (Depends-on): Likewise.
87530         * modules/fnmatch (Depends-on): Likewise.
87531         * modules/fsusage (Depends-on): Likewise.
87532         * modules/fwriteerror (Depends-on): Likewise.
87533         * modules/getcwd (Depends-on): Likewise.
87534         * modules/getloadavg (Depends-on): Likewise.
87535         * modules/hard-locale (Depends-on): Likewise.
87536         * modules/makepath (Depends-on): Likewise.
87537         * modules/mountlist (Depends-on): Likewise.
87538         * modules/nanosleep (Depends-on): Likewise.
87539         * modules/posixtm (Depends-on): Likewise.
87540         * modules/quotearg (Depends-on): Likewise.
87541         * modules/readtokens (Depends-on): Likewise.
87542         * modules/readtokens0 (Depends-on): Likewise.
87543         * modules/readutmp (Depends-on): Likewise.
87544         * modules/save-cwd (Depends-on): Likewise.
87545         * modules/strftime (Depends-on): Likewise.
87546         * modules/userspec (Depends-on): Likewise.
87547         * modules/utimecmp (Depends-on): Likewise.
87548         * modules/xgetcwd (Depends-on): Likewise.
87549         * modules/xnanosleep (Depends-on): Likewise.
87550         * modules/xstrtod (Depends-on): Likewise.
87551         * modules/yesno (Depends-on): Likewise.
87552
87553 2005-05-05  Paul Eggert  <eggert@cs.ucla.edu>
87554
87555         * m4/getopt.m4 (gl_GETOPT): Check for Solaris 10 getopt, and avoid
87556         needless checks.
87557
87558 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87559
87560         Merge from coreutils.  Among other things,
87561         add bulletproofing for cases where stdin, stdout, or stderr are closed.
87562         * lib/fd-safer.c: New file.
87563         * lib/fcntl-safer.h, open-safer.c: Remove.
87564         * lib/chdir-long.c: Fix comment "fetish" -> "coreutils".
87565         * lib/dup-safer.c: Include unistd-safer.h first.
87566         Don't include errno.h.
87567         (dup_safer) [!defined F_DUPFD]: Let fd_safer do the real work.
87568         * lib/file-type.h: Don't assume invoker included sys/stat.h first.
87569         * lib/file-type.c: Rely on file-type.h change.
87570         * lib/getloadavg.c: Include unistd-safer.h.
87571         (getloadavg): Use safer open.
87572         * lib/getusershell.c: Include "stdio-safer.h".
87573         (getusershell): Use safer fopen.
87574         * lib/long-options.c (long_options): Use NULL rather than 0.
87575         * lib/modechange.h (mode_free): Remove; all callers changed to invoke
87576         'free'.
87577         * lib/modechange.c: Likewise.
87578         xstrtol.h, stdbool.h, stddef.h: Don't include; no longer needed.
87579         (MODE_DONE): New constant.
87580         (struct mode_change): Remove 'next' member.
87581         (make_node_op_equals): New function; like the old one of the
87582         same name, except it allocates an array.
87583         (mode_compile, mode_create_from_ref): Use it.
87584         (mode_compile): Allocate result as an array, not a linked list.
87585         Parse octal string ourself, so that we catch mistakes like "+0".
87586         (mode_adjust): Arg is an array, not a linked list.
87587         * lib/modechange.c: Include stat-macros.h, xalloc.h.
87588         (S_ISDIR, S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR):
87589         (S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH, S_IRXWU):
87590         (S_IRWXG, S_IRWXO, CHMOD_MODE_BITS):
87591         Remove.  This is now stat-macros.h's job.
87592         (talloc): Remove.  All callers replaced by xalloc, so that
87593         our invokers don't have to worry about reporting memory failures.
87594         (make_node_op_equals): Remove.
87595         (MODE_ORDINARY_CHAGE, MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87596         New constants.
87597         (struct mode_change): Moved here from modechange.h.
87598         (mode_append_entry): Remove.
87599         (mode_compile): Remove MASKED_OPS arg, since it encouraged
87600         apps to have incorrect behavior.  Use simpler algorithm for head
87601         and tail.  Don't futz with umask; that's now the job of mode_adjust.
87602         Detect more invalid usages rather than having somewhat-random behavior.
87603         Don't insert an "a=" action, as that leads to incorrect behavior.
87604         (mode_compile, mode_create_from_ref): Return NULL on error instead
87605         of an enum, since now there's only one way to have an error.  All
87606         callers changed.
87607         (mode_adjust): Accept new arg UMASK_VALUE, and interpret it
87608         at the correct time.  Simplify calculation of "+u" and its ilk.
87609         Don't mishandle "+X".
87610         (mode_free): Remove "register" and localize decls.
87611         * lib/modechange.h (MODE_X_IF_ANY_X, MODE_COPY_EXISTING):
87612         (struct mode_change): Move to modechange.c; callers don't
87613         need to see this stuff.
87614         (MODE_MASK_EQUALS, MODE_MASK_PLUS, MODE_MASK_MINUS, MODE_MASK_ALL):
87615         (MODE_INVALID, MODE_MEMORY_EXHAUSTED, MODE_BAD_REFERENCE): Remove.
87616         (mode_change, mode_adjust): Reflect the new signatures noted above.
87617         * lib/nanosleep.c (rpl_nanosleep): Include "timespec.h" before macros
87618         that might redefine system include files.
87619         (siginterrupt) [!HAVE_SIGINTERRUPT]: New macro.
87620         (my_usleep): Use NULL rather than (void *) 0.
87621         (rpl_nanosleep) [!defined SA_NOCLDSTOP]:
87622         Use siginterrupt to specify that system calls should be interrupted.
87623         (rpl_nanosleep): Move initialization of suspended closer to call of
87624         my_usleep.
87625         * lib/readutmp.h (read_utmp): New arg OPTIONS.  All uses changed.
87626         * lib/readutmp.c: Likewise.  Include signal.h, stdbool.h.
87627         (desirable_utmp_entry): New function.
87628         (read_utmp) [defined UTMP_NAME_FUNCTION]: Redo memory allocation
87629         using x2nrealloc, to simplify logic.
87630         (read_utmp) [!defined UTMP_NAME_FUNCTION]: Check for overflow in
87631         size calculation.  Do not assume utmp file is a regular file.
87632         * lib/readutmp.h (UT_PID): Moved here from ../src/who.c.
87633         (READ_UTMP_CHECK_PIDS): New constant.
87634         * lib/save-cwd.c: Include unistd-safer.h.
87635         (save_cwd): Use fd_safer.
87636         * lib/tempname.c (S_ISDIR, S_IRUSR, S_IRUSR, S_IWUSR, S_IXUSR): Remove.
87637         [!_LIBC] Include "stat-macros.h" instead.
87638         * lib/unistd-safer.h (fd_safer): New decl.
87639
87640 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87641
87642         * modules/getloadavg (Depends-on): Add unistd-safer.
87643         * modules/getusershell (Depends-on): Add stdio-safer.
87644         * modules/lstat (Depends-on): Remove xalloc.
87645         * modules/mkstemp (Depends-on): Add stat-macros.
87646         * modules/modechange (Depends-on): Remove xstrtol.
87647         Add stat-macros, xalloc.
87648         * modules/save-cwd (Depends-on): Add unistd-safer.
87649         * modules/stdio-safer (Makefile.am): Remove lib_SOURCES.
87650         * modules/unistd-safer (Files): Add lib/fd-safer.c
87651         (Makefile.am): Remove lib_SOURCES.
87652
87653         * MODULES.html.sh (Enhancements for POSIX:2001 functions):
87654         Remove fcntl-safer; unistd-safer supersedes it.
87655
87656 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87657
87658         * m4/euidaccess.m4 (gl_PREREQ_EUIDACCESS): Don't require
87659         AC_HEADER_STAT.
87660         * m4/lchown.m4 (gl_FUNC_CHOWN): Likewise.
87661         (gl_PREREQ_CHOWN): Remove.
87662         * m4/lstat.m4 (gl_FUNC_LSTAT): Require AC_FUNC_LSTAT instead of calling
87663         it.  Don't require AC_HEADER_STAT.
87664         (gl_PREREQ_LSTAT): Remove.
87665         * m4/mkstemp.m4 (gl_PREREQ_TEMPNAME): Check stdint.h only once.
87666         Don't require AC_HEADER_STAT.
87667         * m4/rmdir.m4 (gl_FUNC_RMDIR): Don't require AC_HEADER_STAT.
87668         (gl_PREREQ_RMDIR): Remove.
87669         * m4/canonicalize.m4 (AC_FUNC_CANONICALIZE_FILE_NAME): Don't
87670         mention stat-macros.h or AC_HEADER_STAT, since we'll make
87671         the stat-macros module a prerequisite.
87672         * m4/file-type.m4 (gl_FILE_TYPE): Likewise.
87673         * m4/filemode.m4 (gl_FILEMODE): Likewise.
87674         * m4/makepath.m4 (gl_MAKEPATH): Likewise.
87675         * m4/modechange.m4 (gl_MODECHANGE): Likewise.
87676         * m4/clock_time.m4 (gl_CLOCK_TIME): Use gl_ rather than fetish_ for
87677         variable names.
87678         * m4/rmdir-errno.m4 (gl_FUNC_RMDIR_NOTEMPTY): Renamed from
87679         fetish_FUNC_RMDIR_NOTEMPTY.  All uses changed.  Use gl_ for
87680         variable prefixes.
87681         * m4/fcntl-safer.m4: Remove.
87682         * m4/stdio-safer.m4 (gl_STDIO_SAFER): Use AC_LIBSOURCES and AC_LIBOBJ.
87683         * m4/unistd-safer.m4 (gl_UNISTD_SAFER): Likewise.
87684         Invoke gl_PREREQ_FD_SAFER.
87685         (gl_PREREQ_FD_SAFER): New macro.
87686         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): Check for siginterrupt.
87687         * m4/readutmp.m4 (gl_READUTMP): Require AC_C_INLINE.
87688         Use AC_CHECK_HEADERS_ONCE and AC_CHECK_FUNCS_ONCE when possible.
87689         Remove duplicate call to AC_LIBOBJ(readutmp).
87690         (gl_PREREQ_READUTMP): Remove.  All uses inlined.
87691
87692         * m4/mmap-anon.m4 (gl_FUNC_MMAP_ANON): Check for message, not for
87693         MAP_ANON.  Problem reported by Moriyoshi Koizumi to bug-cvs.
87694
87695 2005-05-01  Paul Eggert  <eggert@cs.ucla.edu>
87696
87697         * MODULES.html.sh (Misc): Add byteswap.
87698
87699 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87700
87701         * modules/getcwd (Depends-on): Add extensions.
87702         * modules/openat (Depends-on): Likewise.
87703
87704 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87705
87706         * modules/byteswap: New file.
87707
87708 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87709
87710         * m4/byteswap.m4: New file.
87711
87712 2005-05-01  Oskar Liljeblad  <oskar@osk.mine.nu>
87713
87714         * lib/byteswap_.h: New file.
87715
87716 2005-04-25  Karl Berry  <karl@gnu.org>
87717
87718         * m4/gettext.m4: Update from GNU gettext 0.14.4.
87719
87720 2005-04-25  Albert Chin  <china@thewrittenword.com>
87721
87722         * lib/regex.c: Include <stdio.h>, as a workaround to a Compaq Desktop
87723         Toolkit C bug.
87724
87725 2005-04-21  Oskar Liljeblad  <oskar@osk.mine.nu>
87726
87727         * gnulib-tool (Options): Add -s for --symlink/--symbolic.
87728         (func_ln_if_changed): Remove forcibly for no error message
87729         in case file does not exist.
87730
87731 2005-04-19  Simon Josefsson  <jas@extundo.com>
87732
87733         * gnulib-tool (Options): Make --symlink mean --symbolic.
87734
87735 2005-04-18  Oskar Liljeblad  <oskar@osk.mine.nu>
87736
87737         * doc/gnulib.texi (Initial import): Fix.  Mention --aux-dir.
87738
87739 2005-04-16  Simon Josefsson  <jas@extundo.com>
87740
87741         * modules/getpass-gnu (Makefile.am): Don't mention getpass.h.
87742
87743 2005-04-15  Simon Josefsson  <jas@extundo.com>
87744
87745         * m4/getpass.m4 (gl_FUNC_GETPASS): Use AC_LIBSOURCES.
87746
87747 2005-04-15  Simon Josefsson  <jas@extundo.com>
87748
87749         * gnulib-tool: Rename --symlink to --symbolic.
87750
87751 2005-04-15  Oskar Liljeblad  <oskar@osk.mine.nu>
87752
87753         * gnulib-tool: Add -s, --symlink option to gnulib-tool to make
87754         symbolic links to files instead of copying/moving.  Add --aux-dir,
87755         specifying directory relative --dir where auxiliary build tools
87756         are placed.
87757
87758 2005-04-14  Bruno Haible  <bruno@clisp.org>
87759
87760         * modules/allocsa (License): Change to LGPL.
87761         Requested by Yoann Vandoorselaere <yoann@prelude-ids.org>.
87762
87763 2005-04-13  Paul Eggert  <eggert@cs.ucla.edu>
87764
87765         * lib/getdate.y (zone): Allow relunit_snumber after tZONE, so
87766         that "UTC +1 second" continues to work.  Problem reported
87767         by Dmitry V. Levin.
87768         (relunit_snumber): New rule.
87769         (relunit): Use it.
87770
87771 2005-04-12  Paul Eggert  <eggert@cs.ucla.edu>
87772
87773         * lib/getdate.y (universal_time_zone_table): New constant.
87774         (time_zone_table): Remove GMT, UT, UTC entries; they're now in
87775         universal_time_zone_table.
87776         (lookup_zone): Prefer universal_time_zone_table to
87777         local_time_zone_table, so that "GMT" time stamps are allowed in
87778         London during the summer.  Problem reported by Ian Abbott.
87779
87780 2005-04-12  Jim Meyering  <jim@meyering.net>
87781
87782         * lib/human.c (humblock): Set *options even when returning due to
87783         xstrtoumax conversion failure.  Thanks to a used-uninitialized
87784         warning from gcc-4.
87785
87786 2005-04-09  Jim Meyering  <jim@meyering.net>
87787
87788         * lib/posixtm.c (posixtime) [lint]: Avoid spurious warning from gcc-4's
87789         -Wuninitialized: initialize tm0.tm_year.
87790
87791 2005-04-04  Paul Eggert  <eggert@cs.ucla.edu>
87792
87793         * lib/getdate.y (parser_control): rels_seen is now a boolean, not a
87794         count, since there's no maximum.  All uses changed.
87795         Add member dsts_seen.
87796         (local_zone): Accumulate dsts_seen rather than relying on tm_isdst
87797         not being INT_MAX.
87798         (get_date): Initialize dsts_seen, and check that it doesn't go over 1.
87799         Use pc_rels_seen to decide whether a date is absolute.
87800
87801         * lib/getdate.y (number): Don't overwrite year.
87802         (get_date): Initialize pc.year.digits to 0, not 4, to enable above
87803         check.
87804
87805 2005-04-02  Simon Josefsson  <jas@extundo.com>
87806
87807         * lib/getaddrinfo.h: Fix OpenBSD compilation failure, inspired by tiny
87808         patch from Yoann Vandoorselaere <yoann@prelude-ids.org>.
87809
87810 2005-03-28  Eric Blake  <ebb9@byu.net>  (tiny change)
87811
87812         * m4/getcwd-path-max.m4: Return success on systems such as Cygwin
87813         where no absolute path name can be longer than PATH_MAX.
87814
87815 2005-03-27  Jim Meyering  <jim@meyering.net>
87816
87817         * lib/argmatch.c: Clarify comment: null-terminated -> NULL-terminated.
87818
87819 2005-03-26  Paul Eggert  <eggert@cs.ucla.edu>
87820
87821         * lib/intprops.h (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND):
87822         "one's complement" -> "ones' complement" in comment, as per Knuth.
87823         "value of type" -> "type or expression" in comment.
87824         * lib/mktime.c, strftime.c: Propagate intprops.h comment nits.
87825
87826 2005-03-26  Jim Meyering  <jim@meyering.net>
87827
87828         Comment nits.
87829         * lib/intprops.h: Add the apostrophe in `(one|two)'s complement'.
87830         Correct typos: s/or/of/.
87831
87832 2005-03-26  Jim Meyering  <jim@meyering.net>
87833
87834         * modules/check-include-files: Move to ../ and rename to...
87835         * check-module: ...this.
87836
87837 2005-03-25  Jim Meyering  <jim@meyering.net>
87838
87839         * modules/xvasprintf (Files): Add xalloc.h.
87840
87841 2005-03-23  Paul Eggert  <eggert@cs.ucla.edu>
87842
87843         * modules/gettext (Files): config/config.rpath ->
87844         build-aux/config.rpath
87845         * modules/iconv (Files): Likewise.
87846         Problem reported by Oskar Liljeblad.
87847
87848 2005-03-23  Jim Meyering  <jim@meyering.net>
87849
87850         * modules/check-include-files: New script to check for
87851         missing dependencies, multiple includes, etc.
87852
87853         * modules/c-strtold (Depends-on): Add xalloc.
87854         * modules/c-strtod (Depends-on): Add xalloc.
87855         * modules/hash (Depends-on): Add xalloc.
87856         (Files): Remove lib/xalloc.h.
87857
87858         * modules/gethrxtime (Files): Add lib/gethrxtime.h.
87859         * modules/userspec (Files): Add lib/inttostr.h.
87860
87861 2005-03-23  Jim Meyering  <jim@meyering.net>
87862
87863         * lib/canonicalize.c: Remove duplicate `#include "stat-macros.h"'.
87864
87865 2005-03-22  Jim Meyering  <jim@meyering.net>
87866
87867         * modules/stat-macros: New module.
87868         * modules/canonicalize, modules/euidaccess, modules/file-type,
87869         * modules/filemode, modules/lchown, modules/makepath,
87870         * modules/rmdir, modules/stat: Depend on new stat-macros module
87871         rather than listing lib/stat-macros.h manually.
87872         Don't add stat-macros.h to lib_SOURCES or list it in Files: section.
87873
87874 2005-03-22  Jim Meyering  <jim@meyering.net>
87875
87876         * m4/stat-macros.m4 (gl_STAT_MACROS): New file/macro.
87877
87878 2005-03-22  Bruno Haible  <bruno@clisp.org>
87879
87880         * config/srclist.txt: Replace target directory 'config' with
87881         'build-aux'.
87882         * config/config.guess, config.sub, config.rpath, depcomp, install-sh:
87883         * config/mdate-sh, missing, mkinstalldirs, texinfo.tex: Move to
87884         ../build-aux/.
87885
87886 2005-03-21  Paul Eggert  <eggert@cs.ucla.edu>
87887
87888         * modules/chdir-long (Depends-on): Add mempcpy.
87889
87890         * modules/acl, modules/backupfile, modules/c-strtod,
87891         modules/c-strtold, modules/canon-host, modules/canonicalize,
87892         modules/cloexec, modules/closeout, modules/dirfd, modules/dirname,
87893         modules/exclude, modules/exitfail, modules/file-type,
87894         modules/filemode, modules/fpending, modules/fsusage, modules/getcwd,
87895         modules/getdate, modules/getline, modules/getpagesize,
87896         modules/getpass, modules/getugroups, modules/group-member,
87897         modules/hard-locale, modules/hash, modules/human, modules/idcache,
87898         modules/inttostr, modules/long-options, modules/makepath,
87899         modules/md5, modules/memcasecmp, modules/memcoll,
87900         modules/modechange, modules/mountlist, modules/path-concat,
87901         modules/pathmax, modules/physmem, modules/posixtm, modules/posixver,
87902         modules/quote, modules/quotearg, modules/readtokens, modules/readutmp,
87903         modules/safe-read, modules/safe-write, modules/same, modules/savedir,
87904         modules/settime, modules/sha1, modules/sig2str, modules/strdup,
87905         modules/strftime, modules/strndup, modules/strverscmp,
87906         modules/timespec, modules/unlocked-io, modules/userspec,
87907         modules/utimecmp, modules/utimens, modules/xalloc, modules/xstrtol,
87908         modules/yesno:
87909         Remove lib_SOURCES line from Makefile.am section, as this is now
87910         done automatically by the corresponding Autoconf macro.
87911
87912 2005-03-21  Jim Meyering  <jim@meyering.net>
87913
87914         Changes imported from coreutils.
87915
87916         * lib/cycle-check.c: Don't include xalloc.h.
87917
87918         * lib/path-concat.c: Don't include assert.h.
87919         (path_concat): Remove assertion that would have triggered
87920         for ABASE starting with more than one slash.
87921         Reported by Andreas Schwab.
87922
87923         * lib/path-concat.c (path_concat): Set *BASE_IN_RESULT
87924         properly when ABASE is an absolute file name.
87925         Correct the description of this function.
87926         Include <assert.h>.
87927         Add an assertion and a test driver.
87928         This fixes a bug introduced on 2004-07-02.
87929         Andreas Schwab reported the resulting failure of cp --parents:
87930         http://lists.gnu.org/archive/html/bug-coreutils/2005-01/msg00130.html
87931
87932 2005-03-21  Jim Meyering  <jim@meyering.net>
87933
87934         * m4/chdir-long.m4 (gl_PREREQ_CHDIR_LONG): Invoke gl_FUNC_MEMRCHR.
87935         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Check for memrchr decl.
87936
87937 2005-03-21  Jim Meyering  <jim@meyering.net>
87938         and  Paul Eggert  <eggert@cs.ucla.edu>
87939
87940         * m4/acl.m4, m4/backupfile.m4, m4/c-strtod.m4, m4/canon-host.m4,
87941         m4/canonicalize.m4, m4/cloexec.m4, m4/closeout.m4, m4/dirfd.m4,
87942         m4/dirname.m4, m4/exclude.m4, m4/exitfail.m4, m4/file-type.m4,
87943         m4/filemode.m4, m4/fpending.m4, m4/fsusage.m4, m4/getcwd.m4,
87944         m4/getdate.m4, m4/getline.m4, m4/getpagesize.m4, m4/getpass.m4,
87945         m4/getugroups.m4, m4/group-member.m4, m4/hard-locale.m4, m4/hash.m4,
87946         m4/human.m4, m4/idcache.m4, m4/inttostr.m4, m4/long-options.m4,
87947         m4/makepath.m4, m4/md5.m4, m4/memcasecmp.m4, m4/memcoll.m4,
87948         m4/modechange.m4, m4/mountlist.m4, m4/nanosleep.m4, m4/path-concat.m4,
87949         m4/pathmax.m4, m4/physmem.m4, m4/posixtm.m4, m4/posixver.m4,
87950         m4/quote.m4, m4/quotearg.m4, m4/readtokens.m4, m4/readutmp.m4,
87951         m4/safe-read.m4, m4/safe-write.m4, m4/same.m4, m4/savedir.m4,
87952         m4/settime.m4, m4/sha1.m4, m4/sig2str.m4, m4/strdup.m4, m4/strftime.m4,
87953         m4/strndup.m4, m4/strverscmp.m4, m4/timespec.m4, m4/unlocked-io.m4,
87954         m4/userspec.m4, m4/utimecmp.m4, m4/utimens.m4, m4/xalloc.m4,
87955         m4/xnanosleep.m4, m4/xstrtol.m4, m4/yesno.m4:
87956         Use AC_LIBSOURCES and AC_LIBOBJ to indicate source and object files
87957         for these modules.
87958
87959 2005-03-18  Paul Eggert  <eggert@cs.ucla.edu>
87960
87961         * lib/strftime.c (my_strftime): If the underlying strftime returns 0
87962         (which shouldn't happen), generate nothing instead of returning 0
87963         immediately, so that nstrftime (NULL, ...) doesn't return 0.
87964
87965 2005-03-16  Bruno Haible  <bruno@clisp.org>
87966
87967         * modules/stdint (Makefile.am): Use HAVE_LONG_LONG_64BIT instead of
87968         HAVE_LONGLONG_64BIT.
87969
87970 2005-03-16  Bruno Haible  <bruno@clisp.org>
87971
87972         * m4/stdint.m4 (gl_STDINT_H): Define HAVE_LONG_LONG_64BIT instead of
87973         HAVE_LONGLONG_64BIT.
87974
87975 2005-03-16  Bruno Haible  <bruno@clisp.org>
87976
87977         * lib/stdint_.h: Use HAVE_LONG_LONG_64BIT instead of
87978         HAVE_LONGLONG_64BIT.
87979
87980 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87981
87982         * lib/strftime.c (my_strftime): Prepend space to format so that we can
87983         reliably distinguish strftime failure from empty output on POSIX
87984         hosts.
87985
87986 2005-03-15  Paul Eggert  <eggert@cs.ucla.edu>
87987
87988         * lib/iconvme.c (SIZE_MAX): New macro, if not already defined.
87989         (iconv_string): Don't guess a size-zero buffer, as that might cause
87990         buffer overrun.  Instead, avoid multiplying by MB_LEN_MAX if the
87991         result would be 'too large', where 'too large' is (heuristically)
87992         the square root of SIZE_MAX, divided by MB_LEN_MAX to allay
87993         overflow concerns.  This will prevent some unwanted malloc failures
87994         when the inputs are very large.
87995
87996 2005-03-15  Karl Berry  <karl@gnu.org>
87997
87998         * config/srclist.txt (config.rpath): from gettext.
87999         * config/config.rpath: update.
88000
88001 2005-03-15  Bruno Haible  <bruno@clisp.org>
88002
88003         * lib/regex.c (byte_re_match_2_internal): Rename local variable 'not'
88004         to 'negate'.
88005
88006         * lib/regex.c (byte_re_match_2_internal): Reduce scope of same_str_p
88007         variable.
88008
88009         * lib/regex.c (EXTEND_BUFFER, regcomp): Cast the realloc/malloc
88010         results.
88011
88012 2005-03-14  Simon Josefsson  <jas@extundo.com>
88013
88014         * lib/timegm.h: Use proper prototype CPP guards, reported by Dave Love
88015         <fx@gnu.org>.
88016
88017 2005-03-14  Paul Eggert  <eggert@cs.ucla.edu>
88018
88019         * lib/mktime.c (TYPE_TWOS_COMPLEMENT, TYPE_ONES_COMPLEMENT,
88020         TYPE_SIGNED_MAGNITUDE, TYPE_MINIMUM, TYPE_MAXIMUM): Sync from
88021         intprops.h.
88022         * lib/strtol.c: Likewise.
88023
88024 2005-03-14  Jim Meyering  <jim@meyering.net>
88025
88026         * lib/strftime.c (my_strftime) [HAVE_STRFTIME && ! (_NL_CURRENT
88027         && HAVE_STRUCT_ERA_ENTRY)]: Initialize the first byte of ubuf[]
88028         to be nonzero so that we (and caller) can detect the difference
88029         between a valid zero-length expansion and an error return, even
88030         when the underlying strftime fails before writing anything into
88031         that location.
88032
88033 2005-03-14  Bruno Haible  <bruno@clisp.org>
88034
88035         * m4/lib-link.m4, gettext.m4, nls.m4, po.m4:
88036         Update from GNU gettext 0.14.3.
88037
88038 2005-03-10  Jim Meyering  <jim@meyering.net>
88039
88040         * m4/save-cwd.m4 (gl_SAVE_CWD): Check for fchdir.
88041
88042 2005-03-10  Jim Meyering  <jim@meyering.net>
88043
88044         * lib/save-cwd.c [!HAVE_FCHDIR]: Define open, fchdir, and chdir_long
88045         so that this module works on systems without fchdir.
88046
88047 2005-03-09  Paul Eggert  <eggert@cs.ucla.edu>
88048
88049         Factor int-properties macros into a single file, except for
88050         glibc-related files.
88051         * lib/intprops.h: New file.
88052         * lib/getloadavg.c: Include it instead of limits.h.
88053         (INT_STRLEN_BOUND): Remove.
88054         * lib/human.c: Include intprops.h.
88055         (group_number): Use INT_STRLEN_BOUND instead of rolling it ourself.
88056         * lib/human.h (LONGEST_HUMAN_READABLE): Use 146/485 rather than
88057         302/1000.
88058         * lib/inttostr.h: Include intprops.h instead of limits.h.
88059         (INT_STRLEN_BOUND, INT_BUFSIZE_BOUND): Remove.
88060         * lib/mktime.c (TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT): New macros,
88061         for consistency with intprops.h.
88062         (time_t_is_integer, twos_complement_arithmetic): Use them.
88063         * lib/sig2str.h: Include <signal.h>, intprops.h.
88064         (INT_STRLEN_BOUND): Remove.
88065         * lib/strftime.c (TYPE_SIGNED): Remove.
88066         (INT_STRLEN_BOUND): Switch to same implementation as intprops.h.
88067         * lib/strtol.c: Adjust comments to match intprops.h.
88068         * lib/userspec.c: Include intprops.h.
88069         (TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Remove.
88070         * lib/utimecmp.c, xnanosleep.c, xstrtol.c: Likewise.
88071         * lib/utimecmp.c (utimecmp): Use TYPE_IS_INTEGER, TYPE_TWOS_COMPLEMENT
88072         instead of rolling our own expressions.
88073         * lib/xstrtol.c: Include xstrtol.h first, to test interface.
88074
88075         * lib/strftime.c: Include <stdbool.h>.  Use bool where appropriate,
88076         instead of int.
88077         (my_strftime): Do not mishandle years close to INT_MAX, by doing
88078         the right thing even if adding 1900 would overflow.  Similarly
88079         for tm_mon + 1 and tm_yday + 1.
88080         Make %Y always equivalent to %C%y, and similarly for %G and %g.
88081         (DO_NUMBER, DO_NUMBER_SPACEPAD): Set digits to d, not a conditional.
88082         (DO_SIGNED_NUMBER): New macro.
88083         (my_strftime) [HAVE_TZNAME]: Don't dump core if tp->tm_dst > 1.
88084
88085 2005-03-07  Bruno Haible  <bruno@clisp.org>
88086
88087         * m4/mmap-anon.m4 (MAP_FILE, MAP_FAILED): Remove definitions.
88088
88089 2005-03-07  Bruno Haible  <bruno@clisp.org>
88090
88091         * lib/pagealign_alloc.c (MAP_FILE, MAP_FAILED): Define fallbacks.
88092
88093 2005-03-04  Derek R. Price  <derek@ximbiot.com>
88094
88095         * gnulib-tool (func_cp_if_changed, func_mv_if_changed): New functions.
88096         (func_import): Only replace files via --import when they have actually
88097         changed.
88098
88099 2005-03-03  Derek R. Price  <derek@ximbiot.com>
88100
88101         * m4/mmap-anon.m4: New file.
88102         * m4/pagealign_alloc.m4: New file.
88103
88104 2005-03-03  Derek R. Price  <derek@ximbiot.com>
88105             Bruno Haible  <bruno@clisp.org>
88106
88107         * modules/pagealign_alloc: New file.
88108         * MODULES.html.sh (Memory management functions): Add pagealign_alloc.
88109
88110 2005-03-03  Derek R. Price  <derek@ximbiot.com>
88111             Bruno Haible  <bruno@clisp.org>
88112
88113         * lib/pagealign_alloc.h: New file.
88114         * lib/pagealign_alloc.c: New file.
88115
88116 2005-03-03  Bruno Haible  <bruno@clisp.org>
88117
88118         * m4/inttypes.m4, isc-posix.m4, once-only.m4:
88119         Use an all-permissive copyright notice, recommended by RMS.
88120
88121 2005-03-02  Bruno Haible  <bruno@clisp.org>
88122
88123         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Undo the replacement here. Because
88124         of AIX, the replacement has to be done only after <string.h> is
88125         included, therefore not in config.h. stpncpy.h does the replacement,
88126         and stpncpy.c uses it.
88127
88128 2005-03-02  Bruno Haible  <bruno@clisp.org>
88129
88130         * lib/stpncpy.h (stpncpy): Define as a macro without arguments, so that
88131         stpncpy.c uses it.
88132
88133 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
88134
88135         Remove workaround for bug in Linux kernel 2.6.8 or thereabouts.
88136         The workaround isn't strictly needed for POSIX conformance, and
88137         it's too much of a pain to configure and maintain.  We'll ask
88138         people to fix their kernels instead.
88139         * lib/xnanosleep.c: Don't include gethrxtime.h or xtime.h.
88140         (NANOSLEEP_BUG_WORKAROUND): Remove.
88141         (xnanosleep): Remove the workaround.
88142
88143 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
88144
88145         * modules/gettime (Makefile.am): Remove lib_SOURCES line.
88146         Reported by Derek Price.
88147         (Include): Add "timespec.h".
88148
88149         * modules/xnanosleep (Depends-on): Remove gethrxtime.
88150
88151 2005-03-01  Paul Eggert  <eggert@cs.ucla.edu>
88152
88153         * m4/xnanosleep.m4 (gl_XNANOSLEEP): Remove configuration attempting
88154         to detect nanosleep bug.
88155
88156 2005-03-01  Bruno Haible  <bruno@clisp.org>
88157
88158         * lib/vasnprintf.c (EOVERFLOW): Define to a fallback if needed.
88159
88160 2005-02-26  Paul Eggert  <eggert@cs.ucla.edu>
88161
88162         * modules/gethrxtime: New file.
88163         * modules/xnanosleep (Files): Add m4/xnanosleep.m4.
88164         (Depends-on): Add gethrxtime.
88165         (configure.ac): Add gl_XNANOSLEEP.
88166         (Makefile.am): Remove lib_SOURCES line.
88167
88168 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
88169
88170         * m4/gethrxtime.m4, m4/xnanosleep.m4: New files.
88171         * m4/gettime.m4 (gl_GETTIME): Check for nanotime.
88172
88173 2005-02-25  Paul Eggert  <eggert@cs.ucla.edu>
88174
88175         * lib/gethrxtime.h, lib/gethrxtime.c, lib/xtime.h: New files.
88176         * lib/timespec.h (gettime): Return void, since it always
88177         succeeds now.  All uses changed.
88178         * lib/gettime.c (gettime): Likewise.
88179         [HAVE_NANOTIME]: Prefer nanotime.
88180         Assume gettimeofday succeeds, as POSIX requires.
88181         Assime time () succeeds, since other code already does.
88182         * lib/xnanosleep.c: Include xtime.h and gethrxtime.h, not xalloc.h.
88183         (timespec_subtract): Remove.
88184         (NANOSLEEP_BUG_WORKAROUND): New constant.
88185         (xnanosleep): Use gethrxtime rather than gettime; this simplifies
88186         things considerably.  Use it only on GNU/Linux hosts, since the
88187         workaround shouldn't be needed elsewhere.
88188
88189 2005-02-24  Bruno Haible  <bruno@clisp.org>
88190
88191         * modules/gettext (Files): Add m4/glibc2.m4.
88192
88193 2005-02-24  Bruno Haible  <bruno@clisp.org>
88194
88195         * m4/gettext.m4, intdiv0.m4, intmax.m4, inttypes-pri.m4, lcmessage.m4:
88196         * m4/lib-link.m4, lib-prefix.m4, nls.m4, po.m4, printf-posix.m4:
88197         * m4/progtest.m4:
88198         Update from GNU gettext 0.14.2.
88199         * m4/glibc2.m4: New file, from GNU gettext 0.14.2.
88200
88201 2005-02-24  Bruno Haible  <bruno@clisp.org>
88202
88203         * lib/localcharset.c: Update from GNU gettext 0.14.2.
88204         * lib/config.charset: Update from GNU gettext 0.14.2.
88205
88206 2005-02-24  Bruno Haible  <bruno@clisp.org>
88207
88208         * lib/gettext.h: Update from GNU gettext 0.14.2.
88209
88210 2005-02-23  Simon Josefsson  <jas@extundo.com>
88211
88212         * m4/iconvme.m4: New file.
88213
88214 2005-02-23  Jim Meyering  <jim@meyering.net>
88215
88216         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Revert yesteday's
88217         change.
88218         Thanks to Bruno Haible for catching it.
88219
88220 2005-02-22  Simon Josefsson  <jas@extundo.com>
88221
88222         * modules/iconvme: New file.
88223
88224         * MODULES.html.sh: Add iconvme.
88225
88226 2005-02-22  Simon Josefsson  <jas@extundo.com>
88227
88228         * lib/iconvme.h, lib/iconvme.c: New files, from libc.
88229
88230 2005-02-22  Simon Josefsson  <jas@extundo.com>
88231
88232         * config/srclist.txt: Sync iconvme.h, iconvme.c from libc.
88233
88234 2005-02-22  Jim Meyering  <jim@meyering.net>
88235
88236         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Fix typo:
88237         s/ifndef/ifdef/.
88238
88239 2005-02-20  Neil Conway  <neilc@samurai.com>
88240
88241         * lib/xgethostname.c (xgethostname): Check for ENOMEM, which is
88242         returned by OSX/Darwin if the specified buffer is not large
88243         enough for the hostname.
88244
88245 2005-02-03  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88246
88247         * lib/argp-help.c (__argp_help): Create a fake struct argp_state and
88248         pass it to _help, otherwise the latter coredumps trying to
88249         dereference state.root_argp.
88250
88251 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88252
88253         * modules/chdir-long (Depends-on): Add memrchr.
88254         * modules/memrchr (Files): Add lib/memrchr.h.
88255         (Include): "memrchr.h".
88256
88257 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88258
88259         * m4/memrchr.m4 (gl_FUNC_MEMRCHR): Add AC_LIBSOURCES, for memrchr.h.
88260
88261 2005-02-03  Paul Eggert  <eggert@cs.ucla.edu>
88262
88263         * lib/memrchr.h: New file.
88264         * lib/chdir-long.c: Include it.
88265         * lib/memrchr.c [!defined _LIBC]: Include it rather than <string.h>
88266         Don't bother including stddef.h.
88267
88268 2005-02-01  Paul Eggert  <eggert@cs.ucla.edu>
88269
88270         * lib/mountlist.h (MOUNTLIST_H_): New macro, to protect against double
88271         inclusion.
88272         Include <sys/types.h>, for dev_t.
88273         (ME_DUMMY, ME_REMOTE): Move from here....
88274         * lib/mountlist.c (ME_DUMMY, ME_REMOTE): To here.
88275         (ME_DUMMY): Count "subfs" as a dummy.  Problem reported by
88276         Dmitry V. Levin.
88277         Include mountlist.h first, to test the interface.
88278
88279 2005-01-29  Bruno Haible  <bruno@clisp.org>
88280
88281         * lib/progname.c (program_name): Initialize.
88282         Needed when linking statically on MacOS X.
88283
88284 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
88285
88286         Sync from coreutils.
88287         * modules/getloadavg (Files): Remove m4/getloadavg.m4.
88288         (Depends-on): Add c-strtod.
88289         (configure.ac): Replace gl_FUNC_GETLOADAVG with AC_FUNC_GETLOADAVG.
88290
88291 2005-01-28  Paul Eggert  <eggert@cs.ucla.edu>
88292
88293         Sync from coreutils.
88294         * m4/getloadavg.m4, glibc.m4, search-libs.m4: Remove.
88295
88296         Remove files that are specific to coreutils.
88297         * m4/check-decl.m4, jm-macros.m4, lib-check.m4, prereq.m4: Remove.
88298
88299 2005-01-28  Bruno Haible  <bruno@clisp.org>
88300
88301         * modules/javacomp: New file.
88302         * MODULES.html.sh (Java): Add javacomp.
88303
88304 2005-01-28  Bruno Haible  <bruno@clisp.org>
88305
88306         * m4/javacomp.m4: New file, from GNU gettext.
88307
88308 2005-01-28  Bruno Haible  <bruno@clisp.org>
88309
88310         * lib/javacomp.sh.in: New file, from GNU gettext.
88311         * lib/javacomp.h: New file, from GNU gettext.
88312         * lib/javacomp.c: New file, from GNU gettext.
88313
88314 2005-01-26  Simon Josefsson  <jas@extundo.com>
88315
88316         * lib/gai_strerror.c: Use GPL in header.
88317
88318 2005-01-26  Bruno Haible  <bruno@clisp.org>
88319
88320         * modules/javaexec: New file.
88321         * MODULES.html.sh (Java): Add javaexec.
88322
88323 2005-01-26  Bruno Haible  <bruno@clisp.org>
88324
88325         * m4/javaexec.m4: New file, from GNU gettext.
88326
88327 2005-01-26  Bruno Haible  <bruno@clisp.org>
88328
88329         * lib/javaexec.sh.in: New file, from GNU gettext.
88330         * lib/javaexec.h: New file, from GNU gettext.
88331         * lib/javaexec.c: New file, from GNU gettext.
88332
88333 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88334
88335         * modules/lchown (Depends-on): Remove lchown.h
88336
88337 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88338
88339         * m4/sysexits.m4 (gl_SYSEXITS): Reverted logic. SYSEXITS_H
88340         must be defined if the header file was not found, in order
88341         to provide a replacement. Reported by Todd Vierling <tv@duh.org>
88342
88343 2005-01-24  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88344
88345         * lib/argp-help.c (hol_entry_help): Avoid using non-constant
88346         initializers for struct pentry_state.
88347         (__argp_error): Check return value of __asprintf
88348         (__argp_failure): Translate error message
88349
88350         * lib/argp-parse.c: Removed braces around the expansion of N_()
88351
88352 2005-01-23  Paul Eggert  <eggert@cs.ucla.edu>
88353
88354         * m4/acl.m4, afs.m4, alloca.m4, argp.m4, assert.m4, atexit.m4,
88355         backupfile.m4, base64.m4, bison.m4, c-bs-a.m4, c-stack.m4,
88356         c-strtod.m4, calloc.m4, canon-host.m4, canonicalize.m4,
88357         clock_time.m4, cloexec.m4, closeout.m4, d-ino.m4, d-type.m4,
88358         dirfd.m4, dirname.m4, dos.m4, dup2.m4, error.m4, euidaccess.m4,
88359         exclude.m4, exitfail.m4, extensions.m4, fcntl-safer.m4,
88360         file-type.m4, fileblocks.m4, filemode.m4, fnmatch.m4, fpending.m4,
88361         free.m4, fstypename.m4, fsusage.m4, ftruncate.m4, getaddrinfo.m4,
88362         getcwd-path-max.m4, getcwd.m4, getdate.m4, getdomainname.m4,
88363         getgroups.m4, gethostname.m4, getline.m4, getndelim2.m4,
88364         getnline.m4, getopt.m4, getpagesize.m4, getpass.m4, getsubopt.m4,
88365         gettime.m4, gettimeofday.m4, getugroups.m4, getusershell.m4,
88366         group-member.m4, hard-locale.m4, hash.m4, host-os.m4, human.m4,
88367         idcache.m4, inttostr.m4, isdir.m4, jm-winsz1.m4, jm-winsz2.m4,
88368         link-follow.m4, long-options.m4, ls-mntd-fs.m4, lstat.m4,
88369         makepath.m4, mathl.m4, md5.m4, memcasecmp.m4, memchr.m4,
88370         memcmp.m4, memcoll.m4, memcpy.m4, memmem.m4, memmove.m4,
88371         memrchr.m4, memset.m4, mkdir-slash.m4, mkstemp.m4, mktime.m4,
88372         modechange.m4, mountlist.m4, nanosleep.m4, obstack.m4,
88373         path-concat.m4, pathmax.m4, perl.m4, physmem.m4, poll.m4,
88374         posixtm.m4, posixver.m4, putenv.m4, quote.m4, quotearg.m4,
88375         readdir.m4, readtokens.m4, readutmp.m4, regex.m4, rename.m4,
88376         restrict.m4, rmdir-errno.m4, rmdir.m4, rpmatch.m4, same.m4,
88377         savedir.m4, settime.m4, sha1.m4, sig2str.m4, snprintf.m4,
88378         sockpfaf.m4, st_dm_mode.m4, st_mtim.m4, stat.m4, stdint.m4,
88379         stdio-safer.m4, strchrnul.m4, strdup.m4, strerror.m4,
88380         strerror_r.m4, strftime.m4, strndup.m4, strnlen.m4, strsep.m4,
88381         strtod.m4, strtoimax.m4, strtok_r.m4, strtol.m4, strtoll.m4,
88382         strtoul.m4, strtoull.m4, strtoumax.m4, strverscmp.m4, sysexits.m4,
88383         time_r.m4, timegm.m4, timespec.m4, tm_gmtoff.m4, tzset.m4,
88384         uint32_t.m4, uintptr_t.m4, unistd-safer.m4, unlink-busy.m4,
88385         unlocked-io.m4, uptime.m4, userspec.m4, utimbuf.m4, utime.m4,
88386         utimecmp.m4, utimens.m4, utimes-null.m4, vsnprintf.m4, xalloc.m4,
88387         xgetcwd.m4, xreadlink.m4, xstrndup.m4, xstrtod.m4, xstrtoimax.m4,
88388         xstrtol.m4, xstrtoumax.m4, yesno.m4:
88389         Use an all-permissive copyright notice, recommended by RMS.
88390
88391 2005-01-21  Paul Eggert  <eggert@cs.ucla.edu>
88392
88393         * modules/chdir-long (Depends-on): Remove mempcpy.
88394
88395 2005-01-21  Jim Meyering  <jim@meyering.net>
88396
88397         * lib/openat.h (AT_SYMLINK_NOFOLLOW): Define to 4096, so it's the
88398         same value as for Solaris 9.
88399
88400         * lib/chdir-long.c (chdir_long): Rewrite to remove limitation on
88401         component length.  This included changing the parameter to be
88402         of type `char *' rather than `char const *'.
88403         * lib/chdir-long.h (chdir_long): Update prototype.
88404
88405         * lib/openat.c (fdopendir, fstatat): New functions.
88406         * lib/openat.h: Include headers required for use of DIR and struct
88407         stat.
88408         [AT_SYMLINK_NOFOLLOW]: Define.
88409         (fdopendir, fstatat): Add prototypes.
88410
88411 2005-01-21  Bruno Haible  <bruno@clisp.org>
88412
88413         * modules/classpath: New file.
88414         * MODULES.html.sh (Java): Add classpath.
88415
88416 2005-01-21  Bruno Haible  <bruno@clisp.org>
88417
88418         * lib/classpath.h: New file, from GNU gettext.
88419         * lib/classpath.c: New file, from GNU gettext.
88420
88421 2005-01-20  Simon Josefsson  <jas@extundo.com>
88422
88423         * modules/version-etc-fsf: New file.
88424
88425 2005-01-20  Simon Josefsson  <jas@extundo.com>
88426
88427         * lib/version-etc-fsf.c: New file, with version_etc_copyright.
88428         * lib/version-etc.c: Remove version_etc_copyright.
88429         * lib/version-etc.h (version_etc_copyright): Use [] instead of * in
88430         prototype, suggested by Paul Eggert <eggert@CS.UCLA.EDU>.
88431
88432 2005-01-20  Simon Josefsson  <jas@extundo.com>
88433
88434         * lib/base64.h (isbase64): Add.
88435
88436         * lib/base64.c (isb64): Rename to isbase64, use to_uchar instead of
88437         using a unsigned prototype, don't inline.
88438         (base64_decode): Use it.
88439
88440 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88441
88442         * m4/save-cwd.m4 (gl_SAVE_CWD): Remove check for fcntl; we now assume
88443         it.
88444
88445 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88446
88447         * lib/save-cwd.c (save_cwd): Remove code to support the case
88448         where fchdir is missing or flaky.
88449
88450 2005-01-20  Paul Eggert  <eggert@cs.ucla.edu>
88451
88452         * MODULES.html.sh (Command-line arguments): Add version-etc-fsf.
88453
88454 2005-01-19  Paul Eggert  <eggert@cs.ucla.edu>
88455
88456         * modules/mempcpy (Makefile.am): Remove mention of mempcpy.h;
88457         AC_LIBSOURCES now does this.
88458         * MODULES.html.sh (Sizes of integer types <limits.h>): New element,
88459         with new ullong_max module.
88460
88461 2005-01-19  Bruno Haible  <bruno@clisp.org>
88462
88463         * modules/sh-quote: New file.
88464         * MODULES.html.sh (Executing programs): Add sh-quote.
88465
88466 2005-01-19  Bruno Haible  <bruno@clisp.org>
88467
88468         * lib/sh-quote.h: New file, from GNU gettext.
88469         * lib/sh-quote.c: New file, from GNU gettext.
88470
88471 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88472
88473         Merge from coreutils.
88474         * m4/ullong_max.m4: New file.
88475         * m4/jm-macros.m4 (gl_MACROS): Require gl_ULLONG_MAX.
88476         (gl_MACROS): Assume localeconv exists.
88477
88478 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88479
88480         Merge changes from coreutils, as described below in several
88481         changelogs dated today.
88482
88483         * lib/save-cwd.c: Include "save-cwd.h" before other include files.
88484         (O_DIRECTORY): Remove; not needed here, since "." must be
88485         a directory.  All uses removed.
88486         (save_cwd): Use __sgi || __sun, not sun || __sun.  __sun is
88487         universal on Suns, and we also need to test for IRIX.
88488         Revamp code to use 'if' rather than '#if'.
88489         Avoid unnecessary comparison of cwd->desc to 0.
88490
88491         * lib/utimens.c (futimens): Robustify the previous patch, by checking
88492         for known valid error numbers rather than observed invalid ones.
88493
88494 2005-01-18  Paul Eggert  <eggert@cs.ucla.edu>
88495
88496         * modules/ullong_max: New file.
88497
88498         * modules/chdir-long, modules/openat: New files.
88499         * modules/save-cwd (Depends-on): Depend on chdir-long.
88500         (Makefile.am): Remove lib_SOURCES; now handled by AC_LIBSOURCES.
88501
88502 2005-01-18  Jim Meyering  <jim@meyering.net>
88503
88504         Merge from coreutils.
88505         * m4/chdir-long.m4, m4/openat.m4: New files.
88506         * m4/save-cwd.m4 (gl_SAVE_CWD): Add AC_LIBSOURCES for save-cwd.c,
88507         save-cwd.h.  Add AC_LIBOBJ for save-cwd.
88508         * m4/chown.m4 (gl_FUNC_CHOWN): When cross-compiling, assume that chown
88509         is sane and DOES follow symlinks.  Besides, testing 20 different
88510         systems found no broken chown implementations.
88511         Prompted by a change in rsync's copy of this macro.
88512         * m4/jm-macros.m4 (gl_MACROS): Require gl_FUNC_CHDIR_LONG.
88513
88514         * m4/lchown.m4 (gl_FUNC_LCHOWN): Use AC_LIBSOURCES.
88515
88516         * m4/utimes.m4: Work around tests/touch/empty-file failure on a system
88517         (sparc64, Linux-2.4.28, glibc-2.3.3) that didn't honor utimes'
88518         NULL-means-set-to-current-time semantics.
88519         Remove temporary file immediately, rather than waiting
88520         for configure's at-exit trap code to do it.
88521
88522 2005-01-18  Jim Meyering  <jim@meyering.net>
88523
88524         * lib/version-etc.c (version_etc_copyright): Update copyright date.
88525
88526         * lib/utimens.c (futimens): Account for the fact that futimes
88527         can also fail with errno == ENOSYS or errno == ENOENT.
88528         Patch from Dmitry V. Levin.
88529
88530         Change the name of the robust chdir function from chdir to chdir_long.
88531         * lib/save-cwd.c: Include chdir-long.h rather than chdir.h.
88532         (restore_cwd): Use chdir_long, not chdir.
88533         * lib/chdir-long.c: Renamed from chdir.c.
88534         * lib/chdir-long.h: Renamed from chdir.h.
88535         [!defined PATH_MAX]: Define chdir_long to chdir on systems like the
88536         Hurd.
88537
88538 2005-01-18  Bruno Haible  <bruno@clisp.org>
88539
88540         * m4/allocsa.m4, m4/codeset.m4, m4/copy-file.m4, m4/eaccess.m4:
88541         * m4/eealloc.m4, m4/eoverflow.m4, m4/execute.m4, m4/fatal-signal.m4:
88542         * m4/findprog.m4, m4/glibc21.m4, m4/iconv.m4, m4/intmax_t.m4:
88543         * m4/inttypes_h.m4, m4/lib-ld.m4, m4/lib-link.m4, m4/lib-prefix.m4:
88544         * m4/linebreak.m4, m4/localcharset.m4, m4/longdouble.m4:
88545         * m4/longlong.m4, m4/mbrtowc.m4, m4/mbstate_t.m4, m4/mbswidth.m4:
88546         * m4/mkdtemp.m4, m4/pipe.m4, m4/readlink.m4, m4/safe-read.m4:
88547         * m4/safe-write.m4, m4/setenv.m4, m4/sig_atomic_t.m4:
88548         * m4/signalblocking.m4, m4/signed.m4, m4/size_max.m4, m4/ssize_t.m4:
88549         * m4/stdbool.m4, m4/stdint_h.m4, m4/stpcpy.m4, m4/stpncpy.m4:
88550         * m4/strcase.m4, m4/strcspn.m4, m4/strpbrk.m4, m4/strstr.m4:
88551         * m4/ucs4-utf.m4, m4/uintmax_t.m4, m4/ulonglong.m4, m4/unicodeio.m4:
88552         * m4/utf-ucs4.m4, m4/vasnprintf.m4, m4/vasprintf.m4:
88553         * m4/wait-process.m4, m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4:
88554         Use an all-permissive copyright notice, recommended by RMS.
88555
88556 2005-01-18  Bob Proulx  <bob@proulx.com>
88557
88558         * lib/obstack.c [DEFAULT_ALIGNMENT]: Use an intermediate type to
88559         simplify offsetof() macro construct to avoid compile failure with
88560         native HP-UX 11.0 ANSI C compiler.
88561
88562 2005-01-17  Bruno Haible  <bruno@clisp.org>
88563
88564         * lib/stpncpy.c: Remove HAVE_STPNCPY and gnu_stpncpy renaming,
88565         redundant because stpncpy.m4 takes care of it.
88566
88567 2005-01-17  Bruno Haible  <bruno@clisp.org>
88568
88569         * lib/progreloc.c: Include xalloc.h instead of xmalloc.h.
88570
88571 2005-01-17  Bruno Haible  <bruno@clisp.org>
88572
88573         * lib/progreloc.c (xstrdup): Define as strdup if no xmalloc should be
88574         used.
88575
88576 2005-01-17  Bruno Haible  <bruno@clisp.org>
88577
88578         * lib/fwriteerror.h (fwriteerror): Change specification to include
88579         fclose.
88580         * lib/fwriteerror.c: Include <stdbool.h>.
88581         (fwriteerror): At the end, close the file stream. Record whether
88582         stdout was already closed.
88583
88584 2005-01-17  Bruno Haible  <bruno@clisp.org>
88585
88586         * lib/execute.c (environ): Declare if needed.
88587         * lib/pipe.c (environ): Likewise.
88588         Reported by Michael Schloh von Bennewitz <michael.schloh@cw.com>.
88589
88590 2005-01-11  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88591
88592         * modules/argp: Depend on vsnprintf
88593
88594 2005-01-10  Jim Meyering  <jim@meyering.net>
88595
88596         * modules/closeout (Depends-on): Add atexit.
88597
88598 2005-01-06  Bruno Haible  <bruno@clisp.org>
88599
88600         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Rename stpncpy to gnu_stpncpy here.
88601
88602 2005-01-04  Paul Eggert  <eggert@cs.ucla.edu>
88603
88604         * lib/human.c (SIZE_MAX, UINTMAX_MAX): Move these conditional
88605         definitions to be after all include files, to avoid collisions.
88606         Problem reported by Bob Proulx.
88607
88608 2005-01-04  Jim Meyering  <jim@meyering.net>
88609
88610         Changes imported from coreutils.
88611         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Rather than using "conftestXXXXXX"
88612         as the mkstemp template, use a temporary directory and an
88613         8.3-friendly template to avoid trouble on systems like DJGPP.
88614         Reported by Juan M. Guerrero via Stepan Kasal.
88615         * m4/(gl_FUNC_MKSTEMP): Include <unistd.h> for the declaration of
88616         close. Remove the temporary directory right away, rather than waiting
88617         for configure's at-exit trap code to do it.
88618         Suggestion from Stepan Kasal.
88619
88620 2005-01-01  Simon Josefsson  <jas@extundo.com>
88621
88622         * gnulib-tool: Print #include directives when --import'ing.
88623
88624 2004-12-28  Simon Josefsson  <jas@extundo.com>
88625
88626         * tests/test-base64.c: Include required header files.  Remove
88627         unused variables.
88628
88629 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88630
88631         * modules/error (Depends-on): Remove gettext.
88632
88633 2004-12-28  Paul Eggert  <eggert@cs.ucla.edu>
88634
88635         * lib/error.c [!_LIBC && !ENABLE_NLS]: Do not include "gettext.h";
88636         not needed.  This removes a dependency on the gettext module.
88637         [defined _LIBC]: Do not include <libintl.h>; not needed.
88638
88639 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88640
88641         * m4/c-strtod.m4 (gl_C99_STRTOLD): New macro.
88642         (gl_C_STRTOD): Use it instead of AC_CHECK_DECLS_ONCE(strtold).
88643
88644 2004-12-24  Paul Eggert  <eggert@cs.ucla.edu>
88645
88646         * lib/c-strtod.c (STRTOD): Depend on HAVE_C99_STRTOLD, not
88647         HAVE_DECL_STRTOLD.
88648
88649 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88650
88651         * modules/getdate (Depends-on): Remove alloca-opt.
88652
88653 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88654
88655         * m4/getdate.m4 (gl_GETDATE): Remove AC_FUNC_ALLOCA.
88656
88657 2004-12-23  Paul Eggert  <eggert@cs.ucla.edu>
88658
88659         * lib/argp-parse.c: Include <stddef.h>.
88660         (alignof, alignto): New macros.
88661         (parser_init): Don't assume that void * is aligned sufficiently
88662         for struct option.
88663
88664         * lib/getdate.y (YYSTACK_USE_ALLOCA): Define to 0, since there's no
88665         need to extend the stack.
88666         (YYINITDEPTH): New macro, so that the initial stack isn't overly
88667         large.
88668
88669 2004-12-22  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88670
88671         * lib/argp-parse.c (parser_init): Avoid arithmetics on void pointers.
88672
88673 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88674
88675         * modules/regex (lib_SOURCES): Remove regex.c, undoing previous
88676         (2004-10-24) change.  Apparently this was a false alarm.
88677
88678         * modules/getdate: Depend on alloca-opt, not alloca.
88679
88680 2004-12-19  Paul Eggert  <eggert@cs.ucla.edu>
88681
88682         * lib/alloca_.h: Conditionalize on _GNULIB_ALLOCA_H, not _ALLOCA_H.
88683         Remove now-obsolete comment about AIX.
88684         * lib/getdate.y: Include <alloca.h> only if HAVE_ALLOCA.
88685         (YYSTACK_USE_ALLOCA): Define to 0 if !HAVE_ALLOCA.
88686         (YYMAXDEPTH): New macro.
88687
88688 2004-12-18  Simon Josefsson  <jas@extundo.com>
88689
88690         * modules/alloca: Depend on alloca-opt, instead of duplicating it.
88691
88692 2004-12-18  Bruno Haible  <bruno@clisp.org>
88693
88694         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Also test for sigaction.
88695
88696 2004-12-18  Bruno Haible  <bruno@clisp.org>
88697
88698         * lib/fatal-signal.c (fatal_signals): Make non-const.
88699         (init_fatal_signals): New function.
88700         (uninstall_handlers, install_handlers): Ignore signals that were set to
88701         SIG_IGN.
88702         (at_fatal_signal): Call init_fatal_signals.
88703         (init_fatal_signal_set): Likewise. Ignore signals that were set to
88704         SIG_IGN.
88705         Reported by Paul Eggert.
88706
88707 2004-12-18  Bruno Haible  <bruno@clisp.org>
88708
88709         * doc/alloca.texi: New file.
88710         * doc/alloca-opt.texi: New file.
88711
88712 2004-12-17  Jim Meyering  <jim@meyering.net>
88713
88714         * config/install-sh: Use `(exit N); exit N', not `(exit N); exit'.
88715         Otherwise, install-sh could exit with improper exit status when
88716         exiting via a trapped interrupt.  Thanks to a report from Bob Proulx.
88717
88718 2004-12-16  Simon Josefsson  <jas@extundo.com>
88719
88720         * tests/test-base64.c: Add license.
88721
88722 2004-12-15  Stepan Kasal  <address@hidden>
88723
88724         * gnulib-tool (func_emit_lib_Makefile_am): Shorten a long sed command.
88725
88726 2004-12-12  Paul Eggert  <eggert@cs.ucla.edu>
88727
88728         * modules/getcwd (Files): Add m4/d-ino.m4.
88729         Suggested by Mark D. Baushke.
88730
88731 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88732
88733         * lib/getdate.y (textint): New member "negative".
88734         (time_zone_hhmm): New function.
88735         Expect 14 shift-reduce conflicts, not 13.
88736         (o_colon_minutes): New rule.
88737         (time, zone): Use it to add support for +HH:MM, UTC+HH:MM.
88738         (yylex): Set the "negative" member of signed numbers.
88739
88740 2004-12-08  Paul Eggert  <eggert@cs.ucla.edu>
88741
88742         * doc/getdate.texi (Time of day items, Time zone items):
88743         Describe new formats +00:00, UTC+00:00.
88744
88745 2004-12-07  Paul Eggert  <eggert@cs.ucla.edu>
88746
88747         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): Fix typo in previous change:
88748         spurious "-l"s.  Problem reported by Stepan Kasal.
88749
88750 2004-12-06  Paul Eggert  <eggert@cs.ucla.edu>
88751
88752         * m4/ls-mntd-fs.m4 (AC_FUNC_GETMNTENT): New macro, to work around bug
88753         in Autoconf 2.59.  Problem reported by Mark D. Baushke.
88754
88755 2004-12-04  Simon Josefsson  <jas@extundo.com>
88756
88757         * modules/getaddrinfo (License): Add LGPL, reported by Yoann
88758         Vandoorselaere <yoann@prelude-ids.org>.
88759
88760 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88761
88762         Changes imported from coreutils.
88763         * m4/hard-locale.m4 (gl_HARD_LOCALE): Assume locale.h and setlocale
88764         exist.
88765         * m4/human.m4 (gl_HUMAN): Assume locale.h and localeconv exist.
88766
88767 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88768
88769         Changes imported from coreutils.
88770         * lib/hard-locale.c: Assume <locale.h> exists.
88771         Include "strdup.h".
88772         (GLIBC_VERSION): New macro.
88773         (hard_locale): Assume setlocale exists.
88774         Rewrite to avoid #ifdef.
88775         Use strdup rather than malloc + strcpy.
88776         * lib/human.c: Assume <locale.h> exists.
88777         (human_readable): Assume localeconv exists.
88778
88779 2004-12-04  Paul Eggert  <eggert@cs.ucla.edu>
88780
88781         * modules/hard-locale (Depends-on): Add strdup.
88782
88783 2004-12-01  Jakub Jelinek  <jakub@redhat.com>
88784
88785         * lib/mktime.c (__mktime_internal): If SEC_REQUESTED != SEC,
88786         convert T2, not T.  (Imported from libc.)
88787
88788 2004-11-30  Simon Josefsson  <jas@extundo.com>
88789
88790         * modules/restrict (License): Change to LGPL.
88791
88792 2004-11-30  Simon Josefsson  <jas@extundo.com>
88793
88794         * m4/restrict.m4: Add copyright and copying conditions.
88795
88796 2004-11-30  Simon Josefsson  <jas@extundo.com>
88797
88798         * m4/base64.m4: New file.
88799
88800 2004-11-30  Simon Josefsson  <jas@extundo.com>
88801
88802         * MODULES.html.sh (Extra functions based on ANSI C 89): Add
88803         base64.
88804
88805         * tests/test-base64.c: New file.
88806
88807         * modules/base64: New file.
88808
88809 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88810
88811         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX):
88812         Define HAVE_PARTLY_WORKING_GETCWD if getcwd is partly working.
88813
88814         * m4/readutmp.m4 (gl_READUTMP): Don't check for sys/param.h.
88815
88816 2004-11-30  Paul Eggert  <eggert@cs.ucla.edu>
88817
88818         * lib/getcwd.c (is_ENAMETOOLONG): New macro.
88819         (__getcwd.c): Don't restore errno; glibc doesn't.
88820         [HAVE_PARTLY_WORKING_GETCWD && !defined AT_FDCWD]: Try system getcwd
88821         first, falling back to our code only if its results look suspicious.
88822         Ensure that the resulting buffer is only as large as necessary.
88823
88824         * lib/readutmp.c: Include readutmp.h first.
88825         Include <errno.h>, since readutmp.h no longer does that.
88826         * lib/readutmp.h: Don't include <errno.h>,
88827         <sys/param.h>, <time.h>; not needed to establish interface.
88828         (errno): Remove decl.
88829         (HAVE_STRUCT_XTMP_UT_TYPE): Remove; no longer needed.
88830         (UT_TYPE_EQ, UT_TYPE_NOT_DEFINED, UT_TYPE_BOOT_TIME,
88831         UT_TYPE_USER_PROCESS, IS_USER_PROCESS): New macros.
88832
88833 2004-11-28  Simon Josefsson  <jas@extundo.com>
88834
88835         * lib/base64.h, base64.c: New file.
88836
88837 2004-11-27  Paul Eggert  <eggert@cs.ucla.edu>
88838
88839         * lib/getcwd.h: New file, which I forgot to check in on 2004-11-25.
88840
88841 2004-11-26  Paul Eggert  <eggert@cs.ucla.edu>
88842
88843         * modules/getcwd (Files): Add lib/getcwd.h, m4/getcwd.m4.
88844         (Depends-on): Remove pathmax, same.  Add mempcpy.
88845         (configure.ac): GL_FUNC_GETCWD_PATH_MAX -> gl_FUNC_GETCWD.
88846         (Makefile.am): Append getcwd.h to lib_SOURCES.
88847         (Include): Add getcwd.h.
88848         (Maintainer): Change from Jim Meyering to "all, glibc",
88849         since getdate now uses intended-for-glibc code.
88850         * modules/xgetcwd (Files): Remove m4/getcwd.m4.
88851         (Depends-on): Depend on getcwd.  Do not depend on pathmax.
88852
88853 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88854
88855         Fix problems reported by Scott S. Tinsley for HP-UX 11.11 using
88856         HP's ANSI C compiler.
88857         * lib/fsusage.c (statvfs) [HAVE_SYS_STATVFS_H]: Remove decl.
88858         Declaring int functions causes warnings on some modern systems and
88859         shouldn't be needed to compile on ancient ones.
88860         * lib/same.c (MIN) [defined MIN]: Don't define, since it's already
88861         defined.
88862
88863         * lib/getcwd.c: Replace by a copy of glibc/sysdeps/posix/getcwd.c, but
88864         with the following changes.
88865         (__set_errno): Parenthesize properly.
88866         Include <stdbool.h>.
88867         (MIN, MAX, MATCHING_INO): New macros.
88868         (__getcwd): Define with prototype, not K&R form.
88869         Use heuristics to allocate default buffer on stack if possible.
88870         If AT_FDCWD is defined, use openat and fstatat to avoid O(N**2)
88871         behavior, and to avoid the PATH_MAX limit when computing
88872         ../../../../...
88873         Use MATCHING_INO to compare inode number to file.
88874         Check for arithmetic overflow in size calculations.
88875         Fix bug in reallocation of dot array that caused getcwd to fail
88876         on directories nested deeper than 75.
88877         Be more careful about saving errno on error.
88878         Do not use realloc; use only free+malloc, as this is a bit
88879         more flexible and avoids a needless copy operation.
88880         Do not inspect st_dev and st_ino for symbolic links; POSIX
88881         doesn't specify the latter.
88882         Check for closedir errors.
88883         Avoid needless casts.
88884         Use "#ifdef weak_alias" around weak_alias, to be like other
88885         glibc code.
88886         The following changes to getcwd.c have effect only when used in
88887         gnulib; they have no effect inside glibc proper.
88888         (#pragma alloca) [defined _AIX && !defined __GNUC__]: Remove,
88889         as alloca isn't used.
88890         (alloca, __alloca): Likewise.
88891         [!_LIBC]: Include "getcwd.h", "mempcpy.h".
88892         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
88893         unconditionally, as gnulib assumes C89 or better.
88894         Do not include <sys/param.h>.
88895         (errno) [!defined __GNU_LIBRARY__ && !defined STDC_HEADERS]: Remove
88896         no-longer-necessary 'extern int errno' decl; gnulib assumes C89 or
88897         better.
88898         (NULL) [!defined NULL]: Remove; we assume C89 or better.
88899         Include <dirent.h> in a way that is compatible with modern Autoconf.
88900         (_D_ALLOC_NAMELEN, _D_EXACT_NAMLEN):
88901         New macros, if not already defined.
88902         Include <unistd.h> if _LIBC, not if __GNU_LIBRARY__.
88903         Use "_LIBC", not "defined _LIBC", for consistency.
88904         (HAVE_MEMPCPY): Remove; no longer needed now that gnulib has
88905         a mempcpy module.
88906         (__lstat, __closedir, __opendir, __readdir) [!_LIBC]: New macros.
88907         (GETCWD_RETURN_TYPE): Remove.  All uses replaced by char *.
88908         * lib/xgetcwd.c: David MacKenzie's old code was removed, so give
88909         credit only to Jim Meyering and adjust the copyright dates.
88910         Do not include <limits.h>, <stdio.h>, <sys/types.h>,
88911         <stdlib.h>, <unistd.h>, "pathmax.h".
88912         Instead, include "xgetcwd.h" (first) and "getcwd.h".
88913         (INITIAL_BUFFER_SIZE): Remove.
88914         (xgetcwd): Rely on getcwd, since we now depend on a reliable one.
88915
88916 2004-11-25  Paul Eggert  <eggert@cs.ucla.edu>
88917
88918         * m4/getcwd-path-max.m4 (gl_FUNC_GETCWD_PATH_MAX): Renamed from
88919         GL_FUNC_GETCWD_PATH_MAX for consistency.  All uses changed.
88920         Use the _ONCE methods, for efficiency.
88921         Check for fcntl.h.  In test program, include <errno.h>
88922         and <fcntl.h> if available.  Remove old K&R cruft from
88923         test program.  Check for common errors in GNU/Linux,
88924         OpenBSD, and Solaris.  Just set gl_cv_func_getcwd_path_max;
88925         don't do AC_LIBOBJ, as that's getcwd.m4's job.
88926         * m4/getcwd.m4 (gl_FUNC_GETCWD_NULL): Renamed from
88927         AC_FUNC_GETCWD_NULL.  All used changed.  Change cache variable
88928         name accordingly.
88929         (gl_FUNC_GETCWD, gl_PREREQ_GETCWD): New macros.  Revamp to
88930         accommodate new getcwd.c.
88931         * m4/jm-macros.m4 (gl_MACROS): Don't require GL_FUNC_GETCWD_PATH_MAX.
88932         * m4/prereq.m4 (gl_PREREQ): Add gl_FUNC_MEMPCPY.
88933         * m4/xgetcwd.m4 (gl_XGETCWD): Replace with gl_FUNC_GETCWD, since
88934         that's all we need now.
88935
88936 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88937
88938         * m4/argp.m4 (gl_ARGP): Require gl_GETOPT_SUBSTITUTE unconditionally:
88939         argp-parse.c depends on getopt internals, that means we should
88940         always use our getopt, to be on the safe side.
88941         * m4/getopt.m4 (gl_GETOPT): Check if GETOPT_H is already set, in
88942         order not to spoil the result of an eventual previous invocation
88943         of gl_GETOPT_SUBSTITUTE.
88944
88945 2004-11-23  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
88946
88947         * lib/getopt_.h: Re-addition of __getopt_argv_const caused
88948         redefinition warnings. To avoid them, include the defines
88949         in `#if !defined __need_getopt ... #endif'. The only place
88950         where __getopt_argv_const is used is in definitions
88951         of getopt_long and getopt_long_only below, which are as well
88952         protected by `#ifndef __need_getopt'.
88953         [defined __GETOPT_PREFIX && !defined __need_getopt]: Undef
88954         __need_getopt after including <stdio.h> and <unistd.h> These
88955         headers might have defined it.
88956
88957 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88958
88959         * m4/utimens.m4 (gl_UTIMENS): Check for futimes function.
88960
88961 2004-11-23  Paul Eggert  <eggert@cs.ucla.edu>
88962
88963         * lib/utimens.c (__attribute__, ATTRIBUTE_UNUSED): New macros.
88964         (futimens): New function, which uses futimes if available.
88965         (futimens, utimens): Support timespec==NULL, with same semantics
88966         as utime and utimens.
88967         * lib/utimens.h (futimens): New decl.
88968
88969 2004-11-23  Jim Meyering  <jim@meyering.net>
88970
88971         * lib/getopt_.h: Remove trailing blanks.
88972
88973 2004-11-23  Jim Meyering  <jim@meyering.net>
88974
88975         * lib/__fpending.c: Add comment.
88976
88977 2004-11-22  Paul Eggert  <eggert@cs.ucla.edu>
88978
88979         * modules/canonicalize (Depends-on): Add xreadlink.
88980         Problem reported by James Youngman.
88981
88982 2004-11-20  Paul Eggert  <eggert@cs.ucla.edu>
88983
88984         * lib/getopt_.h (__GETOPT_CONCAT, __GETOPT_XCONCAT, __GETOPT_ID):
88985         New macros.
88986         (getopt, getopt_long, getopt_long_only, optarg, opterr, optind,
88987         optopt): Use them instead of invoking ## directly; otherwise, the
88988         symbols will be __GETOPT_PREFIXgetopt rather than rpl_getopt.
88989
88990 2004-11-19  Bruno Haible  <bruno@clisp.org>
88991
88992         * lib/strtok_r.c: Move comments from here...
88993         * lib/strtok_r.h: ... to here.
88994
88995 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
88996
88997         * m4/calloc.m4 (_AC_FUNC_CALLOC_IF): Check for buggy calloc
88998         implementations that mishandle size_t overflow.
88999
89000 2004-11-17  Paul Eggert  <eggert@cs.ucla.edu>
89001
89002         * lib/realloc.c (rpl_realloc): Call 'free' if n==0, since realloc
89003         might fail.  Problem reported by Yoann Vandoorselaere.
89004         * lib/calloc.c (rpl_calloc): Defend against buggy calloc
89005         implementations that mishandle size_t overflow.
89006
89007 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89008
89009         * modules/canon-host (Depends-on): Add strdup.
89010
89011 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89012
89013         * m4/canon-host.m4 (gl_CANON_HOST): Check for getaddrinfo.
89014
89015 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89016
89017         * lib/canon-host.c: Include "strdup.h".
89018         (canon_host): Use getaddrinfo if available, so that IPv6 works.
89019         Use strdup instead of malloc/strcpy to duplicate strings.
89020
89021         * lib/human.h (LONGEST_HUMAN_READABLE): Add 1 for space before unit.
89022         (human_space_before_unit): New constant.
89023         * lib/human.c (human_readable): Support it.
89024
89025         * lib/xgetcwd.c: Include <limits.h>, for PATH_MAX.
89026         (xgetcwd): Set errno correctly when failing.
89027         Work around Solaris 9 bug: getcwd sets errno==ERANGE even though
89028         the failure is actually due to a PATH_MAX problem.
89029
89030         Further getopt changes to make it more likely that glibc will
89031         buy the changes back.
89032         * lib/getopt.c (POSIXLY_CORRECT): New constant.
89033         (getopt): Use it, so to preserve glibc semantic
89034         * lib/getopt1.c (getopt_long, getopt_long_only): Arg is char * const *
89035         when compiling for libc.
89036         * lib/getopt_.h (__getopt_argv_const): Bring it back.
89037         (getopt_long, getopt_long_only): Use it.
89038
89039         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
89040         _getopt_internal): New arg POSIXLY_CORRECT.  All callers changed.
89041         (getopt): Argv is now char * const *, as per standard.
89042         (_getopt_internal_r, _getopt_internal): Argv is now char **,
89043         not char *__getopt_argv_const *.
89044         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
89045         _getopt_long_only_r): Likewise.
89046         * lib/getopt_.h (getopt, getopt_long, geopt_long_only): Likewise.
89047         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
89048         _getopt_long_r, _getopt_long_only_r): Likewise.
89049         * lib/getopt_.h (__getopt_argv_const): Remove.
89050         (getopt): Argv is now char * const *, as per standard.
89051
89052         * lib/getdate.y (tORDINAL): New token.
89053         (day, relunit): Allow it for relative times.
89054         (relative_time_table): Use tORDINAL for ordinals.
89055
89056 2004-11-16  Paul Eggert  <eggert@cs.ucla.edu>
89057
89058         * doc/getdate.texi (General date syntax): "next" is 1, not 2.
89059         Document that "second" isn't allowed as an ordinal number.
89060
89061 2004-11-16  Jim Meyering  <jim@meyering.net>
89062
89063         * modules/closeout (Depends-on): Add fpending.
89064
89065 2004-11-15  Jim Meyering  <jim@meyering.net>
89066
89067         * lib/closeout.c: Include "__fpending.h" once again.
89068         Include <stdbool.h>.
89069         (close_stdout): Don't fail just because stdout was closed initially,
89070         since some programs don't write to stdout in the normal course of
89071         operation (other than --version and --help), and we don't want this
89072         function to make e.g. `touch file >&-' fail.
89073         But do fail if it was closed and someone has tried to write to it.
89074         E.g., `printf foo >&-' must fail.
89075
89076 2004-11-13  Jim Meyering  <jim@meyering.net>
89077
89078         * m4/jm-macros.m4: Do require gl_FUNC_FPENDING.
89079
89080 2004-11-12  Simon Josefsson  <jas@extundo.com>
89081
89082         * config/srclist.txt: Add strtok_r.c, glibc bought our changes, but a
89083         small doc fix is still pending.
89084
89085 2004-11-11  Simon Josefsson  <jas@extundo.com>
89086
89087         * modules/strtok_r: New file.
89088
89089         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89090         strtok_r.
89091
89092 2004-11-11  Simon Josefsson  <jas@extundo.com>
89093
89094         * m4/strtok_r.m4: New file.
89095
89096         * m4/getopt.m4: Replace opterr.
89097
89098 2004-11-11  Simon Josefsson  <jas@extundo.com>
89099
89100         * lib/strtok_r.h, strtok_r.c: New file.
89101
89102 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
89103
89104         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): Define __GETOPT_PREFIX instead
89105         of replacing opterr, getopt, etc.  This should handle the
89106         powerpc-apple-darwin5.5 problem recently noted by Simon Josefsson.
89107
89108 2004-11-11  Paul Eggert  <eggert@cs.ucla.edu>
89109
89110         * lib/getopt_.h (__getopt_argv_const): New macro, to be used so that
89111         we can stop lying to compilers about the constness of argv when we
89112         are compiled outside glibc.
89113         (getopt, getopt_long, getopt_long_only): Use it.
89114         * lib/getopt.c (_getopt_initialize, _getopt_internal_r,
89115         _getopt_internal, getopt): Likewise.
89116         * lib/getopt1.c (getopt_long, _getopt_long_r, getopt_long_only,
89117         _getopt_long_only_r): Likewise.
89118         * lib/getopt_int.h (_getopt_internal, _getopt_internal_r,
89119         _getopt_long_r, _getopt_long_only_r): Likewise.
89120
89121         * lib/getopt_.h [defined __GETOPT_PREFIX && !defined __need_getopt]:
89122         Include <stdlib.h> and <stdio.h>, and <unistd.h> if available.
89123         Then rename getopt to __GETOPT_PREFIX##getopt, and so forth for
89124         the other external symbols.
89125         (getopt) [!defined __GNU_LIBRARY]: Use prototype, not old-style
89126         declaration, since the above renaming now works around collisions.
89127
89128 2004-11-11  Jim Meyering  <jim@meyering.net>
89129
89130         * lib/linebreak.c: Remove trailing blanks.
89131         * lib/alloca_.h: Likewise.
89132         * lib/acosl.c: Likewise.
89133         * lib/euidaccess.c: Likewise.
89134         * lib/allocsa.h: Likewise.
89135
89136 2004-11-10  Simon Josefsson  <jas@extundo.com>
89137
89138         * m4/getaddrinfo.m4: New file.
89139
89140 2004-11-10  Simon Josefsson  <jas@extundo.com>
89141
89142         * lib/getaddrinfo.h, lib/getaddrinfo.c: New files.
89143
89144 2004-11-10  Simon Josefsson  <jas@extundo.com>
89145
89146         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89147         getaddrinfo.
89148
89149         * modules/getaddrinfo: New file.
89150
89151 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
89152
89153         * m4/prereq.m4 (gl_PREREQ): Require gt_FUNC_SETENV.
89154
89155 2004-11-10  Paul Eggert  <eggert@cs.ucla.edu>
89156
89157         * lib/mktime.c (SHR): New macro, which is a portable
89158         substitute for >> that should work even on Crays.
89159         (TIME_T_MIDPOINT, ydhms_diff, __mktime_internal): Use it.
89160         Problem reported by Mark D. Baushke in
89161         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00071.html>.
89162         * lib/getdate.y (SHR): Likewise.
89163         (tm_diff): Use it.
89164         * lib/strftime.c (SHR): Likewise.
89165         (tm_diff): Use it.
89166         * lib/quotearg.c (struct quoting_options): Use unsigned int for
89167         quote_these_too, so that right shifts are well defined.  All uses
89168         changed.
89169
89170 2004-11-10  Jim Meyering  <jim@meyering.net>
89171
89172         Ensure that no close failure goes unreported.
89173         * lib/closeout.c (close_stdout): Always close stdout.  I.e., don't
89174         return early when it seems there's nothing to flush.
89175         Don't include __fpending.h.
89176
89177 2004-11-10  Jim Meyering  <jim@meyering.net>
89178
89179         * modules/closeout (Depends-on): Remove fpending.
89180
89181 2004-11-10  Jim Meyering  <jim@meyering.net>
89182
89183         * m4/jm-macros.m4 (gl_MACROS): Don't require gl_FUNC_FPENDING.
89184
89185 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
89186
89187         * m4/strftime.m4 (_gl_STRFTIME_PREREQS): Remove.  Move its body to
89188         gl_FUNC_STRFTIME.
89189         (gl_FUNC_STRFTIME): Use AC_CHECK_FUNCS_ONCE and AC_CHECK_HEADERS_ONCE
89190         and AC_REQUIRE when possible, to avoid duplicate checks.
89191         Check for <wchar.h>.
89192
89193 2004-11-09  Paul Eggert  <eggert@cs.ucla.edu>
89194
89195         * lib/strftime.c (DO_MULTIBYTE): Check for wchar.h, too.
89196
89197 2004-11-09  Bruno Haible  <bruno@clisp.org>
89198
89199         * m4/sockpfaf.m4: New file.
89200
89201 2004-11-05  Bruno Haible  <bruno@clisp.org>
89202
89203         * lib/readlink.c: Include stddef.h, needed for size_t on Woe32.
89204         Reported by Mark D. Baushke <mdb@cvshome.org>.
89205
89206 2004-11-04  Bruno Haible  <bruno@clisp.org>
89207
89208         2004-09-11  Bruno Haible  <bruno@clisp.org>
89209                 * allocsa.valgrind: New file.
89210         2004-02-06  Bruno Haible  <bruno@clisp.org>
89211                 * allocsa.h (sa_alignof): Define differently with HP-UX cc, to
89212                 avoid a bug of this cc on HP-UX 10.20 dealing with enums.
89213                 Reported by Christopher Seip <chris.seip@hp.com>.
89214
89215 2004-11-04  Bruno Haible  <bruno@clisp.org>
89216
89217         * modules/allocsa (Files): Add lib/allocsa.valgrind.
89218         (Makefile.am): Distribute it.
89219
89220 2004-11-03  Paul Eggert  <eggert@cs.ucla.edu>
89221
89222         * lib/xreadlink.c (xreadlink): AIX and HP-UX readlink return -1
89223         with errno == ERANGE if the buffer is too small.
89224         Problem reported by Mark D. Baushke.
89225
89226 2004-11-03  Albert Chin  <china@thewrittenword.com>
89227             Paul Eggert  <eggert@cs.ucla.edu>
89228
89229         * m4/uint32_t.m4 (gl_AC_TYPE_UINT32_T): When determining uint32_t
89230         equivalent, substitute $ac_type for equivalent type rather than
89231         blindly using uint32_t *always* which won't work if uint32_t is not
89232         available.  Define _UINT32_T to work around typedef of uint32_t if
89233         <sys/sched.h>, <pthread.h>, or <semaphore.h> used on Solaris
89234         2.5.1.
89235
89236 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89237
89238         * m4/jm-macros.m4: Sync from coreutils.
89239         (gl_MACROS): Check for mbrlen, for pathchk.
89240         (gl_CHECK_ALL_TYPES): Require AC_TYPE_MBSTATE_T, for pathchk.
89241
89242 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89243
89244         * lib/xreadlink.c (MAXSIZE): New macro.
89245         (xreadlink): Use it instead of SSIZE_MAX.  Ensure initial buffer
89246         size does not exceed MAXSIZE.  Avoid cast.
89247         As suggested by Mark D. Baushke in
89248         <http://lists.gnu.org/archive/html/bug-gnulib/2004-11/msg00009.html>,
89249         if readlink fails with buffer size just under MAXSIZE, try again
89250         with MAXSIZE.
89251
89252 2004-11-02  Paul Eggert  <eggert@cs.ucla.edu>
89253
89254         * config/srclist.txt: Add mktime.c; glibc bought all our changes.
89255
89256 2004-11-02  Derek R. Price  <derek@ximbiot.com>
89257         and  Paul Eggert  <eggert@cs.ucla.edu>
89258
89259         * lib/getdate.y [!TEST]: Include <stdio.h>, since we use sprintf now.
89260         (get_date): Overparenthesize to avoid GCC warning.
89261
89262 2004-11-02  Bruno Haible  <bruno@clisp.org>
89263
89264         * m4/setenv.m4 (gt_FUNC_SETENV): Define VOID_UNSETENV if unsetenv()
89265         returns void.
89266
89267 2004-11-02  Bruno Haible  <bruno@clisp.org>
89268
89269         * lib/setenv.h (unsetenv): Define as a macro if the system's unsetenv()
89270         function returns void.
89271
89272 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
89273
89274         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for declarations of
89275         fflush_unlocked, flockfile, funlockfile, funlockfile,
89276         fputs_unlocked, putc_unlocked.
89277
89278 2004-11-01  Paul Eggert  <eggert@cs.ucla.edu>
89279
89280         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
89281         (funlockfile, fputs_unlocked, putc_unlocked): Don't define if
89282         already declared.
89283
89284 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89285
89286         * modules/getdate (Files): Add doc/getdate.texi.
89287         (Depends-on): Add setenv, xalloc.
89288
89289 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89290
89291         * lib/getdate.y: Add support for TZ="foo" within a date string.
89292         Fix some bugs near time_t boundaries.  Reject dates with
89293         out-of-range components, e.g., "Sept 31".
89294         Include <stdlib.h>, "setenv.h", "xalloc.h".
89295         (ISDIGIT_LOCALE): Remove; unused.
89296         Note that the TZ and time functions used here are not reentrant.
89297         (mktime_ok, get_tz): New functions.
89298         (TZBUFSIZE): New constant.
89299         (get_date): Parse leading TZ="foo".  Reject out-of-range components;.
89300         This requires that we sometimes generate our own TZ="XXX..." setting.
89301
89302 2004-10-29  Paul Eggert  <eggert@cs.ucla.edu>
89303
89304         * doc/getdate.texi: New file, from coreutils with modifications for
89305         the new TZ parsing.
89306
89307 2004-10-27  Derek R. Price  <derek@ximbiot.com>
89308
89309         * lib/mktime.c (not_equal_tm): Remove redundant check.
89310
89311 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
89312
89313         * modules/regex (lib_SOURCES): Add regex.c.
89314         Reported by James Youngman in
89315         <http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00199.html>.
89316
89317 2004-10-24  Paul Eggert  <eggert@cs.ucla.edu>
89318
89319         * lib/getdate.y: Use Bison 1.875 features, and some minor
89320         code cleanups.  This change does not affect semantics.
89321         Don't include <stdlib.h>; no longer needed.
89322         Don't include unlocked-io.h; only the "#if TEST" code uses
89323         stdio, and performance isn't crucial there.
89324         (PC, YYLEX_PARAM, YYPARSE_PARAM): Remove; replaced by
89325         Bison 1.875 features as described below.
89326         All uses of "PC." replaced by "pc->".
89327         (YYSTYPE): Add a forward declaration.
89328         (yylex, yyerror): Use full prototypes in forward decls.
89329         Use "%pure-parser" rather than obsolescent "%pure_parser".
89330         Use %parse-param and %lex-param instead of obsolescent
89331         YYPARSE_PARAM and YYLEX_PARAM.
89332         (meridian_table, month_and_day_table, time_units_table,
89333         relative_time_table, time_zone_table, military_table,
89334         lookup_zone, lookup_word, get_date):
89335         Use NULL instead of 0 where appropriate.
89336         (to_hour): Avoid abort (), to avoid a dependency on
89337         stdlib.h.
89338         (yyerror, yylex): Now accepts parser_control * arg.
89339         (main) [TEST]: Use '\0' rather than 0 for char.
89340
89341 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89342
89343         * m4/getpagesize.m4 (gl_GETPAGESIZE): Check for <sys/param.h>.
89344
89345 2004-10-22  Paul Eggert  <eggert@cs.ucla.edu>
89346
89347         * lib/getpagesize.c (getpagesize): Don't assume <sys/param.h> exists.
89348         It's now the caller's responsibility to handle the case where
89349         !HAVE_GETPAGESIZE && !defined getpagesize.
89350
89351         * lib/mktime.c (leapyear): Arg is long int, not int.
89352
89353 2004-10-18  Paul Eggert  <eggert@cs.ucla.edu>
89354
89355         * lib/argp-fs-xinl.c, argp-xinl.c: Update from glibc.
89356
89357 2004-10-17  Paul Eggert  <eggert@cs.ucla.edu>
89358
89359         * gnulib-tool (func_emit_lib_Makefile_am): Fix typo: a $ was
89360         missing.  Problem reported by James Youngman.
89361
89362 2004-10-16  Simon Josefsson  <jas@extundo.com>
89363
89364         * gnulib-tool: Fix comments.  Fix parse problem.
89365         (func_emit_lib_Makefile_am): Don't hard code a in libgl_a_SOURCES.
89366
89367 2004-10-15  Paul Eggert  <eggert@cs.ucla.edu>
89368
89369         * m4/getopt.m4 (gl_GETOPT): Detect and reject the incompatible BSD
89370         implementation of getopt_long.  Problem reported by Alexander Taler in:
89371         http://lists.gnu.org/archive/html/bug-gnulib/2004-10/msg00103.html
89372
89373 2004-10-15  Bruno Haible  <bruno@clisp.org>
89374
89375         * gnulib-tool: Untabify. Initialize supplied_libname.
89376         (func_usage): More homogenous output.
89377         (func_modules_transitive_closure, func_modules_to_filelist,
89378         func_emit_lib_Makefile_am): New functions.
89379         (func_import): New function, extracted from big case statement. Use
89380         func_get_license, func_modules_transitive_closure,
89381         func_modules_to_filelist, func_emit_lib_Makefile_am. Initialize
89382         opt_lgpl. Don't use test -a, as it's not portable.
89383         (func_create_testdir): Use func_modules_transitive_closure,
89384         func_modules_to_filelist, func_emit_lib_Makefile_am.
89385
89386 2004-10-15  Bruno Haible  <bruno@clisp.org>
89387
89388         * gnulib-tool (func_import): Let gl_INIT define LTALLOCA when needed.
89389
89390 2004-10-15  Bruno Haible  <bruno@clisp.org>
89391
89392         * gnulib-tool (func_emit_lib_Makefile_am): Add markers to separate
89393         the portions belonging to each module.
89394         Suggested by Derek Robert Price <derek@ximbiot.com>.
89395
89396 2004-10-12  Simon Josefsson  <jas@extundo.com>
89397
89398         * lib/getpass.c (fflush_unlocked, flockfile, funlockfile)
89399         (fputs_unlocked, putc_unlocked) [!_LIBCS && !USE_UNLOCKED_IO]: Map
89400         to real functions.
89401
89402 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89403
89404         * modules/vsnprintf: New file.
89405
89406 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89407
89408         * m4/vsnprintf.m4: New file.
89409
89410 2004-10-11  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89411
89412         * lib/vsnprintf.h: New file.
89413         * lib/vsnprintf.c: New file.
89414
89415 2004-10-11  Bruno Haible  <bruno@clisp.org>
89416
89417         * MODULES.html.sh (Support for systems lacking ISO C 99): Add
89418         vsnprintf.
89419
89420 2004-10-10  Paul Eggert  <eggert@cs.ucla.edu>
89421
89422         * config/srclistvars.sh: Add GNUSTANDARDS (for eggert only).
89423
89424 2004-10-07  Bruno Haible  <bruno@clisp.org>
89425
89426         * lib/snprintf.c (snprintf): Avoid a memory allocation if the result
89427         fits into the provided buffer.
89428
89429 2004-10-06  Paul Eggert  <eggert@cs.ucla.edu>
89430
89431         * lib/diacrit.c, diacrit.h: Add GPL notice.
89432
89433         * lib/atanl.c, logl.c: Add GPL notice, to match glibc's added LGPL
89434         notice.
89435         * lib/atanl.c (atanl): Keep the code as similar to glibc as possible.
89436         * lib/logl.c (logl): Keep the code as similar to glibc as possible.
89437         This avoids a potential constant-folding bug.
89438
89439 2004-10-05  Bruno Haible  <bruno@clisp.org>
89440
89441         * m4/strsep.m4 (gl_FUNC_STRSEP): Require AC_GNU_SOURCE. Don't check
89442         for the declaration of strsep.
89443
89444 2004-10-05  Bruno Haible  <bruno@clisp.org>
89445
89446         * lib/strsep.h: Don't declare strsep() if HAVE_STRSEP.
89447
89448 2004-10-04  Simon Josefsson  <jas@extundo.com>
89449
89450         * modules/memmem: New file.
89451         * tests/test-memmem.c: New file.
89452         * MODULES.html.sh (Extra functions based on ANSI C 89): Add memmem.
89453
89454 2004-10-04  Simon Josefsson  <jas@extundo.com>
89455
89456         * m4/memmem.m4: New file.
89457
89458 2004-10-04  Simon Josefsson  <jas@extundo.com>
89459
89460         * lib/memmem.h: New file.
89461         * lib/memmem.c: New file, taken from glibc.
89462
89463 2004-10-04  Simon Josefsson  <jas@extundo.com>
89464
89465         * lib/error.c, md5.c, regex.c: Use '#if USE_UNLOCKED_IO' instead of
89466         '#ifdef USE_UNLOCKED_IO'.
89467
89468 2004-10-04  Simon Josefsson  <jas@extundo.com>
89469
89470         * config/srclist.txt: Add memmem from glibc.
89471
89472 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89473
89474         * modules/xalloc (Files, Makefile.am): Remove xstrdup.c.
89475
89476         * modules/argmatch, modules/argp, modules/closeout, modules/error,
89477         modules/exclude, modules/getdate, modules/getline,
89478         modules/getndelim2, modules/getpass, modules/getpass-gnu,
89479         modules/getusershell, modules/linebuffer, modules/md5,
89480         modules/mountlist, modules/posixtm, modules/readtokens,
89481         modules/readutmp, modules/regex, modules/sha1,
89482         modules/version-etc, modules/yesno:
89483         Remove dependency on unlocked-io.
89484
89485 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89486
89487         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Remove.  All uses removed.
89488
89489         * m4/unlocked-io.m4: Add copyright notice.
89490         (gl_FUNC_GLIBC_UNLOCKED_IO): Define USE_UNLOCKED_IO.
89491
89492 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89493
89494         * lib/xalloc.h (xmemdup): Renamed from xclone.  All uses changed.
89495         * lib/xmalloc.c (xmemdup): Likewise.
89496         * lib/xalloc.h (CCLONE, CLONE, NEW, XCALLOC, XMALLOC, XREALLOC,
89497         XFREE): Remove these long-obsolescent macros.
89498         * lib/xmalloc.c (xstrdup): Implementation moved here from xstrdup.c
89499         * lib/xstrdup.c: Remove.
89500
89501         * lib/regex.c (re_comp): Cast gettext return value to char *,
89502         Problem reported by Martin Neitzel via Mark D. Baushke.
89503
89504 2004-10-04  Paul Eggert  <eggert@cs.ucla.edu>
89505
89506         * lib/argmatch.c, closeout.c, error.c, exclude.c, getdate.y,
89507         getndelim2.c, getpass.c, getusershell.c, linebuffer.c,
89508         md5.c, mountlist.c, posixtm.c, readtokens.c, readutmp.c,
89509         regex.c, sha1.c, version-etc.c, yesno.c:
89510         Include "unlocked-io.h" only if USE_UNLOCKED_IO.
89511         * lib/unlocked-io.h: Don't worry about USE_UNLOCKED_IO; that's now
89512         the includer's responsibility.
89513
89514         Sync from coreutils.
89515
89516         * lib/modechange.c (mode_compile): Don't decrement a pointer that
89517         points to the start of a string, as the C Standard says the
89518         resulting behavior is undefined.
89519
89520         * lib/backupfile.h (enum backuptype): Rename none -> no_backups,
89521         simple -> simple_backups, numbered_existing ->
89522         numbered_existing_backups, numbered -> numbered_backups
89523         to avoid shadowing problems.  All uses changed.
89524         * lib/argmatch.c (enum backuptype) [defined TEST]: Likewise.
89525         * lib/backupfile.c (check_extension, numbered_backup):
89526         Rename locals to avoid shadowing 'basename'.
89527         * lib/backupfile.h (VALID_BACKUP_TYPE): Don't evaluate arg more than
89528         once.
89529
89530         * lib/.cppi-disable: Add getopt_.h, getopt_int.h.
89531         * lib/.cvsignore: Add getopt.h.
89532
89533 2004-10-04  Bruno Haible  <bruno@clisp.org>
89534
89535         * modules/README: New file.
89536         * gnulib-tool (func_all_modules, func_verify_module): modules/README is
89537         not a module.
89538
89539 2004-10-02  Jim Meyering  <jim@meyering.net>
89540
89541         * lib/dirfd.h, getpagesize.h: Add copyright notice.
89542
89543 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89544
89545         * modules/strsep: New file.
89546
89547 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89548
89549         * m4/strsep.m4: New file.
89550
89551 2004-10-01  Yoann Vandoorselaere  <yoann@prelude-ids.org>
89552
89553         * lib/strsep.h: New file.
89554         * lib/strsep.c: New file.
89555
89556 2004-10-01  Simon Josefsson  <jas@extundo.com>
89557
89558         * lib/snprintf.c (snprintf): Handle size==0.
89559
89560 2004-10-01  Simon Josefsson  <jas@extundo.com>
89561             Bruno Haible  <bruno@clisp.org>
89562
89563         * lib/snprintf.c: Include <stdarg.h>, <stdlib.h>, <string.h>.
89564         (snprintf): Declare 'args'.
89565
89566 2004-10-01  Paul Eggert  <eggert@cs.ucla.edu>
89567
89568         * lib/snprintf.c: Remove comments as to why each header is needed.
89569
89570 2004-10-01  Bruno Haible  <bruno@clisp.org>
89571
89572         * MODULES.html.sh: Add strsep.
89573
89574 2004-09-30  Simon Josefsson  <jas@extundo.com>
89575
89576         * modules/snprintf: New file.
89577
89578 2004-09-30  Simon Josefsson  <jas@extundo.com>
89579
89580         * m4/snprintf.m4: New file.
89581
89582 2004-09-30  Simon Josefsson  <jas@extundo.com>
89583
89584         * lib/snprintf.h, lib/snprintf.c: New files.
89585
89586 2004-09-30  Sergey Poznyakoff  <gray@Mirddin.farlep.net>
89587
89588         * lib/argp-help.c (canon_doc_option): Fixed coredump if *name==NULL
89589         (hol_entry_help): Never translate an empty string.
89590         Do not translate option tag (opt->name) if OPTION_NO_TRANS is set
89591         * lib/argp.h (OPTION_NO_TRANS): New option.
89592
89593 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89594
89595         * modules/argp (Maintainer): Replace Simon Josefsson
89596         by Sergey Poznyakoff.
89597
89598 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89599
89600         * config/srclist.txt: Comment-out argp/argp.h, until we get the argp
89601         changes merged back into glibc.
89602
89603 2004-09-30  Paul Eggert  <eggert@cs.ucla.edu>
89604
89605         * MODULES.html.sh (Support for systems lacking ISO C 99): Add snprintf.
89606
89607 2004-09-29  Oskar Liljeblad  <oskar@osk.mine.nu>
89608
89609         * lib/xvasprintf.c: Include xalloc.h.
89610         (xvasprintf): Use xalloc_die, not xmalloc_die.
89611
89612 2004-09-29  Bruno Haible  <bruno@clisp.org>
89613
89614         * modules/alloca-opt: New file, derived from modules/alloca.
89615         * modules/allocsa: Depend on alloca-opt instead of alloca.
89616         * modules/setenv: Likewise.
89617         * modules/vasnprintf: Likewise.
89618         * MODULES.html.sh: Add alloca-opt.
89619
89620 2004-09-28  Simon Josefsson  <jas@extundo.com>
89621
89622         * gnulib-tool: New parameter --lgpl, to asseert that modules are
89623         LGPL, and to replace license template from GPL to LGPL.
89624
89625 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89626
89627         * modules/dummy: Change license to LGPL.
89628
89629 2004-09-28  Paul Eggert  <eggert@cs.ucla.edu>
89630
89631         * lib/dummy.c: Change copyright notice to FSF, and license to GPL.
89632
89633 2004-09-24  Simon Josefsson  <jas@extundo.com>
89634
89635         * modules/minmax (License): Change from GPL to LGPL.
89636
89637 2004-09-23  Simon Josefsson  <jas@extundo.com>
89638
89639         * gnulib-tool (--import): Typo.
89640
89641 2004-09-23  Simon Josefsson  <jas@extundo.com>
89642
89643         * gnulib-tool (--import): Make sure *.m4 end up in m4/ by default.
89644
89645 2004-09-22  Bruno Haible  <bruno@clisp.org>
89646
89647         * modules/*: Add 'License' field.
89648         * gnulib-tool: Accept --extract-license option.
89649         (func_get_license): New function.
89650
89651 2004-09-21  Bruno Haible  <bruno@clisp.org>
89652
89653         * modules/vasnprintf (Files): Add m4/stdint_h.m4, m4/inttypes_h.m4.
89654         Reported by Simon Josefsson.
89655
89656 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89657
89658         * modules/inttostr (Files): Add m4/longlong.m4, since it uses
89659         gl_AC_TYPE_LONG_LONG.
89660
89661 2004-09-20  Paul Eggert  <eggert@cs.ucla.edu>
89662
89663         * config/srclist.txt: Add getsubopt.c, since libc bought our changes.
89664
89665 2004-09-18  Simon Josefsson  <jas@extundo.com>
89666         and  Paul Eggert  <eggert@cs.ucla.edu>
89667
89668         * gnulib-tool: Replace various ad-hoc automake/autoconf/aclocal
89669         calls with autoreconf.  Define GL_LIB.
89670
89671 2004-09-14  Karl Berry  <karl@gnu.org>
89672
89673         * config/srclist.txt: unsync setenv.c, sigh.
89674
89675 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89676
89677         * lib/argp-pvh.c (argp_program_version_hook): Provide initial value.
89678         Problem reported by Bruno Haible in:
89679         http://lists.gnu.org/archive/html/bug-tar/2004-09/msg00023.html
89680
89681 2004-09-13  Paul Eggert  <eggert@cs.ucla.edu>
89682
89683         * config/srclist.txt: Comment out argp-pvh.c.
89684
89685 2004-09-11  Paul Eggert  <eggert@cs.ucla.edu>
89686
89687         * lib/mempcpy.h: Wrap the entire include file inside #ifndef mempcpy,
89688         in case some system header has #define'd it.  Problem reported by
89689         Soeren D. Schulze in
89690         <http://lists.gnu.org/archive/html/bug-gnulib/2004-09/msg00017.html>.
89691
89692 2004-09-09  Karl Berry  <karl@gnu.org>
89693
89694         * regex.[ch]: delete from the root.  These were supposed to be
89695                 synced with emacs cvs, but this has not happened for about
89696                 a year, and anyway nothing else uses emacs regex.[ch].
89697                 bug-gnulib mail from Jeff Bailey, 9 Sep 2004 15:49:24 -0700.
89698                 lib/regex[.ch] is untouched.
89699
89700 2004-09-09  Bruno Haible  <bruno@clisp.org>
89701
89702         * modules/vasnprintf (Files): Add m4/eoverflow.m4.
89703
89704 2004-09-09  Bruno Haible  <bruno@clisp.org>
89705
89706         * m4/eoverflow.m4: New file, taken from GNU libiconv eilseq.m4 with
89707         modifications.
89708         * m4/vasnprintf.m4 (gl_FUNC_VASNPRINTF): Require gl_EOVERFLOW.
89709
89710 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89711
89712         * modules/xvasprintf: New file.
89713         * MODULES.html.sh (Extra functions based on ANSI C 89): Add vasprintf.
89714
89715 2004-09-08  Oskar Liljeblad  <oskar@osk.mine.nu>
89716
89717         * lib/xvasprintf.h: New file.
89718         * lib/xvasprintf.c: New file.
89719         * lib/xasprintf.c: New file.
89720
89721 2004-09-08  Bruno Haible  <bruno@clisp.org>
89722
89723         * m4/stdint.m4: New file, taken from GNU clisp with modifications.
89724
89725 2004-09-08  Bruno Haible  <bruno@clisp.org>
89726
89727         * lib/vasnprintf.c (VASNPRINTF): Signal EOVERFLOW if the resulting
89728         length is > INT_MAX.
89729         * lib/vasprintf.c (vasprintf): Don't test for length > INT_MAX any
89730         more.
89731
89732 2004-09-08  Bruno Haible  <bruno@clisp.org>
89733
89734         * lib/stdint_.h: New file, taken from GNU clisp.
89735
89736 2004-09-08  Bruno Haible  <bruno@clisp.org>
89737             Oskar Liljeblad  <oskar@osk.mine.nu>
89738
89739         * modules/stdint: New file.
89740         * MODULES.html.sh (Support for systems lacking ISO C 99): Add stdint.
89741
89742 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89743
89744         Import from coreutils.
89745         * lib/userspec.c: Don't use <alloca.h>, so that we don't use alloca on
89746         strings on unbounded length.  alloca's performance benefits aren't
89747         that important here.
89748         (V_STRDUP): Remove.
89749         (parse_with_separator): New function, with most of the internals
89750         of the old parse_user_spec.  Allow user to omit both user and group,
89751         for compatibility with FreeBSD.
89752         Clone only the user name, not the entire spec.
89753         Do not set *uid, *gid unless entirely successful.
89754         Avoid memory leak in some failing cases.
89755         Fix regression for USER.GROUP reported by Dmitry V. Levin in
89756         <http://lists.gnu.org/archive/html/bug-coreutils/2004-08/msg00102.html>
89757         (parse_user_spec): Rewrite to use parse_with_separator.
89758
89759 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89760
89761         * modules/userspec: Don't depend on alloca.
89762
89763 2004-08-19  Paul Eggert  <eggert@cs.ucla.edu>
89764
89765         * m4/userspec.m4 (gl_USERSPEC): Don't require AC_FUNC_ALLOCA.
89766
89767 2004-08-17  Paul Eggert  <eggert@cs.ucla.edu>
89768
89769         * MODULES.html.sh: Add xalloc-die, c-strtod, c-strtold, raise,
89770         readtokens0, getcwd, fcntl-safer, canonicalize, cycle-check,
89771         utimecmp, utimens, xnanosleep.  Rename sha to sha1.
89772
89773 2004-08-16  Simon Josefsson  <jas@extundo.com>
89774
89775         * gnulib-tool: Use sed instead of autoconf --trace, inspired by
89776         libtoolize behaviour by "Gary V. Vaughan" <gary@gnu.org>.
89777         Add --dry-run for --import.
89778         Let user provided command line parameters override configure.ac
89779         settings.
89780
89781 2004-08-12  Simon Josefsson  <jas@extundo.com>
89782
89783         * m4/getopt.m4 (gl_GETOPT_SUBSTITUTE): New macro,
89784         as discussed with Paul Eggert in threads rooted at
89785         <http://lists.gnu.org/archive/html/bug-gnulib/2004-06/msg00039.html>
89786         and
89787         <http://lists.gnu.org/archive/html/bug-gnulib/2004-07/msg00001.html>.
89788         Before, the test was empty, and relied on ELIDE_CODE in source
89789         code.)
89790         (gl_PREREQ_GETOPT): New macro.
89791         (gl_GETOPT): Use them.
89792
89793 2004-08-12  Simon Josefsson  <jas@extundo.com>
89794
89795         * lib/getopt.c, getopt1.c: Remove ELIDE_CODE hack.
89796         * lib/getopt_.h: Renamed from getopt.h.
89797
89798 2004-08-12  Simon Josefsson  <jas@extundo.com>
89799
89800         * gnulib-tool: Add --source-base, --m4-base, --libtool options.
89801         Change default library name from libfoo to libgnu.
89802         Now, if you have a configure.ac that says:
89803                 gl_SOURCE_BASE(gl)
89804                 gl_M4_BASE(gl/m4)
89805                 gl_MODULES(error getopt etcetera)
89806                 gl_INIT
89807         you can import all you need by running:
89808                 ../gnulib/gnulib-tool --import
89809
89810         * modules/getopt (Files): Rename getopt.h to getopt_.h.
89811         (Makefile.am): Rewrite, use logic from argz.
89812         (Include): Use <getopt.h> instead of "getopt.h".
89813
89814 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89815
89816         * modules/argp (Files): Add m4/unlocked-io.m4.
89817         (Depends-on): Add extensions.
89818
89819 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89820
89821         * m4/argp.m4 (gl_ARGP): Do not check for argp.h or argp_parse; nobody
89822         uses HAVE_ARGP_H or HAVE_ARGP_PARSE.
89823         Require gl_FUNC_GLIBC_UNLOCKED_IO, gl_USE_SYSTEM_EXTENSIONS.
89824         Check for program_invocation_name, program_invocation_short_name,
89825         flockfile, funlockfile, features.h, _getopt_long_only_r.
89826
89827 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89828
89829         * lib/argp-help.c, argp-parse.c: Use "gettext.h" instead of
89830         its complicated substitute.
89831         * lib/argp-help.c: Include <errno.h>, for program_invocation_short_name
89832         and program_invocation_name.
89833         (__argp_basename) [!_LIBC]: Remove; the only use was
89834         replaced by its body.
89835         (__argp_short_program_name): Change condition from
89836         !defined __argp_short_program_name to
89837         ! (defined _LIBC || HAVE_DECL_PROGRAM_INVOCATION_SHORT_NAME),
89838         to match argp-namefrob.h.
89839         (__argp_failure): Don't assume strerror_r returns char *.
89840         * lib/argp-parse.c (N_): Define unconditionally.
89841         (argp_default_options): Fill out initializers with 0 to avoid
89842         gcc warnings.
89843
89844 2004-08-12  Paul Eggert  <eggert@cs.ucla.edu>
89845
89846         * config/srclist.txt: Remove getopt.c, getopt.h (renamed to getopt_.h),
89847         getopt1.c.
89848
89849 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89850
89851         Merge from coreutils.
89852
89853         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for wmemchr and wmemcpy.
89854
89855         * m4/obstack.m4 (gl_PREREQ_OBSTACK): Require
89856         gl_AC_HEADER_INTTYPES_H, gl_AC_HEADER_STDINT_H, gl_AC_TYPE_UINTMAX_T.
89857
89858 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89859
89860         Merge from coreutils.
89861
89862         * lib/fnmatch.c (WIDE_CHAR_SUPPORT): Don't set to 1 if missing
89863         wmemchr or wmemcpy.  Problem reported by Robert Dahlem
89864         for Reliant Unix 5.43.
89865
89866         * lib/obstack.c: Include <inttypes.h> and <stdint.h> if available.
89867         (union fooround): Use uintmax_t, not long int.
89868         The rest is a merge from libc:
89869         [defined _LIBC]: Include <shlib-compat.h>.
89870         (_obstack) [defined _LIBC]: Remove after 2.3.4.
89871
89872         * lib/settime.c (settime): Recode to avoid warning with
89873         Sun Forte C 6U2.
89874
89875         * lib/strverscmp.c: Convert to UTF-8.
89876
89877 2004-08-11  Paul Eggert  <eggert@cs.ucla.edu>
89878
89879         * modules/obstack (Files): Add m4/inttypes_h.m4, m4/stdint_h.m4,
89880         m4/uintmax_t.m4.
89881
89882 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89883
89884         * modules/xalloc-die: New file.
89885         * modules/xalloc: Remove dependencies on error, gettext, exitfail.
89886
89887         * modules/md5 (Files): Add m4/uint32_t.m4.
89888         * modules/sha1: Renamed from modules/sha.
89889         (Files):
89890         Rename lib/sha.h to lib/sha1.h.
89891         Rename lib/sha.c to lib/sha1.c.
89892         Rename m4/sha.m4 to m4/sha1.m4.
89893         (lib_SOURCES): Likewise.
89894         (configure.ac): Rename gl_SHA to gl_SHA1.
89895         (Include): sha.h -> sha1.h.
89896
89897 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89898
89899         * m4/uint32_t.m4, m4/uintptr_t.m4: New files.
89900         * m4/sha1.m4: Renamed from sha.m4.
89901         (gl_SHA1): Renamed from gl_SHA.  All uses changed.
89902
89903 2004-08-09  Paul Eggert  <eggert@cs.ucla.edu>
89904
89905         * lib/obstack.h (obstack_empty_p):
89906         Don't assume that chunk->contents is suitably aligned.
89907         * lib/obstack.c (_obstack_begin, _obstack_begin_1, _obstack_newchunk):
89908         Likewise. Problem reported by Benno in
89909         <http://sources.redhat.com/ml/libc-alpha/2004-08/msg00055.html>.
89910
89911         * lib/chown.c (rpl_chown): Work even if the file is writeable but not
89912         readable.  This could be improved further but it'd take some work.
89913
89914 2004-08-08  Simon Josefsson  <jas@extundo.com>
89915
89916         * modules/xgethostname (Depends-on): Remove exit and error (not
89917         used).
89918
89919         * modules/getpass-gnu: Add getpass.h.
89920         (Depends-on): Add stdbool.
89921         * modules/getpass: Add getpass.h.
89922
89923 2004-08-08  Simon Josefsson  <jas@extundo.com>
89924
89925         * m4/getpass.m4 (gl_FUNC_GETPASS, gl_FUNC_GETPASS_GNU):
89926         Check getpass declaration.
89927
89928 2004-08-08  Simon Josefsson  <jas@extundo.com>
89929
89930         * lib/xgethostname.c: Don't include error.h (not used).
89931
89932         * lib/getpass.h: Add.
89933         * lib/getpass.c: Include getpass.h first.
89934
89935 2004-08-08  Paul Eggert  <eggert@cs.ucla.edu>
89936
89937         * lib/xalloc-die.c: New file.
89938         * lib/xalloc.h (xalloc_fail_func, xalloc_msg_memory_exhausted): Remove.
89939         All uses removed.
89940         * lib/xmalloc.c (xalloc_fail_func, xalloc_msg_memory_exhausted):
89941         Likewise. Move inclusions of gettext.h, error.h, exitfail.h to
89942         xalloc-die.c.
89943         (_, N_, xalloc_die): Move to xalloc-die.c.
89944         * lib/userspec.c (parse_user_spaec): Use xstrdup rather than strdup,
89945         so that we needn't mess with xalloc_msg_memory_exhausted.
89946
89947         * lib/sha1.h: Renamed from sha.h.
89948         (SHA1_H): Renamed from _SHA_H.
89949         (sha1_ctx): Renamed from sha_ctx.
89950         (sha1_init_ctx): Renamed from sha_init_ctx.
89951         (sha1_process_block): Renamed from sha_process_block.
89952         (sha1_process_bytes): Renamed from sha_process_bytes.
89953         (sha1_finish_ctx): Renamed from sha_finish_ctx.
89954         (sha1_read_ctx): Renamed from sha_read_ctx.
89955         (sha1_stream): Renamed from sha_stream.
89956         (sha1_buffer): Renamed from sha_buffer.
89957         * lib/sha1.c: Likewise; renamed from sha.c.
89958         Do not include <sys/types.h>.
89959         Include <stddef.h> rather than <stdlib.h>.
89960
89961 2004-08-08  Bruno Haible  <bruno@clisp.org>
89962
89963         * lib/pathname.h (FILE_SYSTEM_PREFIX_LEN): Renamed from
89964         FILESYSTEM_PREFIX_LEN.
89965         * lib/progreloc.c: Likewise.
89966         * lib/concatpath.c (concatenated_pathname): Use FILE_SYSTEM_PREFIX_LEN.
89967
89968 2004-08-06  Simon Josefsson  <jas@extundo.com>
89969
89970         * modules/progname (Depends-on): Don't depend on stdbool.
89971
89972 2004-08-06  Simon Josefsson  <jas@extundo.com>
89973
89974         * modules/getsubopt: New file.
89975         * MODULES.html.sh (Support for systems lacking POSIX:2001): Add
89976         getsubopt.
89977
89978 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89979
89980         More merge from coreutils.
89981
89982         * m4/utimens.m4, m4/utimecmp.m4: New files.
89983         * m4/backupfile.m4, euidacces.m4, acl.m4, afs.m4, calloc.m4, dirfd.m4,
89984         fsusage.m4, jm-macros.m4, ls-mntd-fs.m4, md5.m4, mountlist.m4,
89985         prereq.m4, sha.m4: Import changes from coreutils.
89986
89987 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
89988
89989         More merge from coreutils.
89990         * modules/raise, modules/readtokens0, modules/utimens:
89991         * modules/utimecmp, module/xnanosleep: New files.
89992         * modules/strftime: Add lib/strftime.h.
89993         Change include from <time.h> to "strftime.h".
89994         * modules/yesno: Add lib/yesno.h.
89995         * modules/backupfile: Remove lib/addext.c.
89996         * modules/euidaccess: Add stat-macros.h.
89997         * modules/canonicalize, modules/euidaccess,
89998         modules/filemode, modules/lchown, modules/makepath,
89999         modules/rmdir, modules/stat: Likewise.
90000
90001 2004-08-06  Paul Eggert  <eggert@cs.ucla.edu>
90002
90003         Merge from tar.
90004         * lib/argp-help.c (make_hol, hol_append): Don't assume that
90005         SIZE_MAX is a valid preprocessor constant.
90006         (__argp_basename): Change from "#ifndef _LIBC"
90007         to "#ifndef __argp_short_program_name", so that
90008         we don't compile these functions for tar.
90009
90010         More merges from coreutils.
90011         * lib/raise.c, lib/readtokens0.h, lib/readtokens0.c, lib/strftime.h:
90012         * lib/utimens.h, lib/utimens.c, lib/utimecmp.h, lib/utimecmp.c:
90013         * lib/xnanosleep.h, lib/xnanosleep.c, lib/yesno.h: New files.
90014         * lib/addext.c: Remove; no longer needed.
90015         * lib/yesno.c, lib/argmatch.h, lib/argmatch.c, lib/backupfile.h,
90016         lib/backupfile.c, lib/euidaccess.c, lib/filemode.c, lib/closeout.c,
90017         lib/dup2.c, lib/exclude.c, lib/fileblocks.c, lib/filemode.c,
90018         lib/fnmatch.c, lib/fnmtahc_loop.c, lib/fopen-safer.c, lib/fsusage.c,
90019         lib/fsusage.h, lib/ftruncate.c, lib/full-write.c, lib/getdate.y,
90020         lib/getloadavg.c, lib/getugroups.c, lib/hard-locale.c,
90021         lib/hard-locale.h, lib/hash.c, lib/human.c, lib/human.h, lib/lchown.c,
90022         lib/lchown.h, lib/makepath.c, lib/makepath.h, lib/md5.c, lib/md5.h,
90023         lib/memchr.c, lib/memcoll.c, lib/memrchr.c, lib/modechange.c,
90024         lib/modechange.h, lib/mountlist.c, lib/mountlist.h, lib/nanosleep.c,
90025         lib/posixtm.c, lib/putenv.c, quotearg.c, lib/quotearg.h,
90026         lib/readtokens.c, lib/readutmp.c, lib/readutmp.h, lib/rmdir.c,
90027         lib/safe-read.c, lib/save-cwd.c, lib/savedir.c, lib/setenv.c,
90028         lib/sig2str.c, lib/stat.c, lib/strtoimax.c, lib/strverscmp.c,
90029         lib/userspec.c, lib/utime.c, lib/version-etc.c., lib/xgethostname.c,
90030         lib/xmemcoll.c, lib/xreadlink.c, lib/xstrtod.c, lib/xstrtod.h,
90031         lib/xstrtoimax.c, lib/xstrtol.c, lib/xstrtol.h, lib/xstrtoumax.c:
90032         Import changes from coreutils.
90033
90034 2004-08-05  Simon Josefsson  <jas@extundo.com>
90035
90036         * m4/strdup.m4: Always run gl_PREREQ_STRDUP, since strdup.h need it.
90037
90038 2004-08-05  Simon Josefsson  <jas@extundo.com>
90039
90040         * m4/getsubopt.m4: New file.
90041
90042 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
90043
90044         Merge from coreutils.
90045
90046         * m4/c-strtod.m4, m4/canonicalize.m4, m4/fcntl-safer.m4:
90047         * m4/getcwd-path-max.m4: New files.
90048
90049         * m4/dos.m4 (gl_AC_DOS): filesystem -> file system renaming.
90050         FILESYSTEM_PREFIX_LEN ->
90051         FILE_SYSTEM_PREFIX_LEN.
90052         FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX ->
90053         FILE_SYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX.
90054         FILESYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR ->
90055         FILE_SYSTEM_BACKSLASH_IS_FILE_NAME_SEPARATOR.
90056
90057         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't require gl_AC_DOS, the
90058         prerequisite modules now handle the DOS stuff.
90059         Don't check for unistd.h.
90060
90061 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
90062
90063         Merge from coreutils.
90064
90065         * lib/.gdb-history: Remove; this doesn't belong here.
90066
90067         * lib/c-strtod.c, lib/c-strtod.h, lib/c-strtold.c, lib/cycle-check.c:
90068         * lib/cycle-check.h, lib/dev-ino.h, lib/canonicalize.h:
90069         * lib/canonicalize.c, lib/fcntl-safer.h, lib/fcntl-safer.c:
90070         * lib/getcwd.c: New files.
90071
90072         * lib/dirname.h: Include <stdbool.h>.
90073         (FILE_SYSTEM_PREFIX_LEN): Renamed from FILESYSTEM_PREFIX_LEN,
90074         for consistency with POSIX terminology.  All uses changed.
90075         (IS_ABSOLUTE_FILE_NAME, IS_RELATIVE_FILE_NAME): New macros.
90076         (strip_trailing_slashes): Use bool for booleans.
90077         * lib/stripslash.c (strip_trailing_slashes): Likewise.
90078
90079         * lib/error.c: Work around bug in OpenBSD 3.4 sterror_r: it
90080         sometimes returns a positive errno value even when it succeeds.
90081         (print_errno_message) [!LIBC]: Fall back on strerror if
90082         __strerror_r fails.
90083
90084         * lib/path-concat.c (mempcpy): Don't define if a system header defines
90085         it. Don't include stdio.h, stdlib.h, unistd.h, strdup.h.
90086         (longest_relative_suffix): New function.
90087         (path_concat): Use it.  Assume first argument is not NULL.
90088         Port to DOS.  Omit redundant separators.
90089         Report an error instead of returning NULL.
90090         Use mempcpy instead of memcpy.
90091         (xpath_concat): Remove: not declared or used.
90092
90093         * lib/same.h: Include <stdbool.h>
90094         (same_name): Return bool, not int.
90095         * lib/same.c (same_name): Likewise.
90096         (errno): Don't declare; we assume C89 or better now.
90097
90098         * lib/stat-macros (S_ISCTG, S_ISOFD, S_ISOFL): New macros,
90099         if not already defined.
90100
90101         * lib/xgetcwd.c (errno): Don't declare; we assume C89 or better now.
90102         * lib/dup-safer.c (errno): Likewise.
90103
90104 2004-08-05  Paul Eggert  <eggert@cs.ucla.edu>
90105
90106         Merge from coreutils.
90107         * modules/c-strtod, modules/c-strtold, modules/canonicalize:
90108         * modules/cycle-check, modules/fcntl-safer, modules/getcwd: New files.
90109         * modules/path-concat: Don't depend on strdup.
90110
90111 2004-08-03  Simon Josefsson  <jas@extundo.com>
90112
90113         * lib/strdup.h: Only use HAVE_DECL_STRDUP if defined.
90114         * lib/progname.h: Don't include stdbool.h.
90115
90116 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
90117
90118         * modules/fatal: Remove, as the "fatal" module wasn't used or working.
90119         * MODULES.html.sh (func_all_modules): Remove fatal.
90120
90121 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
90122
90123         * m4/fatal.m4: Remove, as the "fatal" module wasn't used or working.
90124
90125 2004-08-03  Paul Eggert  <eggert@cs.ucla.edu>
90126
90127         * lib/fatal.c, fatal.h: Remove as the "fatal" module wasn't used or
90128         working.
90129
90130 2004-08-02  Simon Josefsson  <jas@extundo.com>
90131
90132         * lib/getsubopt.h: New file, with comments from Bruno Haible.
90133         * lib/getsubopt.c: New file, from glibc, but slightly modified based on
90134         suggestions from Paul Eggert <eggert@cs.ucla.edu>.
90135
90136 2004-08-01  Simon Josefsson  <jas@extundo.com>
90137
90138         * lib/xgetdomainname.c: Include stdlib.h, for free().
90139
90140 2004-07-19  Bruno Haible  <bruno@clisp.org>
90141
90142         * MODULES.html.sh (func_all_modules): Add dummy.
90143
90144 2004-07-16  Simon Josefsson  <jas@extundo.com>
90145
90146         * modules/dummy: New file.
90147
90148 2004-07-16  Simon Josefsson  <jas@extundo.com>
90149
90150         * lib/dummy.c: New file.
90151
90152 2004-07-16  Bruno Haible  <bruno@clisp.org>
90153
90154         * lib/backupfile.h: Add extern "C" for C++.
90155         * lib/closeout.h: Likewise.
90156         * lib/copy-file.h: Likewise.
90157         * lib/findprog.h: Likewise.
90158         * lib/full-write.h: Likewise.
90159         * lib/pathname.h: Likewise.
90160         * lib/progname.h: Likewise.
90161         * lib/stpcpy.h: Likewise.
90162         * lib/stpncpy.h: Likewise.
90163         * lib/strcase.h: Likewise.
90164         * lib/strstr.h: Likewise.
90165         * lib/xalloc.h: Likewise.
90166
90167         * lib/mbswidth.h: Add extern "C" for C++.
90168         Reported by Albert Chin-A-Young <china@thewrittenword.com>.
90169
90170 2004-07-13  Robert Millan  <robertmh@gnu.org>
90171
90172         * m4/host-os.m4: s/KNetBSD/kNetBSD/g and s/KFreeBSD/kFreeBSD/g.
90173
90174 2004-07-09  Simon Josefsson  <jas@extundo.com>
90175
90176         * lib/getndelim2.c: Include stddef.h, for ptrdiff_t.  (FreeBSD 4.9
90177         failed without this.)
90178
90179 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
90180
90181         * modules/chown (Files): Add lib/fchown-stub.c, since
90182         gl_PREREQ_CHOWN invokes AC_LIBOBJ(fchown-stub).
90183
90184 2004-07-09  Paul Eggert  <eggert@cs.ucla.edu>
90185
90186         * lib/fchown-stub.c: New file.
90187
90188 2004-06-24  Jim Meyering  <jim@meyering.net>
90189
90190         * lib/obstack.h (obstack_base): Cast to (void *), per documentation.
90191
90192 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90193
90194         * modules/argz: Omit "#include".
90195
90196         * MODULES.html.sh (func_all_modules): Add calloc, to match
90197         2004-06-01 addition of calloc module.
90198
90199 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90200
90201         * m4/argz.m4: New file, which is autoupdated from libtool.
90202
90203 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90204
90205         * lib/argz.c, lib/argz_.h: New files, which are autoupdated from
90206         libtool.
90207
90208 2004-06-22  Paul Eggert  <eggert@cs.ucla.edu>
90209
90210         * config/srclist-update: Don't insist on "USA." before the
90211         close-comment, as libtool omits the period and puts the */ on a
90212         separate line.
90213         * config/srclist.txt: Add argz.c, argz_.h, argz.m4.
90214         * config/srclistvars.sh: Add LIBTOOL (for eggert only).
90215
90216 2004-06-22  Gary V. Vaughan  <gary@gnu.org>
90217
90218         * modules/argz: New file.
90219         * MODULES.html.sh (func_all_modules): Add argz.
90220
90221 2004-06-12  Jim Meyering  <jim@meyering.net>
90222         and  Paul Eggert  <eggert@cs.ucla.edu>
90223
90224         * modules/hash (Files): Add lib/xalloc.h.
90225         * modules/pipe (Depends-on): Add wait-process.
90226         * modules/stat (Depends-on): Add xalloc.
90227         * modules/userspec (Files): Add lib/userspec.h.
90228         * modules/xstrto
90229
90230         Upgrade from gettext-0.13.
90231         * modules/gettext (Files): Add m4/intmax.m4, m4/longdouble.m4,
90232         m4/longlong.m4, m4/printf-posix.m4, m4/signed.m4, m4/size_max.m4,
90233         m4/wchar_t.m4, m4/wint_t.m4, m4/xsize.m4.
90234
90235 2004-06-10  Jim Meyering  <jim@meyering.net>
90236
90237         * lib/calloc.c: New file.
90238
90239 2004-06-06  Paul Eggert  <eggert@cs.ucla.edu>
90240
90241         * lib/getdate.y (yylex): Allow space between sign and number.
90242         Problem reported by Dan Jacobson.
90243
90244 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
90245
90246         Merge from coreutils CVS.
90247
90248         * m4/backupfile.m4, dirname.m4, human.m4, inttypes.m4, longlong.m4,
90249         makepath.m4, memchr.m4, memcmp.m4, mountlist.m4, path-concat.m4,
90250         putenv.m4, quotearg.m4, readutmp.m4, strtoimax.m4, strtoll.m4,
90251         strtoull.m4, strtoumax.m4, ulonglong.m4, vasnprintf.m4,
90252         xstrtol.m4: Fix copyright date and/or serial number.
90253
90254         * m4/chown.m4 (gl_PREREQ_CHOWN): Check for fcntl.h.
90255         See if we need an fchown replacement.
90256         (gl_FUNC_CHOWN_FOLLOWS_SYMLINK): New macro.
90257         (gl_FUNC_CHOWN): Require gl_FUNC_CHOWN_FOLLOWS_SYMLINK,
90258         and use the replacement function if we detect either defect.
90259
90260         * m4/prereq.m4 (gl_PREREQ): Add gl_ALLOCSA, gl_CLOEXEC, gl_INTTOSTR,
90261         gl_UTIMECMP.
90262
90263 2004-06-01  Paul Eggert  <eggert@cs.ucla.edu>
90264         and  Jim Meyering  <jim@meyering.net>
90265
90266         Merge from coreutils CVS.
90267
90268         * lib/stat-macros.h: New file, with contents from file-type.h
90269         and coreutils' system.h.
90270         * lib/file-type.c: Include "stat-macros.h".
90271         * lib/file-type.h (file_type): Move all macro definitions to new file,
90272         stat-macros.h.
90273
90274         * lib/chown.c (rpl_chown) [CHOWN_FAILS_TO_HONOR_ID_OF_NEGATIVE_ONE]:
90275         Wrap old code with this conditional.
90276         [CHOWN_MODIFIES_SYMLINK]: Try to work around a chown
90277         function that does not dereference symlinks.
90278         * lib/lchown.c (lchown) [CHOWN_MODIFIES_SYMLINK]: Just call chown.
90279
90280         * lib/xreadlink.c: Include xreadlink.h first, to catch .h file
90281         dependency problems.
90282         (xreadlink): Accept new arg SIZE, for efficiency.
90283         All decls and uses changed.
90284         * lib/xreadlink.h: Include <stddef.h>, for size_t.
90285
90286         * lib/.cppi-disable: Add alloca_.h, allocsa.h, exit.h, getndelim2.h,
90287         gettext.h, localcharset.h, strdup.h, strndup.h, strtoul.c, time_r.h.
90288
90289         * lib/.cvsignore: Add alloca.h, fnmatch.h, poll.h, stdbool.h,
90290         sysexits.h.
90291
90292 2004-06-01  Jim Meyering  <jim@meyering.net>
90293
90294         * m4/calloc.m4: New file.
90295
90296 2004-05-31  Paul Eggert  <eggert@cs.ucla.edu>
90297
90298         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Detect _Bool bug in HP aC++/ANSI
90299         C B3910B A.05.55 [Dec 04 2003].  Problem reported by Jim Meyering.
90300         Also, fix a typo in a diagnostic.
90301
90302 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
90303
90304         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Do not require AC_FUNC_MALLOC
90305         or AC_FUNC_REALLOC.
90306
90307 2004-05-30  Paul Eggert  <eggert@cs.ucla.edu>
90308
90309         * lib/xmalloc.c (HAVE_MALLOC, HAVE_REALLOC): Do not require these
90310         macros to be defined.
90311         (xnmalloc_inline, xnrealloc_inline, xcalloc): Do not die if
90312         the allocator returns NULL because the requested size is zero.
90313
90314 2004-05-20  Paul Eggert  <eggert@cs.ucla.edu>
90315
90316         * lib/malloc/obstack.c (_obstack) [defined _LIBC]: Bring back this
90317         var.  Add comment explaining why libc still defines it.  This
90318         merges the following patch from glibc:
90319         http://sources.redhat.com/ml/libc-alpha/2004-05/msg00157.html
90320
90321 2004-05-20  Andreas Schwab  <schwab@suse.de>
90322
90323         * m4/free.m4: Replace free if it not known to work, not the other
90324         way round.
90325
90326 2004-05-19  Paul Eggert  <eggert@cs.ucla.edu>
90327
90328         * lib/obstack.c (_obstack): Remove unused variable.  It hasn't been
90329         present in glibc since revision 1.1 of this file.
90330         * lib/obstack.h (_obstack_free, obstack_1grow, obstack_1grow_fast,
90331         obstack_alignment_mask, obstack_alloc, obstack_base,
90332         obstack_blank, obstack_blank_fast, obstack_chunk_size,
90333         obstack_copy, obstack_copy0, obstack_finish, obstack_grow,
90334         obstack_grow0, obstack_init, obstack_int_grow,
90335         obstack_int_grow_fast, obstack_make_room, obstack_memory_used,
90336         obstack_next_free, obstack_object_size, obstack_ptr_grow,
90337         obstack_ptr_grow_fast, obstack_room): Remove declarations of
90338         nonexistent functions.
90339
90340 2004-05-18  Karl Berry  <karl@gnu.org>
90341
90342         * config/srclist.txt: break link for vasnprintf.c.
90343
90344 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90345
90346         Port obstack to the AS/400, where pointers are 16 bytes wide and
90347         you cannot cast an integer to a valid pointer.  This patch is
90348         currently waiting to be integrated into glibc; see
90349         <http://sources.redhat.com/ml/libc-alpha/2004-05/msg00073.html>.
90350
90351         * lib/obstack.h (__PTR_TO_INT, __INT_TO_PTR): Remove.
90352         All uses of __INT_TO_PTR (PTR_TO_INT ...) replaced by __PTR_ALIGN.
90353         (__BPTR_ALIGN, __PTR_ALIGN): New macros.
90354         (struct obstack): temp member is now a union of a pointer and
90355         an integer, instead of an integer.  All integer uses changed.
90356         This does not affect the physical layout of struct obstack,
90357         except on hosts (like the AS/400) where the size or alignment of
90358         void * is greater than that of ptrdiff_t.
90359         (obstack_finish) [! (defined __GNUC__ && defined __STDC__ &&
90360         __STDC__)]: Store temporary in pointer member of union, not
90361         integer member.
90362         * lib/obstack.c: Include <stddef.h>, for offsetof.
90363         (struct fooalign): Remove; it doesn't need a name.
90364         (union fooround): Change double to long double, and add void *.
90365         (DEFAULT_ALIGNMENT): Use offsetof to compute.
90366         (DEFAULT_ALIGNMENT, DEFAULT_ROUNDING): Now an enum constant,
90367         not a macro.  Hence the values are always int; so remove all
90368         casts-to-int in uses.
90369
90370 2004-05-17  Paul Eggert  <eggert@cs.ucla.edu>
90371
90372         * config/srclist.txt: Break link for argp-help.c and argp-parse.c until
90373         we can get this patch merged into glibc.
90374
90375 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90376             Paul Eggert  <eggert@cs.ucla.edu>
90377
90378         * m4/argp: Depend on alloca.
90379
90380 2004-05-17  Derek R. Price  <derek@ximbiot.com>
90381             Paul Eggert  <eggert@cs.ucla.edu>
90382
90383         * lib/argp-help.c, argp-parse.c: Assume <alloca.h> rather than
90384         freecoding.
90385
90386 2004-05-17  Bruno Haible  <bruno@clisp.org>
90387
90388         * lib/vasnprintf.c (VASNPRINTF): Correctly handle the case of a
90389         precision that consists of a '.' followed by an empty digit string.
90390         Patch by Tor Lillqvist <tml@iki.fi>.
90391
90392 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90393
90394         * m4/alloca.m4 (gl_FUNC_ALLOCA): Define HAVE_ALLOCA_H always,
90395         for backward compatibility with older code.  We need our own
90396         alloca.h if _AIX is defined.  Define HAVE_ALLOCA if we discover
90397         it under some other name, and our alloca.h will define it.
90398
90399 2004-05-16  Paul Eggert  <eggert@cs.ucla.edu>
90400             Derek Price  <derek@ximbiot.com>
90401
90402         * lib/alloca.c: Include <alloca.h>, to get our interface.
90403         * lib/alloca_.h: Use __alloca on AIX, so that we don't have to
90404         include <alloca.h> first.  Use C89 prototype for alloca; this
90405         requires including <stddef.h> for size_t.  Use extern "C" if C++.
90406         Use #elif for simplicity, since we can assume C89 now.
90407         Don't try to source the system alloca.h since it will not be found
90408         and to prevent recursively including its replacement.
90409         * lib/fnmatch.c: Include <alloca.h> instead of opencoding.
90410         * lib/regex.c: Likewise.
90411
90412 2004-05-16  Derek Price  <derek@ximbiot.com>
90413             Paul Eggert  <eggert@cs.ucla.edu>
90414
90415         getline cleanup.  This changes the getndelim2 API: both order of
90416         arguments, and meaning of delim2 (now uses EOF, not 0, to indicate
90417         no delimiter).
90418
90419         * lib/getline.c: Don't include stddef.h or stdio.h, since our
90420         interface does that.
90421         (getline): Always use getdelim, so that we don't have two
90422         copies of this code.
90423         * lib/getndelim2.c: Include <limits.h>, <inttypes.h>, <stdint.h>
90424         if available.
90425         (PTRDIFF_MAX, SIZE_MAX, SSIZE_MAX): Define if not defined.
90426         (GETNDELIM2_MAXIMUM): New macro.
90427         (getndelim2): Reorder arguments.  delim==EOF now means no delimiter,
90428         instead of the old practice of delim2==0.  All callers changed.
90429         Return -1 on overflow, instead of returning junk.
90430         Do not set *linesize unless allocation succeeds.
90431         * lib/getndelim2.h: Do not include stddef.h; no longer needed, now
90432         that we include sys/types.h.
90433         * lib/getnline.h: Likewise.
90434         * lib/getndelim2.h (GETNLINE_NO_LIMIT): New macro.
90435         (getndelim2): Reorder arguments.
90436         * lib/getnline.c (getnline, getndelim):
90437         Don't discard the NMAX argument.
90438         (getnline): Invoke getndelim, to avoid code duplication.
90439         * lib/getnline.h (GETNLINE_NO_LIMIT): New macro, used instead
90440         of (size_t) -1 by callers of the getnline family.
90441
90442 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90443
90444         * m4/gettime.m4 (gl_GETTIME): Require gl_TIMESPEC.
90445         Check for gettimeofday.
90446         * m4/settime.m4 (gl_SETTIME): Require gl_TIMESPEC.
90447         Check for settimeofday, stime.
90448
90449 2004-05-13  Paul Eggert  <eggert@cs.ucla.edu>
90450
90451         * lib/nanosleep.c (suspended): Change its type from int to
90452         sig_atomic_t volatile.
90453         (first_call): Make it private to rpl_nanosleep, and have it
90454         be zero initially as that's a bit faster.
90455         (my_usleep): Round up fractional times instead of truncating them,
90456         as this is the usual meaning for 'sleep'.
90457
90458         * lib/gettime.c (gettime): Fall back on `time' if `gettimeofday'
90459         doesn't work.
90460         * lib/settime.c: Include <unistd.h>, for stime (on Solaris 8, anyway).
90461         (ENOSYS): Define if not defined.
90462         (settime): Fall back on stime if it exists and settimeofday fails.
90463         But don't bother with fallbacks if a method fails with errno == EPERM.
90464
90465 2004-05-11  Jim Meyering  <jim@meyering.net>
90466
90467         Prior to this change, the save_cwd caller required read access to the
90468         current directory on most systems (ones with the fchdir function).
90469
90470         * lib/save-cwd.c (save_cwd) [HAVE_FCHDIR]: If opening `.' read-only
90471         fails, try write-only, and finally, resort to using xgetcwd.
90472
90473 2004-05-06  Paul Eggert  <eggert@cs.ucla.edu>
90474
90475         * lib/obstack.c, obstack.h: Import changes from libc.
90476
90477 2004-04-28  Bruno Haible  <bruno@clisp.org>
90478
90479         * lib/findprog.c (find_in_path): Treat Cygwin like Windows, since it
90480         also implicitly appends .exe to executables.
90481         * lib/localcharset.c (ISSLASH): Treat Cygwin like Windows, since it now
90482         accepts Windows pathnames.
90483         * lib/pathname.h (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90484         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90485         * lib/progreloc.c (ISSLASH, IS_PATH_WITH_DIR, FILESYSTEM_PREFIX_LEN):
90486         Treat Cygwin like Windows, since it now accepts Windows pathnames.
90487         Reported by Derek Robert Price <derek@ximbiot.com>.
90488
90489 2004-04-21  Karl Berry  <karl@gnu.org>
90490
90491         * config/srclist.txt (localcharset.c): break sync.
90492
90493 2004-04-20  Paul Eggert  <eggert@twinsun.com>
90494
90495         * m4/host-os.m4: Add a copyright notice.
90496
90497 2004-04-20  Jim Meyering  <jim@meyering.net>
90498
90499         Change UTILS_ to gl_ in AC_DEFINE'd names.
90500         Change utils_- and jm_-prefixed variables, too.
90501         * m4/mkdir-slash.m4 (gl_FUNC_MKDIR_TRAILING_SLASH): Renamed from
90502         UTILS_FUNC_MKDIR_TRAILING_SLASH.
90503         * m4/mkstemp.m4 (gl_FUNC_MKSTEMP): Renamed from UTILS_FUNC_MKSTEP.
90504
90505         * m4/dirfd.m4 (gl_FUNC_DIRFD): Rename from UTILS_FUNC_DIRFD.
90506         Don't emit trailing blanks.
90507         Also rename jm_-prefixed variables to have gl_ prefix.
90508
90509         * m4/host-os.m4 (gl_HOST_OS): Rename from UTILS_HOST_OS.
90510         Also rename jm_-prefixed variables to have gl_ prefix.
90511
90512         * m4/jm-macros.m4: Reflect the renamings.
90513         * m4/prereq.m4: Likewise.
90514
90515 2004-04-20  Jim Meyering  <jim@meyering.net>
90516
90517         * lib/getndelim2.c (getndelim2): Upon realloc failure, don't leak
90518         memory.
90519
90520 2004-04-20  Jim Meyering  <jim@meyering.net>
90521             Bruno Haible  <bruno@clisp.org>
90522
90523         * lib/localcharset.c (get_charset_aliases) [!VMS && !WIN32]: Don't leak
90524         memory when realloc fails.
90525
90526 2004-04-19  Jim Meyering  <jim@meyering.net>
90527
90528         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Require gl_FUNC_FREE,
90529         now that readutmp.c may call `free (0)'.
90530
90531 2004-04-19  Bruno Haible  <bruno@clisp.org>
90532
90533         * m4/mbrtowc.m4: Change jm_ to gl_ in cache variables as well.
90534         * m4/inttypes_h.m4: Likewise.
90535         * m4/stdint_h.m4: Likewise.
90536         * m4/intmax_t.m4: Likewise.
90537         * m4/uintmax_t.m4: Likewise.
90538
90539 2004-04-18  Jim Meyering  <jim@meyering.net>
90540
90541         * m4/prereq.m4: Don't forbid jm_ prefix.
90542
90543         * m4/afs.m4, m4/allocsa.m4, m4/assert.m4, m4/backupfile.m4:
90544         * m4/bison.m4, m4/check-decl.m4, m4/chown.m4, m4/d-ino.m4:
90545         * m4/d-type.m4, m4/dirname.m4, m4/dos.m4, m4/error.m4, m4/fpending.m4:
90546         * m4/fstypename.m4, m4/fsusage.m4, m4/ftruncate.m4, m4/getdate.m4:
90547         * m4/getgroups.m4, m4/gettext.m4, m4/glibc21.m4, m4/group-member.m4:
90548         * m4/human.m4, m4/intmax.m4, m4/intmax_t.m4, m4/inttostr.m4:
90549         * m4/inttypes.m4, m4/inttypes_h.m4, m4/jm-macros.m4, m4/jm-winsz1.m4:
90550         * m4/jm-winsz2.m4, m4/lchown.m4, m4/lib-check.m4, m4/link-follow.m4:
90551         * m4/localcharset.m4, m4/longlong.m4, m4/ls-mntd-fs.m4, m4/lstat.m4:
90552         * m4/makepath.m4, m4/mbrtowc.m4, m4/mbswidth.m4, m4/memchr.m4:
90553         * m4/memcmp.m4, m4/mkdtemp.m4, m4/mkstemp.m4, m4/mountlist.m4:
90554         * m4/nanosleep.m4, m4/path-concat.m4, m4/perl.m4, m4/prereq.m4:
90555         * m4/putenv.m4, m4/quotearg.m4, m4/regex.m4, m4/stat.m4:
90556         * m4/stdint_h.m4, m4/strftime.m4, m4/strtoimax.m4, m4/strtoll.m4:
90557         * m4/strtoull.m4, m4/strtoumax.m4, m4/timespec.m4, m4/uintmax_t.m4:
90558         * m4/ulonglong.m4, m4/unlink-busy.m4, m4/unlocked-io.m4, m4/uptime.m4,
90559         * m4/utimbuf.m4, m4/utime.m4, m4/utimes-null.m4, m4/vasnprintf.m4:
90560         * m4/xstrtoimax.m4, m4/xstrtol.m4, m4/xstrtoumax.m4:
90561         Change jm_ to gl_ in AC_DEFINE'd names. Update all uses.
90562
90563 2004-04-18  Jim Meyering  <jim@meyering.net>
90564
90565         * lib/readutmp.c (read_utmp) [UTMP_NAME_FUNCTION]: Upon realloc
90566         failure, don't leak memory and do call END_UTMP_ENT.
90567
90568 2004-04-16  Jim Meyering  <jim@meyering.net>
90569
90570         * m4/prereq.m4 (jm_PREREQ_STAT): Remove macro.  It is specific to
90571         coreutils' stat program.
90572         (gl_PREREQ): Don't require jm_PREREQ_STAT.
90573
90574 2004-04-11  Paul Eggert  <eggert@twinsun.com>
90575
90576         * lib/inttostr.h: Include <limits.h> unconditionally, since we assume
90577         C89.
90578         (CHAR_BIT): Remove, since we assume C89.
90579         Include <stdint.h> if available, as per current Autoconf CVS advice.
90580
90581 2004-03-31  Jim Meyering  <jim@meyering.net>
90582
90583         * m4/prereq.m4: Require AC_FUNC_MALLOC, not jm_FUNC_MALLOC.
90584         Require AC_FUNC_REALLOC, not jm_FUNC_REALLOC.
90585         * m4/xalloc.m4: Likewise.
90586
90587 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90588
90589         Merge from coreutils.
90590
90591         * m4/inttostr.m4: New file.
90592         * m4/getdate.m4 (gl_GETDATE): Remove time-related stuff.
90593         Require AM_STDBOOL_H and gl_TIMESPEC instead.
90594         Require gl_CLOCK_TIME.
90595         * m4/clock_time.m4 (gl_CLOCK_TIME): Require AC_GNU_SOURCE.
90596
90597 2004-03-30  Paul Eggert  <eggert@twinsun.com>
90598
90599         * lib/cloexec.h, cloexec.c (set_cloexec_flag): Return int
90600         not bool, to be more consistent with Unix conventions.
90601         Suggested by Bruno Haible.
90602
90603         Merge from coreutils.
90604
90605         * lib/imaxtostr.c, lib/inttostr.c, lib/inttostr.h, lib/offtostr.c:
90606         * lib/umaxtostr.c: New files.
90607
90608         * lib/getdate.h: Include stdbool.h, and timespec.h instead of
90609         the usual <time.h> dance.
90610         (get_date): Change signature to support fractional time stamps.
90611         All callers changed.
90612         * lib/getdate.y: Include "getdate.h" first, as we can now
90613         assume C89 and don't need to worry about 'const'.
90614         Similarly, include "unlocked-io.h" near start, not in middle.
90615         Include <limits.h>.
90616         (textint.value): Use long int rather than int.
90617         (textint.digits): Use size_t rather than int.
90618         (BILLION, LOG10_BILLION): New constants.
90619         (parser_control): New member rel_ns.  Members day_ordinal,
90620         time_zone, month, day, hour, minutes, rel_year, rel_month,
90621         rel_day, rel_hour, rel_minutes, rel_seconds
90622         are now long int, not int.  Member seconds is now struct timespec,
90623         not int.  New member timespec_seen.  Members dates_seen, days_seen,
90624         local_zones_seen, rels_seen, times_seen, zones_seen are now size_t,
90625         not int.
90626         (%union.intval): Now long int, not int.
90627         New member timespec.
90628         (tSDECIMAL_NUMBER, tUDECIMAL_NUMBER): New tokens.
90629         (seconds, signed_seconds, unsigned_seconds): New nonterminals.
90630         (spec): Now is a timespec or an item list.
90631         (timespec, items): New nonterminals.
90632         (time, rel, relunit, number, get_date):
90633         Add support for fractional seconds.
90634         (time): Fix bug: seconds weren't cleared in "00:00 +0000" syntax.
90635         (gmtime, localtime, mktime): Remove decls; not needed with C89.
90636         (to_hour): First arg is now long int, not int.
90637         (to_year): Returns long int, not int.
90638         Don't treat year -70 like 70.
90639         (tm_diff): Returns long int, not int.
90640         (lookup_word): Use bool instead of int when appropriate.
90641         (yylex): Use size_t for count, not int.
90642         Detect overflow when parsing large integer constants.
90643         Add support for fractions.
90644         (get_date): Make pointers 'const' if possible.
90645         Use more-portable code to detect integer overflow.
90646         (main) [TEST]: Adjust to above changes.  Test for localtime failure.
90647         Don't use ctime; it's not reliable if the year has >4 digits.
90648
90649         * lib/human.c (humblock): Inspect BLOCKSIZE if BLOCK_SIZE isn't set.
90650         This is for compatibility with BSD.
90651
90652         * lib/timespec.h (ST_TIME_CMP_NS, ST_TIME_CMP): Define.
90653         (ATIME_CMP, CTIME_CMP, MTIME_CMP, TIMESPEC_NS): Likewise.
90654         From coreutils' system.h.
90655
90656         * lib/userspec.c: Don't include "posixver.h".
90657         (parse_user_spec): Fall back on USER.GROUP parsing, regardless
90658         of POSIX version, as POSIX 1003.1-2001 allows that behavior as a
90659         compatible extension.  Simplify code by removing a boolean int
90660         that was always nonzero if a string was nonnull.
90661
90662 2004-03-30  Jim Meyering  <jim@meyering.net>
90663
90664         Merge from coreutils.
90665
90666         Avoid a configure-time warning about sys/ucred.h on OSF V4.0.
90667         * m4/ls-mntd-fs.m4: Test for sys/ucred.h separately, since
90668         on some systems one must include <grp.h> before it.
90669         Reported by Christian Krackowizer.
90670
90671 2004-03-30  Jim Meyering  <jim@meyering.net>
90672
90673         Merge from coreutils.
90674
90675         * lib/mountlist.c [HAVE_SYS_UCRED_H]: Include grp.h before sys/ucred.h.
90676
90677         * lib/readtokens.c (readtoken): Don't leak 64 bytes when reading
90678         an empty input stream.
90679
90680         * lib/readtokens.c: Include <stdbool.h>.
90681         (readtoken): Use `size_t' rather than int/long.
90682         All callers adjusted.
90683         Use `bool' rather than `int' where appropriate.
90684         Use memset rather than an explicit loop.
90685         Use x2nrealloc rather than xrealloc.
90686         Allow the use of `\0' as a delimiter.
90687         (readtokens): Likewise.
90688         * lib/readtokens.h (readtoken, readtokens): Update prototypes.
90689
90690 2004-03-30  Jim Meyering  <jim@meyering.net>
90691
90692         * m4/realloc.m4: Remove file, since now it does no more than
90693         AC_REQUIRE([AC_FUNC_REALLOC]), and that can be done via
90694         the `configure.ac' section of module/realloc.
90695         * m4/malloc.m4: Likewise, but for AC_FUNC_MALLOC.
90696
90697 2004-03-30  Bruno Haible  <bruno@clisp.org>
90698
90699         * lib/getloadavg.c (getloadavg): Don't assume setlocale returns
90700         nonnull.
90701
90702 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90703
90704         Merge changes to getloadavg.c from coreutils and Emacs.
90705
90706         * lib/getloadavg.c [!defined HAVE_SETLOCALE] (setlocale):
90707         Define to an expression, not to the empty string.
90708         Include cloexec.h and xalloc.h.
90709         (getloadavg): Restore LC_NUMERIC locale after setting it temporarily.
90710         Use set_cloexec_flag rather than rolling our own.
90711         * lib/cloexec.c, lib/cloexec.h: New files.
90712
90713 2004-03-29  Paul Eggert  <eggert@twinsun.com>
90714
90715         * m4/cloexec.m4: New file.
90716
90717 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90718
90719         * lib/getopt.h: Sync with libc CVS.
90720
90721 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90722             Bruno Haible  <bruno@clisp.org>
90723
90724         * m4/mbswidth.m4 (gl_MBSWIDTH): Also test whether <wchar.h> declares
90725         mbswidth.
90726
90727 2004-03-18  Paul Eggert  <eggert@twinsun.com>
90728             Bruno Haible  <bruno@clisp.org>
90729
90730         * lib/mbswidth.h: Include <wchar.h> only if
90731         HAVE_DECL_MBSWIDTH_IN_WCHAR_H, not on all platforms that have
90732         <wchar.h>.
90733         * lib/mbswidth.c: Include <stdio.h> and <time.h> before <wchar.h>.
90734
90735 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90736
90737         * lib/argp-parse.c, getopt.c, getopt.h, getopt1.c:
90738         Sync with libc CVS.
90739         * lib/getopt_int.h: New file, also synced from libc.
90740
90741 2004-03-09  Paul Eggert  <eggert@twinsun.com>
90742
90743         * config/srclistvars.sh: Add GNUWWWLICENSES for eggert.
90744         * config/srclist.txt: Sync getopt with libc.  Add getopt_int.h.
90745         Bring back getopt.c, getopt.h, getopt1.c.
90746
90747 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90748
90749         * m4/c-stack.m4 (gl_PREREQ_C_STACK): Renamed from jm_PREREQ_C_STACK.
90750         All uses changed.  Check for sa_sigaction member; this fixes
90751         a bug first reported by Jason Andrade in
90752         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90753
90754 2004-03-07  Paul Eggert  <eggert@twinsun.com>
90755
90756         * lib/c-stack.c (SIGACTION_WORKS): New macro.  Use it instead of long
90757         '#if' expressions.  Unlike the code it replaces, it does not
90758         depend on (defined _SC_PAGESIZE).  However, it does depend on
90759         HAVE_STRUCT_SIGACTION_SA_SIGACTION; this last change fixes a bug
90760         first reported by Jason Andrade in
90761         <http://mail.gnu.org/archive/html/bug-textutils/2003-03/msg00027.html>.
90762
90763 2004-02-25  Simon Josefsson  <jas@extundo.com>
90764
90765         * m4/strdup.m4 (gl_PREREQ_STRDUP): Check whether strdup is declared.
90766
90767 2004-02-25  Simon Josefsson  <jas@extundo.com>
90768
90769         * lib/strdup.h: New file.
90770         * lib/strdup.c: Include it.
90771         * lib/path-concat.c: Include strdup.h. Drop strdup declaration.
90772         * lib/userspec.c: Include strdup.h. Drop strdup declaration.
90773
90774 2004-02-23  Karl Berry  <karl@gnu.org>
90775
90776         * doc/maintain.texi, doc/standards.texi, doc/make-stds.texi: new files
90777         (from fencepost.gnu.org:/gd/gnuorg).
90778
90779 2004-02-23  Karl Berry  <karl@gnu.org>
90780
90781         * config/srclistvars.sh (GNUORG) [karl]: redefine.
90782         * config/srclist.txt: add maintain/standards documents.
90783
90784 2004-02-18  Bruno Haible  <bruno@clisp.org>
90785
90786         * m4/xsize.m4 (gl_XSIZE): Require AC_C_INLINE.
90787         Reported by Derek Robert Price <derek@ximbiot.com>.
90788
90789 2004-02-16  Karl Berry  <karl@gnu.org>
90790
90791         * config/mkinstalldirs, install-sh: update from automake.
90792
90793 2004-02-06  Karl Berry  <karl@gnu.org>
90794
90795         * m4/po.m4: update from gettext 0.14.1.
90796
90797 2004-02-06  Karl Berry  <karl@gnu.org>
90798
90799         * lib/config.charset: update from gettext 0.14.1.
90800
90801 2004-02-05  Paul Eggert  <eggert@twinsun.com>
90802
90803         Add comments and code, prompted by suggestions from Bruno Haible
90804         for sh-quote.
90805         * lib/quotearg.h (quotearg_alloc): New decl.  Improve the comments
90806         describing the enum quoting_style values.
90807         * lib/quotearg.c (quotearg_alloc): New function.
90808         (quotearg_buffer_restyled): Treat lone { and } as special.
90809         Treat = as special.  Work around bug with older shells
90810         that "see" a '\' that is really the 2nd byte of a multibyte char.
90811         Quote empty string with shell_quoting_style.
90812
90813 2004-02-03  Bruno Haible  <bruno@clisp.org>
90814
90815         * m4/pipe.m4: New file, from GNU gettext.
90816
90817 2004-02-03  Bruno Haible  <bruno@clisp.org>
90818
90819         * lib/pipe.h: New file, from GNU gettext.
90820         * lib/pipe.c: New file, from GNU gettext.
90821
90822 2004-01-27  Bruno Haible  <bruno@clisp.org>
90823
90824         * m4/execute.m4: New file, from GNU gettext.
90825
90826 2004-01-27  Bruno Haible  <bruno@clisp.org>
90827
90828         * lib/execute.h: New file, from GNU gettext.
90829         * lib/execute.c: New file, from GNU gettext.
90830         * lib/w32spawn.h: New file, from GNU gettext.
90831
90832 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90833
90834         Merge from diffutils.
90835
90836         * lib/file-type.c (file_type): Add typed memory objects.
90837         * lib/file-type.h (S_TYPEISTMO): New macro.
90838
90839         * lib/c-stack.h (c_stack_action): Remove argv argument.
90840         * lib/c-stack.c (c_stack_action): Likewise.  All uses changed.
90841         (die): Don't calculate message unless segv_action returns.
90842         (get_stack_location, min_address_from_argv, max_address_from_argv,
90843         volatile stack_base, volatile_stack_size): Remove.
90844         (segv_handler): If ! HAVE_XSI_STACK_OVERFLOW_HEURISTIC, assume
90845         that every segmentation violation is a stack overflow.  (Ouch!)
90846         See Debian bug 136249 (still outstanding) for more info about why
90847         HAVE_XSI_STACK_OVERFLOW_HEURISTIC fails on Linux kernels.
90848
90849 2004-01-24  Paul Eggert  <eggert@twinsun.com>
90850
90851         Exit-status fix from coreutils.
90852
90853         Use exit_failure consistently in place of EXIT_FAILURE,
90854         so that program exit statuses are consistent on failure.
90855
90856         * lib/argmatch.c (ARGMATCH_DIE) [! defined ARGMATCH_DIE]:
90857         Include "exitfail.h", and use exit_failure rather than EXIT_FAILURE.
90858         * lib/argmatch.h: Comment fix to match the above.
90859         * lib/obstack.c (obstack_exit_failure) [!defined _LIBC]:
90860         Now a macro referring to exit_failure, instead of a separate
90861         variable.  Include "exitfail.h" to get it.
90862         * lib/xstrtol.h: Include "exitfail.h".
90863         (STRTOL_FATAL_ERROR): Exit with status exit_failure, not 2.
90864
90865         * lib/long-options.c (parse_long_options): Use prototype
90866         for usage function arg.  Pass it EXIT_SUCCESS rather than 0,
90867         for clarity.
90868
90869 2004-01-21  Jim Meyering  <jim@meyering.net>
90870
90871         * lib/mktime.c (__mktime_internal) [!_LIBC]: Define to mktime_internal
90872         so as not to conflict with a different-sized __mktime_internal
90873         function in GNU libc.
90874         * lib/timegm.c (__mktime_internal) [!_LIBC]: Likewise.
90875         Problem building statically-linked `ls' reported by Michael Brunnbauer.
90876
90877 2004-01-20  Karl Berry  <karl@gnu.org>
90878
90879         * config/config.guess: update from config.
90880
90881         * config/srclistvars.sh: GNUWWWLICENSES for karl.
90882
90883 2004-01-20  Bruno Haible  <bruno@clisp.org>
90884
90885         Safer stack allocation.
90886         * lib/setenv.c: Include allocsa.h.
90887         (alloca): Remove fallback definition.
90888         (freea): Remove macro.
90889         (__add_to_environ) [!_LIBC]: Use allocsa instead of alloca. Use freesa
90890         instead of freea.
90891
90892 2004-01-20  Bruno Haible  <bruno@clisp.org>
90893
90894         * m4/eealloc.m4: New file, from GNU gettext.
90895
90896 2004-01-20  Bruno Haible  <bruno@clisp.org>
90897
90898         * m4/allocsa.m4: New file, from GNU gettext.
90899
90900 2004-01-20  Bruno Haible  <bruno@clisp.org>
90901
90902         * lib/xallocsa.h: New file, from GNU gettext.
90903         * lib/xallocsa.c: New file, from GNU gettext.
90904
90905 2004-01-20  Bruno Haible  <bruno@clisp.org>
90906
90907         * lib/wait-process.c: On Windows, include windows.h. Needed on mingw.
90908
90909 2004-01-20  Bruno Haible  <bruno@clisp.org>
90910
90911         * lib/wait-process.c (wait_subprocess): Add ignore_sigpipe argument.
90912         * lib/wait-process.c (wait_subprocess): Likewise. Handle SIGPIPE
90913         specially.
90914
90915 2004-01-20  Bruno Haible  <bruno@clisp.org>
90916
90917         * lib/wait-process.c (wait_process): Disable the 2003-10-31 waitid()
90918         patch.
90919
90920 2004-01-20  Bruno Haible  <bruno@clisp.org>
90921
90922         * lib/wait-process.c (cleanup_slaves): Use ANSI C declaration.
90923
90924 2004-01-20  Bruno Haible  <bruno@clisp.org>
90925
90926         * lib/eealloc.h: New file.
90927
90928 2004-01-20  Bruno Haible  <bruno@clisp.org>
90929
90930         * lib/binary-io.h: Avoid warnings on Cygwin.
90931
90932 2004-01-20  Bruno Haible  <bruno@clisp.org>
90933
90934         * lib/allocsa.h: New file, from GNU gettext.
90935         * lib/allocsa.c: New file, from GNU gettext.
90936
90937 2004-01-18  Karl Berry  <karl@gnu.org>
90938
90939         * doc/gpl.texi, doc/lgpl.texi: new files.
90940
90941 2004-01-18  Karl Berry  <karl@gnu.org>
90942
90943         * config/srclistvars.sh (GNUWWWLICENSES): new variable.
90944         * config/srclist.txt ({fdl,gpl,lgpl}.text): get from there.
90945
90946 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90947
90948         Merge from coreutils.
90949
90950         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for uintptr_t.
90951         * m4/posixver.m4 (gl_POSIXVER): Require gl_DEFAULT_POSIX2_VERSION.
90952         (gl_DEFAULT_POSIX2_VERSION): Move
90953         the documentation from 'configure' into 'config.hin',
90954         so that 'configure --help' isn't burdened by it and
90955         we don't have to worry about its formatting there.
90956         Reword the documentation so that it's more succinct
90957         and can be run together into a single paragraph.
90958         * m4/same.m4 (gl_SAME): Check for pathconf.
90959
90960 2004-01-15  Paul Eggert  <eggert@twinsun.com>
90961
90962         Merge from coreutils.
90963
90964         * lib/posixver.c: Include posixver.h.
90965
90966         * lib/same.c: Include <stdbool.h>, <limits.h>.
90967         (_POSIX_NAME_MAX): Define if not defined.
90968         (MIN): New macro.
90969         (same_name): If file names are silently truncated, report
90970         that the file names are the same if they are the same after
90971         the silent truncation.
90972
90973         * lib/xstrtod.h (xstrtod): Accept an extra arg, specifying the
90974         conversion function.
90975         * lib/xstrtod.c (xstrtod): Likewise.  All callers changed to
90976         include c-strtod.h and use c_strtod.  Don't include stdlib.h; no
90977         longer needed.
90978
90979 2004-01-15  Jim Meyering  <jim@meyering.net>
90980
90981         Merge from coreutils.
90982
90983         * m4/clock_time.m4 (gl_CLOCK_TIME): Don't set LIB_CLOCK_GETTIME
90984         if no library is required.
90985         * m4/jm-macros.m4: Don't require UTILS_SYS_OPEN_MAX.
90986         * m4/jm-macros.m4 (jm_MACROS): Require gl_FUNC_FREE.
90987         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.58.
90988         (AC_LANG_SOURCE): Remove definition, now that we require autoconf-2.58.
90989         * m4/jm-macros.m4 (jm_MACROS): Don't require AC_FUNC_FTW.
90990         * m4/lib-check.m4 (jm_LIB_CHECK): Do not set LIB_CRYPT to the
90991         value, $ac_cv_search_crypt, if it's "none required".
90992         * m4/posixver.m4 (gl_DEFAULT_POSIX2_VERSION): New macro.
90993         * m4/prereq.m4 (jm_PREREQ): Require AC_FUNC_GETLOADAVG,
90994         not gl_FUNC_GETLOADAVG.
90995         * m4/prereq.m4 (jm_PREREQ): Require gl_READTOKENS, gl_MD5, gl_MAKEPATH,
90996         gl_LONG_OPTIONS, and gl_IDCACHE, gl_GETUGROUPS.
90997
90998 2004-01-15  Jim Meyering  <jim@meyering.net>
90999
91000         Merge from coreutils.
91001
91002         * lib/md5.h (rol) [__GNUC__ && __i386__]: Don't use `asm' code.  These
91003         days, gcc-3.x does better all by itself.  Patch from Dean Gaudet:
91004         http://mail.gnu.org/archive/html/bug-coreutils/2003-11/msg00144.html
91005
91006         * lib/posixver.c (DEFAULT_POSIX2_VERSION): Use definition of new,
91007         optional configure-time default.
91008
91009         * lib/version-etc.c (version_etc_copyright): Update copyright date.
91010
91011         * lib/xreadlink.c (xreadlink): Correct outdated comment.
91012
91013 2004-01-15  Alexandre Duret-Lutz  <adl@gnu.org>
91014
91015         Merge from coreutils.
91016
91017         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Do not set LIB_NANOSLEEP to the
91018         value, $ac_cv_search_nanosleep, if it's "none required".
91019
91020 2004-01-14  Paul Eggert  <eggert@twinsun.com>
91021
91022         * lib/fnmatch_loop.c (ALLOCA_LIMIT): Remove macro, which collided
91023         with like-named macro in fnmatch.c.
91024         (EXT): Use an internal constant instead.
91025
91026         Merge fnmatch patches from glibc.
91027         * lib/fnmatch.c (mbsinit): Remove define.
91028         Add libc_hidden_ver (__fnmatch, fnmatch).
91029         * lib/fnmatch_loop.c (FCT): Cast to int32_t and UCHAR when appropriate.
91030         Adjust to renaming of collseq_table_lookup to __collseq_table_lookup.
91031
91032 2004-01-14  Karl Berry  <karl@gnu.org>
91033
91034         * config/install-sh: update from automake.
91035
91036 2004-01-13  Karl Berry  <karl@gnu.org>
91037
91038         * config/install-sh: update from automake.
91039
91040 2004-01-09  Karl Berry  <karl@gnu.org>
91041
91042         * config/install-sh: update from automake.
91043
91044 2004-01-05  Karl Berry  <karl@gnu.org>
91045
91046         * config/config.{sub,guess}: update from config.
91047
91048 2003-12-31  Karl Berry  <karl@gnu.org>
91049
91050         * config/depcomp: update from automake.
91051
91052 2003-12-14  Karl Berry  <karl@gnu.org>
91053
91054         * lib/config.charset: update from gettext-runtime.
91055
91056 2003-12-03  Paul Eggert  <eggert@twinsun.com>
91057
91058         * lib/getgroups.c (getgroups): xmalloc takes one argument, not two.
91059         Bug reported by Alfred M. Szmidt.
91060
91061 2003-12-03  Bruno Haible  <bruno@clisp.org>
91062
91063         * m4/gettext.m4: Upgrade from gettext-0.13.
91064         * m4/po.m4: Upgrade from gettext-0.13.
91065         * m4/size_max.m4 (gl_SIZE_MAX): Don't use the _ONCE macros here.
91066         * m4/intmax.m4: New file, from gettext-0.13.
91067         * m4/printf-posix.m4: New file, from gettext-0.13.
91068
91069 2003-11-29  Karl Berry  <karl@gnu.org>
91070
91071         * lib/argp-{help.c,parse.c,namefrob.h}, argp.h: update from libc.
91072
91073 2003-11-25  Paul Eggert  <eggert@twinsun.com>
91074             Bruno Haible  <bruno@clisp.org>
91075
91076         * lib/printf-parse.h: Don't include sys/types.h.
91077         (ARG_NONE): New macro.
91078         (char_directive): Change type of *arg_index fields to size_t.
91079         * lib/printf-parse.c: Don't include sys/types.h.
91080         (SSIZE_MAX): Remove macro.
91081         (PRINTF_PARSE): Change the type of the arg_index variables to size_t.
91082         Remove unnecessary overflow check.
91083         * lib/vasnprintf.c (VASNPRINTF): Update for type change of *arg_index
91084         fields.
91085
91086 2003-11-25  Bruno Haible  <bruno@clisp.org>
91087
91088         * modules/vasnprintf (Files): Remove m4/ssize_t.m4.
91089
91090 2003-11-25  Bruno Haible  <bruno@clisp.org>
91091
91092         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Don't require
91093         gt_TYPE_SSIZE_T.
91094
91095 2003-11-24  Paul Eggert  <eggert@twinsun.com>
91096
91097         * modules/alloca: Remove dependency on xalloc.
91098
91099 2003-11-24  Paul Eggert  <eggert@twinsun.com>
91100
91101         * lib/alloca.c: Remove dependency on xalloc module.
91102         (xalloc_die): Remove.
91103         (memory_full) [!defined emacs]: New macro.
91104         [!defined emacs]: Don't include xalloc.h.
91105         (alloca): Invoke memory_full, not xalloc_die, if malloc fails or
91106         address arithmetic overflows.  Change datatypes a bit to avoid
91107         unnecessary casts.
91108
91109 2003-11-22  Jim Meyering  <jim@meyering.net>
91110
91111         * lib/xmalloc.c (x2nrealloc_inline): Fix typos in comments:
91112         s/size/size_t/.
91113
91114 2003-11-21  Karl Berry  <karl@gnu.org>
91115
91116         * config/config.{sub,guess}: update from config.
91117
91118 2003-11-18  Karl Berry  <karl@gnu.org>
91119
91120         * config/config.{sub,guess}: update from config.
91121
91122         * config/(printf-{parse,args}.[ch]): sync broken, sigh.
91123
91124 2003-11-17  Paul Eggert  <eggert@twinsun.com>
91125
91126         * README: Mention that S+T cannot overflow if S is the size of
91127         an existing object and T is sufficiently small.
91128
91129 2003-11-17  Jim Meyering  <jim@meyering.net>
91130
91131         On systems without utime and without a utimes function capable of
91132         dealing with a NULL struct utimbuf* argument, this utime replacement
91133         could -- in unusual circumstances -- leak a file descriptor.
91134         * lib/utime.c: Include <unistd.h> and <errno.h>.
91135         (utime_null): Be sure to close `fd' and to preserve errno.
91136         Reported by Geoff Collyer via Arnold Robbins.
91137
91138 2003-11-17  Bruno Haible  <bruno@clisp.org>
91139
91140         * modules/vasnprintf (Files): Add m4/ssize_t.m4.
91141         (Depends-on): Add xsize.
91142
91143 2003-11-17  Bruno Haible  <bruno@clisp.org>
91144
91145         * m4/vasnprintf.m4 (gl_PREREQ_PRINTF_PARSE): Require gt_TYPE_SSIZE_T.
91146
91147 2003-11-17  Bruno Haible  <bruno@clisp.org>
91148
91149         * lib/vasnprintf.c (alloca): Remove fallback definition.
91150         (freea): Remove definition.
91151         (VASNPRINTF): Use alloca only for small sizes, say <= 4000 bytes.
91152         Reported by Paul Eggert.
91153
91154 2003-11-16  Paul Eggert  <eggert@twinsun.com>
91155             Bruno Haible  <bruno@clisp.org>
91156
91157         Protect against address arithmetic overflow.
91158         * lib/printf-args.h: Include stddef.h.
91159         (arguments): Change type of field 'count' to size_t.
91160         * lib/printf-args.c (printf_fetchargs): Use size_t instead of
91161         'unsigned int' where appropriate.
91162         * lib/printf-parse.h: Include sys/types.h.
91163         (char_directive): Change type of *arg_index fields to ssize_t.
91164         (char_directives): Change type of fields 'count', max_*_length to
91165         size_t.
91166         * lib/printf-parse.c: Include sys/types.h and xsize.h.
91167         (SSIZE_MAX): Define fallback value.
91168         (PRINTF_PARSE): Use size_t instead of 'unsigned int' and ssize_t
91169         instead of 'int' where appropriate. Check a_allocated, d_allocated
91170         against overflow. Reject %m$ argument numbers > SSIZE_MAX + 1.
91171         * lib/vasnprintf.c: Include xsize.h.
91172         (VASNPRINTF): Use size_t instead of 'unsigned int' where appropriate.
91173         Check alloca, malloc, realloc, ENSURE_ALLOCATION arguments against
91174         overflow. Avoid wraparound when converting a width or precision from
91175         decimal to binary.
91176
91177 2003-11-16  Bruno Haible  <bruno@clisp.org>
91178
91179         Update from GNU gettext.
91180         * lib/printf-parse.c: Generalize to it can be compiled for wide
91181         strings.
91182         (PRINTF_PARSE, CHAR_T, DIRECTIVE, DIRECTIVES): New macros.
91183         * lib/vasnprintf.c: Generalize to it can be compiled for wide strings.
91184         (VASNPRINTF, CHAR_T, DIRECTIVE, DIRECTIVES, PRINTF_PARSE, USE_SNPRINTF,
91185         SNPRINTF): New macros.
91186         Don't include <alloca.h> if the file is used inside libintl.
91187         (local_wcslen): New function, for Solaris 2.5.1.
91188         (VASNPRINTF): Use it instead of wcslen.
91189
91190 2003-11-16  Bruno Haible  <bruno@clisp.org>
91191
91192         * lib/xsize.h (xmax): New function.
91193         (xsum, xsum3, xsum4): Declare as "pure" functions.
91194
91195 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91196
91197         * modules/xalloc (Files): Undo latest change, since xalloc.h
91198         no longer needs SIZE_MAX or PTRDIFF_MAX.
91199
91200 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91201
91202         * m4/xalloc.m4 (gl_PREREQ_XALLOC): Do not require gl_SIZE_MAX or
91203         gl_PTRDIFF_MAX.
91204
91205 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91206
91207         * lib/xstrtol.c (__xstrtol): Remove "break" immediately after
91208         "return", to pacify some unknown compiler.  Problem reported
91209         by Joerg Schilling.
91210
91211 2003-11-12  Paul Eggert  <eggert@twinsun.com>
91212
91213         * lib/xalloc.h: Do not include <limits.h> or <stdint.h>.
91214         (xalloc_oversized): Use sizeof (ptrdiff_t) and sizeof (size_t) for
91215         the heuristic, rather than PTRDIFF_MAX and SIZE_MAX.  This
91216         heuristic is just as accurate as far as we know, and it removes a
91217         dependency on size_max.m4 and ptrdiff_max.m4.
91218
91219 2003-11-11  Bruno Haible  <bruno@clisp.org>
91220
91221         * modules/xsize (Files): Add m4/size_max.m4.
91222         * modules/xalloc (Files): Add m4/size_max.m4, m4/ptrdiff_max.m4.
91223
91224 2003-11-11  Bruno Haible  <bruno@clisp.org>
91225
91226         * m4/size_max.m4: New file.
91227         * m4/ptrdiff_max.m4: New file.
91228         * m4/xsize,m4 (gl_XSIZE): Require gl_SIZE_MAX.
91229         * m4/xalloc.m4 (gl_PREREQ_XALLOC): New macro.
91230         (gl_XALLOC): Invoke it.
91231
91232 2003-11-11  Bruno Haible  <bruno@clisp.org>
91233
91234         * lib/xsize.h (SIZE_MAX): Remove fallback definition.
91235         * lib/xalloc.h: Include limits.h. Assume SIZE_MAX and PTRDIFF_MAX are
91236         defined.
91237
91238 2003-11-10  Paul Eggert  <eggert@twinsun.com>
91239
91240         * lib/xalloc.h (xalloc_oversized): [! (defined PTRDIFF_MAX &&
91241         PTRDIFF_MAX < SIZE_MAX)]: Fix off-by-one error that would have
91242         rejected some allocations of exactly SIZE_MAX - 2 bytes.
91243         From Bruno Haible.
91244         [defined PTRDIFF_MAX && PTRDIFF_MAX < SIZE_MAX]: Use SIZE_MAX,
91245         not (size_t) -1, since it's defined here.
91246
91247 2003-11-09  Karl Berry  <karl@gnu.org>
91248
91249         * config/mkinstalldirs, depcomp, mdate-sh: update from automake.
91250
91251 2003-11-06  Paul Eggert  <eggert@twinsun.com>
91252
91253         * lib/xalloc.h [HAVE_STDINT_H]: Include <stdint.h>.
91254         (xalloc_oversized) [! (PTRDIFF_MAX < SIZE_MAX)]:
91255         Reject sizes of exactly SIZE_MAX bytes.
91256         * lib/xreadlink.c: Include "xalloc.h" before checking whether SIZE_MAX
91257         is defined, since "xalloc.h" now defines SIZE_MAX on modern hosts.
91258
91259 2003-11-05  Bruno Haible  <bruno@clisp.org>
91260
91261         * lib/xsize.h: Include limits.h, to avoid a possible collision with
91262         SIZE_MAX defined in <limits.h> on Solaris.
91263
91264 2003-11-04  Jim Meyering  <jim@meyering.net>
91265
91266         * modules/sysexits: Use the `$(VAR)' notation for AC_SUBST'd
91267         variable names, rather than @VAR@.
91268         * modules/poll: Likewise.
91269
91270 2003-11-04  Bruno Haible  <bruno@clisp.org>
91271
91272         * modules/xsize: New file.
91273         * modules/linebreak: Depend on xsize.
91274         * MODULES.html.sh (func_all_modules): Add xsize.
91275
91276 2003-11-04  Bruno Haible  <bruno@clisp.org>
91277
91278         * m4/xsize.m4: New file.
91279
91280 2003-11-04  Bruno Haible  <bruno@clisp.org>
91281
91282         * lib/xsize.h: New file.
91283         * lib/linebreak.c: Include xsize.h.
91284         (mbs_possible_linebreaks, mbs_width_linebreaks): Check malloc()
91285         argument for overflow.
91286         Suggested by Paul Eggert.
91287
91288 2003-11-03  Karl Berry  <karl@gnu.org>
91289
91290         * config/config.{guess,sub}: update from config.
91291
91292 2003-11-03  Jim Meyering  <jim@meyering.net>
91293
91294         * modules/userspec (lib_SOURCES): Add userspec.h.
91295         (Include): Add "userspec.h".
91296         Improve description.
91297
91298 2003-11-03  Jim Meyering  <jim@meyering.net>
91299
91300         * lib/userspec.c: Include "userspec.h".
91301         * lib/userspec.h: New file.
91302
91303 2003-11-03  Bruno Haible  <bruno@clisp.org>
91304
91305         * m4/wait-process.m4 (gl_WAIT_PROCESS): Also check for waitid.
91306
91307 2003-11-03  Bruno Haible  <bruno@clisp.org>
91308
91309         * lib/wait-process.c (wait_process): Use waitid with WNOWAIT if
91310         available, to avoid (extremely rare) race condition.
91311         Suggested by Paul Eggert.
91312
91313 2003-11-02  Karl Berry  <karl@gnu.org>
91314
91315         * config/srclist.txt (vasprintf.c): sync broken, sigh.
91316
91317 2003-10-31  Paul Eggert  <eggert@twinsun.com>
91318
91319         * lib/mountlist.h (struct mount_entry.me_type_malloced): New member.
91320         * lib/mountlist.c (SIZE_MAX): Define if not defined already.
91321         (read_filesystem_list): Set and use me_type_malloced.
91322         Use "sizeof *me" rather than "sizeof (struct mount_entry)" (or
91323         whatever the type happens to be), for brevity and consistency.
91324         Check for size calculation overflow on Alphas running OSF/1.
91325
91326 2003-10-31  Jim Meyering  <jim@meyering.net>
91327
91328         * lib/hash.c: Include "xalloc.h" for use of xalloc_oversized.
91329
91330         * lib/linebuffer.c: Include <string.h> for declaration of memset.
91331
91332 2003-10-30  Paul Eggert  <eggert@twinsun.com>
91333             Bruno Haible  <bruno@clisp.org>
91334
91335         * lib/vasprintf.c: Include <limits.h>, <stdlib.h>.
91336         (vasprintf): Fail if the resulting length doesn't fit in an 'int'.
91337
91338 2003-10-30  Paul Eggert  <eggert@cs.ucla.edu>
91339
91340         * m4/host-os.m4 (UTILS_HOST_OS): Change netbsd*-gnu pattern back to
91341         netbsd*-gnu*.  Suggested by Robert Millan.
91342
91343 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91344
91345         * modules/group-member: Depend on stdbool.
91346
91347 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91348
91349         * m4/xalloc.m4 (gl_XALLOC): Undo previous change.
91350
91351 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91352
91353         * m4/host-os.m4 (UTILS_HOST_OS): Resurrect netbsd*-gnu.  Add comments
91354         to it, and to knetbsd*-gnu and kfreebsd*-gnu.  Remove the '*' from
91355         after the 'gnu' in these cases.  This fixes some bugs in the
91356         previous change, and is based on suggestions by Robert Millan.
91357
91358 2003-10-29  Paul Eggert  <eggert@twinsun.com>
91359
91360         * lib/xalloc.h (xalloc_oversized): Now a macro, not a function,
91361         so that it works even if SIZE_MAX < N.  Do not include <stdbool.h>;
91362         no longer needed.
91363         * lib/quotearg.c (quotearg_n_options): Use it.
91364         * lib/group-member.c: Include <stdbool.h>.
91365         (free_group_info): Arg is now const *; don't free arg.
91366         (get_group_info): Now returns bool and accepts struct group_info *,
91367         rather than returning a malloc'ed struct group_info *.
91368         All uses changed.  Check for overflow in internal size calculation.
91369
91370         * lib/getusershell.c (readname): Simplify the code by using x2nrealloc
91371         rather than xmalloc/xrealloc.
91372         * lib/linebuffer.c (initbuffer, readlinebuffer): Simplify the code by
91373         using x2realloc rather than xmalloc/xrealloc.  Also, fix a C
91374         conformance bug: the old code used a pointer after freeing the
91375         storage that it addressed.
91376         * lib/hash.c (hash_initialize): Simplify the code by using
91377         xalloc_oversized rather than doing it by hand.
91378         * lib/getgroups.c (getgroups): Don't use xrealloc, since we don't need
91379         the buffer preserved.  Use free and xmalloc instead.
91380         * lib/quotearg.c (quotearg_n_options): Likewise.
91381         Use a simpler test for size overflow.  Don't use xalloc_oversized
91382         because unsigned int might be wider than size_t (!); this suggests
91383         that we should switch from unsigned int to size_t for slot numbers.
91384
91385 2003-10-28  Paul Eggert  <eggert@twinsun.com>
91386
91387         * m4/host-os.m4 (UTILS_HOST_OS): Identify GNU/KFreeBSD and
91388         GNU/KNetBSD.  These implementations use glibc atop the FreeBSD and
91389         NetBSD kernels.  Requested by Richard Stallman.
91390
91391 2003-10-27  Paul Eggert  <eggert@twinsun.com>
91392
91393         * lib/exclude.c (new_exclude): Use xzalloc rather than xmalloc
91394         to allocate the returned structure.  Do not allocate a subarray,
91395         as x2nrealloc will do that.
91396         (add_exclude): Use x2nrealloc to reallocate ex->exclude,
91397         instead of xnrealloc.
91398         (add_exclude_file): Use x2realloc instead of malloc + xnrealloc.
91399
91400 2003-10-27  Bruno Haible  <bruno@clisp.org>
91401
91402         * lib/stdbool_.h: Better support for BeOS.
91403
91404 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91405
91406         * m4/xalloc.m4 (gl_XALLOC): Requore AC_C_INLINE, since xalloc.h
91407         now uses inline.
91408
91409 2003-10-26  Paul Eggert  <eggert@twinsun.com>
91410
91411         * lib/xalloc.h (xalloc_oversized): New static inline function, for
91412         callers that want to do their own size-overflow checking.  Include
91413         <stdbool.h>, since xalloc_oversized returns bool.
91414         * lib/xalloc.c (array_size_overflow): Remove.  All callers changed
91415         to use xalloc_oversized.
91416
91417         Add two functions x2realloc, x2nrealloc, for programs that grow
91418         arrays dynamically by doubling their sizes.
91419         * lib/xalloc.h (x2realloc, x2nrealloc): New decls.
91420         * lib/xmalloc.c (x2nrealloc_inline, x2nrealloc, x2realloc):
91421         New functions.
91422
91423         Port to C99 semantics for 'inline' of external functions.
91424         Bug reported by Bruno Haible.
91425         * lib/xmalloc.c (xnmalloc_inline): New static inline function,
91426         with the old contents of xnmalloc.
91427         (xnmalloc, xmalloc): Use it.
91428         (xnrealloc_inline): New static inline function,
91429         with the old contents of xnrealloc.
91430         (xnrealloc, xrealloc): Use it.
91431
91432         * lib/alloc.c (alloca): xmalloc cannot return NULL, so don't test for
91433         that.
91434
91435 2003-10-26  Karl Berry  <karl@gnu.org>
91436
91437         * config/srclist.txt (COPYING.DOC): no longer available from
91438         /gd/gnuorg; don't know where the ultimate source is.
91439
91440 2003-10-25  Paul Eggert  <eggert@twinsun.com>
91441
91442         Fix several address-calculation bugs in the hash modules,
91443         plus some minor code cleanup.
91444
91445         * lib/hash.h: Include <stdbool.h>, for bool.
91446         * lib/hash.c: Don't include <stdbool.h>, since hash.h does it now.
91447         * lib/hash.h (Hash_hasher, hash_get_n_buckets, hash_get_n_buckets_used,
91448         hash_get_n_entries, hash_get_max_bucket_length,
91449         hash_get_entries, hash_do_for_each, hash_string, hash_initialize,
91450         hash_rehash): Use size_t rather than unsigned.
91451         * lib/hash.c (struct hash_table, hash_get_n_buckets,
91452         hash_get_n_buckets_used, hash_get_n_entries,
91453         hash_get_max_bucket_length, hash_table_ok, hash_print_statistics,
91454         hash_get_entries, hash_do_for_each, hash_string, is_prime,
91455         next_prime, hash_initialize, hash_rehash, hash_delete, hash_print):
91456         Likewise.
91457         (SIZE_MAX): Define if not defined.
91458         (hash_get_max_bucket_length, hash_table_ok, hash_lookup,
91459         hash_get_first, hash_get_next, hash_get_entries, hash_do_for_each,
91460         hash_print):
91461         Use const * when possible.
91462         (hash_string): Use (unsigned char) *P rather than *(unsigned char *) P.
91463         (check_tuning): Fix bug: if tuning parameters were very close to
91464         0 or 1, rounding errors could have caused subscript violations.
91465         (hash_initialize, allocate_entry, hash_print): Remove unnecessary cast.
91466         (hash_initialize): Add 'fail:' label
91467         to free table and return NULL, and use it to simplify code.
91468         Use calloc rather than clearing the storage ourself.
91469         (hash_initialize, hash_rehash): Check for arithmetic overflow in
91470         buffer size calculations.
91471         * lib/hash-pjw.h (hash_pjw): Use size_t, not unsigned.
91472         Include <stddef.h>, for size_t.
91473         * lib/hash-pjw.c (hash_pjw): Likewise.
91474         Switch to method described by Bruno Haible.
91475         Include <limits.h>, for CHAR_BIT.
91476         (SIZE_BITS): New macro.
91477
91478 2003-10-23  Paul Eggert  <eggert@twinsun.com>
91479
91480         * m4/getline.m4 (AM_FUNC_GETLINE):
91481         Don't include getndelim2.o twice into LIBOBJS; this breaks on some
91482         hosts.  Problem reported by Derek Robert Price in
91483         <http://mail.gnu.org/archive/html/bug-gnulib/2003-10/msg00092.html>.
91484         This patch can be withdrawn after Autoconf 2.58 is required for gnulib.
91485         * m4/getndelim2.m4 (gl_GETNDELIM2): Likewise.
91486
91487 2003-10-21  Paul Eggert  <eggert@twinsun.com>
91488
91489         * lib/getndelim2.c (getndelim2): When size calculation overflows,
91490         ceiling the allocation at NMAX bytes rather than silently
91491         discarding input bytes before NMAX is reached.  This makes
91492         a difference only if NMAX exceeds SIZE_MAX / 2.
91493
91494         * lib/obstack.c: Merge from glibc.
91495         [defined _LIBC]: Include <obstack.h>, not "obstack.h".
91496         Add libc_hidden_def (_obstack_newchunk).
91497         (_obstack_free) [! defined _LIBC]: Remove.
91498         [defined _LIBC]: Make a strong alias from obstack_free, rather than
91499         a clone of the function body.
91500         (fputs) [defined _LIBC && defined USE_IN_LIBIO]: Remove.
91501         [defined _LIBC && !defined USE_IN_LIBIO]: Include <libio/iolibio.h>.
91502
91503         * lib/obstack.h: Indenting cleanup, to make it easier to merge with
91504         glibc.
91505         (obstack_grow, obstack_grow0): Remove unnecessary parentheses around
91506         arg to memcpy.
91507
91508         * lib/obstack.h (obstack_1grow_fast): Properly parenthesize arg.
91509         (obstack_ptr_grow_fast, obstack_int_grow_fast):
91510         Don't use lvalue casts, as GCC plans to remove support for them
91511         in GCC 3.5.  Reported by Joseph S. Myers.  This bug
91512         was also present in the non-GCC version, indicating that this
91513         code had always been buggy and had never been widely used.
91514         (obstack_1grow, obstack_ptr_grow, obstack_int_grow, obstack_blank):
91515         Use the fast variant of each macro, rather than copying the
91516         definiens of the fast variant; that way, we'll be more likely to
91517         catch future bugs in the fast variants.
91518
91519 2003-10-20  Bruno Haible  <bruno@clisp.org>
91520
91521         * modules/wait-process: New file.
91522         * MODULES.html.sh (func_all_modules): Add wait-process.
91523
91524 2003-10-20  Bruno Haible  <bruno@clisp.org>
91525
91526         * m4/wait-process.m4: New file.
91527
91528 2003-10-20  Bruno Haible  <bruno@clisp.org>
91529
91530         * lib/wait-process.h: New file, from GNU gettext.
91531         * lib/wait-process.c: New file, from GNU gettext.
91532
91533 2003-10-19  Jim Meyering  <jim@meyering.net>
91534
91535         * lib/vasnprintf.c (vasnprintf): Work around losing snprintf on
91536         HPUX 10.20.
91537
91538 2003-10-18  Karl Berry  <karl@gnu.org>
91539
91540         * config/config.guess: update from config.
91541
91542 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91543
91544         * lib/getgroups.c: Include <errno.h>, <stdlib.h>.
91545         (getgroups): First arg is int, not size_t.
91546         Don't let 'free' mangle errno.
91547
91548 2003-10-16  Paul Eggert  <eggert@twinsun.com>
91549
91550         * README: Mention that gnulib assumes that (foo *) NULL + 0 == NULL.
91551
91552 2003-10-16  Karl Berry  <karl@gnu.org>
91553
91554         * config/config.{guess,sub}: update from config.
91555
91556 2003-10-16  Jim Meyering  <jim@meyering.net>
91557
91558         * lib/xmalloc.c: Include <string.h>, for declarations of memset and
91559         memcpy.
91560
91561 2003-10-15  Paul Eggert  <eggert@twinsun.com>
91562
91563         * lib/exclude.c: Do not include <inttypes.h> or <stdint.h>.
91564         (SIZE_MAX): Remove.
91565         (new_exclude, add_exclude_file): Initial size no longer needs to
91566         be a power of 2.
91567         (add_exclude, add_exclude_file): Use xnrealloc instead of rolling
91568         our own address arithmetic overflow checking.
91569
91570         * lib/fnmatch.c (SIZE_MAX): Define if standard headers don't.
91571         (fnmatch): Do not alloca more than 2000 wide characters;
91572         instead, use malloc for large buffers.
91573         Check for address arithmetic overflow, and return -1
91574         with errno set to ENOMEM in that case.
91575         * lib/fnmatch_loop.c (ALLOCA_LIMIT): New macro.
91576         (NEW_PATTERN): Do not alloca more than 8000 bytes;
91577         instead, return -1.  Check for address arithmetic overflow.
91578
91579 2003-10-14  Paul Eggert  <eggert@twinsun.com>
91580
91581         Handle invalid suffixes and overflow independently, so that
91582         callers can treat them independently as needed.  Fix some bugs in
91583         suffix handling, e.g., "100k@" was not diagnosed as an invalid
91584         suffix for a human-readable blocksize.  The major caller-visible
91585         change is the addition of a new
91586         LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW enum value, indicating
91587         that both overflow and suffix chars were found.
91588
91589         * lib/human.c (humblock): Don't check separately for invalid suffix
91590         char; that is xstrtoumax's job (now that its bug is fixed).
91591         * lib/xstrtoimax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM) [defined
91592         INTMAX_MAX]: New macros.
91593         * lib/xstrtol.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM, TYPE_MINIMUM,
91594         TYPE_MAXIMUM): New macros.
91595         (bkm_scale, bkm_scale_by_power): Return strtol_error, not int.
91596         (bkm_scale, bkm_scale_by_power, __xstrtol): Return maximal values
91597         if overflow occurs, as it's what __strtol does and it's more useful
91598         in practice.
91599         (__xstrtol): If __strtol reports some error other than ERANGE,
91600         reflect it to the caller as LONGINT_INVALID.  If it reports
91601         ERANGE, continue the rest of parsing, and report LONGINT_OVERFLOW
91602         | LONGINT_INVALID_SUFFIX_CHAR if both errors occur.
91603         * lib/xstrtol.h (LONGINT_INVALID_SUFFIX_CHAR_WITH_OVERFLOW): New enum
91604         value.
91605         (_STRTOL_ERROR): Handle it.  Abort when given unknown error codes.
91606         * lib/xstrtoul.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM): New macros.
91607         * lib/xstrtoumax.c (STRTOL_T_MINIMUM, STRTOL_T_MAXIMUM)
91608         [defined UINTMAX_MAX]: New macros.
91609
91610 2003-10-14  Bruno Haible  <bruno@clisp.org>
91611
91612         * modules/fatal-signal: Add m4/sig_atomic_t.m4 to file list.
91613
91614 2003-10-14  Bruno Haible  <bruno@clisp.org>
91615
91616         * m4/sig_atomic_t: New file, from GNU gettext.
91617         * m4/fatal-signal.m4 (gl_FATAL_SIGNAL): Require gt_TYPE_SIG_ATOMIC_T.
91618
91619 2003-10-14  Bruno Haible  <bruno@clisp.org>
91620
91621         * lib/fatal-signal.h: Improved comments. Suggested by Paul Eggert.
91622         * lib/fatal-signal.c: Use sig_atomic_t. Suggested by Paul Eggert.
91623         Also use volatile where needed.
91624
91625 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91626
91627         * modules/xalloc: Do not depend on 'exit'.  Depend on 'stdbool'.
91628         Change maintainer from Bruno Haible to 'all'.
91629
91630 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91631
91632         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Require AC_C_INLINE.
91633
91634 2003-10-12  Paul Eggert  <eggert@twinsun.com>
91635
91636         * lib/xalloc.h (xnmalloc, xzalloc, xnrealloc, xclone): New decls.
91637         (XMALLOC, XCALLOC, XREALLOC, XFREE, CCLONE, CLONE): Deprecate,
91638         and define in terms of the other primitives.
91639         * lib/xmalloc.c: Include stdbool.h; do not include exit.h.
91640         (SIZE_MAX): Define if not already defined.
91641         (array_size_overflow): New function.
91642         (xalloc_die): Abort instead of exiting if 'error' returns.
91643         (xnmalloc, xnrealloc, xzalloc, xclone): New functions.
91644         (xmalloc, xrealloc): Use them.
91645         (xcalloc): Check for address arithmetic overflow.
91646         * lib/xstrdup.c (xstrdup): Use xclone, since memcpy should be
91647         a bit faster than strcpy.
91648
91649 2003-10-10  Simon Josefsson  <jas@extundo.com>
91650
91651         * modules/argp (Depends-on): Add restrict and strcase.
91652
91653 2003-10-10  Simon Josefsson  <jas@extundo.com>
91654
91655         * m4/argp.m4: Add AC_C_INLINE.
91656
91657 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91658
91659         Merge getpass from libc, plus a few fixes.
91660
91661         * lib/getpass.c (HAVE_STDIO_EXT) [_LIBC]: Define to 1.
91662         Include <stdbool.h>.
91663         Include <stdio_ext.h> if HAVE_STDIO_H, otherwise define
91664         __fsetlocking to empty.
91665         [_LIBC]: Do not include "getline.h" or "unlocked-io.h", but
91666         do include <bits/libc-lock.h>.
91667         Do not include <fcntl.h>; not needed.
91668         [_LIBC]: Include <wchar.h>.
91669         (NOTCANCEL_MODE): New macro.
91670         (flockfile, funlockfile) [_LIBC]: New macros.
91671         (__libc_cleanup_push, __libc_cleanup_pop, __getline, __tcgetattr)
91672         [!_LIBC]: New macros.
91673         (call_fclose): New function.
91674         (getpass): Use it.  Save tty stream separately; this simplifies the
91675         code and makes it more reliable if stdin happens to equal stdout.
91676         Invoke __fsetlocking on tty.
91677         Handle thread cancellation if needed.
91678         Namespace cleanup (use __tcgetattr, __getline).
91679         Use bool for Booleans.
91680         [USE_IN_LIBIO]: Handle wide streams.
91681         [!_LIBC]: Unconditionally do the fseek, since we don't know what
91682         stream might go where.
91683
91684         * lib/unlocked-io.h: Include <stdio.h>, so that the caller
91685         doesn't have to include <stdio.h> before us.
91686         (clearerr_unlocked, feof_unlocked, ferror_unlocked,
91687         fflush_unlocked, fgets_unlocked, fputc_unlocked, fputs_unlocked,
91688         fread_unlocked, fwrite_unlocked, getc_unlocked, getchar_unlocked,
91689         putc_unlocked, putchar_unlocked): Define to the unlocked counterpart
91690         if not declared, so that we can use getpass.c code from libc without
91691         rewriting it.
91692         (flockfile, ftrylockfile, funlockfile): New macros.
91693
91694 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91695
91696         * modules/getpass: Depend on stdbool.
91697
91698 2003-10-08  Paul Eggert  <eggert@twinsun.com>
91699
91700         * m4/getpass.m4 (gl_PREREQ_GETPASS): Check for stdio_ext.h.
91701
91702 2003-10-07  Karl Berry  <karl@gnu.org>
91703
91704         * config/config.{guess,sub}: update from config.
91705
91706 2003-10-06  Jim Meyering  <jim@meyering.net>
91707             Bruno Haible  <bruno@clisp.org>
91708
91709         This lets translators provide better translations for the
91710         "Written by ..." part of --version output.
91711         * lib/version-etc.h: Include stdarg.h.
91712         (version_etc_copyright): Declare as readonly.
91713         (version_etc): Make this function variadic with a NULL-terminated list
91714         of author name strings.
91715         (version_etc_va): New declaration.
91716         * lib/version-etc.c: Include stdarg.h, stdlib.h.
91717         (version_etc_copyright): Declare as readonly.
91718         (version_etc_va): New function. Provide a different translatable string
91719         for each possible number of authors < 10. Abbreviate when there are 10
91720         authors or more.
91721         (version_etc): Make this function variadic. Call version_etc_va.
91722         Suggestion from Gary V. Vaughan.
91723
91724         * lib/long-options.h (parse_long_options): Change prototype: the
91725         authors string is moved to the end and becomes variadic.
91726         * lib/long-options.c: Include stdarg.h.
91727         (parse_long_options): Make this function variadic, too.
91728         Call version_etc_va, not version_etc.
91729
91730 2003-10-06  Bruno Haible  <bruno@clisp.org>
91731
91732         * modules/version-etc-2: Remove file.
91733         * MODULES.html.sh (func_all_modules): Remove version-etc-2.
91734
91735 2003-10-06  Bruno Haible  <bruno@clisp.org>
91736
91737         * modules/fatal-signal: New file.
91738         * MODULES.html.sh (func_all_modules): Add fatal-signal.
91739
91740 2003-10-06  Bruno Haible  <bruno@clisp.org>
91741
91742         * m4/fatal-signal.m4: New file.
91743         * m4/signalblocking.m4: New file, from GNU gettext.
91744
91745 2003-10-06  Bruno Haible  <bruno@clisp.org>
91746
91747         * lib/version-etc-2.h: Remove file.
91748         * lib/version-etc-2.c: Remove file.
91749
91750 2003-10-06  Bruno Haible  <bruno@clisp.org>
91751
91752         * lib/fatal-signal.h: New file, from GNU gettext.
91753         * lib/fatal-signal.c: New file, from GNU gettext.
91754
91755 2003-10-05  Paul Eggert  <eggert@twinsun.com>
91756
91757         * README: Rework advice for preventing empty .o files.
91758         Don't recommend ELIDE constructs.  Recommend <stddef.h>,
91759         not <sys/types.h>.
91760
91761 2003-10-04  Karl Berry  <karl@gnu.org>
91762
91763         * lib/argp*: update from libc.
91764
91765 2003-10-04  Karl Berry  <karl@gnu.org>
91766
91767         * config/config.{guess,sub}: update from config.
91768
91769 2003-10-02  Bruno Haible  <bruno@clisp.org>
91770
91771         * modules/lchown (Include): Add lchown.h.
91772         * modules/time_r (Include): Use "..." syntax.
91773         * modules/xgetdomainname (Include): Add xgetdomainname.h.
91774
91775 2003-10-01  Simon Josefsson  <jas@extundo.com>
91776
91777         * MODULES.html.sh (func_all_modules): Move gethostname from section
91778         'based on' to section 'lacking' POSIX:2001.
91779
91780 2003-10-01  Larry Jones  <lawrence.jones@eds.com>
91781
91782         * lib/getpass.c (getpass): Use a no-op fseek when switching from input
91783         to output mode on the same stream.
91784
91785 2003-09-29  Paul Eggert  <eggert@twinsun.com>
91786
91787         * lib/strftime.c (tm_diff) [! HAVE_TM_GMTOFF]:
91788         Fix arg typo in previous patch.
91789
91790 2003-09-28  Jim Meyering  <jim@meyering.net>
91791
91792         * lib/error.c: Correct cpp indentation.
91793
91794 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91795
91796         * modules/free: New file.
91797
91798 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91799
91800         * m4/free.m4: New file.
91801
91802 2003-09-27  Paul Eggert  <eggert@twinsun.com>
91803
91804         * lib/minmax.h (MIN, MAX)
91805         [__STDC__ && defined __GNUC__ && __GNUC__ >= 2]:
91806         Omit the special code that used __typeof__, since we worry that
91807         it could be more trouble than it's worth.  See:
91808         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00090.html
91809         http://mail.gnu.org/archive/html/bug-gnulib/2003-01/msg00095.html
91810
91811         * lib/free.c: New file.
91812
91813 2003-09-27  Oskar Liljeblad  <oskar@osk.mine.nu>
91814
91815         Trivial fixes to Makefile.am parts of module listings.
91816         * modules/strstr: Append strstr.h to lib_SOURCES.
91817         * modules/strcase: Likewise, for strcase.h.
91818
91819 2003-09-27  Karl Berry  <karl@gnu.org>
91820
91821         * config/mkinstalldirs: update from automake.
91822
91823 2003-09-26  Paul Eggert  <eggert@twinsun.com>
91824
91825         * lib/error.c (SIZE_MAX) [!defined SIZE_MAX]: Define.
91826         (error_tail): Do not loop, reallocating temporary buffer, since
91827         the output cannot contain more wide characters than the input
91828         contains bytes, the size must be big enough already.  This avoids
91829         one potential size overflow calculation.  Check for size overflow
91830         when calculating temporary buffer size.  Free temporary buffer
91831         when done, if it was allocated with malloc; this plugs a memory
91832         leak.  Remove casts from void * to pointers, that are no longer
91833         needed now that we're assuming C89 or better.
91834
91835         Merge error changes from glibc.
91836
91837         * lib/error.c, error.h: Update copyright notice header to match glibc.
91838         * lib/error.c [defined _LIBC]: Include <errno.h>, <bits/libc-lock.h>.
91839         (error, error_at_line) [defined _LIBC && defined __libc_ptf_call]:
91840         Disable cancellation while printing error.
91841         * lib/error.h: Prepend __ to parameter names.
91842
91843 2003-09-26  Jim Meyering  <jim@meyering.net>
91844
91845         * lib/error.c (error_tail): Move some declarations
91846         into inner scope where the local variables are used.
91847
91848 2003-09-26  Bruno Haible  <bruno@clisp.org>
91849
91850         * m4/stpncpy.m4 (gl_FUNC_STPNCPY): Add comments about the AIX
91851         stpncpy().
91852         Don't define stpncpy through config.h; it's now done through stpncpy.h.
91853
91854 2003-09-26  Bruno Haible  <bruno@clisp.org>
91855
91856         * lib/stpncpy.h (gnu_stpncpy): New declaration.
91857         (stpncpy): Define as alias for gnu_stpncpy.
91858         * lib/stpncpy.c [!_LIBC]: Define gnu_stpncpy, not stpncpy.
91859
91860 2003-09-25  Simon Josefsson  <jas@extundo.com>
91861
91862         * lib/xgetdomainname.h: New file.
91863         * lib/xgetdomainname.c: New file.
91864
91865 2003-09-25  Simon Josefsson  <jas@extundo.com>
91866             Bruno Haible  <bruno@clisp.org>
91867
91868         * modules/getdomainname: New file.
91869         * modules/xgetdomainname: New file.
91870         * MODULES.html.sh (func_all_modules): Add getdomainname,
91871         xgetdomainname.
91872
91873 2003-09-25  Simon Josefsson  <jas@extundo.com>
91874             Bruno Haible  <bruno@clisp.org>
91875
91876         * m4/getdomainname.m4: New file.
91877
91878 2003-09-25  Simon Josefsson  <jas@extundo.com>
91879             Bruno Haible  <bruno@clisp.org>
91880
91881         * lib/getdomainname.h: New file.
91882         * lib/getdomainname.c: New file.
91883
91884 2003-09-25  Karl Berry  <karl@gnu.org>
91885
91886         * lib/argp-fmtstream.c, argp-help.c: update from libc.
91887
91888 2003-09-25  Karl Berry  <karl@gnu.org>
91889
91890         * config/install-sh: update from automake.
91891
91892 2003-09-25  Bruno Haible  <bruno@clisp.org>
91893
91894         * modules/version-etc-2: New file, from modules/version-etc with
91895         modifications.
91896         * MODULES.html.sh (func_all_modules): Add version-etc-2.
91897
91898 2003-09-25  Bruno Haible  <bruno@clisp.org>
91899
91900         * lib/version-etc-2.h: New file, from version-etc.h with modifications.
91901         * lib/version-etc-2.c: New file, from version-etc.c with modifications.
91902
91903 2003-09-24  Simon Josefsson  <jas@extundo.com>
91904
91905         * modules/xgethostname: Add xgethostname.h.
91906
91907 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91908
91909         * lib/linebuffer.c (freebuffer): Don't free the argument, just
91910         the buffer associated with the argument.  Bug reported by
91911         Simon Josefsson.
91912
91913 2003-09-24  Paul Eggert  <eggert@twinsun.com>
91914
91915         * README: Document assumptions that 'int' is at least 32 bits
91916         wide, that integer arithmetic is 2's complement without overflow,
91917         that there are no holes in integer values, that adding sizes of
91918         two nonoverlapping objects can't overflow, and that all-bits-zero
91919         yields scalar zero.  Fix spelling and capitalization typos.
91920
91921 2003-09-19  Karl Berry  <karl@gnu.org>
91922
91923         * lib/argp.h: update from libc.
91924
91925 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91926
91927         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Call AC_BEFORE first,
91928         to avoid spurious warnings like "AC_RUN_IFELSE was called before
91929         gl_USE_SYSTEM_EXTENSIONS" from autoreconf.
91930
91931 2003-09-17  Paul Eggert  <eggert@twinsun.com>
91932
91933         * gnulib-tool: Use "test -h", not "test -L", for portability
91934         to Solaris 8 /bin/sh.  (This bug is fixed in Solaris 9.)
91935         (tags_regexp): Remove, since \| doesn't conform to POSIX.
91936         (sed_extract_prog): Issue s commands one-by-one, rather than
91937         using \| in one s command.
91938
91939 2003-09-16  Paul Eggert  <eggert@twinsun.com>
91940
91941         * lib/linebuffer.c (readlinebuffer): Return NULL immediately upon
91942         input error, instead of returning NULL the next time we are called
91943         (and therefore losing track of errno).
91944
91945 2003-09-16  Bruno Haible  <bruno@clisp.org>
91946
91947         * gnulib-tool (func_create_testdir): Warn about duplicated
91948         dependencies.
91949
91950 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91951
91952         * modules/argmatch, modules/fatal, modules/obstack,
91953         modules/xalloc, modules/xgethostname: Sort dependencies by
91954         importance, not alphabetically.
91955
91956 2003-09-15  Paul Eggert  <eggert@twinsun.com>
91957
91958         * lib/getndelim2.c (getndelim2): Don't trash errno when a read
91959         fails, so that the caller gets the proper errno.
91960
91961         * lib/readutmp.c (read_utmp): Likewise.
91962         Check for fstat error.  Close stream and free storage
91963         when failing.
91964
91965 2003-09-14  Karl Berry  <karl@gnu.org>
91966
91967         * config/srclist.txt (strdup.c): disable for c89 changes.
91968
91969 2003-09-14  Jim Meyering  <jim@meyering.net>
91970
91971         * lib/getloadavg.c: Correct cpp indentation.
91972         * lib/strdup.c: Likewise.
91973         * lib/vasnprintf.c: Likewise.
91974
91975 2003-09-14  Bruno Haible  <bruno@clisp.org>
91976
91977         * modules/fwriteerror: New file.
91978         * MODULES.html.sh (func_all_modules): Add fwriteerror.
91979
91980 2003-09-14  Bruno Haible  <bruno@clisp.org>
91981
91982         * lib/fwriteerror.h: New file.
91983         * lib/fwriteerror.c: New file.
91984
91985 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91986
91987         * modules/argmatch, modules/exitfail, modules/fatal, modules/obstack,
91988         modules/xgethostname, modules/xalloc: Depend on exit.
91989
91990 2003-09-12  Paul Eggert  <eggert@twinsun.com>
91991
91992         * m4/error.m4: Require AC_FUNC_STRERROR_R rather than invoking it.
91993
91994         * m4/extensions.m4 (gl_USE_SYSTEM_EXTENSIONS): Require AC_AIX
91995         and AC_MINIX, too, so that their extensions are available.
91996
91997         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Remove.  All uses removed.
91998         This macro has been superseded by gl_BACKUPFILE.
91999
92000         More patches to assume C89 or better.
92001
92002         * m4/error.m4 (gl_ERROR): Don't check for vprintf.
92003
92004         * m4/check-decl.m4 (jm_CHECK_DECLS): Include <string.h>, <stdlib.h>
92005         unconditionally.
92006         * m4/closeout.m4 (gl_CLOSEOUT): Don't check for stdlib.h.
92007         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER):
92008         Include <string.h>, <stdlib.h> unconditionally.
92009         * m4/lstat.m4 (gl_PREREQ_LSTAT): Don't check for stdlib.h, free.
92010         * m4/readdir.m4 (GL_FUNC_READDIR): Don't check for string.h.
92011         * m4/readutmp.m4 (gl_PREREQ_READUTMP): Don't check for standard C
92012         headers or for string.h.
92013         * m4/strtoumax.m4 (gl_PREREQ_STRTOUMAX): Don't check for stdlib.h
92014         or strtoul.
92015
92016         * m4/mkstemp.m4 (jm_PREREQ_TEMPNAME): Do not require standard C
92017         headers.
92018         * m4/strdup.m4 (gl_PREREQ_STRDUP): Likewise.
92019         * m4/userspec.m4 (gl_USERSPEC): Likewise.
92020         * m4/xalloc.m4 (gl_PREREQ_XMALLOC): Likewise.
92021         * m4/xstrtod.m4 (gl_XSTRTOD): Likewise.
92022         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
92023         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't check for limits.h,
92024         memcpy, memset.
92025         (jm_FUNC_GNU_STRFTIME): Don't require standard C headers.
92026         * m4/strtod.m4 (gl_FUNC_STRTOD): Do not check for float.h.
92027         * m4/strtoimax.m4 (gl_PREREQ_STRTOIMAX): Do not check for stdlib.h,
92028         strtol.
92029         * m4/strtol.m4 (gl_FUNC_STRTOL): Do not check for limits.h.
92030         * m4/userspec.m4 (gl_USERSPEC): Do not check for string.h.
92031         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Do not check for string.h, strtol,
92032         strtoul.
92033
92034 2003-09-12  Paul Eggert  <eggert@twinsun.com>
92035
92036         * lib/argmatch.c, fatal.c, xgethostname.c, xmalloc.c: Include exit.h.
92037         * lib/obstack.c [!defined _LIBC]: Likewise.
92038         * lib/argmatch.c (EXIT_FAILURE): Remove; now done by exit.h
92039         * lib/exitfail.c, fatal.c, xgethostname.c, xmalloc.c: Likewise.
92040         * lib/exitfail.c: Don't include stdlib.h; no longer needed.
92041
92042         More changes to assume C89 or better.
92043
92044         * lib/error.c (error_tail): Assume vprintf.
92045
92046         * lib/argmatch.c (getenv): Remove decl.
92047         * lib/progreloc.c (get_full_program_name): Define via prototype.
92048         * lib/setenv.c (clearenv): Likewise.
92049         * lib/stpncpy.c: Do not include <string.h> or <sys/types.h>; not
92050         needed.
92051         * lib/strdup.c: Include <stdlib.h>, <string.h> unconditionally.
92052         (malloc, memcpy): Remove decls.
92053         * lib/strftime.c (HAVE_LIMITS_H, STDC_HEADERS) [defined _LIBC]: Remove.
92054         (HAVE_MEMCPY) [defined emacs && !defined HAVE_BCOPY]: Remove.
92055         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
92056         (memcpy): Remove macro.
92057         (MEMCPY) [!defined COMPILE_WIDE]: Define to memcpy unconditionally.
92058         (__P): Remove.  All uses removed.
92059         (PTR): Remove.  All uses changed to void *.
92060         (CHAR_BIT, NULL): Remove.
92061         (spaces, zeros, memset_space, memset_zero)
92062         [!defined memset && !defined HAVE_MEMSET && !defined _LIBC]:
92063         Remove.
92064         (LOCALE_PARAM, LOCALE_PARAM_DECL): Remove.
92065         (memcpy_lowcase, memcpy_uppcase, tm_diff, iso_week_days):
92066         Define with prototype.
92067         Remove now-unnecessary prototype decl.
92068         (extra_args_spec): Assume ANSI C.  All uses changed.
92069         (extra_args_spec_iso): Remove.
92070         (my_strftime, emacs_strftimeu): Define via prototype.
92071         * lib/strtod.c: Include <float.h>, <stdlib.h>, <string.h>
92072         unconditionally.
92073         (DBL_MAX, DBL_MIN, HUGE_VAL, NULL): Remove decls.
92074         * lib/strtoimax.c: Include <stdlib.h> unconditionally.
92075         (strtoul, strtol): Remove decls.
92076         * lib/strtol.c (STDC_HEADERS, HAVE_LIMITS_H, NULL, ULONG_MAX,
92077         LONG_MAX): Remove.
92078         Include <limits.h>, <stddef.h>, <stdlib.h>, <string.h> unconditionally.
92079         (LOCALE_PARAM_DECL): Remove.  All uses changed to LOCALE_PARAM_PROTO.
92080         (LOCALE_PARAM_PROTO): New macro.
92081         (INTERNAL, INTERNAL1, WEAKNAME): Assume ANSI C, not K&R.
92082         (INTERNAL (strtol), strtol): Define with a prototype.
92083         (PARAMS): Remove.  All uses removed.
92084         * lib/tempname.c: Include <string.h> unconditionally.
92085         * lib/userspec.c: Include <stdlib.h>, <string.h> unconditionally.
92086         * lib/xgethostname.c (main): Define with a prototype.
92087         * lib/xmalloc.c: Include "xalloc.h" first, to check interface.
92088         Include <stdlib.h> unconditionally.
92089         (calloc, malloc, realloc, free): Remove decls.
92090         * lib/xstrtod.c: Include "xstrtod.h" first, to check interface.
92091         Include <stdlib.h> unconditionally.  Sort include file names.
92092         (strtod): Remove.
92093         (xstrtod): Define with a prototype.
92094         * lib/xstrtol.c: Include <stdlib.h>, <string.h> unconditionally.
92095         (strtol, strtoul): Remove decls.
92096
92097 2003-09-11  Paul Eggert  <eggert@twinsun.com>
92098
92099         More patches to assume C89 or better.
92100         * m4/strndup.m4 (gl_PREREQ_STRNDUP): Remove STDC_HEADERS check.
92101         * m4/strnlen.m4 (gl_PREREQ_STRNLEN): Don't check for memory.h,
92102         string.h, memchr, STDC_HEADERS.
92103
92104 2003-09-11  Paul Eggert  <eggert@twinsun.com>
92105
92106         * lib/strndup.c: Don't include <stdio.h>, <sys/types.h>.
92107         Include <stdlib.h>, <string.h> unconditionally.
92108         Remove now-unnecessary cast to char *.
92109         * lib/strnlen.c: Include <string.h> unconditionally.
92110         * lib/yesno.c (yesno): Define with a prototype.
92111
92112 2003-09-11  Bruno Haible  <bruno@clisp.org>
92113
92114         * config/srclist.txt (setenv.c, unsetenv.c): Disable for the moment.
92115
92116 2003-09-10  Jim Meyering  <jim@meyering.net>
92117
92118         * lib/error.c: Correct indentation of cpp directives.
92119
92120 2003-09-10  Bruno Haible  <bruno@clisp.org>
92121
92122         * m4/strcspn.m4 (gl_PREREQ_STRCSPN): Remove <string.h> check.
92123         * m4/strpbrk.m4 (gl_PREREQ_STRPBRK): Remove <string.h> check.
92124         * m4/strstr.m4 (gl_PREREQ_STRSTR): Remove <string.h> check.
92125         * m4/unicodeio.m4 (gl_UNICODEIO): Remove <string.h> check.
92126         * m4/setenv.m4 (gl_PREREQ_SETENV, gl_PREREQ_UNSETENV): Remove
92127         <stdlib.h> and <string.h> checks.
92128         * m4/xreadlink.m4 (gl_XREADLINK): Remove <stdlib.h> check.
92129         * m4/yesno.m4 (gl_YESNO): Remove <stdlib.h> check.
92130
92131 2003-09-10  Bruno Haible  <bruno@clisp.org>
92132
92133         * lib/strcspn.c: Include <string.h> unconditionally.
92134         * lib/strpbrk.c: Include <string.h> unconditionally.
92135         * lib/strstr.c: Include <string.h> unconditionally.
92136         * lib/unicodeio.c: Include <string.h> unconditionally.
92137         * lib/setenv.c: Include <stdlib.h> and <string.h> unconditionally.
92138         * lib/unsetenv.c: Likewise.
92139         * lib/xreadlink.c: Include <stdlib.h> unconditionally.
92140         * lib/yesno.c: Include <stdlib.h> unconditionally.
92141         (rpmatch): Add prototype.
92142
92143 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92144
92145         More patches to assume C89 or better.
92146         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Don't check for stdlib.h.
92147         * m4/getopt.m4 (gl_GETOPT): Don't check for string.h.
92148         * m4/getugroups.m4 (gl_GETUGROUPS): Do not check for standard C headers
92149         or for string.h.
92150         * m4/getusershell.m4 (gl_PREREQ_GETUSERSHELL): Do not check for
92151         stdlib.h.
92152         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): Do not require standard
92153         C headers.
92154         * m4/hard-locale.m4 (gl_HARD_LOCALE): Do not check for stdlib.h,
92155         string.h.
92156         * m4/hash.m4 (gl_HASH): Do not check for stdlib.h, malloc, free.
92157         * m4/human.m4 (gl_HUMAN): Do not check for stdlib.h, string.h, getenv.
92158         * m4/idcache.m4 (gl_IDCACHE): Do not check for standard C headers,
92159         or for string.h.
92160         * m4/long-options.m4 (gl_LONG_OPTIONS): Do not check for stdlib.h.
92161         * m4/makepath.m4 (gl_MAKEPATH): Do not check for string.h or standard
92162         C headers.
92163         * m4/md5.m4 (gl_MD5): Don't check for limits.h, standard C headers,
92164         memcpy.
92165         * m4/sha.m4 (gl_SHA): Don't check for standard Cheaders, memcpy.
92166         * m4/memchr.m4 (jm_PREREQ_MEMCHR): Don't check for limits.h, stdlib.h.
92167         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): Don't check for string.h.
92168         * m4/memcoll.m4 (gl_MEMCOLL): Likewise.
92169         * m4/memrchr.c (gl_PREREQ_MEMRCHR): Don't check for limits.h.
92170         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): Don't check for stdlib.h,
92171         string.h, free.
92172         * m4/mktime.m4 (gl_PREREQ_MKTIME): Don't check for standard C headers.
92173         * m4/modechange.m4 (gl_MODECHANGE): Don't check for standard C headers.
92174         * m4/mountlist.m4 (gl_PREREQ_MOUNTLIST_EXTRA): Don't check for standard
92175         C headers, or for string.h.
92176         * m4/obstack.m4 (gl_OBSTACK): Don't check for stddefe.h, string.h.
92177         (gl_PREREQ_OBSTACK): Don't check for stdlib.h.
92178         * m4/path-concat.m4 (gl_PATH_CONCAT): Don't check for standard C
92179         headers, memory.h, stdlib.h, string.h, strings.h.
92180         * m4/posixtm.m4 (gl_POSIXTM): Don't check for stdlib.h, string.h.
92181         * m4/posixver.m4 (gl_POSIXVER): Don't check for getenv.
92182         * m4/putenv.m4 (gl_PREREQ_PUTENV): Don't check for string.h, memcpy,
92183         strchr.
92184         * m4/readtokens.m4 (gl_READTOKENS): Don't check for standard C
92185         headers, memory.h, string.h.
92186         * m4/regex.m4 (jm_PREREQ_REGEX): Do not check for limits.h, string.h.
92187         * m4/rename.m4 (gl_PREREQ_RENAME): Do not check for stdlib.h, string.h,
92188         free.
92189         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Don't check for standard C
92190         headers.
92191         * m4/same.m4 (gl_SAME): Don't check for stdlib.h, string.h, free.
92192         * m4/save-cwd.m4 (gl_SAVE_CWD): Don't check for standard C headers.
92193         * m4/savedir.m4 (gl_SAVEDIR): Don't check for standard C headers.
92194         * m4/strchrnul.m4 (gl_PREREQ_STRCHRNUL): Don't check for string.h.
92195         * m4/xgetcwd.m4 (gl_XGETCWD): Don't check for stdlib.h.
92196
92197 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92198
92199         More K&R removal.
92200
92201         * lib/acosl.c (main): Use a prototype.
92202         * lib/asinl.c, cosl.c, expl.c, frexpl.c, ldexpl.c, sinl.c,
92203         tanl.c: Likewise.
92204
92205         * lib/getloadavg.c (getloadavg, main): Define via prototypes.
92206
92207         * lib/getopt.h (struct option.name): Assume C89, and use 'const'.
92208         (getopt, etopt_long, getopt_long_only, _getopt_internal)
92209         [defined __GNU_LIBRARY__]: Assume C89, so we can always declare
92210         with a prototype.
92211         * lib/getopt.c (const): Remove macro.
92212         Include <string.h> unconditionally.
92213         (my_index): Remove; all uses changed to strchr.
92214         (strlen): Remove decl.
92215         (exchange): Remove forward decl; no longer needed.
92216         (exchange, _getopt_initialize, _getopt_internal, getopt, main):
92217         Define with prototype.
92218         * lib/getopt1.c (const): Remove macro.
92219         (getopt_long, getopt_long_only, main): Define with prototype.
92220
92221         * lib/getugroups.c: Include <string.h> unconditionally.
92222
92223         * lib/getusershell.c: Include <stdlib.h> unconditionally.
92224         (getusershell, setusershell, endusershell, readname, main):
92225         Define with prototypes.
92226
92227         * lib/group-member.c: Include group-member.h first.
92228         Include <stdlib.h> unconditionally.
92229
92230         * lib/hard-locale.c: Include hard-locale.h first.
92231         Include <stdlib.h>, <string.h> unconditionally.
92232
92233         * lib/hash.c (free, malloc): Remove decls.
92234         Include <stdlib.h> unconditionally.
92235
92236         * lib/human.c: Include <stdlib.h>, <string.h> unconditionally.
92237         (getenv): Do not declare.
92238
92239         * lib/idcache.c: Include <string.h> unconditionally.
92240
92241         * lib/long-options.c: Include long-options.h first, to test interface.
92242         Include <stdlib.h> unconditionally.
92243
92244         * lib/makepath.c: Include makepath.h first, to test interface.
92245         Include <stdlib.h> and <string.h> unconditionally.
92246
92247         * lib/linebuffer.c: Include <stdlib.h>.
92248         (free): Remove decl.
92249
92250         * lib/malloc.c: Include <stdlib.h>, for malloc; don't bother with
92251         stddef.h. rpl_malloc returns void *, not char *.
92252         * lib/realloc.c (rpl_realloc): Likewise.  Also, define with a
92253         prototype.
92254
92255         * lib/md5.h: Include <limits.h> unconditionally.
92256         (UINT_MAX_32_BITS): Don't worry about non-__STDC__ case.
92257         (__P): Remove; all uses removed.
92258         * lib/md5.c: Include "md5.h" first.
92259         (md5_init_ctx, md5_read_ctx, md5_finish_ctx, md5_stream,
92260         md5_buffer, md5_process_bytes, md5_process_block):
92261         Define with prototypes.
92262         * lib/sha.h (__P): Remove all uses.  (It wasn't defined??)
92263         * lib/sha.c: Include "sha.h" first.
92264         Include <stdlib.h>, <string.h> unconditionally.
92265
92266         * lib/memchr.c (__ptr_t): Remove; all uses changed to void *.
92267         * lib/memcmp.c (__ptr_t): Likewise.
92268         * lib/memrchr.c (__ptr_t): Likewise.
92269         * lib/memchr.c, memcmp.c, memcoll.c, memrchr.c:
92270         Include <string.h> unconditionally.
92271         * lib/memchr.c, memrchr.c: Include <limits.h> unconditionally.
92272         * lib/memchr.c: Include <stdlib.h> unconditionally.
92273         * lib/memchr.c (LONG_MAX): Remove.
92274         * lib/memrchr.c (LONG_MAX): Likewise.
92275         * lib/memchr.c (__memchr): Define via a prototype.
92276         * lib/memrchr.c (__memrchr): Likewise.
92277         * lib/memcmp.c (__P): Remove, and remove all uses.
92278         (memcmp_bytes, memcmp_common_alignment, memcmp_not_common_alignment):
92279         Remove forward decls; no longer needed.
92280         * lib/memcpy.c, memmove.c, memset.c: Include <stddef.h>.
92281         Use types required by C89 in prototype.
92282
92283         * lib/mkdir.c: Include <stdlib.h>, <string.h> unconditionally.
92284         * lib/savedir.c: Likewise.
92285         * lib/mkdir.c (free): Remove decl.
92286         * lib/rmdir.c (rmdir): Define with a prototype.
92287         * lib/savedir.c: Include savedir.h first, to test interface.
92288
92289         * lib/mktime.c (STDC_HEADERS): Remove.
92290         Include <stdlib.h>, <string.h> unconditionally.
92291
92292         * lib/modechange.c: Include <stdlib.h> unconditionally.
92293         (malloc): Remove decl.
92294
92295         * lib/mountlist.c: Include <stdlib.h>, <string.h> unconditionally.
92296         (free): Remove decl.
92297
92298         * lib/obstack.h (PTR_INT_TYPE) [!defined __PTRDIFF_TYPE__]:
92299         Define to ptrdiff_t, without bothering to check HAVE_STDDEF_H.
92300         (This type really should be intptr_t, but that's a C99ism.)
92301         (_obstack_memcpy): Remove: all uses changed to memcpy.
92302         Include <string.h> unconditionally.
92303         (struct obstack): Assume __STDC__ for types of members
92304         chunkfun, freefun, extra_arg.
92305         (_obstack_newchunk, _obstack_free, _obstack_begin, _obstack_begin_1,
92306         _obstack_memory_used, obstack_alloc_failed_handler, obstack_init,
92307         obstack_begin, obstack_specify_allocation,
92308         obstack_specify_allocation_with_arg, obstack_chunkfun,
92309         obstack_freefun, obstack_free) [! (defined __STDC__ && __STDC__)]:
92310         Remove unprototyped decls and the macros that use them.
92311         * lib/obstack.c (POINTER): Remove.  All uses changed to void *.
92312         (obstack_alloc_failed_handler, CALL_CHUNKFUN, CALL_FREEFUN,
92313         _obstack_begin, _obstack_begin_1, _obstack_allocated_p)
92314         (defined __STDC__ && __STDC__)]:
92315         Remove nonprototyped code.
92316         Include <stdlib.h> unconditionally.
92317         (_obstack_begin, _obstack_begin_1, _obstack_newchunk,
92318         _obstack_allocated_p, _obstack_free, obstack_free,
92319         _obstack_memory_used, print_and_abort):
92320         Define using prototypes.
92321         (obstack_1grow, obstack_1grow_fast, obstack_alloc, obstack_base,
92322         obstack_blank, obstack_blank_fast, obstack_copy, obstack_copy0,
92323         obstack_finish, obstack_grow, obstack_grow0, obstack_make_room,
92324         obstack_next_free, obstack_object_size, obstack_room) [0]:
92325         Remove unused, unprototyped code.
92326
92327         * lib/path-concat.c: Include <stdlib.h>, <string.h> unconditionally.
92328
92329         * lib/physmem.c (physmem_total, physmem_available, main): Define
92330         with prototypes.
92331
92332         * lib/posixtm.c: Include <stdlib.h>, <string.h> unconditionally.
92333         (main): Define with a prototype.
92334
92335         * lib/posixver.c (getenv): Remove decl.
92336
92337         * lib/putenv.c (malloc): Returns void *, not char *.
92338         Include <string.h> unconditionally.
92339         (strchr, memcpy, NULL): Do not define.
92340
92341         * lib/readtokens.c: Include readtokens.h first, to test interface.
92342         Include <stdlib.h>, <string.h> unconditionally.
92343         (init_tokenbuffer): Define with a prototype.
92344
92345         * lib/regex.c (PARAMS): Remove.  All uses removed.
92346         All uses of _RE_ARGS removed, too.
92347         Include <stddef.h>, <stdlib.h>, <string.h>, <limits.h>
92348         unconditionally.
92349         (bzero): Assume memset exists.
92350         (memcmp, memcpy, NULL): Remove.
92351         (SIGN_EXTEND_CHAR): Remove; all uses replaced by casts to signed
92352         char, or assignments to local vars of type signed char.
92353         (init_syntax_once, PREFIX(extract_number_and_incr),
92354         PREFIX(print_partial_compiled_pattern),
92355         PREFIX(print_compiled_pattern), PREFIX(print_double_string),
92356         convert_mbs_to_wcs, print_fastmap, re_set_syntax,
92357         PREFIX(regex_grow_registers), PREFIX(regex_compile),
92358         PREFIX(store_op1), PREFIX(store_op2), PREFIX(insert_op1),
92359         PREFIX(insert_op2), PREFIX(at_begline_loc_p),
92360         PREFIX(at_endline_loc_p), group_in_compile_stack, insert_space,
92361         wcs_compile_range, byte_compile_range, truncate_wchar,
92362         PREFIX(re_compile_fastmap), re_compile_fastmap, re_set_registers,
92363         re_search, re_search_2, PREFIX(re_search_2), re_match, re_match_2,
92364         count_mbs_length, wcs_re_match_2_internal,
92365         byte_re_match_2_internal, PREFIX(group_match_null_string_p),
92366         PREFIX(alt_match_null_string_p),
92367         PREFIX(common_op_match_null_string_p), PREFIX(bcmp_translate),
92368         re_compile_pattern, re_comp, re_exec, regcomp, regexec, regerror,
92369         regfree, PREFIX(extract_number)): Define with prototype.  Remove
92370         now-unnecessary declaration, if any.
92371         (byte_compile_range, PREFIX(regex_compile), re_comp, re_exec,
92372         regcomp, regexec):
92373         Remove now-unnecessary casts among pointer types.
92374         * lib/regex.h (_RE_ARGS): Remove.  All uses removed.
92375
92376         * lib/rename.c: Include <stdlib.h>, <string.h> unconditionally.
92377         (free): Remove decl.
92378
92379         * lib/rpmatch.c: Include <stdlib.h> unconditionally.
92380
92381         * lib/same.c: Include <stdlib.h>, <string.h> unconditionally.
92382         (free): Remove decl.
92383
92384         * lib/save-cwd.c: Include <stdlib.h> unconditionally.
92385         * lib/xgetcwd.c: Likewise.
92386
92387         * lib/stat.c: Include <stdlib.h>, <string.h> unconditionally.
92388         (free): Remove decl.
92389
92390         * lib/strchrnul.c (strchrnul): Define with a prototype.
92391         Fix bug: c_in was not converted to char before searching.
92392
92393         The following changes are not K&R related:
92394
92395         * lib/group-member.h: Include <sys/types.h>, so that this file is
92396         self-contained.
92397         * lib/makepath.h: Likewise.
92398
92399         * lib/getusershell.c (readname, default_index, line_size, readname):
92400         Use size_t, not int, for sizes.
92401         (readname): If the size overflows, report an error instead of
92402         looping forever.
92403
92404 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92405
92406         * config/srclist.txt: Do not get getopt.h, getopt1.c, or regex.h from
92407         libc.
92408
92409 2003-09-09  Paul Eggert  <eggert@twinsun.com>
92410
92411         * README: New section: portability guidelines.
92412
92413 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92414
92415         * m4/getndelim2.m4 (gl_PREREQ_GETNDELIM2): Assume stdlib.h per the
92416         C89 spec.
92417
92418 2003-09-09  Derek Robert Price  <derek@ximbiot.com>
92419
92420         * lib/getndelim2.c: Assume stdlib.h per the C89 spec.
92421
92422 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92423
92424         Assume C89 or better; remove K&R cruft.
92425         A few of these changes were first proposed by Derek Robert Price
92426         in <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00105.html>.
92427
92428         * lib/addext.c: Include <string.h> unconditionally.
92429         * lib/backupfile.c: Include <string.h>, <stdlib.h> unconditionally.
92430         Don't declare getenv or malloc.
92431
92432         * lib/alloca.c: Include <string.h>, <stdlib.h> unconditionally.
92433         (POINTER_TYPE, pointer): Remove; all uses changed to void *.
92434         (NULL): Remove.
92435         (find_stack_direction, alloca): Use prototypes.
92436
92437         * lib/atexit.c (atexit): Define using a prototype.
92438
92439         * lib/basename.c, dirname.c, stripslash.c:
92440         Include <string.h> unconditionally.
92441
92442         * lib/bcopy.c: Include <stddef.h>.
92443         (bcopy): Define with prototype, using 'const' and 'void' and 'size_t'.
92444
92445         * lib/canon-host.c: Include <stdlib.h>, <string.h> unconditionally.
92446
92447         * lib/error.h (error, error_at_line, error_print_progname)
92448         [! (defined (__STDC__) && __STDC__)]: Remove decls.
92449         * lib/error.c: Include error.h first, to check interface.
92450         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92451         (VA_START): Remove; all uses changeed to va_start.
92452         (exit, strerror): Remove decls.
92453         (error_print_progname): Prototype uncondionally.
92454         Don't include <errno.h>; no longer needed.
92455         (private_strerror): Remove.
92456         (error_tail): Always define.
92457         (error, error_at_line): Assume C89 or better; always use prototypes.
92458         * lib/fatal.c: Include "fatal.h" first, to test interface.
92459         Include <stdarg.h>, <stdlib.h>, <string.h> unconditionally.
92460         (VA_START): Remove; all uses changed to va_start.
92461         [! (HAVE_VPRINTF || HAVE_DOPRNT || _LIBC)]: Remove support for
92462         this case.
92463         (exit): Remove decl.
92464         (fatal): Prototype unconditionally.  Assume va_start works.
92465         Abort at end, to pacify gcc.
92466
92467         * lib/euidaccess.c (main): Define with a prototype.
92468
92469         * lib/exclude.c: Include <stdlib.h>, <string.h> unconditionally.
92470
92471         * lib/exitfail.c: Include <stdlib.h> unconditionally.
92472
92473         * lib/fnmatch_.h (__P): Remove.  All uses changed to assume
92474         prototypes.
92475         * lib/fnmatch.c: Include fnmatch.h first, to test interface.
92476         Include <string.h>, <stddef.h>, <stdlib.h> unconditionally.
92477         (getenv): Remove decl.
92478         (fnmatch): Define using a prototype.
92479         * lib/fnmatch_loop.c (FCT): Remove forward decl; no longer needed.
92480         (FCT): Define using a prototype.
92481
92482         * lib/getdate.y: Include <stdlib.h>, <string.h> unconditionally.
92483
92484         * lib/gethostname.c: Include <stddef.h>.
92485         (gethostname): Define with prototype.  Length is size_t, not int.
92486
92487 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92488
92489         Assume C89 or better; remove K&R cruft.
92490         * m4/alloca.m4 (gl_PREREQ_ALLOCA): Don't check for stdlib.h, string.h.
92491         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for stdlib.h,
92492         string.h, getenv, malloc.
92493         * m4/dirname.m4 (gl_DIRNAME): Don't check for string.h or C standard
92494         headers.
92495         * m4/canon-host.m4 (gl_CANON_HOST): Don't check for string.h, stdlib.h.
92496         * m4/error.m4 (jm_PREREQ_ERROR): Do not require STDC headers, and
92497         do not check for strerror.
92498         * m4/exclude.m4: Do not check for stdlib.h, string.h, strings.h.
92499         * m4/exitfail.m4 (gl_EXITFAIL): Do not check for stdlib.h.
92500         * m4/fatal.m4 (gl_FATAL): Do not require STDC headers, and
92501         do not check for doprnt or vprintf.
92502         * m4/fnmatch.m4 (gl_PREREQ_FNMATCH_EXTRA): Remove.  All uses removed.
92503         * m4/getdate.m4 (gl_GETDATE): Don't check for stdlib.h or string.h.
92504
92505 2003-09-08  Paul Eggert  <eggert@twinsun.com>
92506
92507         * lib/getversion.c: Remove; was migrated to backupfile.c in 1997.
92508         getversion.c should have been removed then, but was accidentally
92509         preserved.
92510
92511         * lib/utime.c [!HAVE_UTIMES_NULL]: Include <sys/stat.h>, <fcntl.h>.
92512         (utime_null): Fix typo: 'st' was sometimes called 'sb'.
92513
92514 2003-09-08  Karl Berry  <karl@gnu.org>
92515
92516         * config/config.sub, config.guess, srclistvars.sh: update from savannah
92517                 config, forget about prep.
92518
92519         * config/depcomp, missing: update from automake.
92520
92521 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92522
92523         * modules/time_r: Depend on 'restrict'.  Fix from Simon Josefsson in
92524         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92525
92526 2003-09-07  Paul Eggert  <eggert@twinsun.com>
92527
92528         * lib/time_r.c (gmtime_r, localtime_r): Fix silly typo: missing arg to
92529         copy_tm_result.  Bug reported by Simon Josefsson in
92530         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00028.html>.
92531
92532 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92533
92534         * m4/time_r.m4: New file.
92535         * m4/mktime.m4 (gl_PREREQ_MKTIME): Remove check for limits.h.
92536         * m4/timegm.m4 (gl_FUNC_TIMEGM): Assume that timegm is buggy if mktime
92537         is. Check for timegm declaration.
92538         (gl_PREREQ_TIMEGM): Require gl_FUNC_MKTIME.
92539         Do not check for gmtime_r.
92540         Replace mktime if __mktime_internal does not exist and if mktime
92541         hasn't been replaced already.
92542
92543 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92544
92545         * lib/time_r.c, lib/time_r.h: New files.
92546
92547         * lib/mktime.c (my_mktime_localtime_r): Remove; all uses changed to
92548         __localtime_r.
92549         (__localtime_r) [!defined _LIBC]: New macro.  Include <time_r.h>.
92550         (__mktime_internal) [!defined _LIBC]: Now extern, not static.
92551
92552         * lib/strftime.c (my_strftime_gmtime_r): Remove; all uses changed to
92553         __gmtime_r.
92554         (my_strftime_localtime_r): Remove; all uses changed to __localtime_r.
92555         (__gtime_r, __localtime_r) [!HAVE_TM_GMTOFF]: New macros.
92556         Include <time_r.h>.
92557
92558         * lib/timegm.c: Switch to glibc implementation, with the following
92559         changes:
92560         [defined HAVE_CONFIG_H]: Include <config.h>.
92561         [!defined _LIBC]: Include "timegm.h" rather than <time.h>.
92562         (__mktime_internal) [!defined _LIBC]: New decl.
92563         (__gmtime_r) [!defined _LIBC]: New macro and function.
92564         (timegm): Use a prototype, since gnulib assumes C89.
92565         Do not bother declaring tmp to be const, as it's not really usefu.
92566         * lib/timegm.h: Hoist "#include <time.h>" out of #ifdef.
92567         (timegm): Declare only if HAVE_DECL_TIMEGM.
92568
92569 2003-09-06  Paul Eggert  <eggert@twinsun.com>
92570
92571         * MODULES.html.sh (func_all_modules): Add time_r.
92572         * modules/time_r: New file.
92573         * modules/mktime, modules/strftime, modules/timegm: Depend on time_r.
92574         * modules/timegm: Depend on mktime.  Change maintainer to "all, glibc".
92575
92576 2003-09-03  Paul Eggert  <eggert@twinsun.com>
92577
92578         * lib/human.c (human_readable): Fix bug that rounded 10501 to 10k.
92579         Bug reported by Lute Kamstra in
92580         <http://mail.gnu.org/archive/html/bug-gnulib/2003-09/msg00003.html>.
92581
92582         * lib/getdate.y (relative_time_table): Use tDAY_UNIT for "tomorrow",
92583         "yesterday", "today", and "now" rather than tMINUTE_UNIT.  Of
92584         course with correspondingly smaller numbers for tomorrow and
92585         yesterday.  From Tadayoshi Funaba.  Originally installed into
92586         sh-utils on 1999-08-07, but the patch got lost (I guess during the
92587         coreutils merge?).
92588
92589 2003-08-31  Simon Josefsson  <jas@extundo.com>
92590
92591         * modules/timegm: New file.
92592         * MODULES.html.sh (func_all_modules): Add timegm.
92593
92594 2003-08-31  Simon Josefsson  <jas@extundo.com>
92595
92596         * m4/timegm.m4: New file.
92597
92598 2003-08-31  Simon Josefsson  <jas@extundo.com>
92599
92600         * lib/timegm.h: New file.
92601         * lib/timegm.c: New file.  Based on
92602         wget-1.8.2/src/http.c:mktime_from_utc.
92603
92604 2003-08-31  Karl Berry  <karl@gnu.org>
92605
92606         * lib/argp.h: update from libc.
92607
92608 2003-08-28  Bruno Haible  <bruno@clisp.org>
92609
92610         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Remove AC_DEFINE of fnmatch here.
92611         This avoids havoc on compilers for which '#define fnmatch rpl_fnmatch'
92612         followed by '#define fnmatch fnmatch_posix' gives an error.
92613
92614 2003-08-28  Bruno Haible  <bruno@clisp.org>
92615
92616         * lib/binary-io.h: Undefine O_BINARY before defining it. This avoids a
92617         warning on QNX, which defines O_BINARY to 000000.
92618
92619 2003-08-27  Jim Meyering  <jim@meyering.net>
92620
92621         * m4/mkstemp.m4: Require that the system mkstemp be able to create
92622         70 temporary files, not just 30.  Tru64 V4.0F's mkstemp function
92623         would fail after 32.  Reported by Danny Levinson.  Details here:
92624         http://mail.gnu.org/archive/html/bug-coreutils/2003-08/msg00124.html
92625
92626 2003-08-24  Bruno Haible  <bruno@clisp.org>
92627
92628         * lib/binary-io.h: Include <stdio.h>, to avoid a compilation error when
92629         MSVC7 <stdio.h> is included later.
92630
92631 2003-08-22  Simon Josefsson  <jas@extundo.com>
92632
92633         * modules/strndup (Makefile.am): Add strndup.h to lib_SOURCES.
92634
92635 2003-08-20  Karl Berry  <karl@gnu.org>
92636
92637         * m4/lib-ld.m4: serial 1003 from gettext, no changes besides serial.
92638
92639 2003-08-20  Bruno Haible  <bruno@clisp.org>
92640
92641         * modules/progname: New file.
92642         * MODULES.html.sh (func_all_modules): Add progname.
92643
92644 2003-08-20  Bruno Haible  <bruno@clisp.org>
92645
92646         * lib/progname.h: New file, from GNU gettext.
92647         * lib/progname.c: New file, from GNU gettext.
92648         * lib/progreloc.c: New file, from GNU gettext.
92649
92650 2003-08-19  Jim Meyering  <jim@meyering.net>
92651
92652         * m4/lib-ld.m4: Revert yesterday's change, per Bruno's request here:
92653         http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00155.html
92654
92655 2003-08-19  Bruno Haible  <bruno@clisp.org>
92656
92657         * m4/xalloc.m4 (gl_PREREQ_XSTRDUP): Don't check for <string.h> any
92658         more.
92659
92660 2003-08-19  Bruno Haible  <bruno@clisp.org>
92661
92662         * lib/xstrdup.c: Assume <string.h> exists.
92663
92664 2003-08-18  Paul Eggert  <eggert@twinsun.com>
92665
92666         * modules/stdbool: Add BUILT_SOURCES.  Prefer $@ to target name
92667         in makefile rules.
92668
92669 2003-08-18  Jim Meyering  <jim@meyering.net>
92670
92671         * m4/getloadavg.m4: Use [\t ], not [ \t] (where \t is a literal TAB).
92672         * m4/lib-ld.m4: Likewise.
92673
92674 2003-08-18  Jim Meyering  <jim@meyering.net>
92675
92676         * lib/setenv.h: Indent nested cpp directive.
92677         * lib/vasnprintf.c: Remove trailing blanks.
92678
92679 2003-08-17  Simon Josefsson  <jas@extundo.com>
92680
92681         * modules/xstrndup: New file.
92682         * MODULES.html.sh (func_all_modules): Add xstrndup.
92683
92684 2003-08-17  Simon Josefsson  <jas@extundo.com>
92685
92686         * modules/argp: Fix autoconf macro name. Add more dependencies.
92687
92688 2003-08-17  Simon Josefsson  <jas@extundo.com>
92689
92690         * m4/xstrndup.m4: New file.
92691
92692 2003-08-17  Simon Josefsson  <jas@extundo.com>
92693
92694         * m4/argp.m4: New file.
92695
92696 2003-08-17  Simon Josefsson  <jas@extundo.com>
92697             Bruno Haible  <bruno@clisp.org>
92698
92699         * lib/xstrndup.h: New file.
92700         * lib/xstrndup.c: New file.
92701
92702 2003-08-17  Bruno Haible  <bruno@clisp.org>
92703
92704         * modules/strndup (Files, Include): Add lib/strndup.h.
92705
92706 2003-08-17  Bruno Haible  <bruno@clisp.org>
92707
92708         * modules/euidaccess (Files): Add lib/euidaccess.h.
92709
92710 2003-08-17  Bruno Haible  <bruno@clisp.org>
92711
92712         * lib/strndup.h: New file.
92713
92714 2003-08-17  Bruno Haible  <bruno@clisp.org>
92715
92716         * gnulib-tool (func_create_testdir): Handle gl_USE_SYSTEM_EXTENSIONS
92717         like AC_GNU_SOURCE.
92718         * modules/extensions (configure.ac): Comment out the invocation of
92719         gl_USE_SYSTEM_EXTENSIONS.
92720
92721 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92722
92723         Merges from coreutils, etc.
92724         * m4/rpmatch.m4 (gl_PREREQ_RPMATCH): Insert ':' to prevent a syntax
92725         error in gl_FUNC_MATCH.  This fixes a bug I introduced on 2003-05-28.
92726         * m4/readlink.m4 (gl_PREREQ_READLINK): Renamed from gl_PREREQ_READLINE,
92727         fixing a typo.
92728         * m4/host-os.m4 (UTILS_HOST_OS): Add GNU/NetBSD, GNU/FreeBSD.
92729         * m4/hash.m4 (gl_HASH): Use AM_STDBOOL_H, not AC_HEADER_STDBOOL.
92730
92731 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92732
92733         Document merge from coreutils.
92734         * modules/alloca: Append $(ALLOCA_H) to BUILT_SOURCES.
92735         * modules/fnmatch: Append $(FNMATCH_H) to BUILT_SOURCES.
92736         * modules/utime: Add m4/utimes-null.m4.
92737
92738 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92739
92740         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Do not normalize white
92741         space, undoing this 2003-08-12 change:
92742         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92743
92744 2003-08-16  Paul Eggert  <eggert@twinsun.com>
92745
92746         * config/srclist.txt: Get regex.h, strdup.c, strtoll.c,
92747         strtoul.c from libc, undoing this 2003-08-12 change:
92748         <http://mail.gnu.org/archive/html/bug-gnulib/2003-08/msg00080.html>
92749
92750 2003-08-16  Jim Meyering  <jim@meyering.net>
92751
92752         Merges from coreutils.
92753         * m4/readdir.m4 (GL_FUNC_READDIR): Change name to have GL_ (not jm_)
92754         prefix.  Adjust cache variables similarly.  Create 500 rather than
92755         just 300 files, to exercise bug on Darwin6.5, too.
92756         * m4/perl.m4 (jm_PERL): Use $am_missing_run, not undefined
92757         $missing_dir.
92758         * m4/jm-winsz1.m4: Require AC_SYS_POSIX_TERMIOS, not
92759         AM_SYS_POSIX_TERMIOS.
92760         Reported by mkc@mathdogs.com.
92761         Also change use of $am_cv_sys_posix_termios
92762         to $ac_cv_sys_posix_termios.  Reported by Andreas Schwab.
92763         * m4/getgroups.m4 (jm_FUNC_GETGROUPS): Rewrite to use AC_FUNC_GETGROUPS
92764         and (if needed) to call AC_LIBOBJ and to set GETGROUPS_LIB.
92765         * m4/fsusage.m4 [__GLIBC__]: GNU libc's statvfs stats each mount point
92766         in /proc/mounts until it finds one with matching device number.  This
92767         is unnecessary when the FILE argument *is* a mount point.  No stat call
92768         is necessary in that case.  So, disable the statvfs-testing code on
92769         systems with GNU libc.  Reported by Andrei Gaponenko via Tim Waugh
92770         as RedHat bug# 84846.
92771         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92772         to 1MB, so as not to render systems with no stack size limit (e.g.,
92773         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92774         Include <unistd.h>.  On some systems,
92775         it is required for the definition of _SC_PAGESIZE.
92776
92777 2003-08-16  Jim Meyering  <jim@meyering.net>
92778
92779         Merge from coreutils.
92780         * lib/xstrtoimax.c: #else #if -> #elif.
92781         * lib/xstrtoumax.c: Likewise.
92782
92783 2003-08-16  Jim Meyering  <jim@meyering.net>
92784
92785         * m4/utimes.m4 (gl_FUNC_UTIMES): New file.
92786         * m4/utimes.m4: Removed.
92787         * m4/utimes-null.m4: Renamed from utimes.m4.
92788
92789         * m4/c-stack.m4 (AC_SYS_XSI_STACK_OVERFLOW_HEURISTIC): Limit stack size
92790         to 1MB, so as not to render systems with no stack size limit (e.g.,
92791         linux-2.2.x) unusable.  Suggestion and code from Bruno Haible.
92792         Include <unistd.h>.  On some systems,
92793         it is required for the definition of _SC_PAGESIZE.
92794
92795 2003-08-16  Jim Meyering  <jim@meyering.net>
92796         and Paul Eggert  <eggert@cs.ucla.edu>
92797
92798         Merges from coreutils, etc.
92799
92800         * m4/jm-macros.m4 (AC_LANG_SOURCE(C)): New macro, undefine, then define
92801         using the latest version from cvs.  This avoids problems with #line
92802         directives using a vendor (Sun) compiler.
92803         (jm_MACROS): Bump prerequisite from 2.52g to 2.57.
92804         Don't set GETGROUPS_LIB here; now it's
92805         done via getgroups.m4's wrapper function.
92806         AC_SUBST OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, and MAN here,
92807         rather than just in sh-util/configure.in, so that the
92808         now-shared-by-fileutils-and-textutils lib/Makefile.am are all the
92809         same.
92810         Use AC_CONFIG_LIBOBJ_DIR(lib) to tell the new
92811         AC_FUNC_GETLOADAVG where to find getloadavg.c.
92812         Require AC_FUNC_FTW, gt_INTTYPES_PRI, gl_CLOCK_TIME,
92813         UTILS_SYS_OPEN_MAX, GL_FUNC_GETCWD_PATH_MAX, GL_FUNC_READDIR,
92814         gl_FSUSAGE, gl_MOUNTLIST, AC_FUNC_CANONICALIZE_FILE_NAME.
92815         Remove code that is now done by the newly-required macros.
92816         Append $(EXEEXT) to DF_PROG.
92817         AC_LIBOBJ fchdir-stub if fchdir doesn't exist; similarly for fchown.
92818         Do not invoke or require the following here,
92819         since prereq.m4 or some gnulib .m4 now does this for us:
92820         gl_REGEX, UTILS_FUNC_MKDIR_TRAILING_SLASH, jm_BISON, gl_FUNC_MKTIME,
92821         jm_FUNC_LSTAT, jm_FUNC_STAT, jm_FUNC_REALLOC, jm_FUNC_MALLOC,
92822         jm_FUNC_NANOSLEEP, jm_FUNC_READDIR, jm_FUNC_MEMCMP,
92823         jm_FUNC_GLIBC_UNLOCKED_IO, AC_FUNC_FNMATCH_GNU, jm_FUNC_PUTENV,
92824         jm_AC_PREREQ_XSTRTOUMAX, jm_AC_PREREQ_XSTRTOIMAX,
92825         AC_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, AC_FUNC_VPRINTF,
92826         vb_FUNC_RENAME, UTILS_FUNC_MKSTEP, jm_FUNC_UTIME, AM_FUNC_GETLINE,
92827         AC_FUNC_OBSTACK.
92828         Do not replace the following functions, as this is now the job
92829         of some gnulib .m4: strcasecmp, strncasecmp, dup2, gethostname,
92830         getusershell, sig2str, strcspn, stpcpy, strstr, strtol, strtoul
92831         strpbrk, euidaccess, memcmp, rmdir, rpmatch, strndup, strverscmp,
92832         atexit getpass, strdup, getpagesize.
92833         Replace 'raise'.
92834         Do not check for the following functions, as this is now the job
92835         of some gnulib .m4: bcopy, canonicalize_file_name, fchdir, ftime,
92836         getcwd, getmntinfo, resolvepath.  But check for sysctl, setreuid,
92837         setregid.
92838         (jm_CHECK_ALL_HEADERS): Do not check for fenv.h.
92839         Check for sys/sysctl.h.
92840         (jm_CHECK_ALL_TYPES): Do not require AC_STRUCT_TM, AC_STRUCT_TIMEZONE,
92841         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Invoke gt_TYPE_SSIZE_T instead
92842         of checking for ssize_t ourselves.
92843
92844         * m4/prereq.m4 (jm_PREREQ): Don't invoke macros; AC_REQUIRE them.
92845         Require every macro that gnulib/modules/* suggests for us.
92846         (jm_PREREQ_ADDEXT): New macro.
92847         (jm_PREREQ_STAT): Check for 'struct statfs' on Ultrix 4.4.
92848         Require jm_AC_TYPE_LONG_LONG instead of invoking it.
92849
92850         * m4/physmem.m4 (gl_SYS__SYSTEM_CONFIGURATION): New macro.
92851         (gl_PHYSMEM): Use it.
92852         Also check for `table' function.
92853         Check for new headers and functions.
92854         Add check for sys/sysmp.h.
92855         With suggestions from Kaveh Ghazi.
92856         Ignore headers that are present but cannot be compiled.  This
92857         avoids spurious warnings on Solaris 9 sparc with Forte Developer 7
92858         C 5.4.
92859
92860 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92861
92862         Document merge from coreutils.
92863         * modules/userspec: Depend on posixver.
92864         * modules/strftime: Depend on tzset.
92865
92866 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92867
92868         * lib/config.charset, ref-add.sin, ref-del.sin: Use three spaces,
92869         rather than tab, after '#' in shell-script copyright notices.
92870         Suggested by Bruno Haible.
92871
92872 2003-08-15  Paul Eggert  <eggert@twinsun.com>
92873
92874         * config/srclist-update: Use three spaces, rather than tab, after '#'
92875         in shell-script copyright notices.  Suggested by Bruno Haible.
92876         Remove unnecessary parenthesization in regular expression.
92877
92878 2003-08-15  Jim Meyering  <jim@meyering.net>
92879
92880         Merge from coreutils.
92881         * lib/xgethostname.c: Include <stdlib.h>.
92882         (xghostname): Don't exit for anything other than memory-related
92883         failure; just return NULL.
92884         * lib/userspec.c: Include "posixver.h".
92885         (parse_user_spec): Accept `.' as a separator only
92886         in pre-POSIX-200112 mode.
92887         * lib/strtoimax.c: Use #elif rather than #else #if.
92888         * lib/strftime.c (my_strftime) [!_LIBC && HAVE_TZNAME && HAVE_TZSET]:
92889         Remove function, now that we can rely on a working tzset function.
92890         [!_LIBC]: Ensure that the required autoconf test has been run.
92891         [!defined _NL_CURRENT && HAVE_STRFTIME]:
92892         Use underlying_strftime for %r.
92893         * lib/sha.c: Merge in some clean-up and optimization changes from
92894         glibc.
92895         * lib/sha.c (sha_stream) [BLOCKSIZE]: Move definition to top of file.
92896         Ensure that it is a multiple of 64.
92897         Rearrange loop exit tests so as to avoid performing an
92898         additional fread after encountering an error or EOF.
92899         * lib/realloc.c: Update copyright date.
92900
92901 2003-08-15  Jim Meyering  <jim@meyering.net>
92902         and Paul Eggert  <eggert@twinsun.com>
92903
92904         Merge from coreutils.
92905         * lib/readutmp.h (HAVE_UTMPX_H): Undef if struct utmp has the ut_exit
92906         member but strut utmpx does not.  Needed for AIX 4.3.3.
92907         (UT_EXIT_E_TERMINATION, UT_EXIT_E_EXIT): Define.
92908
92909 2003-08-15  Jim Meyering  <jim@meyering.net>
92910         and Paul Eggert  <eggert@cs.ucla.edu>
92911
92912         Merges from coreutils, etc.
92913         * m4/strftime.m4 (_jm_STRFTIME_PREREQS):
92914         Require gl_FUNC_TZSET_CLOBBER.
92915         * m4/readutmp.m4 (gl_READUTMP): Check for ut_exit.ut_exit,
92916         ut_exit.e_exit, ut_exit.ut_termination, and ut_exit.e_termination
92917         members.
92918
92919 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92920
92921         Help the merge from coreutils.
92922         * m4/gettimeofday.m4 (gl_GETTIMEOFDAY_REPLACE_LOCALTIME): New macro.
92923         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use it.
92924         * m4/tzset.m4: Use it too.
92925
92926 2003-08-14  Paul Eggert  <eggert@twinsun.com>
92927
92928         * modules/tzset: New file.
92929
92930 2003-08-14  Jim Meyering  <jim@meyering.net>
92931
92932         Merges from coreutils.
92933         * modules/fnmatch: Use the `$(FNMATCH_H)' notation for AC_REPLACED
92934         variable names, rather than @FNMATCH_H@.
92935         * modules/alloca: Likewise for $(ALLOCA_H).
92936
92937         * modules/fnmatch (fnmatch.h): Use `$@' in the commands, in place of
92938         the three copies of the literal target, `fnmatch.h'.
92939         * modules/alloca (alloca.h): Likewise.
92940
92941 2003-08-14  Jim Meyering  <jim@meyering.net>
92942
92943         Merge from coreutils.
92944         * m4/tzset.m4: New file.
92945         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Move the
92946         MOUNTED_VMOUNT test to precede the MOUNTED_GETMNTENT1 tests, since
92947         otherwise, AIX 5.1 systems would end up using the latter.
92948         MOUNTED_GETMNTENT1 support is inadequate on such systems: 1) detecting
92949         whether a file system is remote doesn't work  2) the MOUNTED_VMOUNT
92950         code reports the HOSTNAME:/MOUNT_POINT, while the MOUNTED_GETMNTENT1
92951         code reports merely /MOUNT_POINT.  Reported by Mike Jetzer.
92952
92953 2003-08-14  Jim Meyering  <jim@meyering.net>
92954
92955         Merge from coreutils.
92956         * lib/obstack.h: Whitespace changes.
92957         * lib/mountlist.c: Remove anachronistic casts of xmalloc, xrealloc,
92958         and xcalloc return values.
92959         (read_filesystem_list) [MOUNTED_GETFSSTAT]:
92960         Use MNT_NOWAIT, rather than MNT_WAIT.  Otherwise, `df DIR' could
92961         hang on OSF/1 5.1 for DIR on both local and remote file systems.
92962         Reported by (and fix confirmed by) Nelson H. F. Beebe.
92963         (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
92964         error from mntctl.
92965         Use mntctl's return value to drive the entry-processing loop, since
92966         we can't rely on the value of the vmt_length member in the last
92967         entry.  On some systems doing so could result in exhausting
92968         virtual memory.  Based in part on a patch from Mike Jetzer.
92969
92970 2003-08-14  Jim Meyering  <jim@meyering.net>
92971         and Paul Eggert  <eggert@twinsun.com>
92972
92973         Merges from coreutils, plus other fixes.
92974         * lib/physmem.c: Merge in portability changes from gcc/libiberty
92975         to support AIX, IRIX, Tru64, and Windows.  See the ChangeLog there
92976         for credits and details.  Thanks to Kaveh Ghazi for helping
92977         to keep these files in sync.
92978         (ARRAY_SIZE): Define it.
92979         (physmem_total, physmem_available): Add comments. From Kaveh Ghazi.
92980         * lib/memcasecmp.c: Remove unnecessary parentheses after 'defined'.
92981         (memcasecmp): Don't assume size_t fits in unsigned int.
92982         Remove casts and duplicate code.
92983         * lib/md5.c: Include <string.h> and <stdlib.h> unconditionally.
92984         (memcpy): Remove definition.
92985         Merge in some clean-up and optimization changes from glibc.
92986         [BLOCKSIZE]: Move definition to top of file.
92987         Ensure that it is a multiple of 64.
92988         Rearrange loop exit tests so as to avoid performing an
92989         additional fread after encountering an error or EOF.
92990         * lib/md5.h (md5_uintptr): Define.
92991         * lib/makepath.c (CLEANUP_CWD): Report an error if we failed to
92992         return to the initial working directory.  Preserve errno
92993         for caller.
92994         * lib/idcache.c: Include "xalloc.h".
92995         (xmalloc, xrealloc): Remove decls.
92996         (getuser): Remove casts no longer required in C89.
92997         * lib/human.c: Include stdio.h, for sprintf.
92998         * lib/group-member.c: Include "xalloc.h".
92999         (xmalloc, xrealloc): Remove decls.
93000         (get_group_info): Remove casts no longer required in C89.
93001         * lib/getusershell.c (readname): Remove casts no longer required in
93002         C89.
93003         * lib/gettimeofday.c (rpl_gmtime, rpl_tzset): New functions.
93004         * lib/getline.c: Whitespace fix, from coreutils.
93005
93006 2003-08-13  Paul Eggert  <eggert@twinsun.com>
93007
93008         * m4/exclude.m4 (gl_EXCLUDE): Require AC_C_INLINE, AC_HEADER_STDC.
93009         Check for isascii.
93010
93011         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
93012         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
93013         Undo previous (whitespace-only) change.
93014
93015 2003-08-13  Paul Eggert  <eggert@twinsun.com>
93016
93017         * lib/exclude.c: Include <ctype.h>
93018         (IN_CTYPE_DOMAIN): New macro.
93019         (is_space): New fn.
93020         (add_exclude_file): If LINE_END is a space, ignore trailing spaces
93021         and empty lines.
93022
93023         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
93024         Undo previous (whitespace-only) change.
93025
93026 2003-08-13  Paul Eggert  <eggert@twinsun.com>
93027
93028         * config/srclist-update: Change update back to the old behavior,
93029         leaving whitespace alone.  Use one 'sed' command rather than a
93030         pipeline.
93031         (fixlicense): Now a variable, not a function.
93032         (remove_trailing_blanks): Remove.
93033         (fixfile): Don't invoke unexpand or cat, or remove trailing blanks.
93034         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
93035         Undo previous (whitespace-only) change.
93036
93037 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93038
93039         Merge from coreutils.
93040         * modules/euidaccess: Add lib_SOURCES, include for new
93041         file euidaccess.h
93042
93043 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93044
93045         * m4/gettext.m4, iconv.m4, intdiv0.m4, inttypes-pri.m4, lib-link.m4,
93046         lib-prefix.m4, longdouble.m4, po.m4, progtest.m4, signed.m4:
93047         Normalize leading white space and remove trailing white space.
93048
93049         Merge from coreutils
93050         * m4/euidaccess.m4 (gl_FUNC_EUIDACCESS): Check for euidaccess decl.
93051
93052         * m4/lib-ld.m4, lib-link.m4, lib-prefix.m4: Regenerate from gettext
93053         0.12.1.  These files are now being upgraded automatically by
93054         ../config/srclist-update.
93055
93056 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93057
93058         * lib/argp-help.c, argp-parse.c, config.charset, getopt.h:
93059         Normalize leading white space and remove trailing white space.
93060         * lib/ref-add.sin, ref-del.sin: Use '#' before empty line in copyright
93061         notice, as per ../config/srclist-update.
93062
93063         Merge from coreutils.
93064         * lib/euidaccess.h: New file.
93065         * lib/euidaccess.c: Include it.
93066         * lib/.cppi-disable: Add printf-args.h, printf-parse.h, stdbool_.h,
93067         vasnprintf.h, vasprintf.h.  Remove strdup.c, gettext.h.
93068         * lib/regex.h, strdup.c, strtoll.c, strtoul.c: Normalize white space.
93069
93070 2003-08-12  Paul Eggert  <eggert@twinsun.com>
93071
93072         * config/srclist-update: Add copyright notice.
93073         (remove_id_lines, remove_trailing_blanks): New constants.
93074         (fixfile): Use them to normalize spacing a bit in copied files.
93075         * config/config.guess, config.sub, install-sh, missing, texinfo.tex:
93076         Normalize leading white space and remove trailing white space.
93077
93078         * config/texinfo.tex: Sync with texinfo.
93079
93080         * config/srclist.txt: Don't get regex.h, strdup.c, strtoll.c,
93081         strtoul.c from libc, to merge coreutils whitespace changes.
93082
93083         * config/srclist.txt: Get the following m4 files from gettext:
93084         codeset.m4, gettext.m4, glibc21.m4, iconv.m4, intdiv0.m4,
93085         inttypes-pri.m4, lcmessage.m4, lib-ld.m4, lib-link.m4, lib-prefix.m4,
93086         longdouble.m4, nls.m4, po.m4, progtest.m4, signed.m4, wchar_t.m4,
93087         wint_t.m4.
93088
93089 2003-08-12  Karl Berry  <karl@gnu.org>
93090
93091         * config/srclist.txt: can't sync vasnprintf.c any more, changes have
93092         been made.
93093
93094 2003-08-11  Paul Eggert  <eggert@twinsun.com>
93095
93096         * modules/gnu-source, m4/gnu-source.m4:
93097         Remove; we're assuming Autoconf 2.54 or later now.
93098         Suggested by Bruno Haible.
93099         * MODULES.html.sh (func_all_modules): Remove gnu-source.
93100
93101 2003-08-11  Bruno Haible  <bruno@clisp.org>
93102
93103         * m4/vasnprintf.m4 (gl_PREREQ_VASNPRINTF): Also check for wcslen.
93104
93105 2003-08-11  Bruno Haible  <bruno@clisp.org>
93106
93107         * lib/vasnprintf.c (local_wcslen): New function, for Solaris 2.5.1.
93108         (vasnprintf): Use it instead of wcslen.
93109
93110 2003-08-11  Bruno Haible  <bruno@clisp.org>
93111
93112         * lib/stdbool_.h (_Bool): Undo last change; instead use a negative enum
93113         value to ensure that _Bool promotes to int. Use #define for _Bool when
93114         using the Solaris C compiler. Adds comments suggested by Paul Eggert.
93115
93116 2003-08-10  Karl Berry  <karl@gnu.org>
93117
93118         * lib/regex.h: update from libc (whitespace fix).
93119
93120 2003-08-09  Paul Eggert  <eggert@twinsun.com>
93121
93122         Merge some files from coreutils.  These changes were
93123         originally made by Jim Meyering.
93124         * lib/acl.c: Include <sys/types.h> before <sys/stat.h>;
93125         many older Unixes require this.
93126         * lib/alloca.c (alloca): Remove cast to argument of free;
93127         no longer needed in C89.
93128         * lib/alloca_.h, regex.h: Fix white space to match
93129         what GNU indent does.
93130
93131 2003-08-09  Paul Eggert  <eggert@twinsun.com>
93132
93133         * m4/regex.m4 (jm_INCLUDED_REGEX): Change "\201" to "\371";
93134         apparently Emacs's Unicode mode got confused before my 2003-08-05
93135         checkin.
93136
93137 2003-08-08  Paul Eggert  <eggert@twinsun.com>
93138
93139         * m4/extensions.m4: New file.
93140         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC):
93141         Require gl_USE_SYSTEM_EXTENSIONS.
93142         * m4/unlocked-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO):
93143         Require gl_USE_SYSTEM_EXTENSIONS rather than AC_GNU_SOURCE.
93144
93145 2003-08-08  Paul Eggert  <eggert@twinsun.com>
93146
93147         * MODULES.html.sh (func_all_modules): Add extensions, gnu-source.
93148         * modules/extensions, modules/gnu-source: New files.
93149         * modules/timespec, modules/unlocked-io: Depend on extensions.
93150
93151 2003-08-07  Paul Eggert  <eggert@twinsun.com>
93152
93153         * modules/restrict: New file.
93154         * MODULES.html.sh (func_all_modules): Add restrict.
93155         * modules/regex: Depend on restrict.
93156
93157 2003-08-07  Paul Eggert  <eggert@twinsun.com>
93158
93159         * m4/restrict.m4: New file.
93160         * m4/regex.m4 (jm_PREREQ_REGEX): Add gl_C_RESTRICT.
93161
93162 2003-08-07  Bruno Haible  <bruno@clisp.org>
93163
93164         * modules/getndelim2 (Makefile.am): Add the files to EXTRA_DIST, not
93165         lib_SOURCES, because getndelim2.m4 now uses AC_LIBOBJ(getndelim2).
93166
93167 2003-08-07  Bruno Haible  <bruno@clisp.org>
93168
93169         * m4/getndelim2.m4 (gl_GETNDELIM2): Use AC_LIBOBJ(getndelim2). This
93170         makes the module 'getndelim2' compatible with the module 'getline'.
93171
93172 2003-08-05  Paul Eggert  <eggert@twinsun.com>
93173
93174         * m4/regex.m4 (jm_INCLUDED_REGEX): Replace a single non-ASCII
93175         byte with "\201" to avoid glitches when editing that source file
93176         with multi-gnome-terminal.
93177
93178 2003-08-05  Paul Eggert  <eggert@twinsun.com>
93179
93180         * lib/bumpalloc.h: Remove.
93181
93182 2003-08-05  Paul Eggert  <eggert@twinsun.com>
93183
93184         * MODULES.html.sh (func_all_modules): Remove bumpalloc.
93185         * modules/bumpalloc: Remove.
93186
93187 2003-08-04  Paul Eggert  <eggert@twinsun.com>
93188
93189         * lib/getloadavg.c: Change copyright notice and spacing to conform to
93190         GNU coding style.
93191
93192         Merge from coreutils.
93193         * lib/error.c [!USE_IN_LIBIO]: Omit this case; assume USE_IN_LIBIO is
93194         1. From glibc.
93195         * lib/getdate.y (date): Also accept dates like May-23-2003; suggestion
93196         from Karl Berry, implemented by Jim Meyering.
93197         * lib/getgroups.c: Include "xalloc.h" instead of declaring xalloc fns;
93198         from Dmitry V. Levin.
93199         Remove anachronistic cast of xrealloc.
93200         * lib/fnmatch_.h (__const): Remove.  Use 'const'.
93201         * lib/fnmatch_loop.c (NEW_PATTERN): Cast alloca return value to proper
93202         type. Otherwise, it wouldn't compile with at least /bin/cc on
93203         ymp-cray-unicos9.0.2.X.
93204         Combine two mostly-identical uses of alloca into one.
93205         Thanks to the Cray-Cyber project for access to a Cray Y-MP.
93206
93207 2003-08-04  Dave Love  <d.love@dl.ac.uk>
93208
93209         [From Emacs.]
93210
93211         * lib/getloadavg.c: Check `__unix' as well as `unix'.  Use #ifdef, not
93212         #if.  Check HAVE_LIBKSTAT as well as LOAD_AVE_TYPE.  Check
93213         F_SETFD, not FD_SETFD.  Use HAVE_STRUCT_NLIST_N_UN_N_NAME, not
93214         obsolete NLIST_NAME_UNION.
93215         [__GNU__]: Undef BSD and FSCALE.
93216         [!NLIST_STRUCT]: Remove conditional definition of NLIST_STRUCT.
93217
93218 2003-08-03  Paul Eggert  <eggert@twinsun.com>
93219
93220         * lib/stdbool_.h (_Bool): Make it signed char, instead of
93221         an enum type, so that it's guaranteed to promote to int.  See:
93222         <http://mail.gnu.org/archive/html/bug-gnulib/2003-07/msg00124.html>
93223
93224 2003-08-03  Karl Berry  <karl@gnu.org>
93225
93226         * config/depcomp: update from automake.
93227
93228 2003-07-31  Paul Eggert  <eggert@twinsun.com>
93229
93230         * lib/strerror.c: Include config.h, limits.h.  Declare sprintf.
93231         (strerror): Don't assume that a printable int fits in 14 bytes.
93232
93233 2003-07-31  Bruno Haible  <bruno@clisp.org>
93234
93235         * modules/getpass-gnu: New file.
93236         * MODULES.html.sh (func_all_modules): Add getpass-gnu.
93237
93238 2003-07-31  Bruno Haible  <bruno@clisp.org>
93239
93240         * m4/getpass.m4 (gl_FUNC_GETPASS_GNU): New macro.
93241
93242 2003-07-24  Karl Berry  <karl@gnu.org>
93243
93244         * config/missing: update from automake.
93245
93246 2003-07-24  Derek Robert Price  <derek@ximbiot.com>
93247             Bruno Haible  <bruno@clisp.org>
93248
93249         * lib/getline.h (getline, getdelim): Change return type to ssize_t.
93250         * lib/getline.c (getline, getdelim): Likewise.
93251         Remove _GNU_SOURCE define; now it's defined in config.h through
93252         m4/getline.m4.
93253
93254 2003-07-23  Karl Berry  <karl@gnu.org>
93255
93256         * config/config.sub: update from prep.
93257
93258 2003-07-22  Paul Eggert  <eggert@twinsun.com>
93259
93260         * modules/xalloc (Depends-on): Add exitfail.
93261         * modules/xmemcoll: Likewise.
93262
93263 2003-07-22  Paul Eggert  <eggert@twinsun.com>
93264
93265         * lib/xalloc.h (XCALLOC, XREALLOC, CCLONE): Fix under- and
93266         over-parenthesization in macros.
93267
93268         Sync with coreutils.
93269
93270         * lib/xalloc.h (XMALLOC, XCALLOC, XREALLOC): Remove casts not
93271         required by C99.
93272
93273         Use `exit_failure' for xalloc and xmemcoll instead of their own
93274         private exit-failure variables.
93275         * lib/xalloc.h (xalloc_exit_failure): Remove.
93276         * lib/xmalloc.c: Likewise.  Include exitfail.h.
93277         (xalloc_die): Use exit_failure instead of xalloc_exit_failure.
93278         * lib/xmemcoll.h (xmemcoll_exit_failure): Remove.
93279         * lib/xmemcoll.c: Likewise.  Include exitfail.h.
93280         (xmemcoll): Use exit_failure instead of xalloc_exit_failure.
93281
93282 2003-07-20  Jim Meyering  <jim@meyering.net>
93283
93284         * modules/closeout (Depends-on): Add exitfail.
93285         Suggestion from Bruno Haible.
93286
93287 2003-07-19  Karl Berry  <karl@gnu.org>
93288
93289         * config/config.sub: update from prep.
93290
93291 2003-07-18  Paul Eggert  <eggert@twinsun.com>
93292
93293         * lib/closeout.h (close_stdout_set_status, close_stdout_status):
93294         Remove.
93295         * lib/closeout.c: Likewise.  Include "closeout.h" right after config.h,
93296         to test that it can stand by itself.  Include "exitfail.h".
93297         Clients should set exit_failure instead.
93298         (EXIT_FAILURE): Remove; no longer needed.  Do not include <stdlib.h>.
93299
93300 2003-07-18  Bruno Haible  <bruno@clisp.org>
93301
93302         * modules/getndelim2: New file.
93303         * modules/getline: Share files with module getndelim2.
93304         * modules/getnline: Depend on getndelim2 instead of sharing files with
93305         it. Add getnline.c to lib_SOURCES.
93306         * MODULES.html.sh (func_all_modules): Add getndelim2.
93307
93308 2003-07-18  Bruno Haible  <bruno@clisp.org>
93309
93310         * m4/getndelim2.m4: New file.
93311         * m4/getline.m4 (AM_FUNC_GETLINE): Add AC_LIBOBJ of getndelim2.c and
93312         invoke gl_PREREQ_GETNDELIM2.
93313         (gl_PREREQ_GETLINE): Drop AC_HEADER_STDC, now done by
93314         gl_PREREQ_GETNDELIM2.
93315         * m4/getnline.m4 (gl_GETNLINE): Drop AC_HEADER_STDC, now done by
93316         gl_GETNDELIM2.
93317
93318 2003-07-18  Bruno Haible  <bruno@clisp.org>
93319
93320         * lib/getndelim2.h: New file.
93321         * lib/getndelim2.c: Make into a module of its own. Include config.h,
93322         getndelim2.h.
93323         (getndelim2): Make non-static. Change return type to ssize_t.
93324         * lib/getline.h: Change argument names.
93325         * lib/getline.c: Include getndelim2.h instead of getndelim2.c.
93326         * lib/getnline.c: Include getndelim2.h.
93327
93328 2003-07-18  Andreas Schwab  <schwab@suse.de>
93329
93330         * lib/memcoll.c (memcoll) [!HAVE_STRCOLL]: Clear errno.
93331
93332 2003-07-17  Karl Berry  <karl@gnu.org>
93333
93334         * config/config.sub: update from prep.
93335
93336 2003-07-17  Bruno Haible  <bruno@clisp.org>
93337
93338         * modules/getnline: New file.
93339         * modules/getline: Add lib/getndelim2.c to source file list.
93340         * MODULES.html.sh (func_all_modules): Add getnline.
93341
93342 2003-07-17  Bruno Haible  <bruno@clisp.org>
93343
93344         * m4/getnline.m4: New file.
93345
93346 2003-07-17  Bruno Haible  <bruno@clisp.org>
93347
93348         * m4/Makefile.am.in: Remove file.
93349         * m4/Makefile.am: Remove file.
93350         * m4/Makefile.in: Remove file.
93351
93352 2003-07-17  Bruno Haible  <bruno@clisp.org>
93353
93354         * lib/getnline.h: New file.
93355         * lib/getnline.c: New file.
93356         * lib/getndelim2.c: New file, extracted from getline.c.
93357         (getndelim2): Renamed from getdelim2, with added nmax argument.
93358         * lib/getline.c: Include getndelim2.c.
93359         (getdelim2): Moved out to getndelim2.c.
93360         (getline, getdelim): Update.
93361
93362 2003-07-17  Bruno Haible  <bruno@clisp.org>
93363
93364         * lib/Makefile.am: Remove file.
93365         * lib/Makefile.in: Remove file.
93366
93367 2003-07-17  Bruno Haible  <bruno@clisp.org>
93368
93369         * configure.in: Remove file.
93370         * Makefile.in: Remove file.
93371
93372 2003-07-17  Bruno Haible  <bruno@clisp.org>
93373
93374         * MODULES.html.sh: Put the </BODY> right before </HTML>.
93375
93376 2003-07-16  Karl Berry  <karl@gnu.org>
93377
93378         * config/srclist-update: was running fixlicense twice, which caused
93379                 texinfo.tex to be nullified for some reason.  Simplify,
93380                 $gplsrc is no longer needed as far as I can see?
93381
93382 2003-07-16  Jim Meyering  <jim@meyering.net>
93383
93384         * modules/save-cwd: Depend on xgetcwd.  From Derek Price.
93385
93386 2003-07-15  Paul Eggert  <eggert@twinsun.com>
93387
93388         * config/srclist.txt: Get the following files from gettext-runtime/intl
93389         instead: config.charset, localcharset.c, localcharset.h, ref-add.sin,
93390         ref-del.sin.  From Bruno Haible.
93391         * config/srclist-update (fixfile): Change grep pattern again, since the
93392         previous fix didn't work (there was another trailing $).  Use
93393         '[$]' to escape the $s.
93394
93395 2003-07-15  Karl Berry  <karl@gnu.org>
93396
93397         * lib/vasnprintf.c: update from gettext.
93398
93399 2003-07-15  Karl Berry  <karl@gnu.org>
93400
93401         * config/srclist-update (fixfile): Change grep pattern, since 'Id'
93402         gets expanded when surrounded by '$'.
93403
93404 2003-07-15  Jim Meyering  <jim@meyering.net>
93405
93406         * modules/save-cwd: Don't depend on error.  From Derek Price.
93407
93408 2003-07-15  Jim Meyering  <jim@meyering.net>
93409
93410         * lib/makepath.c (make_path): Enclose diagnostic in _(...).
93411
93412 2003-07-14  Simon Josefsson  <jas@extundo.com>
93413
93414         * modules/mempcpy: New file.
93415         * MODULES.html.sh (func_all_modules): Add mempcpy.
93416
93417 2003-07-14  Simon Josefsson  <jas@extundo.com>
93418
93419         * m4/mempcpy.m4: New file.
93420
93421 2003-07-14  Simon Josefsson  <jas@extundo.com>
93422
93423         * lib/mempcpy.h: New file.
93424         * lib/mempcpy.c: New file.
93425
93426 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93427
93428         * modules/getdate, modules/posixtm: Depend on mktime.
93429
93430 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93431
93432         * lib/ceill.c, expl.c, floorl.c, frexpl.c, ldexpl.c, mathl.h,
93433         sincosl.c, sqrtl.c, trigl.c, trigl.h, poll.c, poll_.h, mkstemp.c,
93434         unicodeio.c, unicodeio.h, unlocked-io.h:
93435         Switch from LGPL to GPL.
93436
93437 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93438
93439         * lib/asnprintf.c, asprintf.c, config.charset, gettext.h,
93440         localcharset.c, localcharset.h, mkdtemp.c, printf-args.c,
93441         printf-args.h, printf-parse.c, printf-parse.h, ref-add.sin,
93442         ref-del.sin, setenv.c, unsetenv.c, vasnprintf.c, vasnprintf.h,
93443         vasprintf.c, vasprintf.h: Regenerate.  These files are now being
93444         updated automatically by ../config/srclist-update.  This changes
93445         their license from LPGL to GPL.
93446
93447 2003-07-14  Paul Eggert  <eggert@twinsun.com>
93448
93449         * config/srclist.txt: Add tons more gettext files.  $GETTEXT is now
93450         assumed to refer to the root of the most recent stable gettext version.
93451         * config/srclistvars.sh: Add defaults for eggert.
93452         * config/srclist-update: Convert LGPL to GPL in shell scripts, too.
93453         Match "This program" as well as "The program".  This is needed
93454         for gettext.
93455
93456 2003-07-14  Jim Meyering  <jim@meyering.net>
93457
93458         Don't emit diagnostics.  Let callers do that.
93459         * lib/save-cwd.c: Don't include "error.h".
93460         (save_cwd): Don't call error.  Ensure that errno is valid
93461         when returning nonzero.
93462
93463         * lib/save-cwd.h (restore_cwd): Update prototype.
93464         * lib/save-cwd.c (restore_cwd): Remove two parameters.
93465         Simplify.  Don't call error upon failure.  Let callers do that.
93466         (save_cwd): Mention that Irix 5.3 has the same problem as SunOS 4
93467         when auditing is enabled.  But don't bother updating the #if.
93468
93469 2003-07-11  Alexandre Duret-Lutz  <adl@gnu.org>
93470
93471         * lib/obstack.h (__INT_TO_PTR): Revert change of 2003-03-13;
93472         it breaks C++ compilation.
93473         [!__GNUC__ || !__STDC__] (obstack_finish): Cast result to void*.
93474
93475 2003-07-10  Simon Josefsson  <jas@extundo.com>
93476
93477         * modules/strchrnul (Makefile.am): Add strchrnul.h.
93478
93479 2003-07-10  Jim Meyering  <jim@meyering.net>
93480
93481         * m4/clock_time.m4: Remove trailing blank.
93482         * m4/intmax_t.m4: Likewise.
93483
93484 2003-07-10  Jim Meyering  <jim@meyering.net>
93485
93486         * lib/vasnprintf.c: Remove trailing blanks.
93487         Make cpp indentation consistent.
93488
93489 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93490
93491         * lib/alloca_.h, euidaccess.c, getpass.c, memrchr.c, obstack.h,
93492         posixver.c, strftime.c, strnlen.c, strverscmp.c:
93493         Switch from LGPL to GPL.
93494
93495 2003-07-09  Paul Eggert  <eggert@twinsun.com>
93496
93497         * config/srclist.txt: Sort sublists.  Add
93498         $LIBCSRC/sysdeps/generic/strtoul.c. In comments, add more libc files
93499         that differ from gnulib for one reason or another; we'd like this list
93500         to be smaller but for now let's document what we have.
93501
93502 2003-07-08  Paul Eggert  <eggert@twinsun.com>
93503
93504         * config/srclist-update: Port to POSIX 1003.1-2001 hosts by avoiding
93505         the use of GNU extensions.  Change "x=`eval echo $x`" to the shorter
93506         and sweeter "eval x=$x".
93507         * config/srclist.txt: Get lib/argp* from glibc.
93508
93509 2003-07-07  Paul Eggert  <eggert@twinsun.com>
93510
93511         * lib/mktime.c: Fix some boundary cases and remove need for floating
93512         point.
93513
93514         Issue a compile-time diagnostic if time_t is floating point, or if
93515         two's complement arithmetic is not in effect, or if arithmetic
93516         right shift does not propagate the sign.  These assumptions were
93517         all in the original code but they weren't checked.
93518
93519         (TIME_T_MIDPOINT, verify): New macros.
93520         (__isleap): Remove; it has integer overflow problems.
93521         (leapyear): New function, without those problems.
93522         (ydhms_tm_diff): Remove; splitting into two parts.
93523         (ydhms_diff): New function, containing the arithmetic part of
93524         the old ydhms_tm_diff function.  Issue a compile-time
93525         diagnostic if we are not using C99 integer division.
93526         Avoid casts when possible.
93527         (guess_time_tm): New function, containing the checking part of
93528         the old ydhms_tm_diff function.  Return the new value, rather than
93529         the difference between it and the old.  Accept a new argument T
93530         so that *T specifies the old value.  Check for overflow in the result.
93531
93532         (__mktime_internal): Use a time_t offset, not a long int offset.
93533         This undoes the 2003-06-04 change, which is no longer needed now
93534         that we have better overflow checking.
93535         (localtime_offset): Likewise.
93536
93537         (__mktime_internal): Avoid harmful overflow on hosts where time_t
93538         and long are 64-bit but int is only 32-bit.
93539         (ydhms_diff): Use long int to store year1 and yday1.
93540         Issue a compile-time diagnostic if long int is not wide enough.
93541
93542         (__mktime_internal): Use long int to store adjusted year and yday.
93543         Use plain C rather than preprocessor commands, if that doesn't
93544         affect efficiency.
93545         Check for overflow (and try to repair) after each probe
93546         rather than checking only at the very end.  This avoids some bugs
93547         (e.g., southern hemisphere, behind GMT, and GMT offset at minimum time
93548         does not equal GMT offset at maximum time).
93549         Use integer to check for overflow rather than floating point; this
93550         is more portable to non-IEEE hosts, and is a tad faster.
93551         When we detect that we are oscillating between two values,
93552         don't check whether tm_isdst has the requested value, since
93553         we already know the answer.  When tm_isdst has the wrong value,
93554         use a different heuristic to find the right one, based on the
93555         extreme values actually observed in practice in tz2003a,
93556         rather than the (overly optimistic) "previous 3 calendar quarters".
93557
93558         (not_equal_tm, print_tm, check_result): Use "const T" rather than
93559         "T const" to accommodate glibc style.
93560         (check_result): Use less-confusing report format.  "long" -> "long int.
93561         (main): Likewise.
93562         Don't loop if the iteration overflows time_t.
93563         Allow a negative step in the iteration.
93564
93565 2003-07-06  Karl Berry  <karl@gnu.org>
93566
93567         * config/depcomp: update from automake.
93568         * config/config.sub: update from prep.
93569
93570 2003-07-03  Karl Berry  <karl@gnu.org>
93571
93572         * config/config.guess: update from prep.
93573
93574 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93575
93576         * m4/xreadlink.m4 (gl_XREADLINK): Don't check for sys/types.h, since
93577         xreadlink.c now includes it unconditionally.
93578
93579 2003-07-01  Paul Eggert  <eggert@twinsun.com>
93580
93581         * lib/xreadlink.c: Include <sys/types.h> unconditionally, instead of
93582         having it depend on HAVE_SYS_TYPES_H.
93583
93584 2003-07-01  Bruno Haible  <bruno@clisp.org>
93585
93586         * m4/ssize_t.m4 (gt_TYPE_SSIZE_T): Don't include <unistd.h>.
93587         <sys/types.h> should be sufficient.
93588         Reported by Paul Eggert.
93589
93590 2003-06-26  Karl Berry  <karl@gnu.org>
93591
93592         * config/depcomp: update from automake.
93593
93594 2003-06-26  Bruno Haible  <bruno@clisp.org>
93595
93596         * modules/human: Depend on module stdbool.
93597
93598 2003-06-25  Bruno Haible  <bruno@clisp.org>
93599
93600         * modules/readlink: New file.
93601         * modules/xreadlink: Depend on it.
93602         * MODULES.html.sh (func_all_modules): Add readlink.
93603
93604 2003-06-25  Bruno Haible  <bruno@clisp.org>
93605
93606         * m4/readlink.m4: New file.
93607
93608 2003-06-25  Bruno Haible  <bruno@clisp.org>
93609
93610         * lib/readlink.c: New file.
93611
93612 2003-06-22  Karl Berry  <karl@gnu.org>
93613
93614         * config/srclist.txt: update mkinstalldirs from automake.
93615         * config/mkinstalldirs: update.
93616
93617 2003-06-22  Bruno Haible  <bruno@clisp.org>
93618
93619         Portability to mingw32.
93620         * m4/ssize_t.m4: New file, from GNU gettext.
93621         * m4/safe-read.m4 (gl_PREREQ_SAFE_READ): Require gt_TYPE_SSIZE_T.
93622         * m4/xreadlink.m4 (gl_XREADLINK): Require gt_TYPE_SSIZE_T.
93623
93624 2003-06-22  Bruno Haible  <bruno@clisp.org>
93625
93626         * modules/safe-read: Add m4/ssize_t.m4.
93627         * modules/xreadlink: Add m4/ssize_t.m4.
93628
93629 2003-06-20  Bruno Haible  <bruno@clisp.org>
93630
93631         Assume C89, so PARAMS isn't needed.
93632         * lib/unicodeio.h (PARAMS): Remove.
93633         * lib/unicodeio.c: Don't use PARAMS.
93634
93635 2003-06-18  Karl Berry  <karl@gnu.org>
93636
93637         * config/config.{guess,sub}: update from prep.
93638
93639 2003-06-18  Jim Meyering  <jim@meyering.net>
93640
93641         Merge changes from coreutils.
93642         * lib/readutmp.c: Include <string.h> and <stdlib.h> unconditionally.
93643         Remove explicit declarations of xmalloc and realloc.
93644         Include xalloc.h.
93645         (read_utmp): Remove anachronistic cast of xmalloc.
93646
93647 2003-06-17  Paul Eggert  <eggert@twinsun.com>
93648
93649         Assume C89, so PARAMS isn't needed.
93650         * lib/backupfile.h (PARAMS): Remove.  All uses removed.
93651         * lib/closeout.h, lib/dirname.h, lib/filemode.h, lib/fsusage.h,
93652         lib/getdate.h, lib/getline.h, lib/group-member.h, lib/hard-locale.h,
93653         lib/hash.h, lib/linebuffer.h, lib/long-options.h, lib/makepath.h,
93654         lib/memcasecmp.h, lib/memcoll.h, lib/modechange.h, lib/mountlist.h,
93655         lib/path-concat.h, lib/physmem.h, lib/posixtm.h, lib/quote.h,
93656         lib/readutmp.h, lib/same.h, lib/save-cwd.h, lib/savedir.h,
93657         lib/stdio-safer.h, lib/strtoimax.c, lib/strverscmp.h,
93658         lib/unistd-safer.h, lib/version-etc.h, lib/xalloc.h, lib/xreadlink.h,
93659         lib/xstrtod.h, lib/xstrtol.h: Likewise.
93660         * lib/filemode.h, lib/hard-locale.h, lib/memcoll.h, lib/modechange.h,
93661         lib/physmem.h, lib/same.h, lib/strverscmp.h: Do not include config.h;
93662         no longer needed. Anyway, config.h should always be included before any
93663         other file.
93664
93665 2003-06-11  Simon Josefsson  <jas@extundo.com>
93666
93667         * modules/sysexits: New file.
93668         * MODULES.html.sh (func_all_modules): Add sysexits.
93669
93670 2003-06-11  Simon Josefsson  <jas@extundo.com>
93671
93672         * lib/sysexit_.h: New file.
93673
93674 2003-06-11  Derek Price  <derek@ximbiot.com>
93675
93676         * lib/stat.c [LSTAT]: Compile/use slash_aware_lstat only if it is
93677         necessary.
93678
93679 2003-06-11  Bruno Haible  <bruno@clisp.org>
93680
93681         * m4/sysexits.m4: New file.
93682
93683 2003-06-10  Simon Josefsson  <jas@extundo.com>
93684
93685         * lib/argp.h: New file, from glibc.
93686         * lib/argp-ba.c: New file, from glibc.
93687         * lib/argp-eexst.c: New file, from glibc.
93688         * lib/argp-fmtstream.c: New file, from glibc.
93689         * lib/argp-fmtstream.h: New file, from glibc.
93690         * lib/argp-fs-xinl.c: New file, from glibc.
93691         * lib/argp-help.c: New file, from glibc.
93692         * lib/argp-namefrob.h: New file, from glibc.
93693         * lib/argp-parse.c: New file, from glibc.
93694         * lib/argp-pv.c: New file, from glibc.
93695         * lib/argp-pvh.c: New file, from glibc.
93696         * lib/argp-xinl.c: New file, from glibc.
93697
93698 2003-06-10  Simon Josefsson  <jas@extundo.com>
93699
93700         * modules/strchrnul: New file.
93701
93702 2003-06-10  Simon Josefsson  <jas@extundo.com>
93703
93704         * modules/argp: New file.
93705
93706 2003-06-10  Simon Josefsson  <jas@extundo.com>
93707
93708         * m4/strchrnul.m4: New file.
93709
93710 2003-06-10  Simon Josefsson  <jas@extundo.com>
93711
93712         * lib/strchrnul.h: New file.
93713         * lib/strchrnul.c: New file.
93714
93715 2003-06-10  Bruno Haible  <bruno@clisp.org>
93716
93717         * MODULES.html.sh (func_all_modules): Add strchrnul and argp.
93718
93719 2003-06-07  Karl Berry  <karl@gnu.org>
93720
93721         * config/config.{guess,sub}: update from prep.
93722
93723 2003-06-07  Jim Meyering  <jim@meyering.net>
93724
93725         * modules/strtod: Use $(...) notation, not @...@ for
93726         AC_REPLACE'd variables.
93727         * modules/localcharset: Likewise.
93728
93729 2003-06-07  Jim Meyering  <jim@meyering.net>
93730
93731         * lib/readtokens.h: Put `Free Software Foundation, Inc.'
93732         in place of my name in the copyright comment.
93733         Remove definition and uses of __P.
93734
93735         From coreutils.
93736         * lib/stat.c: Don't declare xmalloc explicitly.
93737         Instead, include "xalloc.h".
93738         * lib/readtokens.c (readtokens): Remove anachronistic casts of xmalloc,
93739         xrealloc, and xcalloc return values.
93740         * lib/xgetcwd.c (xgetcwd): Include "xgetcwd.h".
93741         Improve comment.
93742         * lib/xgetcwd.h: Remove definition/uses of PARAMS.
93743
93744 2003-06-07  Bruno Haible  <bruno@clisp.org>
93745
93746         * modules/poll (Makefile.am): Use explicit creation rule for poll.h, to
93747         avoid AC_CONFIG_LINKS.
93748         * modules/fnmatch (Makefile.am): Use explicit creation rule for
93749         fnmatch.h, to avoid AC_CONFIG_LINKS.
93750         * modules/alloca (Makefile.am): Make creation of alloca.h Ctrl-C safe.
93751
93752 2003-06-07  Bruno Haible  <bruno@clisp.org>
93753
93754         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH, gl_FUNC_FNMATCH_POSIX,
93755         gl_FUNC_FNMATCH_GNU): Set FNMATCH_H instead of invoking
93756         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93757         directory.
93758         * m4/poll.m4 (gl_FUNC_POLL): Set POLL_H instead of invoking
93759         AC_CONFIG_LINKS. Needed to allow for a different name of the lib
93760         directory.
93761
93762 2003-06-06  Jim Meyering  <jim@meyering.net>
93763
93764         Merge from coreutils.
93765         * lib/same.c: (same_name): Declare *_basename locals to be `const'.
93766         Consolidate declarations and initializations of *_base* locals.
93767
93768         Merge from coreutils.
93769         This avoids a core dump on systems without GNU putenv,
93770         when running `env -u SOME_ALREADY_UNSET_VARIABLE'.
93771         * lib/putenv.c (__set_errno, LOCK, UNLOCK): Define.
93772         (unsetenv): New static function, from GNU libc.
93773         (rpl_putenv): Use it.
93774
93775         * lib/modechange.c: Remove trailing blanks.
93776
93777         Merge from coreutils.
93778         * lib/fsusage.c: Remove declaration of statfs.
93779         It conflicted with one from OSF/1 5.1 in <sys/mount.h>.
93780
93781         * lib/posixtm.c: Include <stdbool.h> unconditionally.
93782
93783 2003-06-06  Jim Meyering  <jim@meyering.net>
93784
93785         * lib/stdbool_.h: Renamed from stdbool.h.in.
93786
93787 2003-06-06  Jim Meyering  <jim@meyering.net>
93788             Bruno Haible  <bruno@clisp.org>
93789
93790         * modules/stdbool: Reflect renaming: stdbool.h.in -> stdbool_.h.
93791         Adjust Makefile.am snippet not to redirect directly to target.
93792         Use $(STDBOOL_H) notation, not @STDBOOL_H@ for AC_REPLACE'd variables.
93793
93794 2003-06-05  Paul Eggert  <eggert@twinsun.com>
93795
93796         * lib/mktime.c (__mktime_internal): When resolving a tm_isdst
93797         mismatch, look in future quarters as well as past.  This fixes a
93798         bug when processing fall-backwards gaps immediately after a long
93799         period of daylight-saving time.
93800
93801         * lib/mktime.c: Assume freestanding C89 or better.
93802         (HAVE_LIMITS_H): Remove.  Assume it's 1.
93803         (__P): Remove; not used.
93804         (CHAR_BIT, INT_MIN, INT_MAX): Remove; <limits.h> defines them.
93805         (mktime, not_equal_tm, print_tm, check_result,
93806         main): Use prototypes.  Use const * where appropriate.
93807         (main): Fix typo in testing code that uncovered by above changes.
93808         (Local Variables): Remove -DHAVE_LIMITS_H from compile-command.
93809
93810 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93811
93812         * m4/human.m4 (gl_HUMAN): Require AM_STDBOOL_H.  Check for
93813         locale.h, localeconv.  This merges changes from coreutils.
93814
93815         * m4/mktime.m4 (AC_FUNC_MKTIME): New macro, taken from Autoconf CVS.
93816         It can be removed after the next Autoconf is released.
93817         * m4/exclude.m4 (gl_EXCLUDE): Don't check for sys/types.h; no loner
93818         needed.
93819
93820 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93821
93822         * lib/mktime.c: Fix Debian bug 177940
93823         <http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=177940>.
93824         (localtime_offset): Now long int, not time_t, because we want it
93825         to be guaranteed to be signed.  All uses changed.
93826         (__mktime_internal): If overflow would occur when adding offset,
93827         don't add it.
93828
93829         Merge 'human' changes from coreutils.  Rewrite to support
93830         locale-specific notations like thousands separators.
93831         * lib/human.c: Simplify authorship notice.
93832         Include human.h immediately after config.h.
93833         <sys/types.h>, <stdio.h>: Do not include; no longer needed.
93834         <limits.h>: Do not include, since human.h does.
93835         (SIZE_MAX, UINTMAX_MAX): New macros.
93836         <strings.h>: Include if HAVE_STRINGS_H, not if !HAVE_STRING_H.
93837         <locale.h>: Include if HAVE_LOCALE_H and HAVE_LOCALECONV.
93838         (HUMAN_READABLE_SUFFIX_LENGTH_MAX): New macro.
93839         (power_letter): Renamed from suffixes.
93840         (generate_suffix_backwards): Remove.
93841         (adjust_value): Now takes int style (because of human.h changes)
93842         and long double value (for greater precision on some platforms).
93843         (group_number): New function.
93844         (human_readable): Use it.  Use integer options, not enum.
93845         Put the options before the sizes in the arg list.
93846         Support all the new options.
93847         The old human_readable function has been removed;
93848         use inttostr.h instead.
93849         (human_readable, default_block_size, humblock):
93850         Use uintmax_t, not int, for block sizes.
93851         (human_readable_inexact, block_size_types): Remove.
93852         (block_size_opts): New constant.
93853         (human_options): Renamed from human_block_size, with new signature
93854         that allows block sizes up to UINTMAX_MAX.  All callers changed.
93855         * lib/human.h: Add copyright and authorship notice.
93856         Include <limits.h> and <stdbool.h> unconditionally.
93857         (PARAMS): Remove.  All uses removed.
93858         (LONGEST_HUMAN_READABLE): Add support for thousands separator.
93859         (enum human_inexact_style): Remove tag; now a nameless enum.
93860         (human_floor, human_ceiling, human_round_to_even): Now have
93861         values 2, 0, 1 rather than -1, 1, 0.
93862         (human_group_digits, human_suppress_point_zero, human_autoscale,
93863         human_base_1024, human_SI, human_B): New constants.
93864         (human_readable_inexact, human_block_size): Remove.
93865         (human_readable): Size args are now uintmax_t, not int.
93866         (human_options): New decl.
93867
93868         * lib/exclude.c: (new_exclude, add_exclude): Remove casts that are
93869         unnecessary now that we assume C89 or better.  This change
93870         imported from coreutils.
93871
93872         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
93873         arbitrarily.  This is the same patch as 2003-05-28, but it got lost
93874         in the 2003-05-30 sync from glibc.
93875
93876         .h files should stand alone, but we shouldn't include <sys/types.h>
93877         if we can get away with just <stddef.h>.
93878
93879         * lib/__fpending.h, addext.c, backupfile.c, exclude.c, getline.c,
93880         malloc.c, putenv.c, realloc.c, strcasecmp.c: Include <stddef.h>
93881         rather than <sys/types.h>, as we merely need size_t.
93882         * lib/dirname.h, memcoll.h, xalloc.h, xmemcoll.h: Include <stddef.h>,
93883         to get size_t.
93884         * lib/hash.h, linebuffer.h, readtokens.h, stdio-safer.h, version-etc.h:
93885         Include <stdio.h>, to get FILE.
93886         * lib/memcasecmp.c: Don't include <sys/types.h>, as we can assume
93887         memcasecmp.h has included <stddef.h> and all we need is size_t.
93888         * lib/memcoll.c: Include "memcoll.h", which gets us size_t and checks
93889         our interface, instead of including <sys/types.h>
93890
93891 2003-06-04  Paul Eggert  <eggert@twinsun.com>
93892
93893         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): Comment out for
93894         now, as glibc mktime is buggy on non-glibc systems.
93895
93896 2003-06-03  Karl Berry  <karl@gnu.org>
93897
93898         * config/config.sub: update from prep.
93899
93900 2003-06-02  Paul Eggert  <eggert@twinsun.com>
93901
93902         [from coreutils]
93903         Fix some minor time-related bugs with POSIX time arguments.
93904         Some valid time stamps were being rejected (notably -1, and
93905         time stamps before 1900 on 64-bit hosts).  And some invalid
93906         time stamps were being accepted, e.g. September 31.
93907
93908         * lib/posixtm.h (posixtime): Return bool instead of time_t, so
93909         that we can return (time_t) -1 successfully.
93910         * lib/posixtm.c: Likewise.
93911         [HAVE_STDBOOL_H]: Include <stdbool.h>.
93912         (bool, false, true) [!HAVE_STDBOOL_H]: New type.
93913         (t): Remove static var.
93914         (year, posix_time_parse): Now takes struct tm * arg to modify, instead
93915         of static var.  All uses changed.
93916         (year): Do not reject years before 1900; they can occur with
93917         64-bit time_t.
93918         (posix_time_parse): Do not check for out-of-range components;
93919         that is now the caller's responsibility, since our checks were
93920         only approximations.
93921         (posixtime): Use mktime to check for out-of-range components,
93922         since it knows them exactly.
93923         If mktime returns (time_t) -1, check whether an error actually occurred
93924         by invoking localtime on -1.
93925         (main) [TEST_POSIXTIME]: Check for input data errors, and report
93926         posixtime failures better.
93927         Improve the test data (in comments only).
93928
93929 2003-06-02  Karl Berry  <karl@gnu.org>
93930
93931         * config/mkinstalldirs (version): new variable.
93932         (--version): new option.
93933         (usage): improve message.
93934
93935 2003-05-30  Karl Berry  <karl@gnu.org>
93936
93937         * lib/mktime.c: update from libc.
93938
93939 2003-05-30  Bruno Haible  <bruno@clisp.org>
93940
93941         * modules/gettext: Add files m4/nls.m4 and m4/po.m4.
93942         * config/config.rpath: Upgrade to gettext-0.12.1.
93943
93944 2003-05-30  Bruno Haible  <bruno@clisp.org>
93945
93946         * m4/gettext.m4: Upgrade to gettext-0.12.1.
93947         * m4/nls.m4: New file, from gettext-0.12.1.
93948         * m4/po.m4: New file, from gettext-0.12.1.
93949         * m4/progtest.m4: Upgrade to gettext-0.12.1.
93950
93951 2003-05-30  Bruno Haible  <bruno@clisp.org>
93952
93953         * lib/config.charset: Upgrade to gettext-0.12.1 and libiconv-1.9.1.
93954         * lib/localcharset.h: Likewise.
93955         * lib/localcharset.c: Likewise.
93956
93957 2003-05-29  Karl Berry  <karl@gnu.org>
93958
93959         * config/config.rpath: update from gettext.
93960
93961 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93962
93963         Assume the headers required for C89 freestanding compilers.
93964         * m4/backupfile.m4 (gl_BACKUPFILE): Don't check for limits.h.
93965         * m4/fsusage.m4 (gl_PREREQ_FSUSAGE_EXTRA): Likewise.
93966         * m4/human.m4 (gl_HUMAN): Likewise.
93967         * m4/pathmax.m4 (gl_PATHMAX): Likewise.
93968         * m4/rpmatch.m4 (gl_FUNC_RPMATCH): Likewise.
93969         * m4/userspec.m4 (gl_USERSPEC): Likewise.
93970         * m4/xreadlink.m4 (gl_XREADLINK): Likewise.
93971         * m4/xstrtol.m4 (gl_PREREQ_XSTRTOL): Likewise.
93972         * m4/quote.m4 (gl_QUOTE): Don't check for stddef.h.
93973
93974 2003-05-28  Paul Eggert  <eggert@twinsun.com>
93975
93976         Assume the headers required for C89 freestanding compilers.
93977         * lib/addext.c, lib/backupfile.c, lib/fsusage.c, lib/human.c,
93978         lib/pathmax.h, lib/rpmatch.c, lib/userspec.c, lib/xreadlink.c,
93979         lib/xstrtol.c: Include <limits.h> without checking for HAVE_LIMITS_H.
93980         * lib/backupfile.c, lib/fsusage.c, lib/hash.c, lib/human.c,
93981         lib/safe-read.c, lib/userspec.c, lib/xstrtol.c (CHAR_BIT): Don't
93982         define, since <limits.h> is guaranteed to do that.
93983         * lib/fatal.c: Include <stdarg.h> without checking for __STDC__.
93984         * lib/exclude.c: Include <stdbool.h> unconditionally.
93985         * lib/tempname.c: Include <stddef.h> unconditionally.
93986         * lib/hash.c: Include <limits.h>, since we no longer define CHAR_BIT.
93987         * lib/modechange.c, rpmatch.c (NULL): Don't define, since
93988         <stddef.h> does that.
93989         * lib/quote.c: Dont include <stddef.h> or <sys/types.h>; not needed.
93990         * lib/safe-read.c (INT_MAX): Don't define, since <limits.h> does that.
93991         * lib/safe-read.c (TYPE_MINIMUM, TYPE_MAXIMUM): Remove; no longer
93992         needed.
93993         * lib/xstrtol.c: Likewise.
93994         * lib/safe-read.c: Remove TYPE_SIGNED; no longer needed.
93995         * lib/savedir.c: Include <stddef.h> instead of defining NULL.
93996
93997         * lib/addext.c (addext): Use assignment rather than cast, to avoid
93998         warnings on some platforms.
93999
94000         * lib/mktime.c (__mktime_internal): Do not reject negative timestamps
94001         arbitrarily.
94002
94003 2003-05-26  Jim Meyering  <jim@meyering.net>
94004
94005         Merge in a change from coreutils:
94006         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Test the cache variable, not one
94007         that is guaranteed to be `no'.  Use `no_such_member' to indicate
94008         that condition, rather than `-1' which is slightly misleading.
94009         Change the name of the cache variable to have the gl_ prefix.
94010         Prompted by a patch from Richard Dawe for DJGPP.
94011
94012 2003-05-24  Karl Berry  <karl@gnu.org>
94013
94014         * config/config.guess: update from prep.
94015
94016 2003-05-22  Karl Berry  <karl@gnu.org>
94017
94018         * gnulib-tool (func_usage): =LIBRARY not =libRARY in help msg.
94019
94020 2003-05-20  Karl Berry  <karl@gnu.org>
94021
94022         * config/config.guess: update from prep.
94023
94024 2003-05-18  Karl Berry  <karl@gnu.org>
94025
94026         * config/srclistvars.sh (TEXMF): use TEXMFROOT instead, since TEXMF
94027         might actually be set by the user.
94028
94029         * config/depcomp, install-sh, mdate-sh: update from automake.
94030
94031 2003-05-17  Bruno Haible  <bruno@clisp.org>
94032
94033         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Fix a quoting bug leading to an
94034         invalid expansion for AC_EGREP_CPP.
94035         * m4/strtoimax.m4 (gl_FUNC_STRTOIMAX): Likewise.
94036         * m4/strtoumax.m4 (gl_FUNC_STRTOUMAX): Likewise.
94037         Suggested by Akim Demaille <akim@epita.fr> in
94038         http://mail.gnu.org/archive/html/bug-autoconf/2003-05/threads.html
94039
94040 2003-05-12  Jim Meyering  <jim@meyering.net>
94041
94042         * lib/strftime.c (my_strftime): Let the `-' (no-pad) flag affect
94043         the space-padded-by-default conversion specifiers, %e, %k, %l.
94044
94045 2003-05-12  Bruno Haible  <bruno@clisp.org>
94046
94047         * lib/linebreak.c (iconv_string_length): Don't return -1 just because
94048         the string is longer than 4 KB.
94049
94050 2003-05-11  Karl Berry  <karl@gnu.org>
94051
94052         * config/config.{guess,sub}: update from prep.
94053
94054 2003-05-09  Bruno Haible  <bruno@clisp.org>
94055
94056         * modules/error: Add m4/strerror_r.m4 to file list.
94057
94058 2003-05-03  Bruno Haible  <bruno@clisp.org>
94059
94060         Upgrade to Unicode-4.0.
94061         * lib/linebreak.c (nonspacing_table_data): Change width of U+00AD,
94062         U+0350..U+0357, U+035D..U+035F, U+0600..U+0603, U+0610..U+0615,
94063         U+0656..U+0658, U+0A01, U+0AE2..U+0AE3, U+0CBC, U+17B4..U+17B5,
94064         U+17DD, U+1920..U+1922, U+1927..U+192B, U+1932, U+1939..U+193B
94065         from 1 to 0. Change width of U+0CBF, U+0CC6, U+180E from 0 to 1.
94066         (uc_width): Change width of U+4DC0..U+4DFF from 2 to 1. Change width
94067         of U+2A6D7..U+2F7FF, U+2FA1E..U+2FFFD, U+30000..U+3FFFD from 1 to 2.
94068         Change width of U+E0100..U+E01EF from 1 to 0.
94069
94070 2003-04-25  Jim Meyering  <jim@meyering.net>
94071
94072         * lib/copy-file.c (copy_file_preserving): Declare buf_size to be
94073         of type size_t, not int.
94074
94075 2003-04-25  Bruno Haible  <bruno@clisp.org>
94076
94077         * lib/copy-file.c: Include <stddef.h>, for size_t.
94078
94079 2003-04-21  Paul Eggert  <eggert@twinsun.com>
94080
94081         * m4/error.m4 (gl_ERROR): Do not put under dynamic conditions some
94082         code which expansion is under static control.  Patch imported from
94083         Akim Demaille's patch to Bison; see
94084         <http://mail.gnu.org/archive/html/bison-patches/2003-03/msg00057.html>.
94085
94086 2003-04-14  Bruno Haible  <bruno@clisp.org>
94087
94088         * m4/error.m4 (jm_PREREQ_ERROR): Use AC_FUNC_VPRINTF.
94089
94090 2003-04-11  Jim Meyering  <jim@meyering.net>
94091
94092         Merge changes from Coreutils.
94093
94094         2003-03-22  Jim Meyering  <jim@meyering.net>
94095
94096         * lib/strftime.c (widen): Cast alloca return value to proper type.
94097
94098         2003-01-19  Ulrich Drepper  <drepper@redhat.com>
94099
94100         From GNU libc.
94101         * lib/strftime.c (my_strftime): Handle very large width
94102         specifications for numeric values correctly.  Improve checks for
94103         overflow.
94104
94105         2003-01-19  Jim Meyering  <jim@meyering.net>
94106
94107         * lib/strftime.c (widen) [COMPILE_WIDE]: Merge nearly-identical
94108         definitions.
94109         (nl_get_alt_digit) [! defined my_strftime]: Define.
94110         (my_strftime) [_NL_CURRENT]: Merge nearly-identical uses of
94111         _nl_get_alt_digit and _nl_get_walt_digit.
94112
94113         * lib/strftime.c (my_strftime): Merge in locale-related changes from
94114         libc. These changes have no effect outside of _LIBC.
94115
94116 2003-04-10  Bruno Haible  <bruno@clisp.org>
94117
94118         * modules/findprog: New file.
94119         * MODULES.html.sh (func_all_modules): Add it.
94120
94121 2003-04-10  Bruno Haible  <bruno@clisp.org>
94122
94123         * m4/findprog.m4: New file.
94124         * m4/eaccess.m4: New file.
94125
94126 2003-04-10  Bruno Haible  <bruno@clisp.org>
94127
94128         * lib/findprog.h: New file, from GNU gettext.
94129         * lib/findprog.c: New file, from GNU gettext.
94130
94131 2003-04-05  Jim Meyering  <jim@meyering.net>
94132
94133         Merge changes from Coreutils.
94134
94135         * lib/exclude.h (PARAMS): Remove definition and uses.
94136         * lib/exclude.c: Remove uses of `PARAMS'.
94137
94138         * lib/dirname.c [TEST_DIRNAME]: Update build instructions for test.
94139         Add test-cases for DOS filenames. Declare program_name.
94140         (main): Set up program_name.  Patch by Rich Dawe.
94141
94142         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Detect any
94143         error from mntctl.
94144         Use mntctl's return value to drive the entry-processing loop, since
94145         we can't rely on the value of the vmt_length member in the last
94146         entry.  On some systems doing so could result in exhausting
94147         virtual memory.  Based in part on a patch from Mike Jetzer.
94148
94149 2003-04-04  Bruno Haible  <bruno@clisp.org>
94150
94151         * modules/linebreak: New file.
94152         * MODULES.html.sh (func_all_modules): Add it.
94153
94154 2003-04-04  Bruno Haible  <bruno@clisp.org>
94155
94156         * m4/linebreak.m4: New file.
94157
94158 2003-04-04  Bruno Haible  <bruno@clisp.org>
94159
94160         * lib/linebreak.h: New file, from GNU gettext.
94161         * lib/linebreak.c: New file, from GNU gettext with slight
94162         modifications.
94163         * lib/lbrkprop.h: New file, from GNU gettext.
94164
94165 2003-04-03  Bruno Haible  <bruno@clisp.org>
94166
94167         * modules/utf8-ucs4: New file.
94168         * modules/utf16-ucs4: New file.
94169         * modules/ucs4-utf8: New file.
94170         * modules/ucs4-utf16: New file.
94171         * MODULES.html.sh (func_all_modules): Add them.
94172
94173 2003-04-03  Bruno Haible  <bruno@clisp.org>
94174
94175         * m4/utf-ucs4.m4: New file.
94176         * m4/ucs4-utf.m4: New file.
94177
94178 2003-04-03  Bruno Haible  <bruno@clisp.org>
94179
94180         * lib/utf8-ucs4.h: New file, from GNU gettext.
94181         * lib/utf16-ucs4.h: New file, from GNU gettext.
94182         * lib/ucs4-utf8.h: New file, from GNU gettext.
94183         * lib/ucs4-utf16.h: New file, from GNU gettext.
94184
94185 2003-04-02  Bruno Haible  <bruno@clisp.org>
94186
94187         * modules/binary-io: New file.
94188         * MODULES.html.sh (func_all_modules): Add it.
94189
94190 2003-04-02  Bruno Haible  <bruno@clisp.org>
94191
94192         * lib/binary-io.h: New file, from GNU gettext.
94193
94194 2003-04-01  Bruno Haible  <bruno@clisp.org>
94195
94196         * modules/pathname: New file.
94197         * MODULES.html.sh (func_all_modules): Add it.
94198
94199 2003-04-01  Bruno Haible  <bruno@clisp.org>
94200
94201         * lib/pathname.h: New file, from GNU gettext.
94202         * lib/concatpath.c: New file, from GNU gettext.
94203
94204 2003-03-30  Bruno Haible  <bruno@clisp.org>
94205
94206         * m4/copy-file.m4 (gl_COPY_FILE): Add check for chown().
94207
94208 2003-03-30  Bruno Haible  <bruno@clisp.org>
94209
94210         * lib/copy-file.c (copy_file_preserving): Don't set owner if the
94211         function chown() doesn't exist.
94212
94213 2003-03-28  Bruno Haible  <bruno@clisp.org>
94214
94215         * modules/copy-file: New file.
94216         * MODULES.html.sh (func_all_modules): Add it.
94217
94218 2003-03-28  Bruno Haible  <bruno@clisp.org>
94219
94220         * m4/copy-file.m4: New file.
94221
94222 2003-03-28  Bruno Haible  <bruno@clisp.org>
94223
94224         * lib/copy-file.h: New file, from GNU gettext.
94225         * lib/copy-file.c: New file, from GNU gettext.
94226
94227 2003-03-18  Jim Meyering  <jim@meyering.net>
94228
94229         * lib/quote.c (quote_n): Fix typo in comment.
94230
94231 2003-03-18  Bruno Haible  <bruno@clisp.org>
94232
94233         * m4/onceonly.m4: Use m4_defn instead of defn, for better error
94234         checking.
94235         * m4/onceonly_2_57.m4: Likewise.
94236
94237 2003-03-17  Bruno Haible  <bruno@clisp.org>
94238
94239         * m4/onceonly.m4: Require autoconf 2.54 or newer.
94240         (m4_quote): Remove macro.
94241         * m4/onceonly_2_57.m4: Require autoconf 2.54 or newer.
94242
94243 2003-03-14  Jim Meyering  <jim@meyering.net>
94244
94245         Merge changes from Coreutils.
94246         * lib/obstack.h (obstack_object_size): Declare temporary, __o,
94247         to be const, in order to avoid warnings.
94248         (obstack_room): Likewise.
94249         (obstack_empty_p): Likewise.
94250
94251 2003-03-14  Bruno Haible  <bruno@clisp.org>
94252
94253         * m4/onceonly_2_57.m4 (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE,
94254         AC_CHECK_DECLS_ONCE): Quote AC_FOREACH variable-expansions properly.
94255
94256 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94257
94258         Merge changes from Bison.
94259         * lib/obstack.h: (__INT_TO_PTR) [__STDC__]: Cast result to
94260         (void *) to avoid diagnostic with native c89 on SGI IRIX 6.5
94261         when compiling Bison 1.875's `bitset bset = obstack_alloc
94262         (bobstack, bytes);'.  Problem reported by Nelson H. F. Beebe.
94263         * lib/hash.c: Include <stdbool.h> unconditionally.
94264
94265 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94266
94267         * m4/onceonly.m4 (m4_quote): New macro.
94268         (AC_CHECK_HEADERS_ONCE, AC_CHECK_FUNCS_ONCE, AC_CHECK_DECLS_ONCE):
94269         Quote AC_FOREACH variable-expansions properly.
94270
94271 2003-03-13  Paul Eggert  <eggert@twinsun.com>
94272
94273         * doc/COPYING.DOC, fdl.texi: Sync with latest FSF version.
94274
94275 2003-03-09  Paul Eggert  <eggert@twinsun.com>
94276
94277         * lib/argmatch.c (EXIT_FAILURE): Define if the system doesn't.
94278         Reported by Bruce Becker; see:
94279         http://mail.gnu.org/archive/html/bug-bison/2003-03/msg00017.html
94280
94281 2003-03-03  Paul Eggert  <eggert@twinsun.com>
94282             Bruno Haible  <bruno@clisp.org>
94283
94284         * lib/mbswidth.h: Include <wchar.h>. Needed for UnixWare 7.1.1.
94285         Reported by John Hughes, see
94286         http://mail.gnu.org/archive/html/bug-bison/2003-02/msg00030.html
94287
94288 2003-02-20  Bruno Haible  <bruno@clisp.org>
94289
94290         * MODULES.html.sh (func_all_modules): Add poll.
94291
94292 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94293
94294         * modules/poll: New file.
94295
94296 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94297
94298         * lib/poll_.h: New file.
94299         * lib/poll.c: New file.
94300
94301 2003-02-19  Paolo Bonzini  <bonzini@gnu.org>
94302
94303         * m4/poll.m4: New file.
94304
94305 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94306
94307         * modules/mathl: New file.
94308
94309 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94310
94311         * lib/mathl.h: New file.
94312         * lib/acosl.c: New file.
94313         * lib/asinl.c: New file.
94314         * lib/atanl.c: New file.
94315         * lib/ceill.c: New file.
94316         * lib/cosl.c: New file.
94317         * lib/expl.c: New file.
94318         * lib/floorl.c: New file.
94319         * lib/frexpl.c: New file.
94320         * lib/ldexpl.c: New file.
94321         * lib/logl.c: New file.
94322         * lib/sincosl.c: New file.
94323         * lib/sinl.c: New file.
94324         * lib/sqrtl.c: New file.
94325         * lib/tanl.c: New file.
94326         * lib/trigl.c: New file.
94327         * lib/trigl.h: New file.
94328
94329 2003-02-18  Paolo Bonzini  <bonzini@gnu.org>
94330
94331         * m4/mathl.m4: New file.
94332
94333 2003-02-18  Bruno Haible  <bruno@clisp.org>
94334
94335         * MODULES.html.sh (func_all_modules): Add mathl.
94336
94337 2003-02-17  Bruno Haible  <bruno@clisp.org>
94338
94339         * modules/mkdtemp: New module.
94340         * MODULES.html.sh (func_all_modules): Add it.
94341
94342 2003-02-17  Bruno Haible  <bruno@clisp.org>
94343
94344         * m4/mkdtemp.m4: New file, from GNU gettext with modifications.
94345
94346 2003-02-17  Bruno Haible  <bruno@clisp.org>
94347
94348         * lib/mkdtemp.h: New file, from GNU gettext.
94349         * lib/mkdtemp.c: New file, from GNU gettext.
94350
94351 2003-02-02  Jim Meyering  <jim@meyering.net>
94352
94353         * m4/regex.m4 (jm_INCLUDED_REGEX): Detect broken re_search in
94354         e.g. glibc-2.2.93.
94355
94356 2003-01-31  Bruno Haible  <bruno@clisp.org>
94357
94358         * m4/rename.m4 (vb_FUNC_RENAME): Add a redirection from 'rename' to
94359         'rpl_rename'.
94360         * m4/strnlen.m4 (gl_FUNC_STRNLEN): Add a redirection from 'strnlen' to
94361         'rpl_strnlen'.
94362         * m4/strtod.m4 (gl_FUNC_STRTOD): Add a redirection from 'strtod' to
94363         'rpl_strtod'.
94364         * m4/utime.m4 (jm_FUNC_UTIME): Add a redirection from 'utime' to
94365         'rpl_utime'.
94366
94367 2003-01-31  Bruno Haible  <bruno@clisp.org>
94368
94369         * lib/rename.c: #undef rename before defining rpl_rename.
94370         * lib/strnlen.c: #undef strnlen, define rpl_strnlen instead of strnlen.
94371
94372 2003-01-30  Bruno Haible  <bruno@clisp.org>
94373
94374         * modules/vasnprintf, modules/vasprintf: New modules.
94375         * MODULES.html.sh (func_all_modules): Add them.
94376
94377 2003-01-30  Bruno Haible  <bruno@clisp.org>
94378
94379         * m4/signed.m4: New file, from GNU gettext.
94380         * m4/longdouble.m4: New file, from GNU gettext.
94381         * m4/wchar_t.m4: New file, from GNU gettext.
94382         * m4/wint_t.m4: New file, from GNU gettext.
94383         * m4/vasnprintf.m4: New file.
94384         * m4/vasprintf.m4: New file.
94385
94386 2003-01-30  Bruno Haible  <bruno@clisp.org>
94387
94388         * lib/printf-args.h: New file, from GNU gettext.
94389         * lib/printf-args.c: New file, from GNU gettext.
94390         * lib/printf-parse.h: New file, from GNU gettext.
94391         * lib/printf-parse.c: New file, from GNU gettext.
94392         * lib/vasnprintf.h: New file, from GNU gettext.
94393         * lib/vasnprintf.c: New file, from GNU gettext.
94394         * lib/asnprintf.c: New file, from GNU gettext.
94395         * lib/vasprintf.h: New file, from GNU gettext with modifications.
94396         * lib/vasprintf.c: New file, from GNU gettext.
94397         * lib/asprintf.c: New file, from GNU gettext.
94398
94399 2003-01-29  Bruno Haible  <bruno@clisp.org>
94400
94401         * modules/stpncpy: New module.
94402         * MODULES.html.sh (func_all_modules): Add it.
94403
94404 2003-01-29  Bruno Haible  <bruno@clisp.org>
94405
94406         * m4/stpncpy.m4: New file.
94407
94408 2003-01-29  Bruno Haible  <bruno@clisp.org>
94409
94410         * lib/stpncpy.h: New file, from GNU gettext with modifications.
94411         * lib/stpncpy.c: New file, from GNU gettext with modifications.
94412
94413 2003-01-28  Bruno Haible  <bruno@clisp.org>
94414
94415         * modules/c-ctype: New module.
94416         * MODULES.html.sh (func_all_modules): Add it.
94417
94418 2003-01-28  Bruno Haible  <bruno@clisp.org>
94419
94420         * lib/c-ctype.h: New file, from GNU gettext, with changes suggested by
94421         Paul Eggert.
94422         * lib/c-ctype.c: New file, from GNU gettext, with changes suggested by
94423         Paul Eggert.
94424
94425 2003-01-27  Bruno Haible  <bruno@clisp.org>
94426
94427         * modules/xsetenv: New module.
94428         * MODULES.html.sh (func_all_modules): Add it.
94429
94430 2003-01-27  Bruno Haible  <bruno@clisp.org>
94431
94432         * lib/xsetenv.h: New file, from GNU gettext.
94433         * lib/xsetenv.c: New file, from GNU gettext.
94434
94435 2003-01-23  Jim Meyering  <jim@meyering.net>
94436
94437         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Correct typo: s/-1/no/ that kept this
94438         from working on systems without dirfd (at least Irix and OSF1/Tru64).
94439
94440 2003-01-23  Bruno Haible  <bruno@clisp.org>
94441
94442         * modules/minmax: New module.
94443         * MODULES.html.sh (func_all_modules): Add it.
94444
94445 2003-01-23  Bruno Haible  <bruno@clisp.org>
94446
94447         * lib/minmax.h: New file, from GNU gettext, with comments from Paul
94448         Eggert.
94449
94450 2003-01-22  Bruno Haible  <bruno@clisp.org>
94451
94452         * modules/exit: New module.
94453         * MODULES.html.sh (func_all_modules): Add it.
94454
94455 2003-01-22  Bruno Haible  <bruno@clisp.org>
94456
94457         * lib/exit.h: New file, from GNU gettext.
94458
94459 2003-01-19  Bruno Haible  <bruno@clisp.org>
94460
94461         * gnulib-tool: Recognize option --extract-maintainer.
94462         (func_get_maintainer): New function.
94463         * modules/*: Add Maintainer entry.
94464
94465 2003-01-16  Jim Meyering  <jim@meyering.net>
94466
94467         * m4/regex.m4: The `regex' struct is both input and output.
94468         Initialize it before each use.  Patch by Tim Waugh.
94469
94470 2003-01-16  Bruno Haible  <bruno@clisp.org>
94471
94472         * MODULES.html.sh: Add a table of contents. Add the module name as
94473         leftmost column. Add hyperlinks.
94474
94475 2003-01-15  Bruno Haible  <bruno@clisp.org>
94476
94477         * m4/md5.m4 (gl_MD5): Require AC_C_INLINE.
94478
94479 2003-01-15  Bruno Haible  <bruno@clisp.org>
94480
94481         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): Also test the LL suffix.
94482         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Also test the ULL
94483         suffix.
94484
94485 2003-01-15  Bruno Haible  <bruno@clisp.org>
94486
94487         * m4/alloca.m4 (gl_FUNC_ALLOCA): Invoke AC_EGREP_CPP prerequisites.
94488
94489 2003-01-15  Bruno Haible  <bruno@clisp.org>
94490
94491         * lib/stpcpy.h (stpcpy): Use ANSI C function declarations.
94492         * lib/strcase.h (strcasecmp, strncasecmp): Likewise.
94493
94494 2003-01-14  Jim Meyering  <jim@meyering.net>
94495
94496         * lib/same.c (same_name): Tweak a comment.
94497
94498 2003-01-14  Bruno Haible  <bruno@clisp.org>
94499
94500         * lib/same.c (same_name): Reorder tests so as to avoid calling stat()
94501         when a string comparison is sufficient.
94502
94503 2003-01-14  Bruno Haible  <bruno@clisp.org>
94504
94505         * lib/readtokens.c (readtoken): Cast character to 'unsigned char', not
94506         'unsigned int'.
94507
94508 2003-01-14  Bruno Haible  <bruno@clisp.org>
94509
94510         * lib/hash-pjw.c: Add comment about low quality of this function.
94511
94512 2003-01-13  Bruno Haible  <bruno@clisp.org>
94513
94514         * modules/stpcpy: Distribute lib/stpcpy.h.
94515         * modules/setenv: Depend on alloca. Distribute lib/setenv.h.
94516
94517 2003-01-13  Bruno Haible  <bruno@clisp.org>
94518
94519         * modules/*: Add a description.
94520         * modules/strpbrk: Fix Makefile.am snippet.
94521         * modules/strtoimax: Fix dependencies.
94522         * modules/strtoumax: Likewise.
94523
94524 2003-01-13  Bruno Haible  <bruno@clisp.org>
94525
94526         * gnulib-tool (func_create_testdir): Substitute lib_OBJECTS.
94527         * modules/alloca (Makefile.am): All object files depend on alloca.h.
94528         * modules/stdbool (Makefile.am): All object files depend on stdbool.h.
94529
94530 2003-01-13  Bruno Haible  <bruno@clisp.org>
94531
94532         * gnulib-tool (func_create_testdir): Store config/* files in the main
94533         directory.
94534         * config.rpath: Move to ...
94535         * config/config.rpath: ... here.
94536         * modules/gettext: Contains config/config.rpath, not config.rpath.
94537         * modules/iconv: Likewise.
94538
94539 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94540
94541         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94542         to avoid collisions with libcurses and libreadline.
94543
94544         * m4/getstr.m4: Remove.
94545         * m4/getline.m4 (gl_PREREQ_GETLINE): Require AC_HEADER_STDC.
94546
94547 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94548
94549         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94550         to avoid collisions with libcurses and libreadline.
94551
94552         * lib/Makefile.am (libfetish_a_SOURCES): Remove getstr.c, getstr.h.
94553         * lib/getstr.h, getstr.c: Remove.
94554         * lib/getline.c: Include "getline.h", to check interface.
94555         Move body of old getstr.c here: this defines MIN_CHUNK and
94556         declares getdelim2, which is renamed from getstr.
94557         (getline, getdelim): Adjust to renaming of getstr -> getdelim2.
94558
94559         * lib/linebuffer.c (readlinebuffer): Renamed from readline.
94560         All uses changed.
94561         * lib/linebuffer.h: Likewise.
94562         (readline): Remove backward-compatibility macro.
94563
94564 2003-01-12  Paul Eggert  <eggert@twinsun.com>
94565
94566         Finish renaming getstr -> getdelim2 and readline -> readlinebuffer,
94567         to avoid collisions with libcurses and libreadline.
94568         * getstr: Remove.
94569         * MODULES.html.sh: Remove getstr.
94570         * modules/getline: Depend on unlocked-io, not getstr.
94571
94572 2003-01-12  Jim Meyering  <jim@meyering.net>
94573
94574         * lib/makepath.c: Don't test HAVE_ERRNO_H.  It's not necessary.
94575
94576 2003-01-10  Bruno Haible  <bruno@clisp.org>
94577
94578         * modules/alloca: Change Makefile.am requirements. Simplify Include
94579         requirements. Add lib/alloca_.h to file list.
94580
94581 2003-01-10  Bruno Haible  <bruno@clisp.org>
94582
94583         * m4/alloca.m4 (gl_FUNC_ALLOCA): Also define ALLOCA_H.
94584
94585 2003-01-10  Bruno Haible  <bruno@clisp.org>
94586
94587         * lib/alloca_.h: New file.
94588         * lib/getdate.y: Unconditionally include alloca.h.
94589         * lib/makepath.c: Likewise.
94590         * lib/setenv.c: Likewise.
94591         * lib/userspec.c: Likewise.
94592
94593 2003-01-09  Karl Berry  <karl@gnu.org>
94594
94595         * MODULES.html.sh: include `dirname $0` in PATH, to find
94596         gnulib-tool.
94597
94598 2003-01-09  Bruno Haible  <bruno@clisp.org>
94599
94600         * modules/stdbool: Change configure.ac, Makefile.am requirements.
94601         Simplify Include requirements. Add lib/stdbool.h.in to file list.
94602
94603 2003-01-09  Bruno Haible  <bruno@clisp.org>
94604
94605         * m4/stdbool.m4 (AM_STDBOOL_H): New macro.
94606
94607 2003-01-09  Bruno Haible  <bruno@clisp.org>
94608
94609         * lib/stdbool.h.in: New file.
94610
94611 2003-01-09  Bruno Haible  <bruno@clisp.org>
94612
94613         * gnulib-tool (func_all_modules): Ignore files ending in ~.
94614         * MODULES.html.sh: Likewise.
94615
94616 2003-01-08  Jim Meyering  <jim@meyering.net>
94617
94618         * lib/full-write.c: Undefine and define-away `const' after inclusion
94619         of errno.h, not before.  Suggestion from Bruno Haible.
94620
94621 2003-01-08  Bruno Haible  <bruno@clisp.org>
94622
94623         * modules/full-read: Depend on full-write.
94624
94625 2003-01-08  Bruno Haible  <bruno@clisp.org>
94626
94627         * lib/safe-read.c: Include specification header first, to ensure its
94628         selfcontainedness.
94629         * lib/full-write.c: Likewise.
94630
94631 2003-01-07  Jim Meyering  <jim@meyering.net>
94632
94633         * lib/full-write.c: Rework so that it may serve to define full_read,
94634         too.
94635         * lib/full-read.c: Simply #define FULL_READ and include full-write.c.
94636
94637 2003-01-07  Bruno Haible  <bruno@clisp.org>
94638
94639         * lib/strtoimax.c: Include <stdint.h> as an alternative to
94640         <inttypes.h>.
94641         * lib/xstrtol.h: Likewise.
94642         * lib/xstrtoimax.c: Likewise.
94643         * lib/xstrtoumax.c: Likewise.
94644         * lib/human.h: Likewise.
94645
94646         * lib/tempname.c: Include <inttypes.h> too. Avoids a compilation error
94647         on systems that have <inttypes.h> but not <stdint.h>.
94648
94649 2003-01-07  Bruno Haible  <bruno@clisp.org>
94650
94651         * MODULES.html.sh: Add copyright notice.
94652         (missed_files): Omit CVS directory entries.
94653         (func_module): Make it work with sed-3.02.
94654         * MODULES.txt: Remove file.
94655
94656 2003-01-06  Jim Meyering  <jim@meyering.net>
94657
94658         * lib/version-etc.c: Update year in translatable copyright string.
94659
94660 2003-01-03  Karl Berry  <karl@gnu.org>
94661
94662         * config/config.{guess,sub}: update from prep.
94663
94664 2003-01-02  Karl Berry  <karl@gnu.org>
94665
94666         * doc/COPYING.DOC: belatedly updated to 1.2.
94667
94668 2003-01-01  Karl Berry  <karl@gnu.org>
94669
94670         * gnulib-tool (func_verify_module): report module name $module in
94671         error message, not $1.
94672         * gnulib-tool (create-testdir): don't complain if destdir couldn't
94673         be created, only if it doesn't exist.
94674         * gnulib-tool (last_checkin_date): don't expand the $Date here.
94675
94676 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94677
94678         * m4/memcoll.m4 (gl_MEMCOLL): Require AC_FUNC_MEMCMP.
94679
94680 2002-12-31  Paul Eggert  <eggert@twinsun.com>
94681
94682         * lib/memcoll.c (memcoll): Fall back on a simple algorithm using
94683         memcmp if strcoll doesn't work.
94684
94685 2002-12-31  Bruno Haible  <bruno@clisp.org>
94686
94687         * lib/utime.c (utime_null): No need to call ftruncate if the file was
94688         nonempty.
94689
94690 2002-12-31  Bruno Haible  <bruno@clisp.org>
94691
94692         * lib/memcoll.c (STRCOLL): New macro.
94693         (memcoll): Use it.
94694
94695 2002-12-31  Bruno Haible  <bruno@clisp.org>
94696
94697         * lib/localcharset.h: New file.
94698         * lib/localcharset.c: Include it.
94699         * lib/unicodeio.c: Likewise.
94700
94701 2002-12-31  Bruno Haible  <bruno@clisp.org>
94702
94703         * lib/getstr.h (getstr): Define, to avoid clash with libcurses.
94704         * lib/linebuffer.h (readline): Define, to avoid clash with libreadline.
94705
94706 2002-12-31  Bruno Haible  <bruno@clisp.org>
94707
94708         * lib/getline.h: Include <stddef.h>, for size_t.
94709
94710         * lib/unicodeio.h: Include <stddef.h>, for size_t.
94711         * lib/unicodeio.c: Don't include <stddef.h>.
94712
94713 2002-12-31  Bruno Haible  <bruno@clisp.org>
94714
94715         * lib/getdate.y (get_date): Test HAVE_STRUCT_TM_TM_ZONE, not
94716         HAVE_TM_ZONE.
94717
94718 2002-12-24  Karl Berry  <karl@gnu.org>
94719
94720         * config/config.guess: update from prep.
94721
94722 2002-12-24  Bruno Haible  <bruno@clisp.org>
94723
94724         General infrasructure.
94725         * m4/README: Rewritten.
94726         * m4/onceonly.m4: New file.
94727         * m4/onceonly_2_57.m4: New file.
94728
94729         Module atexit.
94730         * m4/atexit.m4: New file.
94731
94732         Module strtod.
94733         * m4/strtod.m4: New file.
94734
94735         Module strtol.
94736         * m4/strtol.m4: New file.
94737
94738         Module strtoul.
94739         * m4/strtoul.m4: New file.
94740
94741         Module memchr.
94742         * m4/memchr.m4: New file.
94743
94744         Module memcmp.
94745         * m4/memcmp.m4 (gl_PREREQ_MEMCMP): New macro.
94746         (jm_FUNC_MEMCMP): Invoke it.
94747
94748         Module memcpy.
94749         * m4/memcpy.m4: New file.
94750
94751         Module memmove.
94752         * m4/memmove.m4: New file.
94753
94754         Module memset.
94755         * m4/memset.m4: New file.
94756
94757         Module strcspn.
94758         * m4/strcspn.m4: New file.
94759
94760         Module strpbrk.
94761         * m4/strpbrk.m4: New file.
94762
94763         Module strstr.
94764         * m4/strstr.m4: New file.
94765
94766         Module strerror.
94767         * m4/strerror.m4: New file.
94768
94769         Module mktime.
94770         * m4/mktime.m4: Renamed from jm-mktime.m4.
94771         (gl_PREREQ_MKTIME): New macro.
94772         (gl_FUNC_MKTIME): Renamed from jm_FUNC_MKTIME. Invoke gl_PREREQ_MKTIME.
94773
94774         Module malloc.
94775         * m4/malloc.m4 (gl_PREREQ_MALLOC): New macro.
94776         (jm_FUNC_MALLOC): Use AC_FUNC_MALLOC. Invoke gl_PREREQ_MALLOC.
94777         Don't define HAVE_DONE_WORKING_MALLOC_CHECK, since nothing uses it.
94778
94779         Module realloc.
94780         * m4/realloc.m4 (gl_PREREQ_REALLOC): New macro.
94781         (jm_FUNC_REALLOC): Use AC_FUNC_REALLOC. Invoke gl_PREREQ_REALLOC.
94782         Don't define HAVE_DONE_WORKING_REALLOC_CHECK, since nothing uses it.
94783
94784         Module strftime.
94785         * m4/tm_gmtoff.m4: New file, extracted from strftime.m4.
94786         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Use AC_FUNC_STRFTIME.
94787         Don't test for bcopy (we are not emacs). Invoke AC_TYPE_MBSTATE_T and
94788         gl_TM_GMTOFF.
94789         (_jm_STRFTIME_PREREQS, jm_FUNC_GNU_STRFTIME): Use onceonly macros.
94790
94791         Module xalloc.
94792         * m4/xalloc.m4: New file.
94793
94794         Module alloca.
94795         * m4/alloca.m4: New file.
94796
94797         Module putenv.
94798         * m4/putenv.m4 (gl_PREREQ_PUTENV): New macro.
94799         (jm_FUNC_PUTENV): Invoke it.
94800
94801         Module setenv.
94802         * m4/setenv.m4 (gt_FUNC_SETENV): New macro.
94803         (gt_CHECK_VAR_DECL): Fix quoting error that led to infinite loop in m4
94804         when invoked twice.
94805         (gt_PREREQ_SETENV, gt_PREREQ_UNSETENV): New macros, replacing old
94806         gt_FUNC_SETENV.
94807
94808         Module memrchr.
94809         * m4/memrchr.m4: New file.
94810
94811         Module stpcpy.
94812         * m4/stpcpy.m4: New file.
94813
94814         Module strcase.
94815         * m4/strcase.m4: New file.
94816
94817         Module strdup.
94818         * m4/strdup.m4: New file.
94819
94820         Module strnlen.
94821         * m4/strnlen.m4: New file.
94822
94823         Module strndup.
94824         * m4/strndup.m4: New file.
94825
94826         Module xstrtod.
94827         * m4/xstrtod.m4: New file.
94828
94829         Module xstrtol.
94830         * m4/xstrtol.m4: New file.
94831
94832         Module getdate.
94833         * m4/getdate.m4: New file.
94834
94835         Module unlocked-io.
94836         * m4/unlocked-io.m4: Renamed from jm-glibc-io.m4.
94837         (jm_FUNC_GLIBC_UNLOCKED_IO): Invoke AC_GNU_SOURCE. Use onceonly macros.
94838         * m4/jm-glibc-io.m4n: Remove file.
94839
94840         Module long-options.
94841         * m4/long-options.m4: New file.
94842
94843         Module md5.
94844         * m4/md5.m4: New file.
94845
94846         Module sha.
94847         * m4/sha.m4: New file.
94848
94849         Module getstr.
94850         * m4/getstr.m4: New file.
94851
94852         Module getline.
94853         * m4/getline.m4 (gl_PREREQ_GETLINE): New macro.
94854         (AM_FUNC_GETLINE): Invoke AC_GNU_SOURCE. Use <stdlib.h>, not
94855         <sys/types.h>, for size_t. Use the function name gnu_getline, not
94856         simply getline. Infoke gl_PREREQ_GETLINE.
94857
94858         Module obstack.
94859         * m4/obstack.m4: New file.
94860
94861         Module hash.
94862         * m4/hash.m4: New file.
94863
94864         Module readtokens.
94865         * m4/readtokens.m4: New file.
94866
94867         Module strverscmp.
94868         * m4/strverscmp.m4: New file.
94869
94870         Module stdbool.
94871         * m4/stdbool.m4 (AC_HEADER_STDBOOL): Add test for _Bool. Needed for
94872         OSF/1.
94873
94874         Module strtoll.
94875         * m4/strtoll.m4: New file.
94876
94877         Module strtoull.
94878         * m4/strtoull.m4: New file.
94879
94880         Module strtoimax.
94881         * m4/strtoimax.m4: New file.
94882
94883         Module strtoumax.
94884         * m4/strtoumax.m4: New file.
94885
94886         Module xstrtoimax.
94887         * m4/xstrtoimax.m4 (jm_XSTRTOIMAX): Renamed from
94888         jm_AC_PREREQ_XSTRTOIMAX.
94889         Moved the strtol prerequisites to strtol.m4.
94890         Moved the strtoll prerequisites to strtoll.m4.
94891         Moved the strtoimax prerequisites to strtoimax.m4.
94892
94893         Module xstrtoumax.
94894         * m4/xstrtoumax.m4 (jm_XSTRTOUMAX): Renamed from
94895         jm_AC_PREREQ_XSTRTOUMAX.
94896         Moved the strtoul prerequisites to strtoul.m4.
94897         Moved the strtoull prerequisites to strtoull.m4.
94898         Moved the strtoumax prerequisites to strtoumax.m4.
94899
94900         Module chown.
94901         * m4/chown.m4 (gl_PREREQ_CHOWN): New macro.
94902         (jm_FUNC_CHOWN): Use AC_FUNC_CHOWN. Invoke gl_PREREQ_CHOWN.
94903
94904         Module dup2.
94905         * m4/dup2.m4: New file.
94906
94907         Module ftruncate.
94908         * m4/ftruncate.m4 (gl_PREREQ_FTRUNCATE): New macro.
94909         (jm_FUNC_FTRUNCATE): Use AC_REPLACE_FUNCS. Invoke gl_PREREQ_FTRUNCATE.
94910
94911         Module getgroups.
94912         * m4/getgroups.m4 (gl_PREREQ_GETGROUPS): New macro.
94913         (jm_FUNC_GETGROUPS): Use AC_FUNC_GETGROUPS. Invoke gl_PREREQ_GETGROUPS.
94914
94915         Module gettimeofday.
94916         * m4/gettimeofday.m4 (gl_PREREQ_GETTIMEOFDAY): New macro.
94917         (AC_FUNC_GETTIMEOFDAY_CLOBBER): Use onceonly macros. Invoke
94918         gl_PREREQ_GETTIMEOFDAY.
94919
94920         Module mkdir.
94921         * m4/mkdir-slash.m4 (gl_PREREQ_MKDIR): New macro.
94922         (UTILS_FUNC_MKDIR_TRAILING_SLASH): Invoke gl_PREREQ_MKDIR.
94923
94924         Module mkstemp.
94925         * m4/mkstemp.m4 (gl_PREREQ_MKSTEMP): New macro.
94926         (jm_PREREQ_TEMPNAME): New macro, from prereq.m4. Also invoke
94927         jm_AC_TYPE_UINTMAX_T.
94928         (UTILS_FUNC_MKSTEMP): Invoke gl_PREREQ_MKSTEMP and jm_PREREQ_TEMPNAME.
94929
94930         Module stat.
94931         * m4/stat.m4 (gl_PREREQ_STAT): New macro.
94932         (jm_FUNC_STAT): Use AC_FUNC_STAT. Invoke gl_PREREQ_STAT.
94933
94934         Module lstat.
94935         * m4/lstat.m4 (gl_PREREQ_LSTAT): New macro.
94936         (jm_FUNC_LSTAT): Use AC_FUNC_LSTAT. Invoke gl_PREREQ_LSTAT.
94937
94938         Module timespec.
94939         * m4/timespec.m4 (gl_TIMESPEC): New macro.
94940         (jm_CHECK_TYPE_STRUCT_TIMESPEC): Add check for <sys/time.h>.
94941         * m4/st_mtim.m4: Indentation.
94942
94943         Module nanosleep.
94944         * m4/nanosleep.m4 (gl_PREREQ_NANOSLEEP): New macro.
94945         (jm_FUNC_NANOSLEEP): Add check for <sys/time.h>. Invoke
94946         gl_PREREQ_NANOSLEEP.
94947
94948         Module regex.
94949         * m4/regex.m4 (jm_PREREQ_REGEX): New macro.
94950         (jm_INCLUDED_REGEX): Invoke jm_PREREQ_REGEX.
94951         (gl_REGEX): New macro.
94952
94953         Module rename.
94954         * m4/rename.m4 (gl_PREREQ_RENAME): New macro.
94955         (vb_FUNC_RENAME): Invoke gl_PREREQ_RENAME.
94956
94957         Module rmdir.
94958         * m4/rmdir.m4: New file.
94959
94960         Module utime.
94961         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Use onceonly macros.
94962         * m4/utime.m4 (gl_PREREQ_UTIME): New macro.
94963         (jm_FUNC_UTIME): Invoke gl_PREREQ_UTIME.
94964
94965         Module dirname.
94966         * m4/dirname.m4: New file.
94967
94968         Module getopt.
94969         * m4/getopt.m4: New file.
94970
94971         Module unistd-safer.
94972         * m4/unistd-safer.m4: New file.
94973
94974         Module fnmatch.
94975         * m4/fnmatch.m4 (_AC_FUNC_FNMATCH_IF): Include <stdlib.h>, for exit()
94976         declaration.
94977         (gl_PREREQ_FNMATCH_EXTRA): New macro.
94978         (gl_FUNC_FNMATCH_POSIX): New macro.
94979         (gl_FUNC_FNMATCH_GNU): Renamed from AC_FUNC_FNMATCH_GNU. Invoke
94980         gl_PREREQ_FNMATCH_EXTRA. Use the function name gnu_fnmatch, not
94981         simply fnmatch.
94982
94983         Module exclude.
94984         * m4/exclude.m4: New file.
94985
94986         Module human.
94987         * m4/human.m4: New file.
94988
94989         Module acl.
94990         * m4/acl.m4: Nop.
94991
94992         Module backupfile.
94993         * m4/backupfile.m4: New file.
94994         * m4/d-ino.m4: Indentation.
94995
94996         Module fsusage.
94997         * m4/fsusage.m4 (gl_FSUSAGE): New macro.
94998         (jm_STATFS_TRUNCATES): New macro, from coreutils-4.5.4/configure.ac.
94999         (gl_PREREQ_FSUSAGE_EXTRA): New macro.
95000
95001         Module dirfd.
95002         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Invoke some AC_EGREP_CPP
95003         requirements.
95004
95005         Module euidaccess.
95006         * m4/euidaccess.m4: New file.
95007
95008         Module file-type.
95009         * m4/file-type.m4: New file.
95010
95011         Module fileblocks.
95012         * m4/fileblocks.m4: New file.
95013
95014         Module filemode.
95015         * m4/filemode.m4: New file.
95016
95017         Module isdir.
95018         * m4/isdir.m4: New file.
95019
95020         Module lchown.
95021         * m4/lchown.m4 (gl_PREREQ_LCHOWN): New macro.
95022         (jm_FUNC_LCHOWN): Invoke gl_PREREQ_LCHOWN.
95023
95024         Module makepath.
95025         * m4/makepath.m4: New file.
95026
95027         Module modechange.
95028         * m4/modechange.m4: New file.
95029
95030         Module mountlist.
95031         * m4/mountlist.m4: New file.
95032         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Use onceonly macros.
95033         Indentation.
95034
95035         Module path-concat.
95036         * m4/path-concat.m4: New file.
95037
95038         Module pathmax.
95039         * m4/pathmax.m4: New file.
95040
95041         Module same.
95042         * m4/same.m4: New file.
95043
95044         Module save-cwd.
95045         * m4/save-cwd.m4: New file.
95046
95047         Module savedir.
95048         * m4/savedir.m4: New file.
95049
95050         Module xgetcwd.
95051         * m4/xgetcwd.m4: New file.
95052         * m4/getcwd.m4 (AC_FUNC_GETCWD_NULL): Use onceonly macros.
95053
95054         Module xreadlink.
95055         * m4/xreadlink.m4: New file.
95056
95057         Module safe-read.
95058         * m4/safe-read.m4: New file.
95059
95060         Module safe-write.
95061         * m4/safe-write.m4: New file.
95062
95063         Module closeout.
95064         * m4/closeout.m4: New file.
95065
95066         Module stdio-safer.
95067         * m4/stdio-safer.m4: New file.
95068
95069         Module getpass.
95070         * m4/getpass.m4: New file.
95071
95072         Module getugroups.
95073         * m4/getugroups.m4: New file.
95074
95075         Module group-member.
95076         * m4/group-member.m4 (gl_PREREQ_GROUP_MEMBER): New macro.
95077         (jm_FUNC_GROUP_MEMBER): Invoke AC_GNU_SOURCE, gl_PREREQ_GROUP_MEMBER.
95078
95079         Module idcache.
95080         * m4/idcache.m4: New file.
95081
95082         Module userspec.
95083         * m4/userspec.m4: New file.
95084
95085         Module gettime.
95086         * m4/clock_time.m4: New file.
95087         * m4/gettime.m4: New file.
95088
95089         Module settime.
95090         * m4/settime.m4: New file.
95091
95092         Module posixtm.
95093         * m4/posixtm.m4: New file.
95094
95095         Module gethostname.
95096         * m4/gethostname.m4: New file.
95097
95098         Module canon-host.
95099         * m4/canon-host.m4: New file.
95100
95101         Module gettext.
95102         * m4/codeset.m4: New file, from gettext-0.11.5.
95103         * m4/gettext.m4: New file, from gettext-0.11.5.
95104         * m4/glibc21.m4: New file, from gettext-0.11.5.
95105         * m4/iconv.m4: New file, from gettext-0.11.5.
95106         * m4/intdiv0.m4: New file, from gettext-0.11.5.
95107         * m4/inttypes-pri.m4: New file, from gettext-0.11.5.
95108         * m4/inttypes.m4: New file, from gettext-0.11.5.
95109         * m4/inttypes_h.m4: New file, from gettext-0.11.5 with modifications.
95110         * m4/isc-posix.m4: New file, from gettext-0.11.5.
95111         * m4/lcmessage.m4: New file, from gettext-0.11.5.
95112         * m4/lib-ld.m4: New file, from gettext-0.11.5.
95113         * m4/lib-link.m4: New file, from gettext-0.11.5.
95114         * m4/lib-prefix.m4: New file, from gettext-0.11.5.
95115         * m4/progtest.m4: New file, from gettext-0.11.5.
95116         * m4/stdint_h.m4: New file, from gettext-0.11.5 with modifications.
95117         * m4/uintmax_t.m4: New file, from gettext-0.11.5 with modifications.
95118         * m4/ulonglong.m4: New file, from gettext-0.11.5 with modifications.
95119
95120         Module localcharset.
95121         * m4/localcharset.m4: New file.
95122
95123         Module hard-locale.
95124         * m4/hard-locale.m4: New file.
95125
95126         Module mbswidth.
95127         * m4/mbswidth.m4 (gl_MBSWIDTH): Renamed from jm_PREREQ_MBSWIDTH. Use
95128         onceonly macros.
95129         * m4/mbrtowc.m4: Add comment.
95130
95131         Module memcasecmp.
95132         * m4/memcasecmp.m4: New file.
95133
95134         Module memcoll.
95135         * m4/memcoll.m4: New file.
95136
95137         Module unicodeio.
95138         * m4/unicodeio.m4: New file.
95139
95140         Module rpmatch.
95141         * m4/rpmatch.m4: New file.
95142
95143         Module yesno.
95144         * m4/yesno.m4: New file.
95145
95146         Module exitfail.
95147         * m4/exitfail.m4: New file.
95148
95149         Module c-stack.
95150         * m4/c-stack.m4 (gl_C_STACK): New macro.
95151         (jm_PREREQ_C_STACK): Check for <sys/time.h>. Use onceonly macros.
95152
95153         Module error.
95154         * m4/error.m4 (gl_ERROR): New macro.
95155         (jm_PREREQ_ERROR): Use onceonly macros.
95156
95157         Module fatal.
95158         * m4/fatal.m4: New file.
95159
95160         Module getloadavg.
95161         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Use onceonly macros.
95162         (gl_FUNC_GETLOADAVG, gl_PREREQ_GETLOADAVG): New macros.
95163
95164         Module getpagesize.
95165         * m4/getpagesize.m4: New file.
95166
95167         Module getusershell.
95168         * m4/getusershell.m4: New file.
95169
95170         Module physmem.
95171         * m4/physmem.m4: New file.
95172
95173         Module posixver.
95174         * m4/posixver.m4: New file.
95175
95176         Module quotearg.
95177         * m4/quotearg.m4: New file.
95178
95179         Module quote.
95180         * m4/quote.m4: New file.
95181
95182         Module readutmp.
95183         * m4/readutmp.m4: New file, based on jm_PREREQ_READUTMP from prereq.m4.
95184
95185         Module sig2str.
95186         * m4/sig2str.m4: New file.
95187
95188         Other.
95189         * m4/longlong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Remove, moved to
95190         ulonglong.m4.
95191         * m4/intmax_t.m4: New file.
95192         * m4/d-type.m4: Indentation.
95193         * m4/jm-macros.m4: Update.
95194         * m4/prereq.m4 (jm_PREREQ): Update.
95195         (jm_PREREQ_ADDEXT): Remove, obsoleted by backupfile.m4.
95196         (jm_PREREQ_CANON_HOST): Remove, obsoleted by canon-host.m4.
95197         (jm_PREREQ_DIRNAME): Remove, obsoleted by dirname.m4.
95198         (jm_PREREQ_EXCLUDE): Remove, obsoleted by exclude.m4.
95199         (jm_PREREQ_GETPAGESIZE): Remove, obsoleted by getpagesize.m4.
95200         (jm_PREREQ_HARD_LOCALE): Remove, obsoleted by hard-locale.m4.
95201         (jm_PREREQ_HASH): Remove, obsoleted by hash.m4.
95202         (jm_PREREQ_HUMAN): Remove, obsoleted by human.m4.
95203         (jm_PREREQ_MEMCHR): Remove, obsoleted by memchr.m4.
95204         (jm_PREREQ_PHYSMEM): Remove, obsoleted by physmem.m4.
95205         (jm_PREREQ_POSIXVER): Remove, obsoleted by posixver.m4.
95206         (jm_PREREQ_QUOTEARG): Remove, obsoleted by quotearg.m4.
95207         (jm_PREREQ_READUTMP): Remove, obsoleted by readutmp.m4.
95208         (jm_PREREQ_REGEX): Remove, obsoleted by regex.m4.
95209         (jm_PREREQ_STRNLEN): Remove, obsoleted by strnlen.m4.
95210         (jm_PREREQ_TEMPNAME): Remove, obsoleted by mkstemp.m4.
95211         (jm_PREREQ_XGETCWD): Remove, obsoleted by xgetcwd.m4.
95212         (jm_PREREQ_XREADLINK): Remove, obsoleted by xreadlink.m4.
95213         * m4/readdir.m4 (jm_FUNC_READDIR): Use onceonly macros.
95214
95215 2002-12-24  Bruno Haible  <bruno@clisp.org>
95216
95217         * MODULES.txt: Update according to m4/ changes.
95218
95219         Module gettext.
95220         * config.rpath: New file, from gettext-0.11.5.
95221
95222         * modules/*: New module descriptions.
95223         * gnulib-tool: New file.
95224         * MODULES.html.sh: New file.
95225
95226 2002-12-21  Karl Berry  <karl@gnu.org>
95227
95228         * doc/fdl.texi: update to version 1.2.
95229
95230 2002-12-19  Karl Berry  <karl@gnu.org>
95231
95232         * config/config.guess: update from prep.
95233
95234 2002-12-18  Bruno Haible  <bruno@clisp.org>
95235
95236         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't test for localtime_r.
95237         * m4/jm-mktime.m4 (jm_FUNC_MKTIME): Likewise.
95238
95239 2002-12-17  Bruno Haible  <bruno@clisp.org>
95240
95241         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Remove checks for limits.h,
95242         stdlib.h, string.h.
95243
95244 2002-12-17  Bruno Haible  <bruno@clisp.org>
95245
95246         * lib/canon-host.c (strdup): Remove unused declaration.
95247
95248         * lib/fsusage.c: Include full_read.h.
95249         (get_fs_usage): Use full_read instead of safe_read.
95250
95251         * lib/utime.c (utime_null): Use SAFE_READ_ERROR.
95252
95253 2002-12-12  Karl Berry  <karl@gnu.org>
95254
95255         * config/config.guess: update from prep.
95256
95257 2002-12-11  Bruno Haible  <bruno@clisp.org>
95258
95259         * m4/setenv.m4: New file, from gettext-0.11.5.
95260
95261 2002-12-11  Bruno Haible  <bruno@clisp.org>
95262
95263         * lib/setenv.h: Rewritten to cope with systems that have setenv() but
95264         not unsetenv().
95265         * lib/setenv.c, unsetenv.c: Taken from glibc-2.2.4 with the following
95266         modifications:
95267
95268         2002-12-11  Bruno Haible  <bruno@clisp.org>
95269
95270                 * setenv.c (alloca): Fall back to malloc.
95271                 (freea): New macro.
95272                 (setenv): Use freea() to free memory allocated with alloca().
95273
95274         2002-11-13  Bruno Haible  <bruno@clisp.org>
95275
95276                 * setenv.c (compar_fn_t, __add_to_environ, setenv): Use ANSI C
95277                 function declarations.
95278                 * unsetenv.c (unsetenv): Likewise.
95279
95280         2002-03-04  Bruno Haible  <bruno@clisp.org>
95281
95282                 Portability to AIX 4.3.3.
95283                 * unsetenv.c: New file, extracted from setenv.c.
95284                 * setenv.c: Move the unsetenv() function to unsetenv.c.
95285
95286         2001-12-20  Bruno Haible  <bruno@clisp.org>
95287
95288                 * setenv.c (__add_to_environ): Don't call realloc(NULL,...),
95289                 use malloc instead. For SunOS 4.
95290
95291         2001-12-11  Bruno Haible  <bruno@clisp.org>
95292
95293                 * setenv.c: Declare alloca.
95294                 (compar_fn_t): New typedef.
95295                 (KNOWN_VALUE, STORE_VALUE): Use it.
95296
95297         * lib/Makefile.am (libfetish_a_SOURCES): Add setenv.c, unsetenv.c,
95298         setenv.h.
95299
95300 2002-12-10  Paul Eggert  <eggert@twinsun.com>
95301
95302         Port exclude.c and exclude.h to more non-GNU systems, e.g. Solaris 7.
95303         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE, EXCLUDE_WILDCARDS):
95304         Choose values that are less likely to collide with system fnmatch
95305         options.
95306         * lib/exclude.c (FNM_CASEFOLD, FNM_LEADING_DIR): Define to 0 if not
95307         defined (e.g., a pure POSIX system).
95308         (EXCLUDE_macros_do_not_collide_with_FNM_macros): Use FNM_PATHNAME
95309         instead of FNM_FILE_NAME, for compatibility with pure POSIX sytems.
95310
95311 2002-12-06  Paul Eggert  <eggert@twinsun.com>
95312
95313         Undo the 2001-07-02 change for jm-glibc-io, as it was too much of
95314         a pain in practice to deal with generated m4 files.  This change
95315         goes together with the 2002-12-04 unlocked-io.h change in ../lib.
95316
95317         * m4/Makefile.am.in (Makefile.am): Don't mention jm-glibc-io.m4n
95318         and jm-glibc-io.m4, as they are no longer a special case.
95319         * m4/jm-glibc-io.m4: Rename from jm-glibc-io.m4n, and remove the
95320         kludge and the auto-generation stuff.  Check only whether the
95321         functions are declared, not whether they exist, since older hosts
95322         that don't declare the functions can't use the optimization anyway.
95323
95324 2002-12-06  Jim Meyering  <jim@meyering.net>
95325
95326         * lib/error.c: Be consistent: change `#ifndef _LIBC' to `#if !_LIBC'.
95327
95328         Merge in changes from libc's misc/error.c, in preparation
95329         for the merge of gnulib's changes back into libc.
95330
95331         * lib/error.c (_): Define only if not already defined.
95332         Move definition to follow all #include directives.
95333         Include unlocked-io.h only if !_LIBC.
95334         [_LIBC]: Include <libio/libioP.h>.
95335         [USE_IN_LIBIO]: Include <libio/iolibio.h>
95336         (fflush): Tweak definition to use INTUSE.
95337         (putc): Define.
95338
95339 2002-12-05  Paul Eggert  <eggert@twinsun.com>
95340
95341         * lib/alloca.c [defined emacs]: Include "lisp.h".
95342         (xalloc_die) [defined emacs]: New macro.
95343         (free) [defined emacs && defined EMACS_FREE]: Define to EMACS_FREE.
95344         [! defined emacs]: Include <xalloc.h>.
95345         (POINTER_TYPE) [!defined POINTER_TYPE]: New macro.
95346         (pointer): Typedef to POINTER_TYPE *.
95347         (malloc): Remove decl; we now always use xmalloc.
95348         (alloca): Use old-style definition, since Emacs needs this.
95349         Check for arithmetic overflow when computing combined size.
95350
95351 2002-12-04  Paul Eggert  <eggert@twinsun.com>
95352
95353         Do not generate unlocked-io.h automatically, since it's easier to
95354         maintain it by hand.
95355
95356         * lib/unlocked-io.h: New file, from GNU diffutils,
95357         but with proper copyright notice and attribution.
95358         * lib/gen-uio: Remove.
95359         * lib/Makefile.am: Add copyright notice.
95360         (libfetish_a_SOURCES): Add unlocked-io.h.
95361         (BUILT_SOURCES, all-local): Remove unlocked-io.h.
95362         (DISTCLEANFILES, io_functions): Remove macros.
95363         (EXTRA_DIST): Remove gen_uio.
95364         (unlocked-io.h): Remove rule.
95365
95366 2002-12-04  Jim Meyering  <jim@meyering.net>
95367
95368         Reflect the fact that stat.c and lstat.c are no longer generated.
95369         * lib/Makefile.am (BUILT_SOURCES): Remove stat.c and lstat.c.
95370         (DISTCLEANFILES): Likewise.
95371         (EXTRA_DIST): Likewise.
95372         (all_local): Don't depend on stat.c or lstat.c.
95373         (stat.c, lstat.c): Remove rules.
95374         (EXTRA_DIST): Remove xstat.in.
95375
95376         * lib/xstat.in: Remove file.  Contents moved into stat.c.
95377         * lib/stat.c: New file.  Contents mostly from xstat.in.
95378         * lib/stat.c: Rework so that it may serve to define rpl_lstat, too.
95379         * lib/lstat.c: New file. Simply #define LSTAT and include stat.c.
95380
95381         * lib/safe-read.c: Rework so that it may serve to define safe_write,
95382         too.
95383         * lib/safe-write.c: Simply #define SAFE_WRITE and include safe-read.c.
95384
95385 2002-12-03  Jim Meyering  <jim@meyering.net>
95386
95387         * lib/safe-read.c, safe-write.c: Change variable names and comments,
95388         but not semantics, to minimize the differences between these two files.
95389         (safe_read): Change comment to mention SAFE_READ_ERROR.
95390
95391         * lib/safe-read.c (IS_EINTR): Define.
95392         (safe_read): Use IS_EINTR in place of in-function cpp directives.
95393
95394 2002-12-02  Jim Meyering  <jim@meyering.net>
95395
95396         * lib/safe-read.c (EINTR): Define.
95397         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
95398         (INT_MAX): Provide fallback.
95399         (safe_read): Rewrite to iterate IFF the read fails with EINTR.
95400
95401         * lib/safe-read.h (SAFE_READ_ERROR): Define.
95402
95403 2002-12-02  Bruno Haible  <bruno@clisp.org>
95404
95405         * lib/safe-write.c (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM):
95406         Define, taken from safe-read.c.
95407         (INT_MAX): Provide fallback.
95408         (safe_write): Rewrite to iterate IFF the write fails with EINTR.
95409         * lib/safe-write.h (SAFE_WRITE_ERROR): Define.
95410
95411         * lib/safe-read.c (EINTR): Remove definition.
95412         (safe_read): Don't use EINTR if it is absent.
95413
95414 2002-12-01  Jim Meyering  <jim@meyering.net>
95415
95416         * lib/safe-read.c: (safe_read): Also exit the loop when read returns
95417         zero.
95418         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM, INT_MAX): Define.
95419
95420 2002-11-27  Paul Eggert  <eggert@twinsun.com>
95421
95422         * lib/hash.c (hash_lookup, hash_get_first, hash_get_next,
95423         hash_find_entry, hash_rehash): Replace `if (limit <= value) abort ();'
95424         with `if (! (value < limit)) abort ();', for readability.
95425
95426 2002-11-26  Karl Berry  <karl@gnu.org>
95427
95428         * lib/strdup.c: copy from libc again, with jim's ok.
95429         * lib/.cppi-disable: re-add strdup.c
95430
95431 2002-11-25  Karl Berry  <karl@gnu.org>
95432
95433         * lib/strtoll.c: copy from libc, meaning we now #include <strtol.c>
95434         instead of "strtol.c".
95435
95436 2002-11-25  Karl Berry  <karl@gnu.org>
95437
95438         * config/install-sh: update from automake for variable quoting, $0 in
95439         error msgs, etc.
95440
95441         * config/srclist.txt ($LIBCSRC/time/mktime.c lib gpl): new entry.
95442         * config/srclist.txt ($LIBCSRC/sysdeps/generic/strtoll.c lib gpl): new
95443         entry.
95444
95445 2002-11-25  Jim Meyering  <jim@meyering.net>
95446
95447         * lib/mktime.c: Sync from libc, now that it has the latest fix.
95448
95449 2002-11-24  Karl Berry  <karl@gnu.org>
95450
95451         * lib/error.c, getopt.c, getopt.h, getopt1.c, obstack.c, regex.c,
95452         regex.h, strdup.c, strtoll.c, tempname.c: change license to gpl.
95453
95454 2002-11-24  Jim Meyering  <jim@meyering.net>
95455
95456         Update from coreutils:
95457
95458         * lib/mktime.c: Merge in changes from libc.
95459
95460         Avoid a link-time failure on some Linux systems.
95461         * lib/mktime.c (STATIC): Define to be empty (_LIBC) or `static'
95462         (otherwise).
95463         (__mon_yday): Declare with the STATIC attribute.
95464         (__mktime_internal): Likewise.
95465         Based on a report from Greg Schafer.
95466
95467 2002-11-23  Jim Meyering  <jim@meyering.net>
95468
95469         * lib/sig2str.c (str2signum, sig2str): Avoid a warning from gcc:
95470         Use `unsigned', not `int', as type of index.
95471
95472         * lib/xstat.in [@BEGIN_LSTAT_ONLY@]: Include <string.h>.
95473
95474         * lib/fsusage.c: Remove unneeded parentheses around operands of
95475         `defined'.
95476
95477 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95478
95479         * lib/quotearg.h: Allow multiple inclusion by surrounding with
95480         "#ifndef QUOTEARG_H_".  Include <stddef.h>, for size_t,
95481         so that we can be included first.
95482         (PARAMS): Remove; we now assume C89 or later.  All uses removed.
95483         * lib/quotearg.c: Include quotearg.h immediately after config.h.
95484         No need to include stddef.h or sys/types.h any more.
95485         Surround local include files with "", not "<>".
95486         Assume HAVE_LIMITS_H unconditionally, as we assume C89.
95487         Similarly, assume HAVE_C_BACKSLASH_A, CHAR_BIT, UCHAR_MAX, UINT_MAX,
95488         HAVE_STDLIB_H, HAVE_STRING_H, STDC_HEADERS.
95489         (HAVE_MBSINIT): Undef if !HAVE_MBRTOWC.
95490         (mbsinit): Define to 1 if !defined mbsinit && !HAVE_MBSINIT.
95491         (ISPRINT): Remove; no longer needed now that we assume C89.
95492
95493         (clone_quoting_options, quotearg_buffer, quotearg_n_options):
95494         Preserve errno.
95495
95496         (quotearg_buffer_restyled, quotearg_n, quotearg_n_style,
95497         quotearg_char): Use SIZE_MAX rather than
95498         (size_t) -1 when we are talking about "infinity".
95499
95500         (quotearg_buffer_restyled): Fix bug when quoting trigraphs.
95501
95502 2002-11-22  Paul Eggert  <eggert@twinsun.com>
95503
95504         * lib/hash.c: Avoid use of <assert.h>, as the GNU Coding Standards
95505         hint that one should use `if (! x) abort ();' rather than `assert
95506         (x);', and anyway it's one less thing to worry about configuring.
95507         (hash_lookup, hash_get_first, hash_get_next, hash_find_entry,
95508         hash_rehash, hash_insert): Use abort rather than assert.
95509
95510 2002-11-22  Bruno Haible  <bruno@clisp.org>
95511
95512         * lib/safe-read.h: Assume C89. Add comments.
95513         (safe_read): Change return type to size_t.
95514         * lib/safe-read.c (safe_read): Change return type to size_t. Handle
95515         byte counts > SSIZE_MAX correctly.
95516         * lib/safe-write.h: New file.
95517         * lib/safe-write.c: New file.
95518         * lib/full-read.h: New file.
95519         * lib/full-read.c: New file.
95520         * lib/full-write.h: Assume C89. Add comments.
95521         * lib/full-write.c: Include safe-write.h.
95522         (full_write): Rewritten to use safe_write.
95523         Suggested by Jim Meyering and Paul Eggert.
95524
95525 2002-11-21  Jim Meyering  <jim@meyering.net>
95526
95527         * lib/strdup.c (strdup): Tweak comment and initial #if/#include.
95528
95529         Merge in changes from the coreutils.
95530
95531         2002-09-25  Paul Eggert  <eggert@twinsun.com>
95532         * lib/fsusage.c [! HAVE_INTTYPES_H && HAVE_STDINT_H] Include
95533         <stdint.h>.
95534         (UINTMAX_MAX) [!defined UINTMAX_MAX]: New macro.
95535         (PROPAGATE_ALL_ONES): Work even if X is unsigned and narrower than
95536         int.  Work more efficiently if X is the same width as uintmax_t.
95537         Do not compare X to -1, to avoid bogus compiler warning.
95538         (get_fs_usage): (uintmax_t) -1 -> UINTMAX_MAX to avoid a cast.
95539         Don't assume that f_frsize and f_bsize are the same type.
95540
95541         * lib/mountlist.c: #undef MNT_IGNORE before defining it, to avoid
95542         warning on FreeBSD.
95543
95544         * lib/makepath.c (make_path): Restore umask *before* creating the final
95545         component.
95546         (make_path): Minor reformatting.
95547
95548         * lib/xmalloc.c: Adjust to work with new autoconf macros,
95549         AC_FUNC_MALLOC and AC_FUNC_REALLOC: test #ifndef
95550         HAVE_MALLOC/HAVE_REALLOC.
95551
95552         * lib/mountlist.h (ME_DUMMY): Don't count entries of type `auto' as
95553         dummy ones.  At least on GNU/Linux systems, `auto' means something
95554         else.
95555         From Michael Stone.
95556
95557 2002-11-21  Bruno Haible  <bruno@clisp.org>
95558
95559         Remove case insensitive option matching.
95560         * lib/argmatch.h (argcasematch): Remove declaration.
95561         (ARGCASEMATCH): Remove macro.
95562         (__xargmatch_internal): Remove case_sensitive argument.
95563         (XARGMATCH): Update.
95564         (XARGCASEMATCH): Remove macro.
95565         * lib/argmatch.c (argmatch): Renamed from __argmatch_internal. Remove
95566         case_sensitive argument.
95567         (argcasematch): Remove function.
95568         (__xargmatch_internal): Remove case_sensitive argument.
95569         (main): Use XARGMATCH instead of XARGCASEMATCH.
95570
95571         * lib/xmalloc.c: Change compile-time error message. Add comment about
95572         required autoconf version.
95573
95574 2002-11-20  Paul Eggert  <eggert@twinsun.com>
95575
95576         Merge argmatch cleanups from Bison.  Assume C89.
95577
95578         * lib/argmatch.c: Include config.h here, not in argmatch.h.
95579         Include stdlib.h, for EXIT_FAILURE.
95580         Always include <string.h>, since we assume C89.
95581         (EXIT_FAILURE): Remove pre-C89 bug workaround.
95582         * lib/argmatch.h: Do not include <config.h> or <sys/types.h>.
95583         Include <stddef.h> instead, since it's all we need for size_t.
95584         (PARAMS): Remove.  All uses removed.
95585         (ARRAY_CARDINALITY): Do not bother to #undef.
95586         (ARRAY_CARDINALITY, ARGMATCH, ARGCASEMATCH, invalid_arg,
95587         ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95588         Remove unnecessary parentheses.
95589         (ARGMATCH_VALID, XARGMATCH, XARGCASEMATCH):
95590         Insert necessary parentheses.
95591         (ARGMATCH_CONSTRAINT, ARGMATCH_VERIFY): New macros.
95592         (ARGMATCH_ASSERT): Use ARGMATCH_CONSTRAINT.
95593
95594 2002-11-19  Bruno Haible  <bruno@clisp.org>
95595
95596         * lib/mbswidth.c: Include mbswidth.h right at the beginning.
95597         * lib/mbswidth.h: Include <stddef.h>, for size_t.
95598
95599         * lib/mbswidth.h (PARAMS): Remove macro.
95600         (mbswidth, mbsnwidth): Use ANSI C function declarations.
95601         * lib/mbswidth.c (mbswidth, mbsnwidth): Likewise.
95602
95603         * lib/gcd.h (PARAMS): Remove macro.
95604         (gcd): Use ANSI C function declarations.
95605         * lib/gcd.c (gcd): Likewise.
95606
95607 2002-11-15  Bruno Haible  <bruno@clisp.org>
95608
95609         * lib/strcspn.c: Include <stddef.h>.
95610         (strcspn): Use ANSI C function declaration. Change return type to
95611         size_t. Use NULL.
95612         * lib/strpbrk.c: Minimize diffs to glibc. Include <stddef.h>.
95613         (strpbrk): Use NULL.
95614         * lib/strpbrk.h (PARAMS): Remove macro.
95615         (strpbrk): Use ANSI C function declaration.
95616         * lib/strstr.c: Don't include <sys/types.h>.
95617         * lib/strstr.h (PARAMS): Remove macro.
95618         (strstr): Use ANSI C function declarations.
95619
95620 2002-11-14  Karl Berry  <karl@gnu.org>
95621
95622         * config/mkinstalldirs: `do' on separate line, instead of
95623         `for var; do'.
95624
95625 2002-11-06  Bruno Haible  <bruno@clisp.org>
95626
95627         * lib/gcd.h (gcd): Change argument type to 'unsigned long'.
95628         * lib/gcd.c (gcd): Likewise.
95629
95630 2002-11-05  Bruno Haible  <bruno@clisp.org>
95631
95632         * lib/gcd.h: New file, from gettext-0.11.5.
95633         * lib/gcd.c: New file, from gettext-0.11.5.
95634
95635 2002-11-05  Bruno Haible  <bruno@clisp.org>
95636
95637         * lib/error.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95638         * lib/getopt.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95639         * lib/obstack.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95640         * lib/regex.c [!_LIBC]: Include gettext.h instead of <libintl.h>.
95641
95642         * lib/argmatch.c: Include gettext.h instead of <locale.h> and
95643         <libintl.h>.
95644         * lib/makepath.c: Include gettext.h instead of <locale.h> and
95645         <libintl.h>.
95646
95647         * lib/closeout.c: Include gettext.h instead of <libintl.h>.
95648         * lib/human.c: Include gettext.h instead of <libintl.h>.
95649         * lib/quotearg.c: Include gettext.h instead of <libintl.h>.
95650         * lib/rpmatch.c: Include gettext.h instead of <libintl.h>.
95651         * lib/unicodeio.c: Include gettext.h instead of <libintl.h>.
95652         * lib/userspec.c: Include gettext.h instead of <libintl.h>.
95653         * lib/version-etc.c: Include gettext.h instead of <libintl.h>.
95654         * lib/xmalloc.c: Include gettext.h instead of <libintl.h>.
95655         (textdomain): Remove definition.
95656         * lib/xmemcoll.c: Include gettext.h instead of <libintl.h>.
95657
95658         * lib/long-options.c: Remove include of <libintl.h> and definition of
95659         _.
95660         * lib/same.c: Remove include of <libintl.h> and definition of _.
95661
95662 2002-11-04  Owen Taylor  <otaylor@redhat.com>
95663
95664         * lib/config.charset: A few additions for Solaris.
95665
95666 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95667
95668         Make it possible to build libcharset with CC=gcc CFLAGS="-x c++".
95669         * lib/localcharset.c (locale_charset): Declare as extern "C".
95670
95671 2002-11-04  Bruno Haible  <haible@clisp.cons.org>
95672
95673         * lib/config.charset: msdos in uk_UA uses CP1125.
95674
95675 2002-11-04  Bruno Haible  <bruno@clisp.org>
95676
95677         * lib/stpcpy.h: New file, from GNU gettext-0.11.5.
95678         * lib/strcase.h: New file, from GNU gettext-0.11.5.
95679         * lib/strpbrk.h: New file, from GNU gettext-0.11.5.
95680         * lib/strstr.h: New file, from GNU gettext-0.11.5.
95681         * lib/xgetcwd.h: New file, from GNU gettext-0.11.5.
95682
95683 2002-11-04  Bruno Haible  <bruno@clisp.org>
95684
95685         * lib/localcharset.c (locale_charset): Don't return an empty string.
95686
95687 2002-11-04  Bruno Haible  <bruno@clisp.org>
95688
95689         * lib/localcharset.c (get_charset_aliases): Add more Windows specific
95690         aliases.
95691
95692 2002-11-04  Bruno Haible  <bruno@clisp.org>
95693
95694         * lib/config.charset: Update for newest glibc. Add canonical names
95695         ISO-8859-14, KOI8-T, TCVN5712-1, GEORGIAN-PS.
95696
95697 2002-11-04  Bruno Haible  <bruno@clisp.org>
95698
95699         * lib/config.charset: Add support for NetBSD.
95700
95701 2002-11-04  Bruno Haible  <bruno@clisp.org>
95702
95703         * lib/config.charset [msdosdjgpp]: For Russian, use CP866.
95704
95705 2002-11-01  Bruno Haible  <bruno@clisp.org>
95706
95707         * configure.in: Add AC_CONFIG_AUX_DIR call.
95708         (AC_OUTPUT): Add m4/Makefile, lib/Makefile. Remove doc/Makefile,
95709         test/Makefile.
95710         * Makefile.in (subdirs): Add m4, lib. Remove doc, test.
95711
95712 2002-09-28  Karl Berry  <karl@gnu.org>
95713
95714         * config/srclist.txt: can't copy install-sh/mkinstalldirs from
95715         installed automake until the next release, since changes have been
95716         made.
95717
95718 2002-09-25  Karl Berry  <karl@gnu.org>
95719
95720         * lib/strdup.c: copy from libc/string (via ../config/srclist*).
95721         * lib/getopt*: copy from libc/posix.
95722         * lib/gettext.h: copy from gettext.
95723         * lib/.cppi-disable: add strdup.c, gettext.h.
95724
95725 2002-09-25  Karl Berry  <karl@gnu.org>
95726
95727         * config/srclist.txt: enable gettext.h check.
95728         * config/config.{guess,sub}: update from prep.
95729         * config/depcomp, install-sh, mdate-sh, missing, mkinstalldirs: update
95730                 from automake 1.6.3.
95731         See srclist*.
95732
95733 2002-08-23  Stefan Monnier  <monnier@cs.yale.edu>
95734
95735         * regex.c (PATFETCH): Remove the translating fetch.
95736         (PATFETCH_RAW): Rename to PATFETCH.
95737         (set_image_of_range): New fun.
95738         (SET_RANGE_TABLE_WORK_AREA): Use it.
95739         (regex_compile): Don't translate the pattern chars so eagerly.
95740         Only do it when inserting an `exactn' bytecode or when handling
95741         a char-range.
95742         (mutually_exclusive_p): Avoid empty statement.
95743
95744 2002-07-06  Jim Meyering  <meyering@lucent.com>
95745
95746         * m4/README: Don't mention Makefile.am.in.
95747         Outline how I've tested changes to .m4 files.  Yep, it's a pain.
95748
95749 2002-07-01  Jim Meyering  <meyering@lucent.com>
95750
95751         * lib/c-stack.c: Include sys/time.h.
95752         From Volker Borchert.
95753
95754 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95755
95756         * m4/fnmatch.m4 (_AC_LIBOBJ_FNMATCH): Check for btowc.
95757
95758 2002-06-26  Paul Eggert  <eggert@twinsun.com>
95759
95760         * lib/fnmatch.c, fnmatch_loop.c (WIDE_CHAR_SUPPORT):
95761         New macro.  Use it uniformly instead of
95762         (defined HAVE_WCTYPE_H && defined HAVE_WCHAR_H).
95763         It also uses HAVE_BTOWC, to fix a porting bug on Solaris 2.5.1
95764         reported by Vin Shelton.
95765
95766 2002-06-22  Paul Eggert  <eggert@twinsun.com>
95767
95768         * lib/c-stack.h (segv_handler, c_stack_action) [! defined SA_SIGINFO]:
95769         Do not assume SA_SIGINFO behavior.
95770         Bug reported by Jim Meyering on NetBSD 1.5.2.
95771
95772 2002-06-22  Jim Meyering  <meyering@lucent.com>
95773
95774         * m4/c-stack.m4: New file, from diffutils-2.8.2.
95775         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_C_STACK.
95776
95777         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Don't require AC__GNU_SOURCE,
95778         now that configure.ac uses AC_GNU_SOURCE.
95779         (jm_MACROS): Rename: jm_FUNC_FNMATCH to AC_FUNC_FNMATCH_GNU.
95780         * m4/prereq.m4 (jm_PREREQ_EXCLUDE): Likewise, wrt jm_FUNC_FNMATCH.
95781
95782         Update to latest tools.  Suggestions from Paul Eggert.
95783         * m4/stdbool.m4: New file, from diffutils-2.8.2.
95784         * m4/gnu-source.m4: Update from diffutils-2.8.2.
95785         * m4/fnmatch.m4: Likewise.
95786         * m4/prereq.m4: Change each use of AC_CHECK_HEADERS(stdbool.h)
95787         to AC_HEADER_STDBOOL
95788
95789 2002-06-22  Jim Meyering  <meyering@lucent.com>
95790
95791         * lib/fnmatch.c (ISASCII, ISPRINT): Undefine, to avoid warning about
95792         redefinition due to Solaris 2.6's definition in /usr/include/sys/euc.h.
95793
95794 2002-06-22  Jim Meyering  <meyering@lucent.com>
95795
95796         * lib/c-stack.c, lib/c-stack.h: New files, from diffutils-2.8.2.
95797
95798         * lib/exitfail.c, exitfail.h: Likewise.
95799         * lib/Makefile.am (libfetish_a_SOURCES): Add exitfail.c and exitfail.h.
95800
95801         * lib/Makefile.am (libfetish_a_SOURCES): Add fnmatch_.h in place
95802         of fnmatch.h.
95803         (EXTRA_DIST): Add fnmatch_loop.c.
95804         (libfetish_a_SOURCES): Add c-stack.c and c-stack.h.
95805
95806         * lib/fnmatch_loop.c: New file, from diffutils-2.8.2.
95807         * lib/fnmatch.c: Update from diffutils-2.8.2.
95808         * lib/fnmatch_.h: New file.  From diffutils-2.8.2.
95809         * lib/fnmatch.h: Remove file.
95810
95811 2002-06-21  Jim Meyering  <meyering@lucent.com>
95812
95813         * m4/c-bs-a.m4: Add comment, from diffutils-2.8.2.
95814         * m4/mbrtowc.m4: Likewise.
95815
95816         * m4/mbstate_t.m4: Update from diffutils-2.8.2.
95817         * m4/mbswidth.m4: Reflect name change:
95818         s/AC_MBSTATE_T/AC_TYPE_MBSTATE_T.
95819         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
95820
95821         * m4/lib-link.m4: Update from gettext-0.11.2.
95822         * m4/gettext.m4: Likewise.
95823
95824         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for hurd.h.
95825         From Alfred M. Szmidt.
95826
95827 2002-06-18  Paul Eggert  <eggert@twinsun.com>
95828
95829         * lib/file-type.h: Report an error if neither S_ISREG nor
95830         S_IFREG is defined, instead of using a test specific to glibc
95831         2.2.  This should be safe, since POSIX requires S_ISREG and
95832         Unix Version 7 had S_IFREG.  We don't need to check for
95833         <sys/types.h> since we don't use any symbols that it defines.
95834
95835 2002-06-15  Richard Dawe  <richdawe@bigfoot.com>
95836
95837         * lib/Makefile.am (lstat.c, stat.c, .sin.sed): Use t-$@, rather than
95838         $@-t, so that each temporary file name is unique and valid in the first
95839         8 characters, for operation under DOS.
95840
95841 2002-06-15  Paul Eggert  <eggert@twinsun.com>
95842
95843         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Check for st_author.
95844
95845 2002-06-15  Jim Meyering  <meyering@lucent.com>
95846
95847         Work even with DJGPP 2.03, which lacks support for symlinks.
95848         From Richard Dawe.
95849         * lib/xstat.in (S_ISLNK): Define to 0 if neither S_ISLNK nor S_IFLNK
95850         is defined.
95851         * lib/lchown.c (S_ISLNK): Likewise.
95852
95853 2002-06-15  Jim Meyering  <meyering@lucent.com>
95854
95855         * lib/file-type.h (FILE_TYPE_H): Guard entire contents with #ifndef.
95856         For GNU libc 2.2 and newer, ensure that <sys/types.h> and <sys/stat.h>
95857         have been included before this file.
95858
95859 2002-06-14  Jim Meyering  <meyering@lucent.com>
95860
95861         * lib/file-type.h: Use the version from diffutils-2.8.2.
95862         * lib/file-type.c: Likewise.
95863
95864 2002-06-07  Jim Meyering  <meyering@lucent.com>
95865
95866         * m4/prereq.m4 (jm_PREREQ_STAT): Check for sys/param.h and sys/mount.h.
95867         They're needed at least for NetBSD 1.5.2.
95868         ($statxfs_includes): Include those same headers.
95869         ($statxfs_includes): Include sys/vfs.h if available.
95870         ($statxfs_includes): Likewise for sys/statvfs.h.
95871         Check for the following members in both structs statfs and statvfs:
95872         f_basetype, f_type, f_fsid.__val, f_namemax, f_namelen.
95873
95874 2002-06-01  Jim Meyering  <meyering@lucent.com>
95875
95876         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename macro:
95877         s/D_TYPE_IN_DIRENT/HAVE_STRUCT_DIRENT_D_TYPE/.
95878
95879 2002-05-28  Jim Meyering  <meyering@lucent.com>
95880
95881         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `mkdir', not `rmdir'.
95882         Reported by Volker Borchert.
95883
95884 2002-05-27  Jim Meyering  <meyering@lucent.com>
95885
95886         Fix a problem seen only on nonconforming systems whereby ls.c's
95887         use of localtime, and then of gettimeofday would cause trouble:
95888         the localtime call used to initialize rpl_gettimeofday's save
95889         mechanism would clobber ls's current local time information so
95890         that in any long listing the first file would always be listed
95891         with date 1970-01-01.  Analysis by Volker Borchert.
95892
95893         * lib/gettimeofday.c (localtime): Undefine.
95894         (rpl_localtime): New function.
95895
95896 2002-05-27  Jim Meyering  <meyering@lucent.com>
95897
95898         * m4/gettimeofday.m4 (AC_FUNC_GETTIMEOFDAY_CLOBBER): Also replace
95899         localtime.
95900
95901         * m4/readdir.m4 (jm_FUNC_READDIR): Undefine `rmdir' so we don't try to
95902         use the replacement function; it wouldn't resolve at link time.
95903         Reported by Volker Borchert.
95904
95905 2002-05-22  Jim Meyering  <meyering@lucent.com>
95906
95907         * lib/Makefile.am (libfetish_a_SOURCES): Add file-type.c and
95908         file-type.h.
95909         * lib/file-type.h: New file.
95910         * lib/file-type.c (file_type): New file/function.  Extracted from
95911         diffutils.
95912
95913 2002-04-30  Jim Meyering  <meyering@lucent.com>
95914
95915         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_STAT.
95916
95917 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95918
95919         * m4/prereq.m4 (jm_PREREQ_SIG2STR): Remove; all callers changed.
95920
95921 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95922
95923         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): Check for stdlib.h.
95924         Do not check for alloca.h (no longer used) or stdbool.h (was never
95925         used?).  Add AM_C_PROTOTYPES since hard-locale.h uses it.
95926
95927 2002-04-29  Paul Eggert  <eggert@twinsun.com>
95928
95929         * lib/hard-locale.c: Upgrade to version used in GNU Diffutils 2.8.1.
95930
95931 2002-04-29  Jim Meyering  <meyering@lucent.com>
95932
95933         * m4/jm-macros.m4 (jm_MACROS): Remove use of AC_FUNC_STRNLEN.
95934         * m4/prereq.m4: Add jm_PREREQ_STRNLEN.
95935         Use AC_FUNC_STRNLEN here instead.
95936
95937         * m4/jm-macros.m4: Don't AC_REQUIRE([AC_PROG_CC_STDC]).
95938         With autoconf-2.53a, it's part of AC_PROG_CC.
95939
95940 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95941
95942         * m4/jm-macros.m4 (jm_MACROS): Add AC_REPLACE_FUNCS(sig2str).
95943         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_SIG2STR.
95944
95945 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95946
95947         * lib/sig2str.h, lib/sig2str.c: New files.
95948         * lib/Makefile.am (libfetish_a_SOURCES): Add sig2str.h.
95949
95950 2002-04-28  Paul Eggert  <eggert@twinsun.com>
95951
95952         * lib/sig2str.h (SIGNUM_BOUND): Do not use WTERMSIG, to avoid
95953         depending on <sys/wait.h> and WTERMSIG.  Default to 64 instead
95954         of 127, since 64 is the largest conceivable number for ancient
95955         nonstandard hosts.
95956         * lib/sig2str.c: Do not include <sys/wait.h>; no longer needed.
95957
95958 2002-04-28  Jim Meyering  <meyering@lucent.com>
95959
95960         * lib/sig2str.c (WTERMSIG): Remove definition (unused).
95961
95962 2002-04-24  Jim Meyering  <meyering@lucent.com>
95963
95964         * m4/prereq.m4 (jm_PREREQ_HARD_LOCALE): New macro.
95965         (jm_PREREQ): Use it.
95966
95967         * m4/getloadavg.m4: Check for these headers: locale.h unistd.h
95968         mach/mach.h fcntl.h.
95969         Check for this function: setlocale.
95970
95971 2002-04-24  Jim Meyering  <meyering@lucent.com>
95972
95973         * lib/gettext.h: New file, from Gettext.
95974         * lib/Makefile.am (INCLUDES): Remove -I../intl.
95975         (libfetish_a_SOURCES): Add gettext.h.
95976
95977 2002-04-16  Jim Meyering  <meyering@lucent.com>
95978
95979         * m4/prereq.m4 (jm_PREREQ_READUTMP): Also check for these members:
95980         ut_pid, ut_id, ut_exit.
95981
95982 2002-04-16  Jim Meyering  <meyering@lucent.com>
95983
95984         * lib/readutmp.h (UT_TYPE): Remove definition (now in who.c).
95985         (HAVE_STRUCT_XTMP_UT_EXIT, HAVE_STRUCT_XTMP_UT_ID): Define.
95986         (HAVE_STRUCT_XTMP_UT_PID, HAVE_STRUCT_XTMP_UT_TYPE): Define.
95987
95988 2002-04-12  Jim Meyering  <meyering@lucent.com>
95989
95990         * m4/ls-mntd-fs.m4 (checking for getmntinfo function...): Remove
95991         now-bogus check for f_type in sys/mount.h.  Instead, just test for the
95992         existence of the getmntinfo function.  Needed for Darwin 5.3.
95993
95994         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Also detect when dirfd is a macro.
95995         This is necessary at least on Darwin 5.3.
95996
95997         * m4/jm-macros.m4: Don't AC_REPLACE(strnlen), now that we use
95998         AC_FUNC_STRNLEN.  Otherwise, we'd end up putting two copies of
95999         strnlen.o in the library, and that makes some versions of ranlib
96000         object.
96001
96002 2002-04-12  Jim Meyering  <meyering@lucent.com>
96003
96004         * lib/dirfd.h (dirfd): Elide prototype if dirfd is a macro.
96005
96006 2002-04-09  Jim Meyering  <meyering@lucent.com>
96007
96008         * m4/malloc.m4: (jm_FUNC_MALLOC): Change the `checking ...' message
96009         to be more precise.  Rather than saying we're checking whether the
96010         function `works', say what we're testing.
96011         * m4/realloc.m4 (jm_FUNC_REALLOC): Likewise.
96012         Reported by Bruno Haible.
96013
96014 2002-03-10  Jim Meyering  <meyering@lucent.com>
96015
96016         * lib/makepath.c (make_path): Remove a comma from a diagnostic.
96017         Suggestion from Santiago Vila.
96018
96019 2002-03-08  Jim Meyering  <meyering@lucent.com>
96020
96021         * lib/rename.c: Mention that this wrapper is needed also on
96022         mips-dec-ultrix4.4 systems.
96023
96024 2002-03-02  Jim Meyering  <meyering@lucent.com>
96025
96026         * lib/gettime.c (gettime): Test HAVE_CLOCK_GETTIME,
96027         not HAVE_CLOCK_SETTIME.
96028
96029 2002-02-27  Paul Eggert  <eggert@twinsun.com>
96030
96031         * m4/jm-macros.m4 (jm_MACROS): Do not replace stime; no longer used.
96032         Check for clock_settime.
96033
96034 2002-02-27  Paul Eggert  <eggert@twinsun.com>
96035
96036         * lib/nanosleep.h: Rename to....
96037         * lib/timespec.h: New name for nanosleep.h.  All uses changed.
96038
96039         * lib/gettime.c: New file.
96040         * lib/settime.c: New file.
96041         * lib/stime.c: Remove.
96042
96043         * lib/Makefile.am (libfetish_a_SOURCES): Add gettime.c, settime.c,
96044         timespec.h.  Remove nanosleep.h.
96045
96046 2002-02-25  Paul Eggert  <eggert@twinsun.com>
96047
96048         * m4/acl.m4: New file.
96049         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_ACL.
96050         Do not check for acl or sys/acl.h, as AC_FUNC_ACL does that now.
96051
96052 2002-02-25  Paul Eggert  <eggert@twinsun.com>
96053
96054         * lib/acl.c, lib/acl.h: New files.
96055         * lib/Makefile.am (libfetish_a_SOURCES): Add acl.h, acl.c.
96056
96057 2002-02-24  Jim Meyering  <meyering@lucent.com>
96058
96059         * lib/strnlen.c (strnlen): Define-away/undef so that an inconsistent
96060         prototype in string.h (on at least AIX4.3.2.0 w/gcc-2.95.3) doesn't
96061         cause trouble.  Reported by Nelson Beebe.
96062
96063 2002-02-23  Paul Eggert  <eggert@twinsun.com>
96064
96065         * lib/path-concat.c (xpath_concat): Reorder code to pacify
96066         compilers that don't know that xalloc_die never returns.
96067
96068 2002-02-20  Jim Meyering  <meyering@lucent.com>
96069
96070         * lib/getdate.c: Regenerate using bison-1.33.
96071
96072 2002-02-17  Jim Meyering  <meyering@lucent.com>
96073
96074         * config/config.guess (main): Don't use `head -1'; it's no longer
96075         portable. Use `sed 1q' instead.
96076
96077 2002-02-16  gettextize  <bug-gnu-gettext@gnu.org>
96078
96079         * m4/codeset.m4: Upgrade to gettext-0.11.
96080         * m4/gettext.m4: Upgrade to gettext-0.11.
96081         * m4/glibc21.m4: Upgrade to gettext-0.11.
96082         * m4/iconv.m4: Upgrade to gettext-0.11.
96083         * m4/isc-posix.m4: Upgrade to gettext-0.11.
96084         * m4/lcmessage.m4: Upgrade to gettext-0.11.
96085         * m4/lib-ld.m4: New file, from gettext-0.11.
96086         * m4/lib-link.m4: New file, from gettext-0.11.
96087         * m4/lib-prefix.m4: New file, from gettext-0.11.
96088         * m4/progtest.m4: Upgrade to gettext-0.11.
96089
96090 2002-02-15  Paul Eggert  <eggert@twinsun.com>
96091
96092         * m4/prereq.m4 (jm_PREREQ_POSIXVER): New macro.
96093         (jm_PREREQ): Use it.
96094
96095 2002-02-15  Paul Eggert  <eggert@twinsun.com>
96096
96097         * lib/posixver.c, lib/posixver.h: New files.
96098         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
96099
96100 2002-02-02  Paul Eggert  <eggert@twinsun.com>
96101             Bruno Haible  <bruno@clisp.org>
96102
96103         * lib/unicodeio.h (print_unicode_char): Add exit_on_error argument.
96104         (fwrite_success_callback): New declaration.
96105         * lib/unicodeio.c (unicode_to_mb): New function, extracted from
96106         print_unicode_char. Call failure callback instead of error.
96107         (fwrite_success_callback): New function.
96108         (exit_failure_callback): New function.
96109         (fallback_failure_callback): New function.
96110         (print_unicode_char): Call unicode_to_mb.
96111
96112 2002-01-26  Jim Meyering  <meyering@lucent.com>
96113
96114         * m4/jm-macros.m4 (jm_MACROS): Require autoconf-2.52g.
96115         * m4/strnlen.m4: Remove file, now that it's part of autoconf.
96116
96117 2002-01-26  Jim Meyering  <meyering@lucent.com>
96118
96119         * lib/Makefile.am (getdate$U.o): Depend on unlocked-io.h.
96120
96121 2002-01-22  Paul Eggert  <eggert@twinsun.com>
96122
96123         * m4/jm-macros.m4 (jm_MACROS): Require AC_FUNC_FSEEKO.
96124
96125 2002-01-22  Jim Meyering  <meyering@lucent.com>
96126
96127         * lib/Makefile.am (Makefile): Don't depend on $(BUILT_SOURCES).
96128         Otherwise, some versions of automake would omit the rule that makes
96129         Makefile from Makefile.in.
96130
96131 2002-01-21  Paul Eggert  <eggert@twinsun.com>
96132
96133         * lib/xmemcoll.h, lib/xmemcoll.c: New files.
96134         * lib/Makefile.am (libfetish_a_SOURCES): Add them.
96135         * lib/memcoll.c: Include errno.h, and declare errno if not defined.
96136         (memcoll): Set errno to zero if there is no error.
96137
96138         * lib/quotearg.c (quotearg_buffer_restyled):
96139         Fix bug with quoting buffers containing NUL when backslashing escapes.
96140         This bug was exposed by the other changes in this patch.
96141         (quotearg_n_options): New arg ARGSIZE.
96142         All callers changed.
96143         (quoting_options_from_style): New function.
96144         (quotearg_n_style): Use it.
96145         (quotearg_n_style_mem): New function.
96146
96147         * lib/quotearg.h (quotearg_n_style_mem): New function.
96148
96149 2002-01-19  Jim Meyering  <meyering@lucent.com>
96150
96151         * m4/jm-macros.m4 (jm_MACROS): Use AC_FUNC_STRNLEN.
96152         Remove useless quotes: DF_PROG="df".
96153         * m4/strnlen.m4: New file.
96154
96155 2002-01-16  Paul Eggert  <eggert@twinsun.com>
96156
96157         * lib/backupfile.c (ISDIGIT): Comment fix.
96158         * lib/getdate.y (ISDIGIT): Likewise.
96159         * lib/posixtm.c (ISDIGIT, year): Likewise.
96160         * lib/strverscmp.c (ISDIGIT): Likewise.
96161         * lib/userspec.c (ISDIGIT): Likewise.
96162
96163 2002-01-16  Jim Meyering  <meyering@lucent.com>
96164
96165         * lib/getdate.y: Add three semicolons, each just before a closing
96166         brace. Bison (as of version 1.31) no longer papers over that mistake.
96167
96168 2002-01-05  Jim Meyering  <meyering@lucent.com>
96169
96170         * lib/version-etc.c (version_etc_copyright): Update copyright year.
96171
96172 2001-12-19  Paul Eggert  <eggert@twinsun.com>
96173
96174         * lib/closeout.c (close_stdout_status): If ferror (stdout), do
96175         not silently exit merely because the output buffer happens to
96176         have nothing pending.
96177
96178 2001-12-18  Paul Eggert  <eggert@twinsun.com>
96179
96180         See the big note in ../ChangeLog.
96181         * lib/human.c (suffixes): Prefer K to k for 1024.
96182         (generate_suffix_backwards): New function.
96183         (human_readable_inexact): Use it.
96184         * lib/xstrtol.c (__xstrtol): If there is no number but there
96185         is a valid suffix, assume 1.  "MB" now means decimal, "MiB" binary.
96186         Accept 'K' as well as 'k'.
96187
96188 2001-12-15  Jim Meyering  <meyering@lucent.com>
96189
96190         * lib/regex.h (__restrict_arr): Update from libc.
96191
96192         * lib/mountlist.h (ME_REMOTE): Recognize file systems of type smbfs
96193         as `remote' if the name starts with `//'.  Suggested by Michael Stone.
96194         (STREQ): Define.
96195
96196 2001-12-14  Jim Meyering  <meyering@lucent.com>
96197
96198         * m4/jm-macros.m4 (jm_MACROS): Check for iswspace.
96199         Suggestion from Bruno Haible.
96200
96201 2001-12-10  Jim Meyering  <meyering@lucent.com>
96202
96203         * lib/linebuffer.c: Remove explicit declarations of xmalloc and
96204         xrealloc, Instead, include "xalloc.h".
96205         (initbuffer): Don't cast xmalloc return value to char*.
96206         (readline): Reword comment.
96207         Don't cast xrealloc return value to char*
96208         Return NULL, not 0.
96209
96210 2001-12-09  Jim Meyering  <meyering@lucent.com>
96211
96212         * lib/modechange.c (mode_compile): Add cast to avoid pedantic warning
96213         about `signed and unsigned type in conditional expression'.
96214         * lib/posixtm.c (posix_time_parse): Likewise.
96215
96216         * lib/xreadlink.c (xreadlink): Add cast to avoid a pedantic warning.
96217
96218         * lib/readtokens.c (readtoken): Declare an index to be of type unsigned
96219         to avoid a pedantic warning.
96220
96221         * lib/getstr.c: Don't include assert.h.
96222         (getstr): Remove warning-evoking assertions.
96223         Return -1 if offset parameter is out of bounds.
96224         Change the type of a local from int to size_t.
96225
96226         * lib/strftime.c (my_strftime_localtime_r): Include this function
96227         definition in the `#if ! HAVE_TM_GMTOFF' block.
96228
96229         * lib/xgethostname.c: Remove declarations of xmalloc and xrealloc.
96230         Include xalloc.h instead.
96231
96232 2001-12-02  Jim Meyering  <meyering@lucent.com>
96233
96234         * lib/tempname.c: Don't declare getenv, thus reverting the change of
96235         2001-11-18.  It's no longer necessary, now that stdlib.h is always
96236         included.
96237
96238         * lib/regex.c [!__BOUNDED_POINTERS__]: Define away __bounded,
96239         __unbounded, and __ptrvalue.  Reported by Uwe H. Steinfeld.
96240
96241 2001-11-30  Akim Demaille  <akim@epita.fr>
96242
96243         * lib/xstrdup.c: Include xalloc.h, so that xstrdup is declared
96244         before being defined.
96245
96246 2001-11-27  Paul Eggert  <eggert@twinsun.com>
96247
96248         * lib/quotearg.h (quotearg_n, quotearg_n_style):
96249         First arg is int, not unsigned.
96250         * lib/quotearg.c (quotearg_n, quotearg_n_style): Likewise.
96251         (SIZE_MAX, UINT_MAX): New macros.
96252         (quotearg_n_options): Abort if N is negative.
96253         Avoid overflow check on hosts where size_t is 64 bits and int
96254         is 32 bits, as overflow is impossible there.
96255         Fix off-by-one typo that caused unnecessary reallocation.
96256
96257 2001-11-27  Jim Meyering  <meyering@lucent.com>
96258
96259         * lib/tempname.c: Merge with version from libc.
96260         * lib/regex.c: Likewise.
96261
96262         * lib/tempname.c: Include stdlib.h unconditionally.  On some old
96263         systems for which STDC_HEADERS is 0, it was not included, resulting in
96264         a warning about an integer-to-pointer conversion problem with getenv.
96265         Reported by Volker Borchert.
96266
96267 2001-11-26  Jim Meyering  <meyering@lucent.com>
96268
96269         * lib/gtod.h: Remove file.
96270         * lib/Makefile.am (libfetish_a_SOURCES): Remove gtod.h.
96271         * lib/gettimeofday.c: Don't include gtod.h.
96272         (GTOD_init): Remove function.
96273         (rpl_gettimeofday): Do its job here instead, rather than aborting.
96274         Suggestion from Volker Borchert.
96275
96276 2001-11-23  Jim Meyering  <meyering@lucent.com>
96277
96278         * lib/hash.h (struct hash_table): Don't define here.  Merely declare
96279         it.
96280         * lib/hash.c (struct hash_table): Define it here instead.
96281
96282 2001-11-22  Jim Meyering  <meyering@lucent.com>
96283
96284         * lib/hash.h: Bracket contents of file with #ifndef HASH_H_ ... #endif.
96285
96286 2001-11-20  Jim Meyering  <meyering@lucent.com>
96287
96288         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Update comment to reflect that
96289         SunOS 4.1.4 and Solaris 2.5.1 lose, too.
96290
96291 2001-11-19  Jim Meyering  <meyering@lucent.com>
96292
96293         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Don't bother with a temporary
96294         directory.  Use "conftestXXXXXX" as the template.
96295         Suggestion from Paul Eggert.
96296
96297         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): Close each descriptor
96298         immediately, so the test doesn't mistakenly hit the max-open-files
96299         limit.
96300
96301 2001-11-18  Paul Eggert  <eggert@twinsun.com>
96302
96303         * lib/tempname.c (TMP_MAX): Remove; no longer needed.
96304         (TEMPORARIES): New macro.
96305         (__gen_tempname): Use TEMPORARIES rather than TMP_MAX.  This
96306         removes an artificial limitation (e.g. HP-UX 10.20, where
96307         TMP_MAX is 17576).
96308
96309 2001-11-18  Jim Meyering  <meyering@lucent.com>
96310
96311         * m4/prereq.m4 (jm_PREREQ_TEMPNAME): Check for declaration of getenv.
96312
96313 2001-11-18  Jim Meyering  <meyering@lucent.com>
96314
96315         * lib/tempname.c [!HAVE_DECL_GETENV]: Declare getenv to avoid warning
96316         on SunOS 4.
96317
96318         * lib/Makefile.am (Makefile): Depend on $(BUILT_SOURCES), so those
96319         files will be created before anything else.
96320
96321 2001-11-17  Paul Eggert  <eggert@twinsun.com>
96322
96323         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): Do not define
96324         WINSIZE_IN_PTEM if <termios.h> defines struct winsize.
96325
96326 2001-11-17  Jim Meyering  <meyering@lucent.com>
96327
96328         * m4/mkstemp.m4 (UTILS_FUNC_MKSTEMP): New file and macro.
96329         Prompted by a report from Bob Proulx.
96330
96331         * m4/jm-macros.m4 (jm_MACROS): Don't test for mkstemp here.
96332         Instead, require UTILS_FUNC_MKSTEMP.
96333
96334 2001-11-17  Jim Meyering  <meyering@lucent.com>
96335
96336         * m4/jm-macros.m4 (jm_MACROS): Remove code to set POW_LIBM.
96337         Now, that's done as part of AC_FUNC_STRTOD.
96338
96339 2001-11-17  Jim Meyering  <meyering@lucent.com>
96340
96341         * lib/modechange.c (mode_adjust): Fix error introduced on 1999-04-26
96342         that made e.g., `chmod a=,o=w,g=o F' cause F to be group readable
96343         rather than group writable.  Patch by Juan F. Codagnone.
96344
96345         * lib/readtokens.c: Remove explicit declarations of xmalloc and
96346         xrealloc, Instead, include "xalloc.h".
96347
96348         * lib/mountlist.c: Include unlocked-io.h after all system headers.
96349         Remove explicit declarations of xmalloc, xrealloc,
96350         and xstrdup.  Instead, include "xalloc.h".
96351
96352         * lib/argmatch.c, closeout.c, error.c, exclude.c: Include
96353         unlocked-io.h.
96354         * lib/fatal.c, getdate.y, getpass.c, getstr.c, getusershell.c:
96355         Likewise.
96356         * lib/mountlist.c, posixtm.c, readtokens.c, readutmp.c: Likewise.
96357
96358         * lib/regex.c, sha.c, version-etc.c, yesno.c: Likewise.
96359         Reported by Padraig Brady.
96360
96361         * lib/mkstemp.c: #undef mkstemp.
96362         Include config.h.
96363         (rpl_mkstemp): Rename from mkstemp.
96364         Protoize.
96365
96366 2001-11-16  Jim Meyering  <meyering@lucent.com>
96367
96368         * lib/physmem.c [HAVE_SYS_PSTAT_H]: Include <sys/pstat.h>.
96369         (physmem_total) [HAVE_PSTAT_GETSTATIC]: If sysconf couldn't be used to
96370         determine the amount of total physical memory, use pstat_getstatic.
96371         HPUX-11 doesn't define _SC_PHYS_PAGES.
96372         (physmem_available) [HAVE_PSTAT_GETSTATIC && HAVE_PSTAT_GETDYNAMIC]:
96373         If sysconf couldn't be used to determine the amount of available
96374         physical memory, use both pstat_getstatic and pstat_getdynamic.
96375         Based on a patch from Bob Proulx.
96376
96377 2001-11-10  Jim Meyering  <meyering@lucent.com>
96378
96379         * m4/prereq.m4 (jm_PREREQ_PHYSMEM): New function.
96380         (jm_PREREQ): Use it.
96381
96382 2001-11-09  Jim Meyering  <meyering@lucent.com>
96383
96384         * m4/jm-macros.m4: Require autoconf-2.52f.
96385         (AC_FUNC_ERROR_AT_LINE, AC_FUNC_OBSTACK, AC_FUNC_STRTOD):
96386         Use these AC_-prefixed names, not the AM_-prefixed ones.
96387
96388         * m4/afs.m4 (jm_AFS): Quote the body.  Patch by Akim Demaille.
96389
96390 2001-11-05  Jim Meyering  <meyering@lucent.com>
96391
96392         * lib/xstat.in (slash_aware_lstat): Correct a misleading comment.
96393
96394 2001-11-04  Jim Meyering  <meyering@lucent.com>
96395
96396         * m4/fpending.m4: Remove unused cruft that saved, set, and restored
96397         $DEFS.
96398
96399 2001-11-03  Jim Meyering  <meyering@lucent.com>
96400
96401         * m4/jm-glibc-io.m4n (jm_FUNC_GLIBC_UNLOCKED_IO): Quote first arg
96402         of AC_DEFUN.
96403
96404         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): Rework so dirfd.c doesn't have to
96405         know the name of the variable in the macro definition.
96406
96407 2001-11-03  Jim Meyering  <meyering@lucent.com>
96408
96409         * lib/argmatch.h (ARGMATCH_TO_ARGUMENT): Remove casts of first two args
96410         in argmatch_to_argument call.
96411
96412         * lib/dirfd.c (dirfd): Reflect the fact that DIR_TO_FD now takes an
96413         argument.
96414
96415         * lib/hash.c (hash_clear): Fix a bug that could lead to an infloop or
96416         e.g., a fault due to an attempt to free a NULL pointer.
96417
96418 2001-11-01  Jim Meyering  <meyering@lucent.com>
96419
96420         * m4/dirfd.m4 (UTILS_FUNC_DIRFD): New macro.
96421         * m4/jm-macros.m4 (jm_MACROS): Require UTILS_FUNC_DIRFD.
96422
96423 2001-11-01  Jim Meyering  <meyering@lucent.com>
96424
96425         * lib/dirfd.c, lib/dirfd.h: New files.
96426         * lib/Makefile.am (libfetish_a_SOURCES): Add dirfd.h.
96427
96428         * lib/hash.c (hash_print) [TESTING]: Clean up.
96429
96430 2001-10-22  Paul Eggert  <eggert@twinsun.com>
96431
96432         * lib/hard-locale.c (alloca): Define to __builtin_alloca if __GNUC__,
96433         to avoid a warning if -Wall.
96434
96435 2001-10-22  Jeff Bailey  <jbailey@outpost.dnsalias.org>
96436
96437         * README: New file
96438         * doc/*: Add COPYING, COPYING.LIB, COPYING.DOC, fdl.texi
96439         (per RMS's instructions, this is now the canonical source)
96440         * lgpl/, gpl/: New directories.
96441
96442 2001-10-21  Paul Eggert  <eggert@twinsun.com>
96443
96444         * lib/regex.c (uintptr_t): Remove macro and decl; it's config.h's job.
96445
96446 2001-10-21  Jim Meyering  <meyering@lucent.com>
96447
96448         * lib/obstack.c (_): Honor the setting of ENABLE_NLS.  Otherwise,
96449         this code would end up calling gettext even in packages built
96450         with --disable-nls.
96451         * lib/getopt.c (_): Likewise.
96452         * lib/regex.c (_): Likewise.
96453
96454 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96455
96456         * m4/error.m4 (jm_PREREQ_ERROR):
96457         Do not invoke AC_CHECK_FUNCS with strerror_r, as
96458         AC_FUNC_STRERROR_R does that.
96459         Check for strerror declaration.
96460
96461         * m4/strerror_r.m4: Add copyright notice, as nontrivial m4 files
96462         are supposed to have them these days.
96463         (AC_FUNC_STRERROR_R): Always do char* test, so that it gets cached.
96464         Merge changes from latest Autoconf CVS.
96465         Rename ac_cv_func_strerror_r_works to ac_cv_func_strerror_r_char_p,
96466         and rename HAVE_WORKING_STRERROR_R to STRERROR_R_CHAR_P, since
96467         POSIX decided to standardize on the int flavor of strerror_r.
96468
96469 2001-10-20  Paul Eggert  <eggert@twinsun.com>
96470
96471         * lib/error.c (strerror_r): Do not declare unless !_LIBC.
96472         Do not check for HAVE_DECL_STRERROR_R missing unless STRERROR_R_CHAR_P.
96473         Use strerror_r that is only a macro, even if it is not a function.
96474         (strerror): Check for HAVE_DECL_STRERROR before declaring.
96475         (private_strerror): Use prototypes, not old-style function definition.
96476         (print_errno_message): New function.
96477         Support the POSIX 'int'-flavored strerror_r, as well as the traditional
96478         char*-flavored one.
96479         (error_tail, error, error_at_line): Use it.
96480
96481 2001-10-11  Jim Meyering  <meyering@lucent.com>
96482
96483         * lib/argmatch.c (argmatch_invalid): Use quotearg_n_style (0, ...
96484         and quote_n (1, ... to avoid clobbering a buffer.
96485
96486 2001-10-05  Jim Meyering  <meyering@lucent.com>
96487
96488         * lib/Makefile.am: (libfetish_a_SOURCES): Add hash-pjw.c and
96489         hash-pjw.h.
96490         * lib/hash-pjw.c: New file (factored out of fileutils' remove.c).
96491         * lib/hash-pjw.h: New file.
96492
96493 2001-09-30  Jim Meyering  <meyering@lucent.com>
96494
96495         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): See if
96496         `struct fsstat' has the `f_fstypename' member.
96497         Use that to define FS_TYPE, which is now used to make
96498         the getfsstat link test tighter.
96499
96500 2001-09-30  Jim Meyering  <meyering@lucent.com>
96501
96502         * lib/mountlist.c [MOUNTED_GETFSSTAT]:
96503         Include <sys/ucred.h>, for Apple Darwin.
96504         Include sys/mount.h and sys/fs_types.h only if available.
96505         (FS_TYPE): Define.
96506         (read_filesystem_list): Use FS_TYPE.
96507
96508 2001-09-29  Paul Eggert  <eggert@twinsun.com>
96509
96510         * lib/exclude.c (excluded_filename): 0 -> false, since it's
96511         a boolean context.
96512
96513 2001-09-29  Jim Meyering  <meyering@lucent.com>
96514
96515         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96516         [one-argument getmntent function]): Include stdio.h before mntent.h.
96517         SunOS 4.1.x needs it for the declaration of `FILE'.
96518         Patch by Volker Borchert.
96519
96520         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS)
96521         Check for these headers: sys/param.h sys/ucred.h sys/mount.h
96522         sys/fs_types.h, and make the link-test for getfsstat guard #include
96523         directives with appropriate #if HAVE_*_H tests so that we can
96524         detect getfsstat on Apple Darwin1.3.7 systems.
96525         Reported by Nelson Beebe.
96526         Fix harmless typo in cache variable name: s/getsstat/getfsstat/.
96527
96528 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96529
96530         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96531         #defines strtoimax.  Also treat the other strto* functions
96532         like strtoimax.
96533
96534         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96535         Check for strtoul and strtoumax,
96536         as those declarations are made even in the signed case.
96537         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX):
96538         Likewise, for strtol and strtoimax.
96539
96540 2001-09-28  Paul Eggert  <eggert@twinsun.com>
96541
96542         Fix bug reported by Petter Reinholdtsen for HP-UX 10.20, which
96543         #defines strtoimax.  Also treat the other strto* functions
96544         like strtoimax.
96545
96546         * lib/xstrtol.c (strtol): Do not declare if HAVE_DECL_STRTOL.
96547         (strtoul): Do not declare if HAVE_DECL_STRTOUL.
96548         (strtoimax, strtoumax): Do not declare if already defined as a macro.
96549
96550 2001-09-26  Jim Meyering  <meyering@lucent.com>
96551
96552         Most macros in unlocked-io.h had the wrong number of arguments.
96553         * lib/gen-uio: New script.
96554         (USE_UNLOCKED_IO): Define to 1 if not already defined.
96555         * lib/unlocked-io.hin: Remove file.
96556         * lib/Makefile.am (unlocked-io.h): Rewrite to use a separate script,
96557         rather than trying to embed it here.
96558         (EXTRA_DIST): Add gen-uio.  Remove unlocked-io.hin
96559         Reported by Padraig Brady.
96560
96561 2001-09-25  Volker Borchert  <bt@teknon.de>
96562
96563         * lib/gettimeofday.c (rpl_gettimeofday): Declare local variable
96564         `result'.
96565
96566 2001-09-24  Jim Meyering  <meyering@lucent.com>
96567
96568         * m4/gettext.m4: Use the version from gettext-0.10.40, not CVS.
96569
96570 2001-09-23  Jim Meyering  <meyering@lucent.com>
96571
96572         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add a compile-test
96573         instead of the mere test for existence of mntent.h.  The latter
96574         would get a false-positive on AIX 3.4 systems.
96575         In the outer getmntent if-block, don't die if neither of the getmntent
96576         tests succeeds.  Instead, just fall through and continue with the
96577         remaining tests.
96578
96579 2001-09-23  Jim Meyering  <meyering@lucent.com>
96580
96581         * lib/mountlist.c: Remove useless parentheses in #if directives.
96582         (MOUNTED) [!defined MOUNTED]: Define to _PATH_MOUNTED, for when
96583         the deprecated MOUNTED symbol is no longer defined in mntent.h.
96584
96585 2001-09-22  Jim Meyering  <meyering@lucent.com>
96586
96587         * m4/gettext.m4: New file.  From gettext.
96588         * m4/lcmessage.m4: Sync with gettext -- this changes only comments.
96589         * m4/progtest.m4: Likewise
96590         * m4/isc-posix.m4: Decrement serial number to sync with gettext.
96591         * m4/glibc21.m4: Likewise.
96592
96593         * m4/libintl.m4: Remove.  No longer used.
96594
96595 2001-09-22  Jim Meyering  <meyering@lucent.com>
96596
96597         * lib/localcharset.c: Update from latest gettext.
96598         * lib/config.charset: Likewise.
96599
96600 2001-09-20  Jim Meyering  <meyering@lucent.com>
96601
96602         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX): Check for declaration of
96603         strtoimax.
96604         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check for declaration of
96605         strtoumax.
96606
96607 2001-09-20  Jim Meyering  <meyering@lucent.com>
96608
96609         * lib/xstrtol.c (strtoimax): Guard declaration with
96610         `#if !HAVE_DECL_STRTOIMAX', rather than just `#ifndef strtoimax'.
96611         The latter fails because some systems (at least rs6000-ibm-aix4.3.3.0)
96612         have their own, conflicting declaration of strtoimax in sys/inttypes.h.
96613         (strtoumax): Likewise, for completeness (it wasn't necessary).
96614
96615 2001-09-17  Paul Eggert  <eggert@twinsun.com>
96616
96617         * lib/strtoimax.c (HAVE_LONG_LONG):
96618         Redefine to HAVE_UNSIGNED_LONG_LONG if unsigned.
96619         (strtoimax): Use sizeof (long), not sizeof strtol (ptr, endptr, base),
96620         to work around bug in IBM C compiler.
96621
96622 2001-09-17  Jim Meyering  <meyering@lucent.com>
96623
96624         * m4/chown.m4, fstypename.m4, getgroups.m4, gettimeofday.m4,
96625         * m4/jm-mktime.m4, lstat.m4, malloc.m4, memcmp.m4, mkdir-slash.m4,
96626         * m4/nanosleep.m4, putenv.m4, readdir.m4, realloc.m4, rename.m4,
96627         * m4/st_dm_mode.m4, stat.m4, strerror_r.m4, timespec.m4, utimbuf.m4,
96628         * m4/utimes.m4: Use AC_DEFINE rather than AC_DEFINE_UNQUOTED,
96629         whenever the right hand side need not be expanded by the shell.
96630
96631 2001-09-16  Paul Eggert  <eggert@twinsun.com>
96632
96633         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): Remove test for GNU C
96634         library.  It's not correct, as some older glibcs are buggy.
96635         fnmatch wasn't fixed until glibc 2.2.
96636
96637         Use AC_DEFINE, not AC_DEFINE_UNQUOTED, as there's no
96638         special shell magic here.
96639
96640 2001-09-16  Jim Meyering  <meyering@lucent.com>
96641
96642         * m4/mkdir-slash.m4 (UTILS_FUNC_MKDIR_TRAILING_SLASH): New file/macro.
96643         * m4/jm-macros.m4: Require it.
96644
96645 2001-09-16  Jim Meyering  <meyering@lucent.com>
96646
96647         * lib/mkdir.c: New file.
96648
96649 2001-09-15  Jim Meyering  <meyering@lucent.com>
96650
96651         * m4/jm-macros.m4: Check for help2man.
96652
96653 2001-09-11  Jim Meyering  <meyering@lucent.com>
96654
96655         * m4/host-os.m4 (UTILS_HOST_OS): New file/macro.
96656         The body, by Paul Eggert, was moved here from configure.in.
96657         * m4/jm-macros.m4: Require UTILS_HOST_OS.
96658
96659 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96660
96661         * m4/prereq.m4 (jm_PREREQ_XREADLINK): New macro.
96662         (jm_PREREQ): Use it.
96663
96664 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96665
96666         * lib/xreadlink.c (xreadlink): Omit size_t* arg.  All uses changed.
96667         Use ssize_t, not int, to store result of readlink.
96668         Check for ssize_t overflow as well as size_t overflow,
96669         as POSIX says the result of readlink is implementation-defined
96670         when ssize_t overflows.
96671         Remove unnecessary cast to char*.
96672         Use free+malloc instead of realloc, as the storage doesn't need
96673         to be preserved and it's clearer and can be more efficient that way.
96674         (SIZE_MAX, SSIZE_MAX): New macros, if <limits.h> doesn't declare.
96675         * lib/xreadlink.h (xreadlink): Update prototype.
96676
96677 2001-09-04  Paul Eggert  <eggert@twinsun.com>
96678
96679         * lib/xgetcwd.c: Revert some of the previous change; intead,
96680         fix the HAVE_GETCWD_NULL code to behave more like the
96681         !HAVE_GETCWD_NULL code used to.
96682
96683         Include "xalloc.h".
96684         (xgetcwd): Do not return NULL when memory is exhausted; instead,
96685         invoke xalloc_die.
96686
96687 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96688
96689         * m4/prereq.m4 (jm_PREREQ_XGETCWD): Check for limits.h and
96690         sys/param.h, as pathmax.h includes them.
96691
96692 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96693
96694         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_XGETCWD.
96695         (jm_PREREQ_XGETCWD): New macro.
96696
96697         * m4/getcwd.m4: New file.
96698
96699 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96700
96701         * lib/xgetcwd.c: Fix the !HAVE_GETCWD_NULL code to behave more
96702         like the HAVE_GETCWD_NULL code.
96703         Include pathmax.h if not HAVE_GETCWD.
96704         Do not include xalloc.h.
96705         (INITIAL_BUFFER_SIZE): New symbol.
96706         Do not use xmalloc / xrealloc, since the caller is responsible for
96707         handling errors.  Preserve errno around `free' during failure.
96708         Do not overrun buffer when using getwd.
96709
96710 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96711
96712         * lib/xgetcwd.c (xgetcwd): Use HAVE_GETCWD_NULL, not (defined
96713         __GLIBC__ && __GLIBC__ >= 2), to decide whether to use
96714         getcwd (NULL, 0).
96715
96716 2001-09-03  Paul Eggert  <eggert@twinsun.com>
96717
96718         * lib/exclude.c (fnmatch_no_wildcards): Fix confusion between
96719         usage of FNM_CASEFOLD and FNM_LEADING_DIR.  The bug was
96720         spotted by Jim Meyering.
96721
96722 2001-09-03  Jim Meyering  <meyering@lucent.com>
96723
96724         * lib/xreadlink.c (xreadlink): Preserve errno around `free' during
96725         failure.
96726
96727 2001-09-02  Jim Meyering  <meyering@lucent.com>
96728
96729         * lib/error.c: Update from GNU libc.
96730
96731 2001-09-01  Jim Meyering  <meyering@lucent.com>
96732
96733         * m4/jm-macros.m4 (jm_MACROS): Check for canonicalize_file_name.
96734         Used by df.
96735
96736 2001-09-01  Jim Meyering  <meyering@lucent.com>
96737
96738         * lib/xreadlink.c: New file.
96739         * lib/xreadlink.h: New file.
96740         * lib/Makefile.am (libfetish_a_SOURCES): Add xreadlink.c and
96741         xreadlink.h.
96742
96743         * lib/regex.c (uintptr_t) [!_LIBC]: Define to private_uintptr_t, so it
96744         doesn't conflict with sparc Solaris 7's definition in
96745         /usr/include/sys/int_types.h.
96746
96747         * lib/exclude.c: Use `""', not `<>' to #include non-system header
96748         files.
96749         (fnmatch_no_wildcards): Rewrite not to use function names, strcasecmp
96750         and strncasecmp as r-values.  Unixware didn't have declarations.
96751
96752 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96753
96754         * lib/xstrtol.h: Add copyright notice.
96755         (_DECLARE_XSTRTOL): Improve quality of diagnostic for
96756         LONGINT_INVALID_SUFFIX_CHAR.
96757
96758 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96759
96760         * lib/xstrtol.c (strtoimax): New decl.
96761
96762 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96763
96764         * lib/xgetcwd.c: Don't include pathmax.h.
96765         Include stdlib.h and unistd.h if available.
96766         Include xalloc.h.
96767         (xmalloc, xstrdup, free): Remove decls.
96768         (xgetcwd): Don't assume sizes fit in unsigned.
96769         Check for overflow when computing sizes.
96770         Simplify reallocation code.
96771
96772 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96773
96774         * lib/savedir.c (savedir): Remove size parameter, as POSIX says that
96775         a directory's st_size can have an arbitrary value, so the old
96776         usage could waste an arbitrary amount of memory.  All uses
96777         changed.
96778         * lib/savedir.h: Update prototype.
96779
96780 2001-08-31  Paul Eggert  <eggert@twinsun.com>
96781
96782         * lib/Makefile.am (libfetish_a_SOURCES): Remove strtoxmax.c.
96783
96784         * lib/strtoimax.c: Renamed from strtoxmax.c, removing the
96785         old strtoimax.c.
96786
96787         Also, make the following further changes to make this file's
96788         configuration more similar to that of strtol.c:
96789         (UNSIGNED): Renamed from STRTOUXMAX_UNSIGNED.  All uses changed.
96790         (strtoumax, uintmax_t, strtoull, strtol): Remove.
96791         (intmax_t, strtoimax, strtol, strtoll): New macros, if UNSIGNED.
96792         (strtoimax): Renamed from strtoumax.  All uses of unsigned values
96793         changed to signed values.
96794
96795         And make the following changes as well:
96796         Fix copyright notice, as 1999 was missing.
96797         (verify): New macro.
96798         (strtoimax): Check sizes at compile-time, not run-time.
96799         Prefer strtol to strtoll if both work.
96800         (main): Remove; it was not that useful and was a pain to maintain.
96801
96802         * lib/strtoumax.c: Include strtoimax.c, not strtouxmax.c.
96803
96804 2001-08-31  Jim Meyering  <meyering@lucent.com>
96805
96806         * lib/xgetcwd.c (xgetcwd): Reorganize to avoid some duplication.
96807         Use an initial, malloc'd, buffer of length 128 rather than
96808         a statically allocated one of length 1024.
96809
96810 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96811
96812         Simplify code, partly by assuming autoconf 2.52 semantics.
96813
96814         * m4/Makefile.am (EXTRA_DIST): Remove uintmax_t.m4.
96815
96816         * m4/inttypes.m4 (AC_PREREQ): Bump to 2.52.
96817         (jm_AC_HEADER_INTTYPES_H): Remove; now done by autoconf in 2.52.
96818         All uses removed.
96819         (jm_AC_TYPE_INTMAX_T, jm_AC_TYPE_UINTMAX_T):
96820         Move AC_REQUIRE to next-to-top level, to avoid confusion.
96821         Use 2.52's AC_CHECK_TYPE instead of merely looking for the header.
96822         * m4/prereq.m4 (jm_PREREQ_HUMAN): Don't require
96823         jm_AC_HEADER_INTTYPES_H.
96824         * m4/jm-macros.m4 (jm_MACROS): Likewise.
96825
96826         * m4/uintmax_t.m4: Remove, as it duplicates inttypes.m4.
96827
96828         * m4/xstrtoimax.m4 (jm_AC_PREREQ_XSTRTOIMAX):
96829         Quote first arg of AC_DEFUN.
96830         Require jm_AC_TYPE_UINTMAX_T and jm_AC_TYPE_UNSIGNED_LONG_LONG
96831         since they are needed to parse the include file even if we need
96832         only xstrtoimax.  Simplify logic behind the args to AC_REPLACE.
96833         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Likewise,
96834         but with opposite signedness.
96835
96836 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96837
96838         Merge 'exclude' changes from tar 1.13.22.
96839         This fixes one or two unlikely storage allocation overflow bugs,
96840         but doesn't change user-visible behavior otherwise.
96841
96842 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96843
96844         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_EXCLUDE.
96845         (jm_PREREQ_EXCLUDE): New macro.
96846
96847 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96848
96849         * lib/quotearg.c: BSD/OS 4.1 wchar.h requires FILE and struct
96850         tm to be declared.
96851
96852 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96853
96854         * lib/hash.c: Remove '2001' from copyright notice.
96855
96856 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96857
96858         * lib/full-write.h: New file.
96859         * lib/Makefile.am (libfetish_a_SOURCES): Add full-write.h.
96860         * lib/full-write.c: Correct credits, as cccp.c no longer
96861         exists and anyway it was so heavily changed from the old cccp
96862         code as to be unrecognizable.  Include full-write.h.
96863         (full_write): Return size_t, with short writes meaning failure.
96864         All callers changed.  This fixes a bug with large buffers
96865         on 64-bit hosts.
96866         * lib/utime.c: Include full-write.h.
96867
96868 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96869
96870         * lib/exclude.c (bool): Declare, perhaps by including stdbool.h.
96871         (<sys/types.h>): Include only if HAVE_SYS_TYPES_H.
96872         (<stdlib.h>, <string.h>, <strings.h>, <inttypes.h>, <stdint.h>):
96873         Include if available.
96874         (<xalloc.h>): Include
96875         (SIZE_MAX): Define if <stdint.h> or <inttypes.h> doesn't.
96876         (verify): New macro.  Use it to verify that EXCLUDE macros do not
96877         collide with FNM macros.
96878         (struct patopts): New struct.
96879         (struct exclude): Use it, as exclude patterns now come with options.
96880         (new_exclude): Support above changes.
96881         (new_exclude, add_exclude_file):
96882         Initial size must now be a power of two to simplify overflow checking.
96883         (free_exclude, fnmatch_no_wildcards): New function.
96884         (excluded_filename): No longer requires options arg, as the options
96885         are determined by add_exclude.  Now returns bool, not int.
96886         (excluded_filename, add_exclude):
96887         Add support for the fancy new exclusion options.
96888         (add_exclude, add_exclude_file): Now takes int options arg.
96889         Check for arithmetic overflow when computing sizes.
96890         (add_exclude_file): xrealloc might modify errno, so don't
96891         realloc until after errno might be used.
96892
96893         * lib/exclude.h (EXCLUDE_ANCHORED, EXCLUDE_INCLUDE,EXCLUDE_WILDCARDS):
96894         New macros.
96895         (free_exclude): New decl.
96896         (add_exclude, add_exclude_file): Now takes int options arg.
96897         (excluded_filename): No longer requires options arg, as the options
96898         are determined by add_exclude.  Now returns bool, not int.
96899
96900 2001-08-30  Paul Eggert  <eggert@twinsun.com>
96901
96902         * lib/alloca.c (alloca): Arg is of type size_t, not unsigned.
96903
96904 2001-08-27  Jim Meyering  <meyering@lucent.com>
96905
96906         * lib/Makefile.am (libfetish_a_SOURCES): Add strtoxmax.c
96907
96908         * lib/version-etc.c (N_): Remove definition.
96909         Revert most of last change.
96910         Instead, simply don't mark the `Copyright...' string for translation.
96911         Based on advice from Paul Eggert.
96912
96913         * lib/strtoxmax.c: Tweak comment.
96914
96915 2001-08-26  Jim Meyering  <meyering@lucent.com>
96916
96917         * m4/jm-macros.m4: Require jm_AC_PREREQ_XSTRTOIMAX.
96918
96919         * m4/xstrtoimax.m4: New file.
96920         * m4/xstrtoumax.m4: Add comments explaining why we
96921         AC_REPLACE_FUNCS(strtol).
96922
96923 2001-08-26  Jim Meyering  <meyering@lucent.com>
96924
96925         * lib/version-etc.c (version_etc_copyright_fmt): Replace literal year
96926         of copyright with `%s' so translators don't get an untranslated
96927         message in 2002.
96928         (COPYRIGHT_YEAR): Define.
96929         (version_etc): Use fprintf rather than fputs.
96930         Suggestion from Ulrich Drepper.
96931
96932         * lib/Makefile.am (libfetish_a_SOURCES): Add xstrtoimax.c.
96933
96934         * lib/strtoll.c: New file, from GNU libc.
96935         * lib/xstrtoimax.c: New file.
96936
96937         * lib/xstrtol.h: Add xstrtoimax.
96938         * lib/strtoumax.c: New file.  Simply include "strtoumax.c".
96939         * lib/strtoimax.c: New file.  Likewise, but first define
96940         STRTOUXMAX_SIGNED.
96941
96942         * lib/strtoumax.c: Factor to work both for unsigned and signed types,
96943         ...
96944         * lib/strtoxmax.c: ... then renamed to this.
96945
96946 2001-08-18  Paul Eggert  <eggert@twinsun.com>
96947
96948         * m4/inttypes.m4: Add AC_PREREQ(2.13).
96949         (jm_AC_HEADER_INTTYPES_H): Test for intmax_t, too.
96950         (jm_AC_TYPE_INTMAX_T): New macro.
96951         (jm_AC_TYPE_UINTMAX_T): Moved here from uintmax_t.m4.
96952
96953         * m4/longlong.m4 (jm_AC_TYPE_LONG_LONG): New macro.
96954
96955         * m4/longlong.m4: Renamed from ulonglong.m4.
96956         * m4/inttypes.m4: Renamed from inttypes_h.m4.
96957         * m4/uintmax_t.m4: Removed.
96958
96959 2001-08-13  Paul Eggert  <eggert@twinsun.com>
96960
96961         * lib/Makefile.am (unlocked-io.h): Do not append "_unlocked" twice.
96962         Port to Solaris 8, where 'sed' requires a space after the 'r'
96963         command, and where sh dislikes "$/".  Clean up the spacing a bit.
96964         Redirect output to $tmp just once.
96965
96966 2001-08-12  Paul Eggert  <eggert@sic.twinsun.com>
96967
96968         * lib/addext.c (<errno.h>): Include.
96969         (errno): Declare if not defined.
96970         (addext): Work correctly when pathconf returns -1 and leaves
96971         errno alone because there is no limit.  Also, work even if
96972         pathconf returns a value greater than SIZE_MAX.
96973
96974 2001-08-12  Jim Meyering  <meyering@lucent.com>
96975
96976         * m4/afs.m4, assert.m4, bison.m4, check-decl.m4, chown.m4, d-ino.m4,
96977         d-type.m4, dos.m4, error.m4, fnmatch.m4, fpending.m4, fstypename.m4,
96978         fsusage.m4, ftruncate.m4, getgroups.m4, glibc.m4, gnu-source.m4,
96979         group-member.m4, jm-glibc-io.m4, jm-macros.m4, jm-mktime.m4,
96980         jm-winsz1.m4, jm-winsz2.m4, lchown.m4, lib-check.m4, libintl.m4,
96981         link-follow.m4, ls-mntd-fs.m4, lstat.m4, malloc.m4, mbrtowc.m4,
96982         mbstate_t.m4, mbswidth.m4, memcmp.m4, nanosleep.m4, perl.m4,
96983         prereq.m4, putenv.m4, readdir.m4, realloc.m4, regex.m4, rename.m4,
96984         rmdir-errno.m4, search-libs.m4, st_dm_mode.m4, st_mtim.m4, stat.m4,
96985         strftime.m4, timespec.m4, unlink-busy.m4, uptime.m4, utimbuf.m4,
96986         utime.m4, utimes.m4, xstrtoumax.m4:
96987         Quote the first argument in each use of AC_DEFUN.
96988
96989 2001-08-12  Jim Meyering  <meyering@lucent.com>
96990
96991         * lib/xgetcwd.c (xgetcwd) [defined __GLIBC__ && __GLIBC__ >= 2]:
96992         Simply `return getcwd (NULL, 0);'.
96993         [! (defined __GLIBC__ && __GLIBC__ >= 2)]:
96994         Use 1300 as initial value for length, not PATH_MAX.
96995
96996         * lib/pathmax.h: Clean up cpp syntax.
96997
96998 2001-08-12  Jim Meyering  <meyering@lucent.com>
96999
97000         * lib/gettimeofday.c: New file.
97001         * lib/gtod.h: New file.
97002         * lib/Makefile.am (libfetish_a_SOURCES): Add gtod.h.
97003
97004 2001-08-05  Jim Meyering  <meyering@lucent.com>
97005
97006         * m4/jm-macros.m4: Require autoconf-2.52.
97007
97008 2001-08-04  Jim Meyering  <meyering@lucent.com>
97009
97010         * lib/error.h (__attribute__): Remove `|| __STRICT_ANSI__' from #if
97011         stmt, to get in sync with glibc.
97012
97013 2001-08-03  Paul Eggert  <eggert@twinsun.com>
97014
97015         The following changes are from gettext 0.10.39 as maintained by
97016         Bruno Haible.
97017
97018         * lib/mbswidth.h (MBSW_REJECT_UNPRINTABLE, MBSW_REJECT_INVALID):
97019         Renamed from MBSW_ACCEPT_UNPRINTABLE and MBSW_ACCEPT_INVALID
97020         with inverted sense.  All uses changed.
97021
97022         * lib/mbswidth.c: Don't include <limits.h>.
97023         Include <stdlib.h> and <string.h> unconditionally.
97024         (iswcntrl, mbsinit, ISCNTRL): New macros.
97025         (mbsnwidth): Use K&R style function declarations.
97026         Don't bother checking for MB_LEN_MAX == 1, since the compiler
97027         can optimize it when MB_CUR_MAX == 1.
97028         The width of control characters is zero, not 1.
97029
97030 2001-08-03  Paul Eggert  <eggert@twinsun.com>
97031
97032         The following changes are from gettext 0.10.39 as maintained by
97033         Bruno Haible, except that getline.m4 continues to use AC_LIBOBJ.
97034
97035         * m4/codeset.m4: Upgrade to serial AM1.
97036         (AM_LANGINFO_CODESET): Renamed from jm_LANGINFO_CODESET;
97037         all uses changed.  Quote first arg of AC_DEFUN.
97038         (am_cv_langinfo_codeset): Renamed from jm_cv_langinfo_codeset.
97039
97040         * m4/iconv.m4: Upgrade to serial AM2.
97041         (AM_ICONV): Renamed from jm_ICONV; all uses changed.
97042         Add --with-libconv-prefix.
97043         Quote first arg of AC_DEFUN.  Add description for ICONV_CONST.
97044         (am_cv_func_iconv): Renamed from jm_cv_func_iconv.
97045         (am_cv_lib_iconv): Renamed from jm_cv_lib_iconv.
97046         (am_cv_proto_iconv): Renamed from jm_cv_proto_iconv.
97047         * m4/jm-macros.m4 (jm_MACROS): Reflect s/jm_/AM_/ renamings.
97048
97049         * m4/c-bs-a.m4 (AC_C_BACKSLASH_A): Quote first arg of AC_DEFUN.
97050         * m4/getline.m4 (AM_FUNC_GETLINE): Likewise.
97051         * m4/glibc21.m4 (jm_GLIBC21): Likewise.
97052         * m4/inttypes_h.m4 (jm_AC_HEADER_INTTYPES_H): Likewise.
97053         * m4/isc-posix.m4 (AC_ISC_POSIX): Likewise.
97054         * m4/lcmessage.m4 (AM_LC_MESSAGES): Likewise.
97055         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): Likewise.
97056         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Likewise.
97057         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Likewise.
97058
97059         * m4/getline.m4 (AM_FUNC_GETLINE): Don't bother checking for
97060         string.h any more.
97061
97062         * m4/progtest.m4 (AM_PATH_PROG_WITH_TEST): If not found, print "no",
97063         not the default value.
97064
97065         2001-06-25  Bruno Haible  <haible@clisp.cons.org>
97066         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Don't require AM_C_PROTOTYPES.
97067         Also check for mbsinit.  Needed for SCO 3.2v5.0.2.
97068         Also include <string.h>; this is where AIX 3.2.5 declares wcwidth.
97069         Also check for iswcntrl, used for wcwidth fallback.
97070         Use AC_TRY_COMPILE to emulate AC_CHECK_DECLS, for portability
97071         to Autoconf 2.13.
97072
97073 2001-08-03  Jim Meyering  <meyering@lucent.com>
97074
97075         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Use `#include', not `@%:@include',
97076         as it was in the original.  Reported by Paul Eggert.
97077
97078 2001-07-16  Jim Meyering  <meyering@lucent.com>
97079
97080         * m4/gettimeofday.m4: New file.
97081         Prompted by a report from Bernhard Baehr.
97082
97083 2001-07-15  Jim Meyering  <meyering@lucent.com>
97084
97085         * m4/Makefile.am.in (Makefile.am): Remove most of the unlocked-io.h
97086         stuff. Now it's in ../Makefile.cfg.
97087
97088 2001-07-15  Jim Meyering  <meyering@lucent.com>
97089
97090         * lib/Makefile.am (EXTRA_DIST): Add unlocked-io.hin.
97091         (BUILT_SOURCES): Add unlocked-io.h.
97092         (io_functions): Define.
97093         (unlocked-io.h): New rule.
97094         (DISTCLEANFILES): Add unlocked-io.h.
97095         (all-local): Depend on unlocked-io.h, to ensure it is created.
97096
97097         * lib/unlocked-io.hin: New file
97098
97099         * lib/regex.c: Update from glibc.
97100
97101 2001-07-05  Jim Meyering  <meyering@lucent.com>
97102
97103         * lib/Makefile.am (noinst_HEADERS): Remove definition, per new automake
97104         recommendation.
97105         (libfetish_a_SOURCES): Put all .h files here instead.
97106         Remove a thus-exposed (better checks in automake) duplicate and
97107         two unnecessary .h files.
97108
97109 2001-07-04  Jim Meyering  <meyering@lucent.com>
97110
97111         * m4/Makefile.am.in (glibc-io.struct): New target.  Rework the code
97112         that generates jm-glibc-io.m4 so that it doesn't trigger any make
97113         distcheck failure.
97114
97115 2001-07-02  Jim Meyering  <meyering@lucent.com>
97116
97117         The following changes were prompted by suggestions from Bruno Haible.
97118
97119         * m4/jm-glibc-io.m4n: New file, the template from which jm-glibc-io.m4
97120         is now generated.
97121         * m4/Makefile.am.in (Makefile.am): Include jm-glibc-io.m4n in emitted
97122         definition of EXTRA_DIST.
97123         (Makefile.am): Emit the dependency, `all-local: jm-glibc-io.m4' to
97124         ensure that the generated file is created/updated whenever the list
97125         of $(unlocked_functions) is changed.
97126         (jm-glibc-io.m4): New rule.
97127         (unlocked-io.h): New rule -- currently unused.
97128
97129 2001-06-24  Jim Meyering  <meyering@lucent.com>
97130
97131         * m4/regex.m4 (jm_INCLUDED_REGEX): Use a quadrigraph to represent an
97132         unmatched right bracket, rather than kludging it with an extra,
97133         falsely-matching quote in a comment.  Patch by Akim Demaille.
97134
97135 2001-06-11  Jim Meyering  <meyering@lucent.com>
97136
97137         * lib/regex.c: Update from GNU libc.
97138
97139 2001-05-27  Jim Meyering  <meyering@lucent.com>
97140
97141         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for ut_type in struct utmpx.
97142         Check for ut_type in struct utmp.
97143
97144 2001-05-27  Jim Meyering  <meyering@lucent.com>
97145
97146         * lib/readutmp.h (UT_TYPE): Define.
97147
97148 2001-05-24  Jim Meyering  <meyering@lucent.com>
97149
97150         * lib/argmatch.c: Include "quote.h".
97151         (argmatch_invalid): Remove explicit `' quotes.  Instead, use the
97152         quote function.  Reported by Göran Uddeborg.
97153
97154 2001-05-22  Jim Meyering  <meyering@lucent.com>
97155
97156         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Don't use AC_LIBOBJ(strftime),
97157         now that we use the package-supplied version unconditionally.
97158         (jm_FUNC_STRFTIME): Don't replace strftime, for the same reason.
97159
97160 2001-05-21  Jim Meyering  <meyering@lucent.com>
97161
97162         * m4/regex.m4: Change a couple backticks to single quotes to avoid
97163         shell syntax errors.
97164
97165 2001-05-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
97166
97167         * m4/dos.m4 (jm_AC_DOS): Check for _WIN32, __WIN32__, and __MSDOS__.
97168
97169 2001-05-20  Paul Eggert  <eggert@twinsun.com>
97170
97171         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME):
97172         Don't bother to check library strftime, since
97173         we'll be using our own my_strftime function anyway.
97174         Define my_strftime instead of strftime.
97175
97176 2001-05-20  Alexandre Duret-Lutz  <duret_g@epita.fr>
97177
97178         * lib/dirname.c (dir_name): Compute append_dot using path, not newpath
97179         which is not yet declared.
97180
97181 2001-05-15  Jim Meyering  <meyering@lucent.com>
97182
97183         * m4/regex.m4: Use proper quoting so brackets appear in the test
97184         program.
97185         Reported by, and with help from, Bruno Haible.
97186
97187 2001-05-13  Jim Meyering  <meyering@lucent.com>
97188
97189         * m4/jm-macros.m4 (major_t, minor_t): Define to unsigned int if
97190         undefined.
97191
97192 2001-05-11  Paul Eggert  <eggert@twinsun.com>
97193
97194         dirname code cleanup.  base_name now behaves more compatibly
97195         with POSIX basename when given file names that have trailing
97196         slashes, and similarly for dir_name.  Add new primitives
97197         base_len and dir_len.  Put the directory-name-related decls
97198         into dirname.h.
97199
97200         * lib/addext.c (ISSLASH, base_name): Remove; now in dirname.h.
97201         * lib/backupfile.c (base_name): Likewise.
97202         * lib/basename.c (FILESYSTEM_PREFIX_LEN, PARAMS, ISSLASH): Likewise.
97203         * lib/dirname.c (FILESYSTEM_PREFIX_LEN, ISSLASH): Likewise.
97204         * lib/makepath.c (strip_trailing_slashes): Likewise.
97205         * lib/path-concat.c (DIRECTORY_SEPARATOR, FILESYSTEM_PREFIX_LEN,
97206         ISSLASH): Likewise.
97207         * lib/rename.c (strip_trailing_slashes): Likewise.
97208         * lib/same.c (base_name): Likewise.
97209         * lib/stripslash.c (ISSLASH): Likewise.
97210
97211         * lib/addext.c: Include <dirname.h> after size_t is defined.
97212         * lib/backupfile.c: Likewise.
97213
97214         * lib/addext.c (addext): Use base_len to trim redundant
97215         trailing slashes instead of doing it ourselves.
97216         But do not trim the last slash if it is not redundant.
97217
97218         * lib/backupfile.c (find_backup_file_name,
97219         max_backup_version): Use base_len instead of rolling it ourselves.
97220         Handle the case of "" and (on DOS) "C:" correctly.
97221
97222         * lib/basename.c: Do not include <stdio.h>, <assert.h>; no longer
97223         needed. Include <string.h>, <dirname.h>.
97224         (base_name): Allow file names ending in slashes, other than names
97225         that are all slashes.  In this case, return the basename followed
97226         by the slashes.  This is more general, and can be used in places
97227         where the original base_name purposely had an assertion failure.
97228         (base_len): New function.
97229
97230         * lib/dirname.c: Include <string.h> instead of <stdlib.h>.
97231         Do not include <assert.h>; no longer needed.
97232         Include xalloc.h.
97233         (memrchr): Remove decl.
97234         (dir_name_r): Remove.
97235         (dir_len): Renamed from dirlen.  All callers changed.
97236         Rewrite in terms of base_name, for simplicity and consistency.
97237         (dir_name): Never return NULL.  All callers changed.
97238         Do not include <stdlib.h> in test program; no longer needed.
97239         return 0; is fine for test program.
97240
97241         * lib/dirname.h (DIRECTORY_SEPARATOR, ISSLASH, FILESYSTEM_PREFIX_LEN):
97242         New macros.
97243         (base_name, base_len, dir_len, strip_trailing_slashes): New decls.
97244
97245         * lib/path-concat.c (path_concat): Use base_len to compute
97246         base length, not strlen; this means we cannot rely on memcpy
97247         to null-terminate.
97248
97249         * lib/same.c (STREQ): Remove.
97250         (same_name): Handle the case where the basename ends in trailing '/'.
97251
97252         * lib/stripslash.c (strip_trailing_slashes): Return nonzero if
97253         a slash was stripped.  Do not strip the last slash after a
97254         file system prefix.
97255
97256 2001-05-11  Paul Eggert  <eggert@twinsun.com>
97257
97258         * lib/Makefile.am (libfetish_a_SOURCES):
97259         Add strftime.c, since we now compile it on all hosts.
97260
97261         * lib/strftime.c (my_strftime):
97262         Define to nstrftime if emacs, but only if my_strftime is not defined.
97263         (extra_args, extra_args_spec, extra_args_spec_iso): Rename from
97264         ut_argument, ut_argument_spec, ut_argument_spec_iso, respectively.
97265         Add one more extra argument: a nanoseconds value.
97266         All uses changed.
97267         (ns): New macro.
97268         (my_strftime function): Add %N format.
97269         (emacs_strftimeu): Renamed from emacs_strftime,
97270         with extra ut argument.
97271
97272 2001-05-09  Paul Eggert  <eggert@twinsun.com>
97273
97274         * m4/jm-macros.m4 (jm_MACROS): Do not check for fseeko; no longer used.
97275
97276 2001-04-21  Jim Meyering  <meyering@lucent.com>
97277
97278         * m4/rmdir-errno.m4: Write to a new file, so that a restrictive umask
97279         doesn't interfere.
97280
97281 2001-04-21  Alexandre Duret-Lutz  <duret_g@epita.fr>
97282
97283         * m4/ftruncate.m4: Check for chsize.
97284         Link with ftruncate.o unconditionally if ftruncate is missing.
97285         This was required when cross-compiling to i586-mingw32msvc.
97286
97287 2001-04-08  Jim Meyering  <meyering@lucent.com>
97288
97289         * lib/getdate.y (get_date): Set tm_isdst to -1 to ensure that it is
97290         recomputed; that's necessary when the offset spans a DST transition.
97291         Patch by David J. MacKenzie.  Reported by Hon-Yin Kok.
97292
97293 2001-04-02  Jim Meyering  <meyering@lucent.com>
97294
97295         * lib/regex.h, regex.c: Update from GNU libc.
97296
97297 2001-03-24  Jim Meyering  <meyering@lucent.com>
97298
97299         * m4/jm-macros.m4: Require autoconf-2.49d.
97300
97301 2001-03-20  Bruno Haible  <haible@clisp.cons.org>
97302
97303         * m4/iconv.m4 (jm_ICONV): Recommend GNU libiconv.
97304
97305 2001-03-19  Paul Eggert  <eggert@twinsun.com>
97306
97307         * lib/version-etc.c (version_etc_copyright): Update to 2001.
97308
97309 2001-03-17  Jim Meyering  <meyering@lucent.com>
97310
97311         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Remove my copy of AC_FUNC_MEMCMP,
97312         now that the version in autoconf is equivalent.
97313         (jm_FUNC_MEMCMP): Adjust to use AC_FUNC_MEMCMP.
97314
97315         * m4/error.m4 (jm_PREREQ_ERROR): Invoke AC_FUNC_STRERROR_R.
97316         Suggestion from Akim Demaille.
97317
97318         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_TEMPNAME.
97319         (jm_PREREQ_TEMPNAME): New function.
97320
97321 2001-03-16  Paul Eggert  <eggert@twinsun.com>
97322
97323         * lib/tempname.c (uint64_t): Define to uintmax_t if
97324         not defined, and if UINT64_MAX is not defined.
97325         Required at least for Vax Ultrix4.3, which doesn't define uint64_t.
97326         Reported by John David Anglin.
97327
97328 2001-03-15  Bruno Haible  <haible@clisp.cons.org>
97329
97330         * lib/localcharset.c (locale_charset): Allow wildcard syntax. Also
97331         resolve alias if codeset is empty.
97332         * lib/config.charset (BeOS): Use wildcard syntax.
97333
97334 2001-03-13  Jim Meyering  <meyering@lucent.com>
97335
97336         * lib/path-concat.c (path_concat)
97337         [FILESYSTEM_ACCEPTS_DRIVE_LETTER_PREFIX]: Don't insert a backslash when
97338         concatenating e.g., `C:' and `foo'.
97339         From Bruno Haible.
97340
97341 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97342
97343         * lib/localcharset.c (locale_charset): Don't use
97344         setlocale(LC_CTYPE,NULL). Don't return NULL.
97345         * lib/unicodeio.c (print_unicode_char): Simplify accordingly.
97346
97347 2001-03-06  Bruno Haible  <haible@clisp.cons.org>
97348
97349         * lib/config.charset: Update for FreeBSD 4.2 and OSF/1 5.1. Add
97350         support for DOS/DJGPP.
97351
97352 2001-03-01  Paul Eggert  <eggert@twinsun.com>
97353
97354         * m4/jm-macros.m4 (jm_MACROS): Use mkstemp replacement if the system
97355         lacks mkstemp.  Compile our own tempname.c if we compile our own
97356         mkstemp.c, as mkstemp relies on tempname.
97357
97358 2001-03-01  Jim Meyering  <meyering@lucent.com>
97359
97360         * m4/dos.m4 (jm_AC_DOS): Remove extra backslashes, now that
97361         AH_VERBATIM really does output its argument verbatim.
97362
97363 2001-02-28  Paul Eggert  <eggert@twinsun.com>
97364
97365         * lib/Makefile.am (libfetish_a_SOURCES):
97366         Add dup-safer.c, fopen-safer.c.
97367         (noinst_HEADERS): Add stdio-safer.h, unistd-safer.h.
97368
97369         * lib/dup-safer.c, lib/fopen-safer.c, lib/stdio-safer.h:
97370         * lib/unistd-safer.h: New files.
97371
97372 2001-02-25  Paul Eggert  <eggert@twinsun.com>
97373
97374         The mkstemp replacement is taken from glibc 2.2.2, with some
97375         portability fixes for use outside glibc, as follows:
97376
97377         * lib/tempname.c (struct_stat64): New macro.
97378         (direxists, __gen_tempname): Use it.
97379         This avoids a portability problem with Solaris 8.
97380
97381         * lib/tempname.c (<config.h>): Include if HAVE_CONFIG_H.
97382         (<stddef.h>, <stdint.h>, <string.h>):
97383         Include only if STDC_HEADERS || _LIBC.
97384         (<fcntl.h>): Include only if HAVE_FCNTL_H || _LIBC.
97385         (<unistd.h>): Include only if HAVE_UNISTD_H || _LIBC.
97386         (<sys/time.h>): Include only if HAVE_SYS_TIME_H || _LIBC.
97387         (__set_errno): Define this macro if <errno.h> doesn't.
97388         (P_tmpdir, TMP_MAX, __GT_FILE, __GT_BIGFILE, __GT_DIR, __GT_NOCREATE):
97389         Define these macros if <stdio.h> doesn't.
97390         (S_ISDIR, S_IRUSR, S_IWUSR, S_IXUSR):
97391         Define these macros if <sys/stat.h>
97392         doesn't.  Ignore <sys/stat.h> S_ISDIR if STAT_MACROS_BROKEN.
97393         (stat64, __getpid, __gettimeofday, __mkdir, __open, __open64, lxstat64,
97394         __xstat64): Define if not _LIBC.
97395         (__secure_getenv): Define if ! (HAVE___SECURE_GETENV || _LIBC).
97396         (__gen_tempname): Invoke gettimeofday only if
97397         HAVE_GETTIMEOFDAY || _LIBC;
97398         otherwise, fall back on plain "time".
97399         Use macros like S_IRUSR | S_IWUSR rather than octal values like 0600.
97400
97401         * lib/mkstemp.c (__GT_FILE): Define to zero if not defined.
97402
97403         * lib/mkstemp.c, lib/tempname.c: New files, taken from glibc 2.2.2.
97404
97405 2001-02-18  Paul Eggert  <eggert@twinsun.com>
97406
97407         * m4/jm-macros.m4 (jm_CHECK_ALL_HEADERS): Check for sys/resource.h.
97408
97409 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97410
97411         * m4/mbrtowc.m4: New file, defining jm_FUNC_MBRTOWC.
97412         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH):
97413         Use jm_FUNC_MBRTOWC, not AC_CHECK_FUNCS(mbrtowc).
97414         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Likewise.
97415
97416 2001-02-17  Paul Eggert  <eggert@twinsun.com>
97417
97418         * lib/mbswidth.c, quotearg.c (mbrtowc, mbsinit):
97419         Remove workaround macros for hosts that have mbrtowc but not
97420         mbstate_t, as we now insist on proper declarations for both
97421         before using mbrtowc.
97422
97423 2001-02-17  Jim Meyering  <meyering@lucent.com>
97424
97425         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Don't check for
97426         getmntent via AC_CHECK_FUNCS, since that would get a `no' and disrupt
97427         further attempts by AC_FUNC_GETMNTENT to check with e.g., -lgen on
97428         UnixWare 7.1.1.
97429
97430         * m4/mbrtowc.m4 (jm_FUNC_MBRTOWC): Adapt to use AC_CACHE_CHECK etc.,
97431         rather than AC_CACHE_VAL.
97432
97433 2001-02-17  Jim Meyering  <meyering@lucent.com>
97434
97435         * lib/strtoul.c: Sync from GNU libc.  Use double quotes, not <...>
97436         around included file name.
97437
97438         * lib/strnlen.c (__strnlen): Merge in a change from GNU libc.
97439
97440         * lib/strftime.c: Update from GNU libc (the only changes were to
97441         comments).
97442
97443 2001-02-17  Jim Meyering  <meyering@lucent.com>
97444
97445         * lib/regex.c: Update from libc.
97446
97447 2001-02-17  Bruno Haible  <haible@clisp.cons.org>
97448
97449         * lib/mbswidth.h (mbswidth): Also define as macro, to avoid prototype
97450         clash.
97451
97452 2001-02-16  Paul Eggert  <eggert@twinsun.com>
97453
97454         * lib/alloca.c (malloc): Undef before defining, since stdlib.h
97455         may have defined it.  Needed for Encore Umax-3.0.9.16b systems.
97456         Reported by Mark Hounschell via Paul Eggert.
97457
97458 2001-02-07  Jim Meyering  <meyering@lucent.com>
97459
97460         * m4/regex.m4 (jm_INCLUDED_REGEX): Add a test for the latest bug.
97461
97462 2001-02-05  Jim Meyering  <meyering@lucent.com>
97463
97464         * m4/jm-macros.m4: Require autoconf-2.14d (not yet released), because
97465         it includes the patch required for `large file' support with at least
97466         HP-UX's 10.20 /bin/cc.
97467
97468 2001-02-03  Jim Meyering  <meyering@lucent.com>
97469
97470         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Restore prior use of
97471         AS_IF, now that it works once again (mysteriously).
97472         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97473
97474 2001-01-30  Jim Meyering  <meyering@lucent.com>
97475
97476         Don't use filenames that are 8.3-equivalent to "conftest" on DOS.
97477         * m4/chown.m4: Rename conftestchown to conftest.chown.
97478         * m4/rename.m4: s/conftestdir/conftest.d1/ and
97479         s/conftestdir2/conftest.d2/.
97480         * m4/utimes.m4: s/conftestdata/conftest.data/
97481         Inspired by Pavel Roskin's change in autoconf.
97482
97483 2001-01-30  Bruno Haible  <haible@clisp.cons.org>
97484
97485         * lib/config.charset: Update for FreeBSD 4.2.
97486
97487 2001-01-27  Jim Meyering  <meyering@lucent.com>
97488
97489         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Open-code what was
97490         a use of AS_IF.
97491         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Likewise.
97492
97493 2001-01-26  Jim Meyering  <meyering@lucent.com>
97494
97495         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Check for stddef.h, now that
97496         quotearg.c includes it.
97497
97498 2001-01-26  Jim Meyering  <meyering@lucent.com>
97499
97500         * lib/quotearg.c: Include stddef.h.
97501         * lib/quote.c: Include stddef.h.
97502         Reported by Axel Kittenberger.
97503
97504         * lib/xmalloc.c [HAVE_DONE_WORKING_MALLOC_CHECK]: Enclose error-evoking
97505         line in double quotes so that it evokes a better diagnostic.
97506         [HAVE_DONE_WORKING_REALLOC_CHECK]: Likewise.
97507         Reported by Axel Kittenberger.
97508
97509 2001-01-24  Stefan Monnier  <monnier@cs.yale.edu>
97510
97511         * regex.c (mutually_exclusive_p): Don't blindly handle `charset_not'
97512         as if it was a `charset'.
97513
97514 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97515
97516         * m4/iconv.m4 (jm_ICONV): Also check whether the iconv declaration
97517         has const.
97518
97519 2001-01-21  Bruno Haible  <haible@clisp.cons.org>
97520
97521         * lib/unicodeio.c (print_unicode_char): Cast the second iconv() arg,
97522         to avoid a warning.  Add back 'const' to inptr.
97523
97524 2001-01-20  Jim Meyering  <meyering@lucent.com>
97525
97526         Be sure that headers are checked before used in code compiled
97527         for the type checks.
97528         * m4/jm-macros.m4 (jm_MACROS): Remove all header checks.
97529         In place of that, invoke jm_CHECK_ALL_TYPES.
97530         (jm_CHECK_ALL_HEADERS): New functions with the above checks.
97531         (jm_CHECK_ALL_TYPES): Require jm_CHECK_ALL_HEADERS.
97532         Alan Iwi reported a build failure on an f300-fujitsu-uxpv4.1_ES;
97533         The check for ssize_t was mistakenly run before the test for unistd.h.
97534
97535         The configure-time check for stdbool.h was missing.
97536         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_HASH.
97537         (jm_PREREQ_HASH): New function.
97538
97539 2001-01-17  Jim Meyering  <meyering@lucent.com>
97540
97541         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use AS_IF, not AS_IFELSE,
97542         for autoconf-2.49c.
97543         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Likewise.
97544
97545 2001-01-16  Jim Meyering  <meyering@lucent.com>
97546
97547         * lib/basename.c: Include <stdio.h>, needed by assert on SunOS 4.
97548         From Bruno Haible.
97549
97550 2001-01-14  Jim Meyering  <meyering@lucent.com>
97551
97552         * m4/rename.m4: Use temporary directories named conftestdir{,2}, not
97553         foo and bar.  Create conftestdir/ in the script, not in the C code.
97554         Remove directories in the script, not in the C code.
97555         Remove conftestdir{,2} before trying to create the directory.
97556         Make the entire configure script fail if the mkdir fails.
97557
97558 2001-01-14  Jim Meyering  <meyering@lucent.com>
97559
97560         * lib/rename.c: New file.  From Volker Borchert.
97561         Include stdlib.h, string.h or strings.h, and xalloc.h.
97562         Use strip_trailing_slashes rather than open-coding it.
97563
97564 2001-01-03  Paul Eggert  <eggert@twinsun.com>
97565
97566         * lib/strftime.c: Sync with glibc time/strftime.c 1.81.
97567
97568 2001-01-03  Jim Meyering  <meyering@lucent.com>
97569
97570         * lib/unicodeio.c (print_unicode_char): Remove `const' from declaration
97571         of local `inptr' to avoid warning with some system declarations of
97572         iconv.
97573
97574 2001-01-02  Volker Borchert  <bt@teknon.de>
97575
97576         * m4/rename.m4: New file.
97577         * m4/jm-macros.m4 (jm_MACROS): Require vb_FUNC_RENAME.
97578
97579 2001-01-01  Jim Meyering  <meyering@lucent.com>
97580
97581         * m4/prereq.m4 (jm_PREREQ_READUTMP): Include utmp.h (if available),
97582         even on systems with utmpx.h.  It's necessary for the declaration of
97583         utmp's ut_user member.  Reported by Andreas Jaeger.
97584
97585         * m4/check-decl.m4 (jm_CHECK_DECLS): Include grp.h and pwd.h if
97586         available. They are required for the declarations of getgrgid and
97587         getpwuid resp.
97588         (_jm_DECL_HEADERS): Check for grp.h and pwd.h.
97589         Reported by Andreas Jaeger.
97590
97591 2001-01-01  Alexandre Duret-Lutz  <duret_g@epita.fr>
97592
97593         * m4/libintl.m4 (AM_GNU_GETTEXT): Define MKINSTALLDIRS by
97594         expanding the value of $ac_aux_dir, as in AM_MISSING_HAS_RUN,
97595         so `make install' also works in VPATH builds.
97596
97597 2000-12-31  Alexandre Duret-Lutz  <duret_g@epita.fr>
97598
97599         * m4/libintl.m4 (AM_WITH_NLS): When using AC_CONFIG_AUX_DIR,
97600         prepend $(top_srcdir) to the value of MKINSTALLDIRS so that it
97601         can be used in subdirectories.
97602
97603 2000-12-29  Paul Eggert  <eggert@twinsun.com>
97604
97605         * lib/modechange.c: Do not assume that mode_t uses the
97606         traditional octal encoding.  E.g. "chmod 1 FOO" should set
97607         the other-execute bit of FOO even if S_IXOTH != 1.
97608
97609         (SUID, SGID, SVTX, RUSR, WUSR, XUSR, RGRP, WGRP, XGRP, ROTH,
97610         WOTH, XOTH, ALLM): New macros.
97611         (S_ISUID, S_ISGID, S_ISVTX, S_IRUSR, S_IWUSR, S_IXUSR,
97612          S_IRGRP, S_IWGRP, S_IXGRP, S_IROTH, S_IWOTH, S_IXOTH):
97613         Use them.
97614         (S_ISGID): Fix typo; it was defaulting to the same value as S_ISUID.
97615         (S_IRWXU, S_IRWXG, S_IRWXO): Specify defaults in terms of the above.
97616         (mode_compile):
97617         No need to use uintmax_t; unsigned long is long enough.
97618         Don't bother to get suffix since we don't use it.
97619
97620 2000-12-26  Jim Meyering  <meyering@lucent.com>
97621
97622         * m4/dos.m4 (jm_AC_DOS): Rewrite (though it's still a stub) to work
97623         better with autoheader.
97624
97625 2000-12-24  Jim Meyering  <meyering@lucent.com>
97626
97627         * lib/hash.c (is_prime): Return explicit boolean values.
97628         (hash_get_first): Return NULL to appease Irix5.6's 89.
97629         Reported by Nelson Beebe.
97630
97631 2000-12-19  Bruno Haible  <haible@clisp.cons.org>
97632
97633         * lib/localcharset.c (locale_charset): Add support for Win32.
97634
97635 2000-12-18  Paul Eggert  <eggert@twinsun.com>
97636
97637         * lib/physmem.h, lib/physmem.c: New files.
97638
97639         * lib/Makefile.am (libfetish_a_SOURCES): Add physmem.c.
97640         (noinst_HEADERS): Add physmem.h.
97641
97642         * lib/xstrtol.c (__xstrtol): Add undocumented suffixes 'g' and
97643         't' for compatibility with Solaris 8 sort.
97644
97645 2000-12-18  Bruno Haible  <haible@clisp.cons.org>
97646
97647         * lib/config.charset: Add support for BeOS.
97648
97649 2000-12-17  Jim Meyering  <meyering@lucent.com>
97650
97651         * m4/dos.m4 (jm_AC_DOS): New file and macro.
97652         * m4/jm-macros.m4 (jm_MACROS): Require jm_AC_DOS.
97653
97654 2000-12-16  Jim Meyering  <meyering@lucent.com>
97655
97656         This bug had a serious impact on chown: `chown N:M FILE' (for integer
97657         N and M) would have treated it like `chown N:N FILE'.
97658
97659         * lib/userspec.c (parse_user_spec): Fix typo: s/u/g/.
97660
97661 2000-12-16  Jim Meyering  <meyering@lucent.com>
97662
97663         * lib/getusershell.c [!SHELLS_FILE && __DJGPP__]: Define
97664         SHELLS_FILE to a file name that's useful on djgpp systems.
97665         Include stdlib.h.
97666         (ADDITIONAL_DEFAULT_SHELLS): Define.
97667         (default_shells): Prepend ADDITIONAL_DEFAULT_SHELLS.
97668         Based mostly on a patch from Prashant TR.
97669
97670 2000-12-16  Bruno Haible  <haible@clisp.cons.org>
97671
97672         * lib/config.charset: Add ISO-8859-3, BIG5HKSCS, GB18030, JOHAB,
97673         VISCII, CP874, CP949, CP950, CP1250, CP1253, CP1254, CP1255, CP1256,
97674         CP1257 to the list of canonical encodings. Rename EUC-CN to GB2312.
97675
97676 2000-12-08  Andreas Schwab  <schwab@suse.de>
97677
97678         * lib/mbswidth.c (mbsnwidth): Don't loop endlessly when called with an
97679         invalid mulitbyte sequence and with the MBSW_ACCEPT_INVALID flag set.
97680
97681 2000-12-07  Jim Meyering  <meyering@lucent.com>
97682
97683         * lib/stripslash.c (ISSLASH): Define.
97684         (strip_trailing_slashes): Use ISSLASH rather than comparing against
97685         `/'.
97686         From Prashant TR.
97687
97688         * lib/dirname.c (FILESYSTEM_PREFIX_LEN): Define.
97689         (dir_name_r): Declare this function as static.
97690         [BACKSLASH_IS_PATH_SEPARATOR]: Fix a bug that'd
97691         manifest itself on a name containing a mix of slashes and
97692         backslashes.
97693         Make this function work with names starting with a DOS-style
97694         drive letter and colon prefix.
97695         (dir_name): Append `.' if necessary.
97696         Based mostly on patches from Prashant TR and Eli Zaretskii.
97697
97698         * lib/dirname.h (dir_name_r): Remove prototype.
97699
97700 2000-12-06  Paul Eggert  <eggert@twinsun.com>
97701
97702         * m4/off_t-format.m4: Remove this file.
97703         * m4/jm-macros.m4 (jm_MACROS): Remove jm_SYS_OFF_T_PRINTF_FORMAT.
97704
97705 2000-12-06  Jim Meyering  <meyering@lucent.com>
97706
97707         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): If we need the
97708         replacement strtoull, we may well need the replacement strtoul, too.
97709         Check for declarations of strtoul and strtoull.
97710         Check for strtol.  Mainly as a cue to cause automake to include
97711         strtol.c -- that file is included by each of strtoul.c and strtoull.c.
97712         Check for limits.h -- strtol.c needs it.
97713
97714 2000-12-05  Jim Meyering  <meyering@lucent.com>
97715
97716         * lib/dirname.c (dir_name_r): Add `const' in a few local declarations.
97717
97718 2000-12-04  Jim Meyering  <meyering@lucent.com>
97719
97720         * lib/path-concat.c: [!HAVE_DECL_MALLOC]: Declare malloc.
97721         Also include memory.h, stdlib.h, unistd.h if appropriate.
97722         Reported by Andreas Jaeger (conflicting declaration of malloc).
97723
97724 2000-12-02  Jim Meyering  <meyering@lucent.com>
97725
97726         * m4/off_t-format.m4 (OFF_T_PRINTF_FORMAT_STRING): New file/macro.
97727         * m4/jm-macros.m4 (jm_MACROS): require it.
97728
97729 2000-12-02  Jim Meyering  <meyering@lucent.com>
97730
97731         * lib/closeout.h: Make idempotent, to avoid some obscure warnings.
97732
97733 2000-12-01  Paul Eggert  <eggert@twinsun.com>
97734
97735         * lib/memrchr.c: Include <config.h> before any system include file.
97736
97737 2000-11-30  Jim Meyering  <meyering@lucent.com>
97738
97739         * m4/jm-macros.m4 (jm_MACROS): Check for stdint.h.
97740
97741 2000-11-30  Jim Meyering  <meyering@lucent.com>
97742
97743         * m4/getloadavg.m4: s/ifval/m4_ifval/ to accommodate new autoconf.
97744
97745 2000-11-29  Paul Eggert  <eggert@twinsun.com>
97746
97747         * lib/dirname.c (dir_name_r): Fix typo: int -> size_t.
97748
97749 2000-11-26  Jim Meyering  <meyering@lucent.com>
97750
97751         * lib/memcoll.c: Include sys/types.h.  From Werner Almesberger.
97752
97753 2000-11-22  Paul Eggert  <eggert@twinsun.com>
97754
97755         * lib/strftime.c (my_strftime): Do not invoke mbrlen with a
97756         size of (size_t) -1; it's not portable.
97757
97758 2000-11-17  Jim Meyering  <meyering@lucent.com>
97759
97760         * lib/strstr.c: Update from GNU libc.
97761
97762 2000-11-17  Akim Demaille  <akim@epita.fr>
97763
97764         * lib/obstack.h: Formatting changes.
97765         (obstack_grow, obstack_grow0): Don't cast WHERE at all: that would
97766         prevent type checking.
97767         (obstack_ptr_grow, obstack_ptr_grow_fast): When assigning, don't
97768         cast the value to (void *): assigning a `foo *' to a `void *'
97769         variable is valid.
97770         (obstack_int_grow, obstack_int_grow_fast): Don't cast AINT to int.
97771
97772 2000-11-16  Jim Meyering  <meyering@lucent.com>
97773
97774         * lib/strverscmp.c: Incorporate weak-alias-related changes from glibc.
97775
97776 2000-11-11  Jim Meyering  <meyering@lucent.com>
97777
97778         * lib/error.c: Add a couple #includes, merging from GNU libc version.
97779
97780 2000-11-10  Jim Meyering  <meyering@lucent.com>
97781
97782         * lib/obstack.h: Update from GNU libc.
97783         * lib/obstack.c: Likewise.
97784
97785 2000-11-08  Bruno Haible  <haible@clisp.cons.org>
97786
97787         * m4/jm-macros.m4 (jm_MACROS): Add test for wcrtomb.
97788
97789 2000-11-06  Paul Eggert  <eggert@twinsun.com>
97790
97791         * lib/getusershell.c (setusershell): Use rewind rather than
97792         fseek/fseeko, to avoid configuration hassles with fseeko.
97793         Don't bother opening SHELLS_FILE if shellstream is NULL;
97794         it's not necessary.
97795
97796 2000-11-05  Jim Meyering  <meyering@lucent.com>
97797
97798         * lib/makepath.h (make_dir): Declare.
97799         * lib/makepath.c (make_dir): Remove `static' attribute.
97800         Tweak a comment.
97801
97802 2000-11-04  Jim Meyering  <meyering@lucent.com>
97803
97804         * m4/regex.m4: Use the `m4_' prefix on `syscmd' and `m4_sysval'.
97805
97806 2000-11-04  Alexandre Duret-Lutz  <duret_g@epita.fr>
97807
97808         * lib/hash.c (hash_get_next): Fix a thinko:  when ENTRY is the
97809         last one in a bucket, advance to the next bucket.
97810
97811 2000-11-02  Vesselin Atanasov  <vesselin@bgnet.bg>
97812
97813         * lib/fnmatch.c: Do not comment out all the code if we are using
97814         the GNU C library, because in some cases we are replacing buggy
97815         code in the GNU C library itself.
97816
97817 2000-10-30  Stefan Monnier  <monnier@cs.yale.edu>
97818
97819         * regex.c (re_iswctype, re_wctype_to_bit): Fix braino.
97820         (regex_compile): Catch bogus \(\1\).
97821
97822 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97823
97824         * lib/fnmatch.c (FOLD): Do not assume that characters are unsigned.
97825         (fnmatch): Fix some FNM_FILE_NAME and FNM_LEADING_DIR bugs,
97826         e.g. fnmatch("d*/*1", "d/s/1", FNM_FILE_NAME) incorrectly yielded zero.
97827
97828 2000-10-30  Paul Eggert  <eggert@twinsun.com>
97829
97830         * lib/error.h, getline.h, modechange.h:
97831         Remove "2000" from Copyright line, as the file hasn't been
97832         changed this year other than in the copyright notice.
97833
97834         * lib/xalloc.h: Add "2000" to Copyright line, as this file
97835         was changed this year.
97836
97837 2000-10-29  Jim Meyering  <meyering@lucent.com>
97838
97839         * m4/fsusage.m4: s/AC_SHELL_IFELSE/AS_IFELSE/ to match autoconf
97840         renaming.
97841         * m4/ls-mntd-fs.m4: Likewise
97842
97843 2000-10-29  Jim Meyering  <meyering@lucent.com>
97844
97845         * lib/xstat.in: Fix grammar in comment.
97846
97847 2000-10-29  Greg Louis  <glouis@dynamicro.on.ca>
97848
97849         * lib/regex.h (__restrict_arr): Move definition out of #ifndef block.
97850         Required because egcs-2.91.66 (aka 1.1.2) defines __restrict, but
97851         doesn't define __restrict_arr.
97852
97853 2000-10-28  Jim Meyering  <meyering@lucent.com>
97854
97855         * m4/prereq.m4 (jm_PREREQ): Add jm_PREREQ_MEMCHR.
97856         (jm_PREREQ_MEMCHR): New function.
97857
97858 2000-10-28  Jim Meyering  <meyering@lucent.com>
97859
97860         * lib/memchr.c: Update from libc.
97861         Adjust for portability:
97862         [HAVE_STDLIB_H]: Include stdlib.h.
97863         [HAVE_BP_SYM_H || _LIBC]: Guard inclusion of bp-sym.h.
97864         Undef __memchr, too.
97865         [!weak_alias]: Define __memchr to memchr.
97866
97867         * lib/regex.c: Update from libc.
97868         * lib/regex.h: Likewise.
97869         * lib/getopt1.c: Likewise.
97870         * lib/memcmp.c: Likewise.
97871
97872         * lib/getusershell.c (setusershell) [HAVE_FSEEKO]: Use fseeko.
97873         Avoid using fseek, when possible -- it's broken by design.
97874         Patch by Ulrich Drepper.
97875
97876 2000-10-27  Stefan Monnier  <monnier@cs.yale.edu>
97877
97878         * regex.c (POP_FAILURE_REG_OR_COUNT, re_match_2_internal)
97879         (re_match_2_internal, re_match_2_internal, re_match_2_internal):
97880         Giving in to popular pressure to shut up the compiler with casts.
97881
97882 2000-10-26  Jim Meyering  <meyering@lucent.com>
97883
97884         * lib/strftime.c: Update from libc.
97885
97886 2000-10-25  Stefan Monnier  <monnier@cs.yale.edu>
97887
97888         * regex.c: More `unsigned char' -> `re_char' changes.
97889         Also change several `int' into `re_wchar_t'.
97890         (PATTERN_STACK_EMPTY, PUSH_PATTERN_OP, POP_PATTERN_OP): Remove.
97891         (PUSH_FAILURE_POINTER): Don't cast any more.
97892         (POP_FAILURE_REG_OR_COUNT): Remove the cast that strips `const'.
97893         We want GCC to complain, since this piece of code makes
97894         re_match non-reentrant, which *should* be fixed.
97895         (GET_BUFFER_SPACE): Use size_t rather than unsigned long.
97896         (EXTEND_BUFFER): Use RETALLOC.
97897         (SET_LIST_BIT): Don't cast.
97898         (re_wchar_t): New type.
97899         (re_iswctype, re_wctype_to_bit): Make it crystal clear to GCC
97900         that those two functions will always properly return.
97901         (IMMEDIATE_QUIT_CHECK): Cast to void.
97902         (analyse_first): Use recursion rather than an explicit stack.
97903         (re_compile_fastmap): Can't fail anymore.
97904         (re_search_2): Don't check re_compile_fastmap for failure.
97905         (PUSH_NUMBER): Renamed from PUSH_FAILURE_COUNT.
97906         Now also sets the new value (passed in a new argument).
97907         (re_match_2_internal): Use it.
97908         Also, use a new var `reg' of type size_t when looping through regs
97909         rather than reuse the inappropriate `mcnt'.
97910
97911 2000-10-25  Jim Meyering  <meyering@lucent.com>
97912
97913         * lib/obstack.c: Update from libc.
97914
97915 2000-10-24  Kenichi Handa  <handa@etl.go.jp>
97916
97917         * regex.c (regex_compile): Change the way of handling a range from
97918         a char less than 256 to a char not less than 256.
97919
97920 2000-10-24  Andrew Innes  <andrewi@gnu.org>
97921
97922         * regex.c (IMMEDIATE_QUIT_CHECK): New macro, which does QUIT on
97923         NT-Emacs only.
97924         (re_match_2_internal): Use IMMEDIATE_QUIT_CHECK instead of QUIT,
97925         so that re_search functions only quit when callers expect them to.
97926
97927 2000-10-23  Jim Meyering  <meyering@lucent.com>
97928
97929         * lib/hard-locale.c (hard_locale): Revert last change -- it was simply
97930         wrong.  That set_locale call must not have any side effects.
97931         From Paul Eggert.
97932
97933 2000-10-22  Jim Meyering  <meyering@lucent.com>
97934
97935         * lib/md5.c (md5_process_block) [OP]: Use `rol', not CYCLIC.
97936         [CYCLIC]: Remove now-unused definition.
97937
97938         * lib/save-cwd.c (O_DIRECTORY): Define, if needed.
97939         (save_cwd) [HAVE_FCHDIR]: Use O_DIRECTORY when opening ".".
97940         Suggestion from Ulrich Drepper.
97941
97942 2000-10-21  Jim Meyering  <meyering@lucent.com>
97943
97944         * m4/check-decl.m4 (jm_CHECK_DECLS): Also check for memrchr.
97945         * m4/prereq.m4 (jm_PREREQ_DIRNAME): New macro.
97946         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memrchr.
97947
97948 2000-10-21  Jim Meyering  <meyering@lucent.com>
97949
97950         * lib/dirname.c (memrchr): Declare if necessary.
97951         (dir_name): Remove the restriction that there be no
97952         trailing slashes.  Now, this code skips past them, effectively
97953         ignoring them.
97954         [TEST_DIRNAME] (main): New unit tests.
97955
97956         * lib/memrchr.c: New file from GNU libc.
97957         Undef __memrchr, too.
97958         [!weak_alias]: Define __memrchr to memrchr.
97959         Guard weak_alias use with `#ifdef weak_alias'.
97960
97961 2000-10-21  Jim Meyering  <meyering@lucent.com>
97962
97963         * lib/dirname.c (dir_name_r): New function, factored out of dir_name.
97964         (dir_name): Use dir_name_r.
97965         * lib/dirname.h (dir_name_r): Declare it.
97966
97967 2000-10-17  Jim Meyering  <meyering@lucent.com>
97968
97969         * lib/quote.h (PARAMS): Define and use.
97970         Reported by Akim Demaille.
97971
97972         * lib/getopt.c: Update from libc.
97973
97974 2000-10-16  Jim Meyering  <meyering@lucent.com>
97975
97976         * lib/hard-locale.c (hard_locale): Use "", not 0 as 2nd arg to
97977         setlocale.
97978         From Jan Fedak.
97979
97980 2000-10-15  Stefan Monnier  <monnier@cs.yale.edu>
97981
97982         * regex.c (WIDE_CHAR_SUPPORT): Define if _LIBC as well.
97983
97984 2000-09-25  Jim Meyering  <meyering@lucent.com>
97985
97986         * lib/md5.h (rol): Define (from GnuPG).
97987
97988         * lib/sha.c: Give credit (GnuPG) where due.
97989         (M): Use rol rather than open-coding it.
97990         Add a FIXME comment.
97991
97992 2000-09-21  Jim Meyering  <meyering@lucent.com>
97993
97994         * lib/userspec.c (parse_user_spec): Remove debugging printf I'd added.
97995         Reported by Michael Stone.
97996
97997 2000-09-20  Jim Meyering  <meyering@lucent.com>
97998
97999         * lib/Makefile.am (libfetish_a_SOURCES): Add sha.c.
98000         (noinst_HEADERS): Add sha.h.
98001         Based on code from Scott G. Miller and from GnuPG.
98002
98003 2000-09-18  Jim Meyering  <meyering@lucent.com>
98004
98005         * m4/getloadavg.m4 (AC_FUNC_GETLOADAVG): Restore the initial value of
98006         LIBS. Otherwise, everyone ends up linking with -lelf for some
98007         configurations.
98008         Reported by Mike Stone.
98009
98010 2000-09-15  Jim Meyering  <meyering@lucent.com>
98011
98012         * lib/regex.c: Update from libc.
98013
98014 2000-09-10  Jim Meyering  <meyering@lucent.com>
98015
98016         * lib/getopt.c (_getopt_internal): Update from glibc.
98017
98018 2000-09-09  Jim Meyering  <meyering@lucent.com>
98019
98020         * lib/quotearg.c: Rename ISASCII to IN_CTYPE_DOMAIN, so people don't
98021         think it should be used as a general replacement for isascii.
98022         * lib/fnmatch.c: Likewise.
98023         * lib/mbswidth.c: Likewise
98024         * lib/regex.c: Likewise.
98025
98026         Don't use atoi.
98027         * lib/userspec.c: Include sys/param.h and limits.h.
98028         Include xstrtol.h.
98029         (CHAR_BIT, TYPE_SIGNED, TYPE_MINIMUM, TYPE_MAXIMUM): Define.
98030         (UID_T_MAX, GID_T_MAX, MAXUID, MAXGID): Define.
98031         (parse_user_spec): Use xstrtoul, not atoi when converting numeric
98032         UID, GID.  Check range.
98033
98034 2000-09-06  Jim Meyering  <meyering@lucent.com>
98035
98036         * lib/getopt.c (_getopt_internal): Update from glibc.
98037
98038 2000-08-30  Jim Meyering  <meyering@lucent.com>
98039
98040         * lib/strftime.c: Merge in changes from GNU libc.
98041
98042 2000-08-26  Jim Meyering  <meyering@lucent.com>
98043
98044         * m4/jm-macros.m4: Use jm_FUNC_FPENDING.
98045         * m4/fpending.m4: New file.
98046
98047 2000-08-26  Jim Meyering  <meyering@lucent.com>
98048
98049         * lib/closeout.c: Include "__fpending.h".
98050         (close_stdout_status): Return right away if there's nothing to flush.
98051
98052         * lib/Makefile.am (noinst_HEADERS): Add __fpending.h.
98053         * lib/__fpending.c: New file.
98054         * lib/__fpending.h: New file.
98055
98056 2000-08-20  Jim Meyering  <meyering@lucent.com>
98057
98058         * m4/check-decl.m4: Include utmp.h `#if HAVE_UTMP_H', rather than
98059         `#if !HAVE_UTMPX_H'.  The latter would lose on systems with neither
98060         utmp.h nor utmpx.h.  Reported by Eli Zaretskii.
98061
98062 2000-08-11  J. David Anglin  <dave@hiauly1.hia.nrc.ca>
98063
98064         Improve fileutils installation on systems where running
98065         programs (like install) can't be unlinked.
98066         * m4/unlink-busy.m4 (jm_FUNC_UNLINK_BUSY_TEXT): New file/macro.
98067         * m4/jm-macros.m4: Use jm_FUNC_UNLINK_BUSY_TEXT.
98068
98069 2000-08-07  Paul Eggert  <eggert@twinsun.com>
98070
98071         Standardize on "memory exhausted" instead of "Memory exhausted"
98072         or "virtual memory exhausted".
98073         * lib/obstack.c (print_and_abort): Use "memory exhausted", not
98074         "virtual memory exhausted".
98075         * lib/same.c (same_name): Invoke xalloc_die instead of printing
98076         our own message.
98077         * lib/userspec.c (parse_user_spec): Likewise.
98078         * lib/bumpalloc.h: comment fix
98079         * lib/same.c, userspec.c: Include xalloc.h.
98080
98081         * lib/xalloc.h (xalloc_msg_memory_exhausted): Now char const[],
98082         not char *const and pointing to a constant array.
98083         * lib/xmalloc.c (xalloc_msg_memory_exhausted): Likewise.
98084         (xrealloc): Comment fix.
98085
98086         * lib/userspec.c (parse_user_spec):
98087         Don't translate a message until just before returning,
98088         to avoid unnecessary translation.
98089
98090 2000-08-07  Jim Meyering  <meyering@lucent.com>
98091
98092         * lib/addext.c, argmatch.c, argmatch.h, backupfile.h, bumpalloc.h,
98093         chown.c, diacrit.h, dirname.h, dup2.c, exclude.h, fileblocks.c,
98094         fnmatch.c, fnmatch.h, fsusage.c, fsusage.h, getdate.h,
98095         getgroups.c, gethostname.c, getopt.h, group-member.c,
98096         hard-locale.c, hash.h, isdir.c, lchown.c, linebuffer.c,
98097         linebuffer.h, long-options.h, malloc.c, md5.c, md5.h, memchr.c,
98098         memcmp.c, memcoll.c, memset.c, mktime.c, modechange.h, obstack.h,
98099         pathmax.h, realloc.c, rmdir.c, safe-read.c, save-cwd.c, stime.c,
98100         stpcpy.c, strcasecmp.c, strcspn.c, strdup.c, stripslash.c,
98101         strstr.c, strtod.c, strtol.c, strtoul.c, strtoull.c, strtoumax.c,
98102         utime.c, version-etc.h, xalloc.h, xstrdup.c, xstrtoumax.c,
98103         yesno.c: Back out Copyright date changes for each file with no change
98104         this year.  This eases coordination with other programs using the same
98105         source code modules.  From Paul Eggert.
98106
98107 2000-08-06  Paul Eggert  <eggert@twinsun.com>
98108
98109         * m4/mbstate_t.m4 (AC_MBSTATE_T): Define mbstate_t to be int,
98110         not char, for compatibility with glibc 2.1.3 strftime.c.
98111
98112 2000-08-03  Greg McGary  <greg@mcgary.org>
98113
98114         * lib/regex.c (SET_HIGH_BOUND, MOVE_BUFFER_POINTER,
98115         ELSE_EXTEND_BUFFER_HIGH_BOUND): New macros.
98116         (EXTEND_BUFFER): Use them.
98117
98118 2000-08-01  Jim Meyering  <meyering@lucent.com>
98119
98120         * lib/dirname.c (ISSLASH): Define.
98121         (BACKSLASH_IS_PATH_SEPARATOR): Define.
98122         (dir_name) [BACKSLASH_IS_PATH_SEPARATOR]: Handle the case in which
98123         both `\' and `/' may be use as path separators.
98124         Based on a patch from Prashant TR.
98125
98126 2000-07-31  Paul Eggert  <eggert@twinsun.com>
98127
98128         * lib/quotearg.c (quotearg_n_options): Don't make the initial
98129         slot vector a constant, since it might get modified.
98130
98131 2000-07-31  Jim Meyering  <meyering@lucent.com>
98132
98133         * lib/xmalloc.c: Use `virtual memory exhausted', not
98134         `Memory exhausted'.
98135         * lib/obstack.c (print_and_abort): Likewise.
98136
98137 2000-07-30  Paul Eggert  <eggert@twinsun.com>
98138
98139         * lib/quotearg.c (quotearg_n_options): Preallocate a slot 0
98140         buffer, so that the caller can always quote one small
98141         component of a "memory exhausted" message in slot 0.
98142         From a suggestion by Jim Meyering.
98143
98144 2000-07-30  Jim Meyering  <meyering@lucent.com>
98145
98146         * lib/makepath.c (make_path): Quote the other instance, too.
98147
98148         * lib/quotearg.c (N_STATIC_SLOTVECS): Define.
98149         (STATIC_BUF_SIZE): Define.
98150         (quotearg_n_options): Use only statically allocated storage when
98151         N < N_STATIC_SLOTVECS and the length of the quoted result is smaller
98152         than STATIC_BUF_SIZE.
98153
98154 2000-07-29  Jim Meyering  <meyering@lucent.com>
98155
98156         * lib/diacrit.c (diacrit_diac): Use __MSDOS__ in favor of MSDOS.
98157         * lib/dirname.c (dir_name): Likewise.
98158
98159         * lib/basename.c (base_name): Use ISSLASH rather than comparing against
98160         `/'.
98161
98162         * lib/dirname.c (dir_name) [MSDOS]: Declare `lim' to be const.
98163         (dir_name): Assert that there are no trailing slashes.
98164
98165 2000-07-29  Bruno Haible  <haible@clisp.cons.org>
98166
98167         * lib/mbswidth.h (mbswidth): Add a flags argument.
98168         (mbswidth): New declaration.
98169         (MBSW_ACCEPT_INVALID, MBSW_ACCEPT_UNPRINTABLE): New macros.
98170         * lib/mbswidth.c (mbswidth): Add a flags argument.
98171         (mbsnwidth): New function.
98172
98173 2000-07-24  Jim Meyering  <meyering@lucent.com>
98174
98175         * lib/mbswidth.c: Remove useless #else.  From Bruno Haible.
98176
98177 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98178
98179         * m4/mbswidth.m4 (jm_PREREQ_MBSWIDTH): Check for wcwidth declaration.
98180
98181 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98182
98183         * lib/quotearg.c: Streamline by invoking multibyte code only if needed.
98184         <wchar.h>: Include only if HAVE_MBRTOWC && 1 < MB_LEN_MAX.
98185         (MB_CUR_MAX): Redefine to 1 if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX).
98186         (quotearg_buffer_restyled): If a unibyte locale, don't bother to
98187         invoke multibyte primitives.
98188
98189 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98190
98191         * lib/quotearg.c:
98192         Include <wchar.h> even if ! (HAVE_MBRTOWC && 1 < MB_LEN_MAX),
98193         so that mbstate_t is always defined.
98194
98195         Do not inspect MB_LEN_MAX, since it's incorrectly defined to
98196         be 1 in at least one GCC installation, and this configuration
98197         error is likely to be common.  Ignoring MB_LEN_MAX hurts
98198         performance on hosts that have mbrtowc but have only unibyte
98199         locales, but I assume these hosts are rare.
98200
98201 2000-07-23  Paul Eggert  <eggert@twinsun.com>
98202
98203         * lib/mbswidth.c (_XOPEN_SOURCE):
98204         Don't define; this causes problems on Solaris 7.
98205         (wcwidth) [!HAVE_DECL_WCWIDTH]: Declare.
98206
98207 2000-07-23  Jim Meyering  <meyering@lucent.com>
98208
98209         * m4/check-decl.m4 (jm_CHECK_DECLS): Check for declarations of these,
98210         too: getgrgid, getpwuid, getuid.
98211
98212 2000-07-23  Jim Meyering  <meyering@lucent.com>
98213
98214         * lib/basename.c (base_name): Add an assertion.
98215
98216 2000-07-23  Bruno Haible  <haible@clisp.cons.org>
98217
98218         * lib/quotearg.c: When the system forces us to redefine mbstate_t,
98219         shadow its mbsinit function.
98220
98221 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
98222
98223         * lib/mbswidth.h: New file.
98224         * lib/mbswidth.c: New file.
98225         * lib/Makefile.am (libfetish_a_SOURCES): Add mbswidth.c.
98226         (noinst_HEADERS): Add mbswidth.h.
98227
98228 2000-07-17  Bruno Haible  <haible@clisp.cons.org>
98229
98230         * lib/config.charset: Add support for FreeBSD. Improve support for
98231         HP-UX and IRIX 6.
98232
98233 2000-07-16  Bruno Haible  <haible@clisp.cons.org>
98234
98235         * m4/mbswidth.m4: New file.
98236         * m4/prereq.m4 (jm_PREREQ): Call jm_PREREQ_MBSWIDTH.
98237
98238 2000-07-15  Jim Meyering  <meyering@lucent.com>
98239
98240         * lib/makepath.c: Include quote.h.
98241         (make_path): Convert "`%s'" in format strings to "%s", and wrap each
98242         corresponding argument in a `quote (...)' call.
98243         Give better diagnostics.
98244
98245         * lib/Makefile.am (libfetish_a_SOURCES): Add quote.c.
98246         (noinst_HEADERS): Add quote.h.
98247
98248         * lib/quote.c (quote, quote_n): New file.  Two functions taken verbatim
98249         from tar's src/misc.c.
98250         * lib/quote.h: New file.  Prototypes for same.
98251
98252 2000-07-14  Paul Eggert  <eggert@twinsun.com>
98253
98254         From a suggestion by Bruno Haible.
98255         * lib/quotearg.c (mbrtowc): Do not use HAVE_WCHAR_H in the definition.
98256         Use defined mbstate_t, not HAVE_MBSTATE_T_OBJECT,
98257         to decide whether to define the BeOS workaround macro;
98258         this adjusts to the change to AC_MBSTATE_T.
98259
98260 2000-07-14  Jim Meyering  <meyering@lucent.com>
98261
98262         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Require
98263         jm_AC_TYPE_UINTMAX_T.
98264
98265 2000-07-13  Paul Eggert  <eggert@twinsun.com>
98266
98267         * lib/quotearg.h (enum quoting style): New enum clocale_quoting_style.
98268
98269         * lib/quotearg.c (quoting_style_args, quoting_style_vals,
98270         quotearg_buffer_restyled): Add support for
98271         clocale_quoting_style.  Undo previous change to
98272         locale_quoting_style behavior, and undo the "{LEFT QUOTATION MARK}"
98273         and "{RIGHT QUOTATION MARK}" msgids.
98274
98275 2000-07-10  Paul Eggert  <eggert@twinsun.com>
98276
98277         From a suggestion by Bruno Haible.
98278         * m4/mbstate_t.m4 (AC_MBSTATE_T):
98279         Renamed from AC_MBSTATE_T_OBJECT.  All uses changed.
98280         Change from a two-part test, which defines both HAVE_MBSTATE_T_OBJECT
98281         and mbstate_t, to a single-part test that simply defines mbstate_t.
98282         * m4/prereq.m4 (jm_PREREQ_QUOTEARG):
98283         s/AC_MBSTATE_T_OBJECT/AC_MBSTATE_T/.
98284
98285 2000-07-10  Jim Meyering  <meyering@lucent.com>
98286
98287         * m4/strerror_r.m4: Mirror the correction made in autoconf.
98288
98289         * m4/gnu-source.m4: Output to confdefs.h directly.
98290         Suggestion from Akim Demaille.
98291
98292 2000-07-09  Paul Eggert  <eggert@twinsun.com>
98293
98294         The old behavior of quoting `like this' doesn't look good with
98295         newer, ISO-style fonts.  See:
98296         http://www.cl.cam.ac.uk/~mgk25/ucs/quotes.html
98297
98298         Instead, quote "like this" by default.  Let the translator
98299         tailor the locale-specific quoting behavior by providing
98300         translations for {LEFT QUOTATION MARK} and {RIGHT QUOTATION MARK}.
98301
98302         * lib/quotearg.c (N_): New macro.
98303         (gettext_default): New function.
98304         (quotearg_buffer_restyled): Use
98305         gettext_default ("{LEFT QUOTATION MARK}", "\"") for left quote, and
98306         gettext_default ("{RIGHT QUOTATION MARK}", "\"") for right quote.
98307
98308 2000-07-09  Jim Meyering  <meyering@lucent.com>
98309
98310         * m4/jm-macros.m4 (jm_MACROS): Add a test to see if -lm is required
98311         to link seq.  If so, set SEQ_LIBM to -lm.  From Bruno Haible.
98312
98313         * m4/gnu-source.m4 (AC__GNU_SOURCE): New file/macro.
98314         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require it.
98315
98316 2000-07-09  Jim Meyering  <meyering@lucent.com>
98317
98318         * lib/Most files: Update copyright dates to include 2000.
98319
98320 2000-07-08  Jim Meyering  <meyering@lucent.com>
98321
98322         * lib/xgethostname.c (ENAMETOOLONG): Define to an unlikely value
98323         if not defined.
98324         (xgethostname): Remove now-unnecessary #ifdef.
98325         Move declaration of `err' into loop where it's used.
98326
98327 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98328         and Bruno Haible  <haible@clisp.cons.org>
98329
98330         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Test for mbstate_t
98331         only if the test for an object-type mbstate_t fails.  This
98332         prevents us from mistakenly reporting that mbstate_t is a
98333         system object type after we "#define mbstate_t int" to work
98334         around its lack.
98335
98336 2000-07-05  Paul Eggert  <eggert@twinsun.com>
98337         and Bruno Haible  <haible@clisp.cons.org>
98338
98339         * lib/quotearg.c (mbrtowc): Declare returned type, since BeOS doesn't.
98340
98341 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98342
98343         * m4/strerror_r.m4 (AC_FUNC_STRERROR_R): Pass a reasonably large buffer
98344         to strerror_r.
98345         Include <ctype.h> for use of isalpha.
98346
98347 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98348
98349         * lib/xgethostname.c (xgethostname): Protect against the SunOS 5.5 bug
98350         by allocating a larger buffer. Test the gethostname return value for
98351         being >= 0, not == 0, for BeOS.  Don't exhaust memory if gethostname
98352         returns an error and ENAMETOOLONG isn't defined.
98353
98354 2000-07-05  Bruno Haible  <haible@clisp.cons.org>
98355
98356         * lib/quotearg.c (struct quoting_options): Simplify quote_these_too
98357         dimension.
98358
98359 2000-07-04  Jim Meyering  <meyering@lucent.com>
98360
98361         * m4/fsusage.m4 (jm_FILE_SYSTEM_USAGE): Use plain old `echo' instead
98362         of the deprecated AC_CHECKING.
98363
98364 2000-07-04  Jim Meyering  <meyering@lucent.com>
98365
98366         * lib/strndup.c: [!HAVE_DECL_STRNLEN]: Declare strnlen.
98367         Reported by Bruno Haible.
98368
98369 2000-07-04  Jim Meyering  <meyering@lucent.com>
98370
98371         * lib/quotearg.c: Make inclusion of <wchar.h> independent of whether
98372         HAVE_MBRTOWC is set.  Required at least for irix-5.6, which
98373         lacks mbrtowc.
98374
98375 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98376
98377         * m4/mbstate_t.m4 (AC_MBSTATE_T_OBJECT): Port to autoconf 2.13.
98378         Add AC_CHECK_HEADERS(stdlib.h), since we use HAVE_STDLIB_H.
98379
98380 2000-07-03  Paul Eggert  <eggert@twinsun.com>
98381         and Bruno Haible  <haible@clisp.cons.org>
98382
98383         * lib/quotearg.c (mbrtowc):
98384         Assign to *pwc, and return 1 only if result is nonzero.
98385         (iswprint): Use ISPRINT when substituting our own mbrtowc.
98386
98387 2000-07-03  Jim Meyering  <meyering@lucent.com>
98388
98389         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strnlen.
98390
98391 2000-07-03  Jim Meyering  <meyering@lucent.com>
98392
98393         * lib/readutmp.h: [HAVE_UTMPX_H]: Include <utmp.h> if HAVE_UTMP_H.
98394         This is necessary to get a definition of e.g., UTMP_FILE on
98395         HP-UX 10.20.
98396         From Bob Proulx.
98397
98398 2000-07-02  Jim Meyering  <meyering@lucent.com>
98399
98400         * m4/mbstate_t.m4: Also define mbstate_t, if necessary.
98401
98402         * m4/chown.m4: Replace each use of AC_SUBST(LIBOBJS)/LIBOBJS=... with
98403         AC_LIBOBJ(function_name).
98404         * m4/chown.m4: Likewise.
98405         * m4/fnmatch.m4: Likewise.
98406         * m4/ftruncate.m4: Likewise.
98407         * m4/getgroups.m4: Likewise.
98408         * m4/getline.m4: Likewise.
98409         * m4/group-member.m4: Likewise.
98410         * m4/jm-macros.m4: Likewise.
98411         * m4/lstat.m4: Likewise.
98412         * m4/malloc.m4: Likewise.
98413         * m4/memcmp.m4: Likewise.
98414         * m4/nanosleep.m4: Likewise.
98415         * m4/putenv.m4: Likewise.
98416         * m4/realloc.m4: Likewise.
98417         * m4/regex.m4: Likewise.
98418         * m4/stat.m4: Likewise.
98419         * m4/strftime.m4: Likewise.
98420
98421 2000-07-02  Jim Meyering  <meyering@lucent.com>
98422
98423         * lib/quotearg.c (mbstate_t): Don't define here.
98424
98425 2000-07-02  Jim Meyering  <meyering@lucent.com>
98426
98427         * lib/nanosleep.c (SIGCONT): Define if not already defined.
98428
98429 2000-07-01  Jim Meyering  <meyering@lucent.com>
98430
98431         * m4/uptime.m4: Put double quotes around use of $cross_compiling.
98432
98433 2000-07-01  Jim Meyering  <meyering@lucent.com>
98434
98435         * m4/ls-mntd-fs.m4: Remove a `FIXME' comment and fix the associated
98436         problem.
98437
98438 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98439
98440         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Rename BeOS specific
98441         macro from MOUNTED_NEXT_DEV to MOUNTED_FS_STAT_DEV.
98442
98443 2000-07-01  Bruno Haible  <haible@clisp.cons.org>
98444
98445         * lib/mountlist.c: Use MOUNTED_FS_STAT_DEV instead of MOUNTED_NEXT_DEV,
98446         per change in ../m4/ls-mntd-fs.m4.
98447         (read_filesystem_list): Ignore symbolic links.
98448
98449 2000-06-29  Jim Meyering  <meyering@lucent.com>
98450
98451         * lib/same.c: Include <string.h> or <strings.h>, as appropriate,
98452         for declaration of strcmp.
98453
98454         * lib/long-options.c: Include <stdlib.h>, for declaration of exit.
98455
98456         * lib/mountlist.c (fsp_to_string) [HAVE_F_FSTYPENAME_IN_STATFS]:
98457         Avoid warning by casting result to `char *' to remove `const'.
98458
98459 2000-06-28  Jim Meyering  <meyering@lucent.com>
98460
98461         * m4/mbstate_t.m4: Use stdlib.h, not stdio.h.  The latter is not
98462         included by quotearg.c, for which we perform this test.  From
98463         Bruno Haible.
98464
98465 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98466
98467         * m4/check-decl.m4 (_jm_DECL_HEADERS): Check for utmp.h as well.
98468         * m4/prereq.m4 (jm_PREREQ_READUTMP): Likewise. If either <utmp.h> or
98469         <utmpx.h> exists, put readutmp.o into LIBOBJS.
98470
98471 2000-06-27  Bruno Haible  <haible@clisp.cons.org>
98472
98473         * lib/Makefile.am (libfetish_a_SOURCES): Remove readutmp.c.
98474
98475 2000-06-26  Paul Eggert  <eggert@twinsun.com>
98476
98477         savedir now sets errno on failure and invokes xmalloc to get memory.
98478         Fix a couple of other minor bugs while we're at it.
98479
98480         * lib/savedir.c (<unistd.h>): Do not include; there's no need.
98481         (NAMLEN): Remove macro.
98482         (malloc, realloc): Remove decls.
98483         (stpcpy): Likewise.
98484         ("xalloc.h"): Include.
98485         (NAME_SIZE_DEFAULT): New macro.
98486         (savedir): Use xmalloc / xrealloc to allocate memory.
98487         Use NAME_SIZE_DEFAULT if name_size is negative or overflows to zero.
98488         Skip "" directory entries.
98489         Use strlen to calculate directory entry length, since the old method
98490         is rarely used these days and isn't worth supporting.
98491         Don't use a pointer after freeing it.
98492         Check for integer overflow when calculating allocation size.
98493         Use memcpy to copy entries, instead of stpcpy.
98494         Set errno properly when returning NULL.
98495         Check for readdir error.
98496
98497 2000-06-26  Jim Meyering  <meyering@lucent.com>
98498
98499         * lib/posixtm.c [HAVE_STDLIB_H]: Include stdlib.h, for decl of abort.
98500
98501 2000-06-25  Jim Meyering  <meyering@lucent.com>
98502
98503         * m4/mbstate_t.m4: Include stdio.h before wchar.h to work around
98504         Linux header bug when _XOPEN_SOURCE is defined to 500.
98505
98506 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98507
98508         * lib/unicodeio.c (print_unicode_char): Work around ansi2knr
98509         deficiency.
98510
98511 2000-06-25  Bruno Haible  <haible@clisp.cons.org>
98512
98513         * lib/getusershell.c (xmalloc, xrealloc): Remove functions.
98514         Include xalloc.h.
98515         Don't include <stdlib.h>.  Don't declare malloc, realloc.
98516
98517 2000-06-24  Jim Meyering  <meyering@lucent.com>
98518
98519         * m4/strerror_r.m4: Revive this file -- to try out an experimental
98520         version of AC_FUNC_STRERROR_R that may work even on BeOS, a system
98521         for which strerror does return char*, but which lacks a conveniently
98522         accessible declaration of the function.  If the compile-test says
98523         strerror_r doesn't work, then resort to a `run'-test that works on
98524         BeOS and segfaults on DEC Unix.
98525
98526 2000-06-24  Jim Meyering  <meyering@lucent.com>
98527
98528         * lib/error.c [!HAVE_DECL_STRERROR_R]: Declare strerror_r.
98529
98530 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98531
98532         * m4/mbstate_t.m4: New file, defining AC_MBSTATE_T_OBJECT.
98533         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Use it.  Add check for iswprint.
98534
98535 2000-06-23  Paul Eggert  <eggert@twinsun.com>
98536
98537         * lib/quotearg.c: Include <wctype.h> after <wchar.h>, for Solaris 2.5.
98538         (mbrtowc, mbstate_t): Define substitutes if
98539         HAVE_MBRTOWC && HAVE_WCHAR_H && !HAVE_MBSTATE_T_OBJECT.
98540         (iswprint): Define to 1 if !defined iswprint && !HAVE_ISWPRINT,
98541         not if ! (HAVE_MBRTOWC && HAVE_WCHAR_H).
98542
98543 2000-06-23  Jim Meyering  <meyering@lucent.com>
98544
98545         * m4/afs.m4: Add missing AC_MSG_RESULT.
98546         Reported by Bruno Haible.
98547
98548         * m4/fsusage.m4: s/AC_MSG_CHECKING/AC_CHECKING/.
98549         Suggestion from Bruno Haible.
98550
98551 2000-06-23  Jim Meyering  <meyering@lucent.com>
98552
98553         * lib/getpass.c: New file, from Bruno Haible.  Required for BeOS.
98554
98555 2000-06-21  Jim Meyering  <meyering@lucent.com>
98556
98557         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add getpass.
98558
98559 2000-06-21  Jim Meyering  <meyering@lucent.com>
98560
98561         * lib/Makefile.am (libfetish_a_SOURCES): Add getstr.c.
98562         (noinst_HEADERS): Add getstr.h.
98563
98564         * lib/getline.c (getstr): Move into a separate file.
98565         * lib/getstr.c (getstr): New file, extracted from getline.c, with
98566         the following changes: new parameter, delim2; both delim[12]
98567         parameters have type `int', not `char'.  The latter would lose
98568         with 8-bit delimiters.
98569         * lib/getstr.h: New file.
98570
98571 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98572
98573         * lib/xgetcwd.c (xgetcwd): If the required pathname length is smaller
98574         than 1024, return a memory chunk of least possible size, instead
98575         of size PATH_MAX + 2. In the loop, increment the size proportionally.
98576         Use free/xmalloc instead of xrealloc to avoid copying for very long
98577         paths.
98578
98579 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98580
98581         * lib/path-concat.c (path_concat): Don't access dir[-1] if dir is
98582         the empty string.
98583
98584 2000-06-21  Bruno Haible  <haible@clisp.cons.org>
98585
98586         * lib/canon-host.c (canon_host): Use malloc and memcpy to copy an
98587         address, not strdup.  Include <stdlib.h> and don't declare free().
98588
98589 2000-06-19  Jim Meyering  <meyering@lucent.com>
98590
98591         * lib/getloadavg.c [HAVE_NLIST_H] (NLIST_STRUCT): Define.
98592
98593 2000-06-18  Jim Meyering  <meyering@lucent.com>
98594
98595         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Remove mkdir.
98596
98597         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): Change the
98598         `checking whether...' message to be consistent with that of the
98599         lstat test.
98600
98601 2000-06-18  Jim Meyering  <meyering@lucent.com>
98602
98603         * lib/mkdir.c: Remove file, due mainly to copyright incompatibility.
98604         Besides, these days every porting target provides a mkdir function.
98605
98606         * lib/strnlen.c: Include memory.h, string.h, and/or strings.h as
98607         needed. (this snippet comes from src/system.h).
98608
98609 2000-06-16  Bruno Haible  <haible@clisp.cons.org>
98610
98611         * m4/glibc21.m4 (jm_GLIBC21): Define GLIBC21 for Makefiles, not for C.
98612
98613 2000-06-15  Paul Eggert  <eggert@twinsun.com>
98614
98615         * lib/human.c (adjust_value): New function.
98616         (human_readable_inexact): Apply rounding style even when
98617         printing approximate values.
98618
98619 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98620
98621         * lib/human.c (human_readable_inexact): Allow an input block
98622         size that is not a multiple of the output block size, and vice versa.
98623         Reported by Piergiorgio Sartor.
98624
98625 2000-06-14  Paul Eggert  <eggert@twinsun.com>
98626
98627         * lib/getdate.y (get_date): Apply relative times after time
98628         zone indicator, not before.  Reported by Todd A. Jacobs.
98629
98630 2000-06-13  Jim Meyering  <meyering@lucent.com>
98631
98632         * lib/Makefile.am (all-local): Depend on lstat.c and stat.c.
98633
98634         * lib/xstat.in [!HAVE_DECL_FREE]: Declare free in lstat.c.
98635
98636 2000-06-12  Paul Eggert  <eggert@twinsun.com>
98637
98638         * lib/xstat.in: Include <stdlib.h> in lstat, to declare "free".
98639
98640 2000-06-12  Jim Meyering  <meyering@lucent.com>
98641
98642         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Replace with
98643         AC_FUNC_GETLOADAVG from autoconf, and tweak the latter to accept an
98644         optional argument.
98645         * m4/jm-macros.m4: s/AM_FUNC_GETLOADAVG/AC_FUNC_GETLOADAVG/, and supply
98646         the optional argument, `lib'.
98647
98648 2000-06-08  Jim Meyering  <meyering@lucent.com>
98649
98650         * m4/largefile.m4: Remove file (now that it's part of autoconf).
98651
98652 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98653
98654         Rewrite largefile configuration so that we don't need to run
98655         getconf and don't need AC_CANONICAL_HOST.  [I'm leaving the use of
98656         AC_CANONICAL_HOST in configure.in -- jmm]
98657
98658         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS,
98659         AC_SYS_LARGEFILE_SPACE_APPEND): Remove.
98660         (AC_SYS_LARGEFILE_TEST_INCLUDES): New macro.
98661         (AC_SYS_LARGEFILE_MACRO_VALUE): Change arguments from
98662         CODE-TO-SET-DEFAULT to VALUE, INCLUDES, FUNCTION-BODY.
98663         All uses changed.
98664         Instead of inspecting the output of getconf, try to compile the
98665         test program without and with the macro definition.
98666         (AC_SYS_LARGEFILE): Do not require AC_CANONICAL_HOST or check
98667         for getconf.  Instead, check for the needed flags by compiling
98668         test programs.
98669
98670 2000-06-04  Paul Eggert  <eggert@twinsun.com>
98671
98672         * lib/strnlen.c: Include <config.h> if HAVE_CONFIG_H.
98673
98674 2000-06-04  Jim Meyering  <meyering@lucent.com>
98675
98676         * lib/getugroups.c (getugroups): Cast -1 to gid_t, for systems like
98677         SunOS 4.1.4 for which gid_t is an unsigned type.
98678
98679 2000-06-03  Jim Meyering  <meyering@lucent.com>
98680
98681         * m4/prereq.m4 (jm_PREREQ_HUMAN): Use []-quoted list in AC_CHECK_DECLS,
98682         now that autoconf requires that.
98683
98684         * m4/jm-glibc-io.m4: Add a kludge to make autoheader emit the required
98685         #undefs.  E.g., #undef HAVE_DECL_FERROR_UNLOCKED.
98686         Use []-quoted list in AC_CHECK_DECLS, now that autoconf requires that.
98687
98688 2000-06-03  Jim Meyering  <meyering@lucent.com>
98689
98690         * lib/strnlen.c [!HAVE_DECL_MEMCHR]: Declare memchr.
98691
98692 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98693
98694         * m4/glibc21.m4: New file.
98695         * m4/jm-macros.m4 (jm_MACROS): Call jm_GLIBC21.
98696
98697 2000-06-03  Bruno Haible  <haible@clisp.cons.org>
98698
98699         * lib/Makefile.am (install-exec-local): On systems with glibc-2.1 or
98700         newer, don't install charset.alias.
98701         * lib/config.charset: Change the Linux/glibc rules so they become empty
98702         on glibc-2.1 or newer.
98703
98704 2000-06-02  Jim Meyering  <meyering@lucent.com>
98705
98706         * lib/mountlist.c: Back out last change.  Instead, do this...
98707         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Set the
98708         me_dummy member using the same `ignore'-testing code.
98709         * lib/mountlist.h (ME_DUMMY): Add `autofs' to the list of ignored
98710         fs_type strings.
98711         From Mark D. Roth.
98712
98713 2000-05-29  Jim Meyering  <meyering@lucent.com>
98714
98715         * lib/mountlist.c (read_filesystem_list) [MOUNTED_VMOUNT]: Ignore
98716         mounts with the `ignore' attribute.  Based on a patch from
98717         Mark D. Roth.
98718
98719 2000-05-28  Jim Meyering  <meyering@lucent.com>
98720
98721         * m4/jm-macros.m4 (AC_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK): Rename from
98722         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98723         * m4/stat.m4: Likewise.
98724         * m4/lstat.m4: Likewise.
98725         * m4/lstat-slash.m4: Remove file (absorbed into autoconf).
98726
98727         * m4/jm-macros.m4 (AC_FUNC_STRERROR_R): Rename from jm_FUNC_STRERROR_R.
98728         * m4/strerror_r.m4: Remove file (absorbed into autoconf).
98729
98730 2000-05-26  Jim Meyering  <meyering@lucent.com>
98731
98732         * m4/uptime.m4: Use `$cross_compiling', not `$ac_cv_prog_cc_cross'.
98733
98734 2000-05-24  Jim Meyering  <meyering@lucent.com>
98735
98736         * m4/prereq.m4: Use []-quoted list in AC_CHECK_MEMBERS, now that
98737         autoconf requires that.
98738         * m4/lib-check.m4: Likewise.
98739         * m4/jm-macros.m4: Likewise.
98740         * m4/strftime.m4: Likewise.
98741
98742         * m4/check-decl.m4 (jm_CHECK_DECLS): Use []-quoted list in
98743         AC_CHECK_DECLS, now that autoconf requires that.
98744
98745 2000-05-22  Jim Meyering  <meyering@lucent.com>
98746
98747         * m4/stat.m4: Require jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
98748         * m4/lstat.m4: Likewise.
98749
98750 2000-05-22  Jim Meyering  <meyering@lucent.com>
98751
98752         * lib/makepath.c: Remove old, now-unnecessary `#ifdef __MSDOS__' block.
98753
98754 2000-05-20  Jim Meyering  <meyering@lucent.com>
98755
98756         * m4/prereq.m4 (jm_PREREQ_HUMAN): New macro.
98757         (jm_PREREQ): Use it.
98758
98759 2000-05-18  Jim Meyering  <meyering@lucent.com>
98760
98761         * lib/hash.c (hash_rehash): Fix a nasty bug: copy the free entry list
98762         back, too, since it may have been modified by allocate_entry.
98763         (hash_delete): Rewrite to use neither the assignment operator
98764         nor the comma operator in an if-expression.
98765
98766 2000-05-15  Paul Eggert  <eggert@twinsun.com>
98767
98768         * lib/closeout.c:
98769         <sys/stat.h>, <sys/types.h>, <unistd.h>, (STDOUT_FILENO):
98770         Remove; no longer needed.
98771         "quotearg.h": Add include.
98772         (file_name): Do not bother to explicitly initialize to NULL; it's less
98773         efficient on some hosts.
98774         (close_stdout_status): Remove test as to whether stdout was already
98775         closed; it breaks for the case "echo x | sort >&-".
98776         Quote file name colons.
98777         Do not assume that _("write error") lacks format strings.
98778
98779 2000-05-15  Jim Meyering  <meyering@lucent.com>
98780
98781         * lib/version-etc.c (version_etc_copyright): Update the copyright
98782         string used in all --version output.
98783
98784 2000-05-14  Jim Meyering  <meyering@lucent.com>
98785
98786         * lib/closeout.c (close_stdout_set_file_name): New function.
98787         (close_stdout_status): Use new file-scoped global.
98788         Return right away if fstat says the stdout file descriptor is invalid.
98789         * lib/closeout.h (close_stdout_set_file_name): Declare.
98790
98791 2000-05-10  Jim Meyering  <meyering@lucent.com>
98792
98793         * lib/closeout.c [default_exit_status]: New file-scoped variable.
98794         (close_stdout_set_status): New function.
98795         * lib/closeout.h (close_stdout_set_status): Declare.
98796
98797 2000-05-09  Jim Meyering  <meyering@lucent.com>
98798
98799         * m4/gettext.m4: Rename this...
98800         * m4/libintl.m4: ...to this.
98801
98802 2000-05-08  Jim Meyering  <meyering@lucent.com>
98803
98804         * lib/long-options.c: Don't include closeout.h.
98805         (parse_long_options): Don't call close_stdout for --version.
98806
98807 2000-05-06  Paul Eggert  <eggert@twinsun.com>
98808
98809         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _XOPEN_SOURCE to
98810         be 500, instead of _GNU_SOURCE to be 1, to work around glibc
98811         2.1.3 bug.  This avoids a clash when files like regex.c define
98812         _GNU_SOURCE.
98813
98814 2000-05-06  Jim Meyering  <meyering@lucent.com>
98815
98816         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add atexit.
98817         (AC_REPLACE_FUNCS): Add strnlen.
98818
98819         * m4/rmdir-errno.m4 (fetish_FUNC_RMDIR_NOTEMPTY): New macro and file.
98820         * m4/jm-macros.m4: Require fetish_FUNC_RMDIR_NOTEMPTY.
98821
98822         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Save and restore LIBS around
98823         AC_SEARCH_LIBS call for nanosleep.
98824         (LIB_NANOSLEEP): Set and AC_SUBST.
98825
98826 2000-05-06  Jim Meyering  <meyering@lucent.com>
98827
98828         * lib/strnlen.c: Undefine __strnlen and strnlen.
98829         [!weak_alias]: Define __strnlen to strnlen.
98830
98831         * lib/atexit.c: New file, from libiberty.
98832
98833 2000-05-06  Jim Meyering  <meyering@lucent.com>
98834
98835         * lib/closeout.c (close_stdout_status): Also check for errors on the
98836         stderr stream.
98837
98838 2000-05-05  Jim Meyering  <meyering@lucent.com>
98839
98840         * m4/jm-macros.m4 (jm_MACROS): Save and restore LIBS around
98841         AC_SEARCH_LIBS call for clock_gettime.
98842         (LIB_CLOCK_GETTIME): Set and AC_SUBST.
98843
98844         * m4/search-libs.m4: Update from autoconf.
98845
98846         su doesn't work on Solaris 2.6.
98847         * m4/lib-check.m4: When checking for struct spwd.sp_pwdp, also include
98848         <shadow.h>.  Reported by Dragos Harabor.
98849
98850 2000-05-05  Bruno Haible  <haible@clisp.cons.org>
98851
98852         * lib/localcharset.c (get_charset_aliases): Use malloc, realloc and
98853         memcpy instead of xmalloc, xrealloc, path_concat.
98854         (locale_charset): Treat empty environment variables as absent.
98855         (DIRECTORY_SEPARATOR, ISSLASH): New macros.
98856
98857 2000-05-04  Jim Meyering  <meyering@lucent.com>
98858
98859         * lib/getopt.c: Update from glibc.
98860         * lib/obstack.c: Likewise.
98861         * lib/obstack.h: Likewise.
98862         * lib/regex.c: Likewise.  NB: K&R compiler support is dropped for this
98863         file
98864
98865         * lib/regex.h: Likewise.
98866         * lib/strndup.c: Likewise.
98867         * lib/strnlen.c: New file, from glibc.
98868
98869 2000-05-03  Jim Meyering  <meyering@lucent.com>
98870
98871         * m4/check-decl.m4 (AC_CHECK_DECLS): Add strndup.
98872
98873 2000-05-02  Paul Eggert  <eggert@twinsun.com>
98874
98875         * m4/largefile.m4 (AC_SYS_LARGEFILE): Define _GNU_SOURCE if
98876         this is needed to make ftello visible (e.g. glibc 2.1.3).  Use
98877         compile-time test, rather than inspecting host and OS, to
98878         decide whether to define _LARGEFILE_SOURCE.
98879
98880 2000-05-01  Jim Meyering  <meyering@lucent.com>
98881
98882         * m4/fsusage.m4: Use AC_MSG_CHECKING instead of obsolete AC_CHECKING.
98883
98884         * m4/ls-mntd-fs.m4 (jm_LIST_MOUNTED_FILESYSTEMS): Add BeOS support.
98885         Based on a patch from Bruno Haible.
98886
98887 2000-05-01  Jim Meyering  <meyering@lucent.com>
98888
98889         * lib/full-write.c (full_write): Remove `FIXME' part of comment.
98890
98891 2000-04-29  Jim Meyering  <meyering@lucent.com>
98892
98893         * lib/path-concat.c: Declare strdup only if it's not defined.
98894         * lib/canon-host.c: Likewise.
98895
98896 2000-04-28  Jim Meyering  <meyering@lucent.com>
98897
98898         * lib/rpmatch.c [HAVE_LIMITS_H]: Include limits.h before regex.h to
98899         avoid redefinition warning on some systems (HPUX).  Otherwise, regex.h
98900         is included first, then limits.h is included by locale.h by libintl.h.
98901         From John David Anglin.
98902
98903 2000-04-25  Jim Meyering  <meyering@lucent.com>
98904
98905         * lib/makepath.c (S_IRWXUGO): Define.
98906         (make_path): Always perform explicit chmod if MODE specifies any
98907         of the `special' permission bits.  Prompted by a bug report against
98908         install from Mate Wierdl and Joost van Baal.
98909
98910 2000-04-18  Jim Meyering  <meyering@lucent.com>
98911
98912         * m4/prereq.m4 (jm_PREREQ_GETPAGESIZE): New macro.
98913         (jm_PREREQ): Use it.
98914
98915 2000-04-18  Jim Meyering  <meyering@lucent.com>
98916
98917         * lib/README: New file.
98918
98919         * lib/getpagesize.h [!getpagesize && HAVE_OS_H && B_PAGE_SIZE]: Define
98920         getpagesize.  For BeOS.  Based on a patch from Bruno Haible.
98921
98922 2000-04-17  Jim Meyering  <meyering@lucent.com>
98923
98924         Get it right :-)
98925         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Emit the
98926         actual #define via AH_VERBATIM.  Don't need separate AC_DEFINE.
98927         Suggestion from Akim Demaille.
98928
98929 2000-04-17  Jim Meyering  <meyering@lucent.com>
98930
98931         * lib/strftime.c (my_strftime) [strftime]: Declare strftime here, since
98932         the definition of it to rpl_strftime also defined-away the system's
98933         declaration.
98934
98935 2000-04-15  Jim Meyering  <meyering@lucent.com>
98936
98937         Use `C' to denote so-called `contiguous' files, the same way
98938         that tar does.
98939         * lib/filemode.c (S_ISCTG) [!S_ISCTG && S_IFCTG]: Define.
98940         (ftypelet): Use S_ISCTG.
98941         From Michael Deutschmann.
98942
98943 2000-04-14  Jim Meyering  <meyering@lucent.com>
98944
98945         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use the one-arg
98946         form of AC_DEFINE.  Otherwise, the #ifndef in AH_VERBATIM gets
98947         clobbered.
98948
98949 2000-04-14  Jim Meyering  <meyering@lucent.com>
98950
98951         * lib/strftime.c (my_strftime) [#ifdef strftime]: Declare strftime.
98952
98953 2000-04-13  Jim Meyering  <meyering@lucent.com>
98954
98955         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES) [_GNU_SOURCE]: Use new
98956         AH_VERBATIM to insert required #ifndef into config.h.in.
98957         Suggestion from Akim Demaille.
98958
98959 2000-04-12  Jim Meyering  <meyering@lucent.com>
98960
98961         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Use AC_CHECK_HEADERS, not
98962         `AC_CHECK_HEADER' to check for locale.h.  Thanks to a report from
98963         Christian Krackowizer.
98964
98965         More code moved from ../configure.in into (jm_CHECK_ALL_TYPES).
98966         * m4/jm-macros.m4 (_GNU_SOURCE): Define.
98967         (AC_SYS_LARGEFILE): Require.
98968         (AM_C_PROTOTYPES): Require.
98969
98970 2000-04-08  Jim Meyering  <meyering@lucent.com>
98971
98972         * lib/Makefile.am (charset.alias): Use t-$@, not $@-t so the DOS 8.3
98973         names don't conflict.  Reported by Eli Zaretskii.
98974
98975 2000-04-07  Jim Meyering  <meyering@lucent.com>
98976
98977         * lib/putenv.c: Move inclusion of errno.h so it follows that of
98978         sys/types.h, to work around system header problems on AIX 3.2.5.
98979         From Bruno Haible.
98980
98981 2000-04-07  Bruno Haible  <haible@clisp.cons.org>
98982
98983         * lib/unicodeio.c (print_unicode_char): Avoid triggering Solaris iconv
98984         bug.  Deal with the different error behavior of Irix iconv.
98985
98986 2000-04-05  Paul Eggert  <eggert@twinsun.com>
98987
98988         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Don't use -n32 on
98989         IRIX if the installer said otherwise.
98990
98991 2000-04-05  Jim Meyering  <meyering@lucent.com>
98992
98993         Portability tweaks required for ultrix4.3.
98994         * m4/check-decl.m4 [!HAVE_UTMPX_H] (headers): Include <utmp.h>.
98995         (jm_CHECK_DECLS): Add getutent to the list of functions.
98996         (_jm_DECL_HEADERS): Add utmpx.h.
98997         From John David Anglin.
98998
98999         * m4/strftime.m4: Back out the 2000-04-02 change.
99000         Instead of that change, simply undefine putenv in the test program.
99001
99002 2000-04-05  Jim Meyering  <meyering@lucent.com>
99003
99004         Portability tweaks required for ultrix4.3.
99005         * lib/readutmp.h [HAVE_UTMPX_H && !HAVE_DECL_GETUTENT]: Declare
99006         getutent.
99007         * lib/readutmp.c: Include sys/types.h before sys/stat.h.
99008         * lib/canon-host.c: Declare strdup.
99009         * lib/path-concat.c: Likewise.
99010         From John David Anglin.
99011
99012 2000-04-04  Jim Meyering  <meyering@lucent.com>
99013
99014         Be more DOS 8.3-friendly.
99015         * lib/ref-add.sin: Renamed from ref-add.sed.in.
99016         * lib/ref-del.sin: Renamed from ref-del.sed.in.
99017         * lib/Makefile.am: Reflect renaming.
99018         Reported by Eli Zaretskii.
99019
99020         Use a temporary file name that won't clash with `charset.alias'
99021         in the DOS 8.3 name space.
99022         * lib/Makefile.am (charset_tmp): Define.
99023         (install-exec-local): Use $(charset_tmp) instead of $(charset_alias)-t.
99024         (uninstall-local): Likewise.
99025         Reported by Eli Zaretskii.
99026
99027 2000-04-03  Jim Meyering  <meyering@lucent.com>
99028
99029         * m4/gettext.m4: Fix typo in comment.
99030
99031         * m4/codeset.m4 (AC_CHECK_HEADERS): Add langinfo.h (moved here from
99032         textutils/configure.in).  Suggestion from Paul Eggert.
99033         (AC_CHECK_FUNCS): Add nl_langinfo.  (also from textutils/configure.in)
99034
99035 2000-04-02  Paul Eggert  <eggert@twinsun.com>
99036
99037         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Set TZ environment
99038         variable in the shell rather than using putenv, which isn't
99039         portable.  This avoids the configure-time inter-test dependency
99040         on the potentially-renamed putenv function.
99041
99042 2000-03-30  Paul Eggert  <eggert@twinsun.com>
99043
99044         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Include <sys/stat.h>
99045         before checking struct stat.st_blksize, so that
99046         HAVE_STRUCT_STAT_ST_BLKSIZE is defined correctly.
99047
99048 2000-03-29  Paul Eggert  <eggert@twinsun.com>
99049
99050         * m4/strftime.m4 (_jm_STRFTIME_PREREQS): Check for strftime,
99051         since strftime.c uses HAVE_STRFTIME to decide whether to use
99052         the underlying strftime.
99053
99054 2000-03-29  Paul Eggert  <eggert@twinsun.com>
99055
99056         * lib/time/strftime.c (my_strftime): Make sure we call the system
99057         strftime, not ourselves, when invoking the underlying strftime.
99058
99059 2000-03-24  Jim Meyering  <meyering@lucent.com>
99060
99061         * lib/Makefile.am (EXTRA_DIST): Add ref-add.sed.in and ref-del.sed.in.
99062         (charset_alias): Define.
99063         (install-exec-local): Factor out common code.
99064         (uninstall-local): Split lines longer than 80.
99065         (ref-add.sed, ref-del.sed): Remove rules... (do the following instead)
99066         (SUFFIXES): Define.
99067         (.sed.in.sed): New rule.  Don't redirect directly to $@.
99068         (CLEANFILES): Add ref-add.sed and ref-del.sed.
99069
99070 2000-03-19  Bruno Haible  <haible@clisp.cons.org>
99071
99072         * lib/config.charset: Output a line containing "Packages using this
99073         file".
99074         * lib/ref-add.sed.in, lib/ref-del.sed.in: New files.
99075         * lib/Makefile.am (install-exec-local, uninstall-local, ref-add.sed,
99076         ref-del.sed): New rules.
99077
99078 2000-03-17  Jim Meyering  <meyering@lucent.com>
99079
99080         * lib/unicodeio.c (<string.h>): Include only #if HAVE_STRING_H.
99081         Otherwise, include <strings.h>
99082
99083 2000-03-17  Bruno Haible  <haible@clisp.cons.org>
99084
99085         * lib/unicodeio.c (utf8_wctomb): New function.
99086         (print_unicode_char): Pass the Unicode character to iconv in UTF-8
99087         format instead of in UCS-4 with platform dependent endianness.
99088
99089 2000-03-10  Jim Meyering  <meyering@lucent.com>
99090
99091         * m4/lib-check.m4: Look for getspnam in -lgen, too.
99092         From Marco Franzen.
99093
99094 2000-03-07  Paul Eggert  <eggert@twinsun.com>
99095
99096         * lib/savedir.c (savedir): Work even if directory size is
99097         negative; this can happen with some screwy NFS configurations.
99098
99099 2000-03-06  Jim Meyering  <meyering@lucent.com>
99100
99101         * lib/localcharset.c (get_charset_aliases): Don't try to free file_name
99102         if it's NULL (because we ran out of memory).  From Bruno Haible.
99103
99104 2000-03-05  Jim Meyering  <meyering@lucent.com>
99105
99106         * lib/localcharset.c ("path-concat.h"): Include.
99107         (get_charset_aliases): Use path_concat instead of ANSI string
99108         concatenation.
99109
99110         * lib/unicodeio.h (PARAMS): Define.
99111         Use it to guard prototype.
99112
99113 2000-03-04  Jim Meyering  <meyering@lucent.com>
99114
99115         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require AC_C_VOLATILE,
99116         for lib/localcharset.c.
99117
99118 2000-03-04  Jim Meyering  <meyering@lucent.com>
99119
99120         * lib/Makefile.am (install-exec-local): Create $(libdir) before
99121         installing into it.
99122         (uninstall-local): Uncomment this rule so `make distcheck' works
99123         once again.
99124
99125         * lib/unicodeio.c (<errno.h>): Include it.
99126         (errno): Declare if not defined.
99127
99128         * lib/localcharset.c: Add Bruno's comment justifying use of volatile.
99129
99130         * lib/config.charset: New version, incorporating remarks from a linux
99131         i18n mailing list.  From Bruno Haible.
99132
99133 2000-03-04  Bruno Haible  <haible@clisp.cons.org>
99134
99135         * m4/codeset.m4: New file.
99136         * m4/iconv.m4: New file.
99137         * m4/jm-macros.m4 (jm_MACROS): Call jm_LANGINFO_CODESET and jm_ICONV.
99138
99139 2000-03-03  Jim Meyering  <meyering@lucent.com>
99140
99141         * m4/regex.m4: Make sure re_compile_pattern accepts patterns like `{1'.
99142
99143 2000-03-02  Jim Meyering  <meyering@lucent.com>
99144
99145         * m4/timespec.m4: Require AC_HEADER_TIME before the cache check so
99146         the messages come out on separate lines.
99147
99148         * m4/jm-glibc-io.m4 (jm_FUNC_GLIBC_UNLOCKED_IO): Use AC_CHECK_DECLS,
99149         rather than jm_CHECK_DECLARATIONS.
99150         * m4/decl.m4: Remove now-unused file.
99151
99152         * m4/check-decl.m4 (AC_CHECK_DECLS): Add getlogin, ttyname, and
99153         geteuid.
99154
99155 2000-03-02  Jim Meyering  <meyering@lucent.com>
99156
99157         * lib/Makefile.am (EXTRA_DIST): Add config.charset.
99158
99159 2000-03-01  Jim Meyering  <meyering@lucent.com>
99160
99161         * lib/localcharset.c: Guard some #includes with `#if HAVE_...'.
99162         * lib/unicodeio.c: Likewise.
99163
99164 2000-03-01  Bruno Haible  <haible@clisp.cons.org>
99165
99166         * lib/config.charset: New file.
99167         * lib/localcharset.c: New file.
99168         * lib/unicodeio.h, lib/unicodeio.c: New files.
99169         * lib/Makefile.am (DEFS): Add -DLIBDIR=...
99170         (libfetish_a_SOURCES): Add localcharset.c and unicodeio.c.
99171         (noinst_HEADERS): Add unicodeio.h.
99172         (all-local, install-exec-local, charset.alias): New targets.
99173
99174 2000-02-28  Paul Eggert  <eggert@twinsun.com>
99175
99176         * lib/quotearg.c (ALERT_CHAR): New macro.
99177         (quotearg_buffer_restyled): Use it.
99178
99179 2000-02-27  Jim Meyering  <meyering@lucent.com>
99180
99181         * m4/check-decl.m4: Add getenv to the list.
99182
99183 2000-02-27  Jim Meyering  <meyering@lucent.com>
99184
99185         * lib/strtoumax.c: Fix typo in decl of strtoul: s/long long/long/.
99186         Guard declaration of strtoull also with `&& HAVE_UNSIGNED_LONG_LONG'.
99187
99188         * lib/backupfile.c: Guard inclusion of stdlib.h with
99189         `#if HAVE_STDLIB_H', not `#if STDC_HEADERS'.
99190         Declare malloc if needed.
99191
99192         * lib/backupfile.c: Use `#if !HAVE_DECL...' instead of
99193         `#ifndef HAVE_DECL..'
99194         now that autoconf always defines the HAVE_DECL_ symbols.
99195         * lib/human.c: Likewise.
99196         * lib/same.c: Likewise.
99197         * lib/strtoumax.c: Likewise.
99198
99199         * lib/backupfile.c: Arrange for cpp to fail if the configure-time
99200         declaration check was not run.
99201         * lib/hash.c: Likewise.
99202         * lib/human.c: Likewise.
99203         * lib/same.c: Likewise.
99204         * lib/strtoumax.c: Likewise.
99205
99206         * lib/userspec.c (parse_user_spec): If there is no `:' but there is a
99207         `.', then first look up the entire `.'-containing string as a login
99208         name.
99209
99210 2000-02-23  Jim Meyering  <meyering@lucent.com>
99211
99212         * m4/check-decl.m4: Now that we have the new AC_CHECK_DECLS, use it
99213         in place of my hack.
99214
99215 2000-02-18  Paul Eggert  <eggert@twinsun.com>
99216
99217         * lib/getdate.y: Handle two-digit years with leading zeros correctly.
99218         (textint): New typedef.
99219         (parser_control): Member year changed from int to textint.
99220         All uses changed.
99221         (YYSTYPE): Removed; replaced by %union with int and textint members.
99222         (tDAY, tDAY_UNIT, tDAYZONE, tHOUR_UNIT, tID, tLOCAL_ZONE, tMERIDIAN,
99223         tMINUTE_UNIT, tMONTH, tMONTH_UNIT tSEC_UNIT, tSNUMBER, tUNUMBER,
99224         tYEAR_UNIT, tZONE, o_merid): Now of type <intval>.
99225         (tSNUMBER, tUNUMBER): Now of type <textintval>.
99226         (date, number, to_year): Use width of number in digits, not its value,
99227         to determine whether it's a 2-digit year, or a 2-digit time.
99228         (yylex): Store number of digits of numeric tokens.
99229         Reported by John Kendall.
99230
99231         (parser_control): Changed from struct parser_control to typedef (for
99232         consistency).  All uses changed.
99233
99234         (tID): Removed; not used.
99235         (yylex): Return '?' for unknown identifiers, rather than (unused) tID.
99236
99237 2000-02-14  Paul Eggert  <eggert@twinsun.com>
99238
99239         * lib/getpagesize.h (getpagesize): Port to VMS for Alpha;
99240         adapted from changes to grep getpagesize.h by Martin P.J. Zinser.
99241
99242 2000-02-12  Jim Meyering  <meyering@lucent.com>
99243
99244         * lib/userspec.c (ISDIGIT): Define it.
99245         (isdigit): Remove definition.
99246         (is_number): Use ISDIGIT, not isdigit.
99247         <libintl.h>: Include.
99248         (_ and N_): Define.
99249         (parse_user_spec): Mark translatable strings.
99250
99251 2000-02-10  Jim Meyering  <meyering@lucent.com>
99252
99253         With these changes, nanosleep.[ch] are finally enough like the other
99254         lib/* replacement files to compile on a few more losing systems.
99255
99256         * lib/nanosleep.h: Don't include config.h.
99257         Remove prototype from declaration of nanosleep.
99258         (PARAMS): Remove now-unneeded definition.
99259         * lib/nanosleep.c: #undef nanosleep.
99260         (rpl_nanosleep): Rename from nanosleep.
99261
99262 2000-02-10  Jim Meyering  <meyering@lucent.com>
99263
99264         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Rename replacement function from
99265         gnu_nanosleep to rpl_nanosleep.
99266
99267 2000-02-09  Jim Meyering  <meyering@lucent.com>
99268
99269         * m4/lib-check.m4 (jm_LIB_CHECK): Fix typo: check for sp_pwdp in
99270         struct spwd, rather than in struct passwd.  Reported by Gaël Quéri.
99271
99272 2000-02-08  Akim Demaille  <akim@epita.fr>
99273
99274         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Quote square brackets with
99275         `[' and `]' and remove uses of `changequote'.
99276         (AC_SYS_LARGEFILE_MACRO_VALUE): Likewise.
99277         (AC_SYS_LARGEFILE): Likewise.
99278         * m4/gettext.m4 (AM_GNU_GETTEXT): Likewise.
99279         * m4/strftime.m4 (jm_FUNC_GNU_STRFTIME): Remove now-unnecessary use
99280         of changequote.
99281         * m4/regex.m4 (jm_INCLUDED_REGEX): Likewise.
99282         * m4/readdir.m4 (jm_FUNC_READDIR): Likewise
99283         * m4/memcmp.m4 (jm_AC_FUNC_MEMCMP): Likewise, and add `int' for main.
99284         * m4/getloadavg.m4 (AM_FUNC_GETLOADAVG): Likewise.
99285
99286 2000-02-05  Jim Meyering  <meyering@lucent.com>
99287
99288         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require most macros.
99289         Remove explicit use of AC_HEADER_TIME.  It is required by
99290         jm_CHECK_TYPE_STRUCT_TIMESPEC.  Using AC_HEADER_TIME and
99291         `AC_REQUIRE'ing jm_CHECK_TYPE_STRUCT_TIMESPEC provoked a but
99292         in autoconf whereby the expansion of the latter ended up preceding
99293         the expansion of its prerequisite, AC_HEADER_TIME.
99294         Reported by Volker Borchert.
99295
99296 2000-02-03  Jim Meyering  <meyering@lucent.com>
99297
99298         * m4/prereq.m4 (jm_PREREQ_READUTMP): Check for utmpxname.
99299
99300 2000-02-03  Jim Meyering  <meyering@lucent.com>
99301
99302         * lib/readutmp.c (read_utmp): Guard with `#ifdef UTMP_NAME_FUNCTION',
99303         rather than with `#if HAVE_UTMPNAME'.
99304
99305 2000-02-02  Jim Meyering  <meyering@lucent.com>
99306
99307         * m4/prereq.m4 (jm_PREREQ_ADDEXT): Fix typo that resulted in no
99308         definition of HAVE_PATHCONF: s/AC_CHECK_FUNC/AC_CHECK_FUNCS/.
99309         Reported by Eli Zaretskii.
99310
99311 2000-02-01  Jim Meyering  <meyering@lucent.com>
99312
99313         * lib/readutmp.h (UT_USER): Add parens.  From Andreas Schwab.
99314
99315 2000-01-31  Jim Meyering  <meyering@lucent.com>
99316
99317         * m4/check-decl.m4 (jm_CHECK_DECLS): Add nanosleep to the list of
99318         functions.  Add the time.h and sys/time.h headers along with the
99319         AC_REQUIRE'ment of AC_HEADER_TIME.
99320
99321 2000-01-31  Jim Meyering  <meyering@lucent.com>
99322
99323         * lib/nanosleep.h (nanosleep): Guard declaration with
99324         `#if ! HAVE_DECL_NANOSLEEP'.
99325         Without this, OFS gets a redeclaration error for rpl_nanosleep, due to
99326         the declaration in that vendor's sys/timers.h.
99327         Reported by Christian Krackowizer.
99328
99329         * lib/quotearg.c (ISASCII): Add #undef and move definition to follow
99330         inclusion of wctype.h to work around Solaris 2.6 namespace pollution.
99331         (ISPRINT): Likewise.
99332         Reported by Tom Tromey.
99333
99334 2000-01-30  Jim Meyering  <meyering@lucent.com>
99335
99336         * m4/lib-check.m4: Clean up some kludgy old shadow password tests.
99337
99338         * m4/prereq.m4 (utmp_includes): Define.
99339         Check for ut_user and ut_name members in both struct utmpx
99340         and struct utmp.
99341
99342 2000-01-30  Jim Meyering  <meyering@lucent.com>
99343
99344         * lib/readutmp.c (extract_trimmed_name): Use UT_USER instead of
99345         hard-coding uses of ->ut_name.  The latter doesn't work with new Linux
99346         header files where only utmpx.ut_user is declared.
99347
99348         * lib/readutmp.h (UT_USER): Define.
99349
99350 2000-01-29  Jim Meyering  <meyering@lucent.com>
99351
99352         * m4/lib-check.m4: New file containing library-related checks from
99353         fileutils and sh-utils (textutils had none).
99354
99355 2000-01-28  Jim Meyering  <meyering@lucent.com>
99356
99357         * m4/perl.m4: Change format of warning message to look more like that
99358         from the missing script.  Suggestion from François Pinard.
99359
99360 2000-01-25  Jim Meyering  <meyering@lucent.com>
99361
99362         * m4/timespec.m4: Require AC_HEADER_TIME, and include sys/time.h as
99363         well as time.h in the compile check.
99364         * m4/nanosleep.m4: Require AC_HEADER_TIME rather than simply using it.
99365         Fix typo in cross-compiling case: s/yes/no/.
99366
99367 2000-01-23  Jim Meyering  <meyering@lucent.com>
99368
99369         * m4/jm-macros.m4: Move df-related tests here from
99370         fileutils/configure.in
99371
99372         * m4/ls-mntd-fs.m4: s/list_mounted_fs/ac_list_mounted_fs/
99373         (jm_LIST_MOUNTED_FILESYSTEMS): Take two parameters.
99374
99375         * m4/fsusage.m4: New file.  Extracted from fileutils/configure.in.
99376         s/space/ac_fsusage_space/.
99377         (jm_FILE_SYSTEM_USAGE): Take two parameters.
99378
99379         * m4/ftruncate.m4: New file (derived from part of
99380         fileutils/configure.in).
99381         * m4/jm-macros.m4 (jm_FUNC_FTRUNCATE): AC_REQUIRE it.
99382         (jm_CHECK_ALL_TYPES): Require AC_HEADER_MAJOR and AC_HEADER_DIRENT.
99383
99384         * m4/jm-macros.m4 (OPTIONAL_BIN_PROGS, OPTIONAL_BIN_ZCRIPTS, MAN):
99385         AC_SUBST these here, rather than just in sh-util/configure.in, so
99386         that the now-shared-by-fileutils-and-textutils lib/Makefile.am are
99387         all the same.
99388         (AM_FUNC_OBSTACK): Add (from fileutils/configure.in).
99389         (AC_CHECK_FUNCS): Merge all checks from fileutils, textutils, sh-utils.
99390         (AM_FUNC_STRTOD): Added (from textutils', sh-utils' configure.in).
99391         (AC_SUBST(POW_LIBM)): Likewise.
99392         (AC_SUBST(DF_PROG)): Moved from fileutils/configure.in.
99393
99394 2000-01-23  Jim Meyering  <meyering@lucent.com>
99395
99396         * lib/Makefile.am (libfetish_a_SOURCES): Remove explicit mention of
99397         obstack.c.
99398
99399 2000-01-22  Jim Meyering  <meyering@lucent.com>
99400
99401         * m4/jm-macros.m4: Call AC_PROG_CC_STDC just before AC_C_CONST.
99402
99403         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): Add wctype.h.
99404
99405         * m4/jm-macros.m4 (AC_CHECK_HEADERS): Add checks from fileutils'
99406         configure.in
99407         (AC_CHECK_HEADERS): Likewise for sh-utils.
99408         (AC_CHECK_HEADERS): Likewise for textutils.
99409         Merge the three lists of headers.
99410
99411         * m4/prereq.m4 (jm_PREREQ_ADDEXT): New macro.  Parts moved here
99412         from fileutils' configure.in.
99413
99414         * m4/decl.m4: Remove kludgy `test -z $ac_...AC_CHECK_HEADERS(...)'
99415         code. Moved tests into their own function (_jm_DECL_HEADERS) in
99416         check-decl.m4.
99417
99418         * m4/check-decl.m4: Use #if rather than #ifdef.
99419         Add HAVE_DECL_STRTOUL and HAVE_DECL_STRTOULL.
99420         (jm_CHECK_DECLARATIONS): Add strtoul strtoull.
99421         (_jm_DECL_HEADERS): Define new function.
99422         (jm_CHECK_DECLARATIONS): Require it.
99423
99424 2000-01-22  Jim Meyering  <meyering@lucent.com>
99425
99426         * lib/strtoumax.c: [! HAVE_DECL_STRTOUL]: Declare strtoul.
99427         [! HAVE_DECL_STRTOULL]: Declare strtoull.
99428         Required for some AIX systems.  Reported by Christian Krackowizer.
99429         [TESTING] (main): New function.
99430
99431         1997-10-17  Eli Zaretskii  <eliz@is.elta.co.il>
99432         * lib/dirname.c (dir_name): Support for DOS-style file names with drive
99433         letters.
99434
99435         * lib/quotearg.c [HAVE_WCTYPE_H]: Include <wctype.h> for decl of
99436         iswprint.
99437
99438         * lib/strverscmp.c (ISDIGIT): Define.
99439         (strverscmp): Use ISDIGIT, not isdigit.
99440
99441 2000-01-19  Jim Meyering  <meyering@lucent.com>
99442
99443         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Include <sys/time.h>, too.
99444         Use AC_HEADER_TIME.  Volker Borchert reported that OpenBSD-2.3/sparc
99445         defines `struct timespec' in <sys/time.h>
99446
99447         * m4/c-bs-a.m4: Remove uses of changequote altogether.
99448         Thanks to Akim for explaining.
99449
99450 2000-01-17  Paul Eggert  <eggert@twinsun.com>
99451
99452         * lib/nanosleep.c (nanosleep):
99453         Don't use SA_INTERRUPT to decide whether to call sigaction, as
99454         POSIX.1 doesn't require SA_INTERRUPT and some systems
99455         (e.g. Solaris 7) don't define it.  Use SA_NOCLDSTOP instead;
99456         it's been part of POSIX.1 since day 1 (in 1988).
99457
99458 2000-01-17  Jim Meyering  <meyering@lucent.com>
99459
99460         * lib/interlock: Remove unused file.  Reported by François Pinard.
99461
99462 2000-01-16  Paul Eggert  <eggert@twinsun.com>
99463
99464         * lib/quotearg.c (quotearg_buffer_restyled): Do not quote
99465         alert, backslash, formfeed, and vertical tab unnecessarily in
99466         shell quoting style.
99467
99468 2000-01-16  Jim Meyering  <meyering@lucent.com>
99469
99470         * m4/jm-macros.m4: Require jm_FUNC_GROUP_MEMBER, jm_FUNC_PUTENV,
99471         AM_FUNC_ERROR_AT_LINE, jm_FUNC_GNU_STRFTIME, jm_FUNC_MKTIME,
99472         jm_FUNC_GETGROUPS AC_FUNC_VPRINTF, AC_FUNC_ALLOCA,
99473         AM_FUNC_GETLOADAVG, and jm_SYS_PROC_UPTIME.
99474
99475 2000-01-16  Jim Meyering  <meyering@lucent.com>
99476
99477         * m4/c-bs-a.m4: Use `changequote(<<,>>)', rather than `changequote(, )'
99478         because the latter didn't work.
99479
99480 2000-01-15  Jim Meyering  <meyering@lucent.com>
99481
99482         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add gethostname and getusershell.
99483         (AC_REPLACE_FUNCS): Add memcpy and memset.
99484         Add these, too: stime strcspn stpcpy strstr strtol strtoul.
99485         Add strpbrk.
99486         Add these: euidaccess memcmp mkdir rmdir rpmatch strndup strverscmp.
99487
99488 2000-01-12  Jim Meyering  <meyering@lucent.com>
99489
99490         * m4/prereq.m4 (jm_PREREQ_CANON_HOST): New macro.
99491         (jm_PREREQ): Use it.
99492         (jm_PREREQ_READUTMP): New macro.
99493         (jm_PREREQ): Use it.
99494
99495 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99496
99497         Quote multibyte characters correctly.
99498         * m4/c-bs-a.m4: New file.
99499         * m4/prereq.m4 (jm_PREREQ_QUOTEARG): New macro.
99500         (jm_PREREQ): Use it.
99501
99502 2000-01-11  Paul Eggert  <eggert@twinsun.com>
99503
99504         * m4/uintmax_t.m4: Port to autoconf 2.13.
99505
99506 2000-01-08  Jim Meyering  <meyering@ascend.com>
99507
99508         * m4/strerror_r.m4 (jm_FUNC_STRERROR_R): New file/macro.
99509         * m4/jm-macros.m4 (jm_FUNC_STRERROR_R): Require it.
99510
99511 2000-01-04  Jim Meyering  <meyering@ascend.com>
99512
99513         * m4/d-type.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_TYPE): Rename from
99514         jm_STRUCT_DIRENT_D_TYPE.
99515         * m4/d-ino.m4 (jm_CHECK_TYPE_STRUCT_DIRENT_D_INO): Rename from
99516         jm_STRUCT_DIRENT_D_INO.
99517         * m4/utimbuf.m4 (jm_CHECK_TYPE_STRUCT_UTIMBUF): Rename from
99518         jm_STRUCT_UTIMBUF.
99519         * m4/jm-macros.m4: Reflect s/jm_STRUCT_/jm_CHECK_TYPE_STRUCT_/
99520         renamings.
99521         * m4/utime.m4: Likewise.
99522
99523         * m4/timespec.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): New file, macro.
99524         * m4/jm-macros.m4 (jm_CHECK_TYPE_STRUCT_TIMESPEC): Require it.
99525
99526 2000-01-03  Paul Eggert  <eggert@twinsun.com>
99527
99528         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): Search for nanosleep in -lrt
99529         (for Solaris 7) and in -lposix4 (for Solaris 2.5.1).
99530
99531 2000-01-02  Jim Meyering  <meyering@ascend.com>
99532
99533         * m4/search-libs.m4: Escape `$' in $3 of dnl comment.  I no longer
99534         remember if this is necessary.
99535
99536 1999-12-26  Jim Meyering  <meyering@ascend.com>
99537
99538         * m4/jm-macros.m4: Use it here.
99539         * m4/nanosleep.m4 (jm_FUNC_NANOSLEEP): New file/macro.
99540
99541 1999-12-23  Jim Meyering  <meyering@ascend.com>
99542
99543         * m4/jm-macros.m4: Check for clock_gettime (moved from
99544         fileutils/configure.in)
99545         Check for gettimeofday.
99546
99547 1999-12-20  Jim Meyering  <meyering@ascend.com>
99548
99549         * m4/strftime.m4: Remove kludge, now that I'm using the fixed
99550         autoconf-2.14a-1999-12-20.
99551
99552 1999-12-19  Jim Meyering  <meyering@ascend.com>
99553
99554         * m4/lstat-slash.m4: New file.
99555         * m4/jm-macros.m4: Use the new macro:
99556         jm_FUNC_LSTAT_FOLLOWS_SLASHED_SYMLINK.
99557
99558 1999-12-07  Jim Meyering  <meyering@ascend.com>
99559
99560         * m4/perl.m4: Require that File::Compare be available, too.
99561         Too many systems seem to lack it.
99562
99563         * m4/strftime.m4: Add checks for most of the cpp macros tested in
99564         GNU's strftime.c.  Prompted by a patch from Paul Eggert.
99565
99566 1999-11-18  Paul Eggert  <eggert@twinsun.com>
99567
99568         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around a
99569         problem with the QNX 4.25 shell, which doesn't propagate exit
99570         status of failed commands inside shell assignments.
99571
99572 1999-11-17  Jim Meyering  <meyering@ascend.com>
99573
99574         * m4/gettext.m4: Use new AC_CONFIG_LINKS in place of AC_LINK_FILES.
99575
99576 1999-11-07  Jim Meyering  <meyering@ascend.com>
99577
99578         * m4/getloadavg.m4: Add `, 1, [FIXME]' to each use of AC_DEFINE.
99579
99580 1999-11-06  Jim Meyering  <meyering@ascend.com>
99581
99582         * m4/link-follow.m4 (jm_AC_FUNC_LINK_FOLLOWS_SYMLINK): New file/macro.
99583         * m4/jm-macros.m4 (jm_MACROS): Use it here.
99584
99585 1999-11-05  Jim Meyering  <meyering@ascend.com>
99586
99587         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Move some tests from
99588         configure.in of textutils, fileutils, and sh-utils into this one
99589         (shared between those packages) file.
99590         Use `AC_CHECK_MEMBERS((struct stat.st_blksize))' instead of deprecated
99591         AC_STRUCT_ST_BLKSIZE.
99592
99593 1999-11-03  Jim Meyering  <meyering@ascend.com>
99594
99595         * m4/ssize_t.m4: Remove file.  No longer needed since the new version
99596         of AC_CHECK_TYPE checks includes unistd.h.
99597         * m4/jm-macros.m4: Use straight `AC_CHECK_TYPE(ssize_t, int)'.
99598         Suggestion from Akim Demaille.
99599
99600 1999-10-30  Jim Meyering  <meyering@ascend.com>
99601
99602         * m4/uintmax_t.m4: Require 2.14a.  Remove backslash before backtick in
99603         m4-quoted string.
99604         * m4/ls-mntd-fs.m4: Likewise.
99605         * m4/jm-macros.m4: Likewise.  Also, use AC_TYPE_SSIZE_T instead
99606         * m4/jm-winsz1.m4: Likewise.
99607
99608         * m4/const.m4: Remove file, since the fix made it into the experimental
99609         version of autoconf.
99610         * m4/mktime.m4: Likewise.
99611
99612         * m4/check-type.m4: Remove file, now that the latest version of
99613         AC_CHECK_TYPE takes a third arg to specify additional #includes.
99614
99615         * m4/ssize_t.m4: New file, requires experimental version of autoconf.
99616         * m4/jm-macros.m4: Use new AC_TYPE_SSIZE_T instead of my hacked
99617         AC_CHECK_TYPE.
99618
99619 1999-10-04  Jim Meyering  <meyering@ascend.com>
99620
99621         * m4/jm-macros.m4: Don't require autoconf-2.14.1.
99622
99623 1999-09-22  Paul Eggert  <eggert@twinsun.com>
99624
99625         * m4/largefile.m4 (AC_SYS_LARGEFILE_FLAGS): Work around GCC
99626         2.95.1 bug with HP-UX 10.20.
99627
99628 1999-09-17  Jim Meyering  <meyering@ascend.com>
99629
99630         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add strdup.
99631         Paul Nevai reported a link failure on a NeXT CUBE with NeXTSTEP 3.3
99632         due to missing strdup (against sh-utils-2.0).
99633
99634 1999-08-29  Jim Meyering  <meyering@ascend.com>
99635
99636         * m4/jm-macros.m4: Require jm_BISON.
99637         * m4/bison.m4: New file.
99638
99639 1999-08-17  Paul Eggert  <eggert@twinsun.com>
99640
99641         * m4/largefile.m4 (AC_SYS_LARGEFILE): Fix typo: missing comma
99642         in value for _FILE_OFFSET_BITS, which broke ports to HP-UX 10.20.
99643
99644 1999-08-05  Jim Meyering  <meyering@ascend.com>
99645
99646         * m4/getline.m4: Rename test file from conftestdata to conftest.data
99647         to avoid conflicts with `conftest' on 8+3 filesystems.
99648         Suggestion from Eli Zaretskii.
99649
99650 1999-08-04  Jim Meyering  <meyering@ascend.com>
99651
99652         * m4/jm-macros.m4: Move a 4-line block of code from the configure.in of
99653         fileutils and sh-utils (textutils's getline test was inadequate).
99654         (AM_FUNC_GETLINE): Run this test.
99655         (AC_CHECK_FUNCS): Check for getdelim.
99656         Reported by Bob Proulx.
99657
99658 1999-08-02  Jim Meyering  <meyering@ascend.com>
99659
99660         * m4/jm-macros.m4: Add a comment.
99661
99662 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99663
99664         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): Check whether
99665         <inttypes.h> defines strtoumax as a macro (and not as a
99666         function).
99667
99668 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99669
99670         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): Make sure
99671         that we can shift, multiply and divide unsigned long long
99672         values; Ultrix cc can't do it.
99673
99674 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99675
99676         * m4/mktime.m4: New file, which is a preview of what should appear
99677         in the next public autoconf release.
99678
99679 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99680
99681         * m4/lfs.m4: Remove this file.
99682         * m4/largefile.m4: New file.  It contains the old contents of
99683         lfs.m4, except that all names with prefix AC_LFS have been
99684         changed to use the prefix AC_SYS_LARGEFILE instead, to be
99685         compatible with future autoconf versions.  Also, some minor m4
99686         quoting problems have been fixed.
99687
99688 1999-08-01  Paul Eggert  <eggert@twinsun.com>
99689
99690         * m4/gettext.m4 (AM_WITH_NLS): Remove unnecessary lines.
99691         Fix typo: $nls_cv_header_intl was misspelled as $nsl_cv_header_intl.
99692         (AM_GNU_GETTEXT): Fix problem with brackets and m4 quoting,
99693         and simplify the shell code.
99694
99695 1999-08-01  Jim Meyering  <meyering@ascend.com>
99696
99697         * m4/mktime.m4 (AC_FUNC_MKTIME): Undefine to avoid syntax errors from
99698         m4.
99699
99700 1999-07-20  Jim Meyering  <meyering@ascend.com>
99701
99702         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memmove.
99703
99704 1999-07-15  Jim Meyering  <meyering@ascend.com>
99705
99706         * m4/jm-macros.m4 (AC_CHECK_FUNCS): Check for getpagesize.
99707
99708 1999-05-22  Jim Meyering  <meyering@ascend.com>
99709
99710         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add memchr.
99711
99712 1999-05-20  Jim Meyering  <meyering@ascend.com>
99713
99714         * m4/search-libs.m4 [AC_SEARCH_LIBS]: Quote name in undefine.
99715         Add a colon after each `then' in case $4 is empty.
99716
99717 1999-05-16  Jim Meyering  <meyering@ascend.com>
99718
99719         * m4/search-libs.m4: New file to override autoconf's AC_SEARCH_LIBS.
99720
99721 1999-05-10  Jim Meyering  <meyering@ascend.com>
99722
99723         * m4/jm-mktime.m4: Reflect renaming: AM_FUNC_MKTIME -> AC_FUNC_MKTIME.
99724
99725         * m4/jm-macros.m4: Require 2.14.1, since we use newly-renamed
99726         AC_FUNC_MKTIME.
99727
99728 1999-05-10  Andreas Schwab  <schwab@issan.cs.uni-dortmund.de>
99729
99730         * m4/jm-mktime.m4, putenv.m4: Fix typos in config.h comments.
99731
99732 1999-05-04  Paul Eggert  <eggert@twinsun.com>
99733
99734         * m4/lfs.m4 (AC_LFS): -n32, -o32, and -n64 should be in CFLAGS,
99735         not CPPFLAGS, so that linking works correctly in IRIX.
99736
99737 1999-04-30  Paul Eggert  <eggert@twinsun.com>
99738
99739         * m4/jm-macros.m4 (AC_REPLACE_FUNCS): Add dup2.
99740
99741 1999-04-20  Paul Eggert  <eggert@twinsun.com>
99742
99743         * m4/uintmax_t.m4 (jm_AC_TYPE_UINTMAX_T): Move unsigned long
99744         long check into new jm_AC_TYPE_UNSIGNED_LONG_LONG macro.
99745         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): Require
99746         jm_AC_TYPE_UNSIGNED_LONG_LONG.
99747         * m4/ulonglong.m4 (jm_AC_TYPE_UNSIGNED_LONG_LONG): New file/macro.
99748
99749         * m4/lfs.m4: Port to AIX and HP-UX.  Support cross-compilation.
99750
99751 1999-04-20  Jim Meyering  <meyering@ascend.com>
99752
99753         * m4/xstrtoumax.m4: Require jm_AC_TYPE_UNSIGNED_LONG_LONG.
99754         AC_REPLACE xstroull if necessary.  From Paul Eggert.
99755         (AC_CHECK_FUNCS): Remove strtoull, strtoumax, strtouq.
99756
99757 1999-04-18  Jim Meyering  <meyering@ascend.com>
99758
99759         * m4/xstrtoumax.m4 (jm_AC_PREREQ_XSTRTOUMAX): New file/macro.
99760         * m4/jm-macros.m4: Use it.
99761
99762 1999-04-06  Jim Meyering  <meyering@ascend.com>
99763
99764         * m4/strftime.m4: Remove test for %f.
99765
99766 1999-03-29  Jim Meyering  <meyering@ascend.com>
99767
99768         * m4/jm-macros.m4 (jm_CHECK_ALL_TYPES): New macro, contains the
99769         superset of the AC_TYPE_* checks in the textutils, fileutils,
99770         and sh-utils, plus AC_TYPE_PID_T.  Paul Eggert suggested adding
99771         AC_TYPE_PID_T.
99772
99773 1999-03-28  Jim Meyering  <meyering@ascend.com>
99774
99775         * m4/jm-macros.m4: Define GNU_PACKAGE here.
99776         Be sure to AC_SUBST it, once again, so that @GNU_PACKAGE@ is
99777         replaced e.g., in the *.sh files of the sh-utils.
99778
99779 1999-03-20  Jim Meyering  <meyering@ascend.com>
99780
99781         * m4/jm-macros.m4: s/jm_WITH_REGEX/jm_INCLUDED_REGEX/.
99782         * m4/regex.m4 (jm_INCLUDED_REGEX): Rename from jm_WITH_REGEX.
99783         Don't depend on AM_GLIBC.  Suggestions from Alain Magloire.
99784
99785 1999-03-19  Jim Meyering  <meyering@ascend.com>
99786
99787         * m4/jm-winsz1.m4 (jm_WINSIZE_IN_PTEM): New macro.
99788
99789 1999-03-12  Jim Meyering  <meyering@ascend.com>
99790
99791         * m4/jm-macros.m4: Use AC_FUNC_SETVBUF_REVERSED.
99792
99793 1999-03-07  Jim Meyering  <meyering@ascend.com>
99794
99795         * m4/jm-glibc-io.m4: Use only those *_unlocked macros that are
99796         declared.
99797
99798 1999-02-17  Jim Meyering  <meyering@ascend.com>
99799
99800         * m4/gettext.m4 (AM_GNU_GETTEXT): Do `changequote' around use of
99801         brackets in macro definition.  From Eli Zaretskii and Alain Magloire.
99802
99803 1999-02-07  Jim Meyering  <meyering@ascend.com>
99804
99805         * m4/group-member.m4: New file -- extracted from sh-utils'
99806         configure.in.
99807
99808         1999-02-05  Eli Zaretskii  <eliz@is.elta.co.il>
99809         * m4/gettext.m4: Support DOS-style d:/foo/bar absolute file names.
99810
99811 1999-02-06  Jim Meyering  <meyering@ascend.com>
99812
99813         * m4/chown.m4: Use `AC_SUBST(LIBOBJS)' since we set LIBOBJS.
99814         * m4/fnmatch.m4: Likewise.
99815         * m4/getgroups.m4: Likewise.
99816         * m4/lstat.m4: Likewise.
99817         * m4/malloc.m4: Likewise.
99818         * m4/putenv.m4: Likewise.
99819         * m4/realloc.m4: Likewise.
99820         * m4/regex.m4: Likewise.
99821         * m4/stat.m4: Likewise.
99822         * m4/strftime.m4: Likewise.
99823         Suggestion from Alain Magloire.
99824
99825         * m4/chown.m4: Use `.$ac_objext', not `.o'.
99826         * m4/fnmatch.m4: Likewise.
99827         * m4/getgroups.m4: Likewise.
99828         * m4/getline.m4: Likewise.
99829         * m4/lstat.m4: Likewise.
99830         * m4/malloc.m4: Likewise.
99831         * m4/memcmp.m4: Likewise.
99832         * m4/putenv.m4: Likewise.
99833         * m4/realloc.m4: Likewise.
99834         * m4/regex.m4: Likewise.
99835         * m4/stat.m4: Likewise.
99836         * m4/strftime.m4: Likewise.
99837         Suggestion from Alain Magloire.
99838
99839         * m4/jm-macros.m4: Actually invoke jm_WITH_REGEX now that it requires
99840         an argument.
99841
99842         * m4/regex.m4: Add a run-time Test for proper operation of
99843         re_compile_pattern.
99844
99845 1999-01-31  Jim Meyering  <meyering@ascend.com>
99846
99847         * m4/getloadavg.m4: Check for locale.h and the function, setlocale.
99848
99849 1999-01-30  Jim Meyering  <meyering@ascend.com>
99850
99851         * m4/check-type.m4: Use 3-arg form of AC_DEFINE.
99852
99853         * m4/jm-mktime.m4: Make this a wrapper around the official
99854         AM_FUNC_MKTIME rather than my private copy, now that the official one
99855         is up to date.
99856         * m4/mktime.m4: Remove file.
99857
99858         * m4/getloadavg.m4: Use 3-arg form of AC_DEFINE.
99859         * m4/uptime.m4: Likewise.
99860         * m4/uintmax_t.m4: Likewise.
99861
99862 1999-01-28  Jim Meyering  <meyering@ascend.com>
99863
99864         * m4/jm-macros.m4: Use jm_AFS.
99865         * m4/afs.m4: New file (from fileutils' configure.in).
99866
99867         * m4/assert.m4: Use the 3-argument forms of AC_DEFINE* macros.
99868         * m4/chown.m4: Likewise.
99869         * m4/d-ino.m4: Likewise.
99870         * m4/d-type.m4: Likewise.
99871         * m4/fnmatch.m4: Likewise.
99872         * m4/getgroups.m4: Likewise.
99873         * m4/gettext.m4: Likewise.
99874         * m4/jm-mktime.m4: Likewise.
99875         * m4/jm-winsz2.m4: Likewise.
99876         * m4/lcmessage.m4: Likewise.
99877         * m4/ls-mntd-fs.m4: Likewise.
99878         * m4/malloc.m4: Likewise.
99879         * m4/memcmp.m4: Likewise.
99880         * m4/putenv.m4: Likewise.
99881         * m4/realloc.m4: Likewise.
99882         * m4/st_mtim.m4: Likewise.
99883         * m4/strftime.m4: Likewise.
99884
99885 1999-01-16  Jim Meyering  <meyering@ascend.com>
99886
99887         * m4/jm-macros.m4 (ARGMATCH_DIE): Define.
99888         (ARGMATCH_DIE_DECL): Define.
99889
99890 1999-01-12  Jim Meyering  <meyering@ascend.com>
99891
99892         * m4/Makefile.am.in: Rewrite to avoid using fmt.
99893         Reported by Lars Hecking.
99894
99895 1999-01-10  Jim Meyering  <meyering@ascend.com>
99896
99897         * m4/fstypename.m4: Use the new 3-arg form of AC_DEFINE instead of my
99898         gross kludge.
99899         * m4/inttypes_h.m4: Likewise.
99900         * m4/lstat.m4: Likewise.
99901         * m4/malloc.m4: Likewise.
99902         * m4/readdir.m4: Likewise.
99903         * m4/realloc.m4: Likewise.
99904         * m4/st_dm_mode.m4: Likewise.
99905         * m4/stat.m4: Likewise.
99906         * m4/utimbuf.m4: Likewise.
99907         * m4/utimes.m4: Likewise.
99908
99909         * m4/check-decl.m4: Use the new 3-arg form of AC_DEFINE instead of the
99910         AC_CHECK_FUNCS hack.  Now, it's still a hack, but at least the
99911         comments in config.h.in are meaningful.
99912
99913         * m4/jm-macros.m4: Require autoconf-2.13 here.
99914
99915         * m4/regex.m4: By default, don't use the included regex.c on systems
99916         with glibc 2.  Suggestion from Uli Drepper.
99917
99918 1999-01-02  Jim Meyering  <meyering@ascend.com>
99919
99920         * m4/jm-macros.m4: Replace strcasecmp and strncasecmp.
99921
99922 1998-12-18  Jim Meyering  <meyering@ascend.com>
99923
99924         * m4/Makefile.am.in (Makefile.am): Simplify rule.
99925         Based on a suggestion from Lars Hecking.
99926
99927 1998-11-16  Paul Eggert  <eggert@twinsun.com>
99928
99929         * m4/lfs.m4 (AC_LFS): Add support for HP-UX 10.20 and HP-UX 11.
99930
99931 1998-11-16  Jim Meyering  <meyering@ascend.com>
99932
99933         * m4/lfs.m4: Double-quote the `uname...` expression.
99934
99935 1998-11-14  Jim Meyering  <meyering@ascend.com>
99936
99937         * m4/lstat.m4: Correct comment.  POSIX does not permit it to succeed.
99938         * m4/stat.m4: Likewise.
99939
99940 1998-11-03  Jim Meyering  <meyering@ascend.com>
99941
99942         * m4/stat.m4: Rewrite to set HAVE_STAT_EMPTY_STRING_BUG.
99943         * m4/lstat.m4: Rewrite to set HAVE_LSTAT_EMPTY_STRING_BUG.
99944
99945 1998-10-18  Jim Meyering  <meyering@ascend.com>
99946
99947         * m4/check-decl.m4 (jm_CHECK_DECL_LOCALTIME_R): Remove macro.
99948
99949 1998-10-17  Jim Meyering  <meyering@ascend.com>
99950
99951         * m4/decl.m4 (jm_CHECK_DECLARATION): Don't hard-code which headers to
99952         include, though we still hard-code the `require'-like AC_CHECK_HEADERS
99953         calls for those previously hard-coded headers.  Instead, take a new
99954         parameter.
99955         (jm_CHECK_DECLARATIONS): Reflect interface change.
99956         * m4/check-decl.m4 (jm_CHECK_DECLS): Likewise.
99957         (jm_CHECK_DECL_LOCALTIME_R): New macro.
99958
99959         * m4/mktime.m4: Test for spring-forward gap before long-running test.
99960
99961 1998-10-14  Jim Meyering  <meyering@ascend.com>
99962
99963         * m4/mktime.m4: Use the more portable "TZ=PST8PDT,M4.1.0,M10.5.0"
99964         instead of "TZ=America/Vancouver".  From Paul Eggert.
99965
99966 1998-10-11  Jim Meyering  <meyering@ascend.com>
99967
99968         * m4/mktime.m4 (jm_AM_FUNC_MKTIME): New file and macro.
99969         This adds a test for a recently added compatibility fix for mktime.c.
99970         * m4/jm-mktime.m4: Require jm_AM_FUNC_MKTIME, not AM_FUNC_MKTIME.
99971
99972 1998-09-27  Jim Meyering  <meyering@ascend.com>
99973
99974         * m4/jm-macros.m4 (jm_MACROS): Require jm_FUNC_FNMATCH.
99975
99976         * m4/fnmatch.m4 (jm_FUNC_FNMATCH): New file/macro.  Extracted from
99977         ../configure.in, including a change from Gordon Matzigkeit to allow
99978         cross-compiling for the Hurd.
99979
99980         * m4/glibc.m4: New file/macro to test for the GNU C Library
99981         versions 1 and 2.  From Gordon Matzigkeit.
99982         Indent.
99983
99984 1998-09-21  Jim Meyering  <meyering@ascend.com>
99985
99986         * m4/chown.m4: Declare locals: before, after.  From Andries Brouwer.
99987
99988 1998-08-18  Paul Eggert  <eggert@twinsun.com>
99989
99990         Port nanosecond-resolution times to UnixWare 2.1.2 and
99991         pedantic Solaris 2.6.
99992
99993         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC): Renamed from
99994         AC_STRUCT_ST_MTIM.
99995         * m4/st_mtim.m4 (AC_STRUCT_ST_MTIM_NSEC):
99996         Generate name of ns member, instead of just 1 or undef.
99997         Allow for UnixWare 2.1.2 and Solaris 2.6 if in pedantic mode.
99998
99999 1998-08-15  Jim Meyering  <meyering@ascend.com>
100000
100001         * m4/ssize_t.m4 (jm_TYPE_SSIZE_T): Remove file.
100002         * m4/check-type.m4: New file.  Replacement for AC_CHECK_TYPE.
100003         * m4/jm-macros.m4: Use the new AC_CHECK_TYPE(ssize_t, int)
100004         instead of jm_TYPE_SSIZE_T.
100005
100006 1998-08-12  Jim Meyering  <meyering@ascend.com>
100007
100008         * m4/st_dm_mode.m4: New file.  From Johan Danielsson.
100009
100010 1998-08-02  Jim Meyering  <meyering@ascend.com>
100011
100012         * m4/st_mtim.m4: Use hack to avoid having to put #undef HAVE_ST_MTIM
100013         in acconfig.h manually.
100014
100015 1998-07-31  Paul Eggert  <eggert@twinsun.com>
100016
100017         * m4/st_mtim.m4: New file.
100018
100019 1998-07-28  Jim Meyering  <meyering@ascend.com>
100020
100021         * m4/utimes.m4: Undef stat.
100022
100023 1998-07-25  Jim Meyering  <meyering@ascend.com>
100024
100025         * m4/utime.m4 (jm_FUNC_UTIME): New file and macro.
100026         * m4/utimes.m4 (jm_FUNC_UTIMES_NULL): New file and macro.
100027
100028 1998-07-09  Manfred Hollstein  <manfred@s-direktnet.de>
100029
100030         * m4/chown.m4 (jm_FUNC_CHOWN): Add a check to verify that the
100031         uid and gid actually remain unchanged.
100032
100033 1998-07-07  Jim Meyering  <meyering@ascend.com>
100034
100035         * m4/jm-glibc-io.m4: Remove fclose_unlocked.
100036
100037 1998-07-04  Jim Meyering  <meyering@ascend.com>
100038
100039         * m4/regex.m4: Use syscmd, ifelse, and sysval.  Mainly as an exercise
100040         to prove that this macro can be used in packages without regex.c.
100041
100042 1998-07-04  Andreas Schwab  <schwab@issan.informatik.uni-dortmund.de>
100043
100044         * m4/gettext.m4 (AM_WITH_NLS): Remove intl/libintl.h if <libintl.h>
100045         is to be used.
100046
100047 1998-07-03  Jim Meyering  <meyering@ascend.com>
100048
100049         * m4/gettext.m4: Add -lintl if it's found to be necessary.
100050
100051         * m4/gettext.m4: New file -- from gettext-0.10.35.
100052         * m4/lcmessage.m4: Likewise.
100053         * m4/progtest.m4: Likewise.
100054
100055         * m4/regex.m4 (jm_WITH_REGEX): New file and macro.
100056         * m4/jm-macros.m4: Require the new macro.
100057
100058 1998-06-29  Jim Meyering  <meyering@ascend.com>
100059
100060         * m4/fstypename.m4: Include sys/param.h.  NetBSD 1.3.1 requires this
100061         for the definition of NGROUPS (used in a system header included
100062         by sys/mount.h).
100063
100064 1998-06-28  Jim Meyering  <meyering@ascend.com>
100065
100066         * m4/ls-mntd-fs.m4: New file.
100067         * m4/fstypename.m4: New file.
100068
100069         * m4/jm-macros.m4: Require the new macro.
100070         * m4/jm-glibc-io.m4: New file.
100071
100072 1998-05-19  Jim Meyering  <meyering@ascend.com>
100073
100074         * m4/jm-macros.m4: Add jm_FUNC_LCHOWN.
100075         * m4/lchown.m4: New file.
100076
100077         * m4/Makefile.am.in: New file.
100078         * m4/Makefile.am (Makefile.am): Depend on Makefile.am.in.
100079
100080 1998-05-14  Jim Meyering  <meyering@ascend.com>
100081
100082         * m4/Makefile.am (EXTRA_DIST): Add them.
100083         * m4/jm-macros.m4: New file.
100084         * m4/utimbuf.m4: New file.
100085
100086 1998-05-12  Jim Meyering  <meyering@ascend.com>
100087
100088         * m4/Makefile.am (EXTRA_DIST): Add isc-posix.m4.
100089
100090 1998-05-11  Jim Meyering  <meyering@ascend.com>
100091
100092         * m4/isc-posix.m4: New file.
100093
100094 1998-05-10  Jim Meyering  <meyering@ascend.com>
100095
100096         * m4/jm-mktime.m4: Use AM_FUNC_MKTIME, now that it's up to date.
100097
100098 1998-05-09  Jim Meyering  <meyering@ascend.com>
100099
100100         * m4/Makefile.am (EXTRA_DIST): Add ssize_t.m4.
100101         (EXTRA_DIST): Remove mktime.m4, now that the new version is included
100102         with automake.
100103
100104         * m4/ssize_t.m4: New file.
100105         * m4/mktime.m4: Remove file -- the new automake has this now.
100106
100107 1998-04-26  Jim Meyering  <meyering@ascend.com>
100108
100109         * m4/assert.m4: New file.
100110         * m4/Makefile.am (EXTRA_DIST): Add assert.m4.
100111
100112 1998-04-05  Jim Meyering  <meyering@ascend.com>
100113
100114         * m4/prereq.m4 (jm_PREREQ_REGEX): New macro.
100115         (jm_PREREQ): Use it here.
100116
100117 1998-03-23  Jim Meyering  <meyering@eng.ascend.com>
100118
100119         * m4/inttypes_h.m4: Kludges so I don't have to add HAVE_INTTYPES_H
100120         in acconfig.h.
100121
100122 1998-03-15  Jim Meyering  <meyering@eng.ascend.com>
100123
100124         * m4/prereq.m4: New file.
100125         * m4/error.m4: New file.
100126         * m4/Makefile.am (EXTRA_DIST): Add error.m4 and prereq.m4.
100127
100128 1998-02-07  Jim Meyering  <meyering@eng.ascend.com>
100129
100130         * m4/getline.m4: Don't set am_cv_func_working_getline before the
100131         cache-check for the same variable -- that defeated the purpose of
100132         the test; the test program was never run.  This was a problem only
100133         on systems with losing getline functions -- HP-UX 10.20 is one.
100134         Reported by Bjorn Helgaas.
100135
100136 1998-02-06  Jim Meyering  <meyering@eng.ascend.com>
100137
100138         * m4/Makefile.am (EXTRA_DIST): Add perl.m4.
100139
100140 1998-01-10  Jim Meyering  <meyering@na-net.ornl.gov>
100141
100142         * m4/Makefile.am (EXTRA_DIST): Add const.m4.
100143
100144         * m4/const.m4: New file.  Use an initializer in this declaration
100145         typedef int charset[2]; const charset x;
100146         Reported by Bob Glickstein.
100147
100148 1997-12-21  Jim Meyering  <meyering@na-net.ornl.gov>
100149
100150         * m4/chown.m4: Fix reversed types on -1 args to chown.
100151         From Kaveh Ghazi.
100152
100153 1997-12-14  Jim Meyering  <meyering@na-net.ornl.gov>
100154
100155         * m4/check-decl.m4: s/DECLARATION_/DECL_/g.
100156         Add lseek and memchr.
100157
100158         * m4/decl.m4: s/HAVE_DECLARATION_/HAVE_DECL_/g.
100159         T.E.Dickey <dickey@clark.net> said that some older preprocessors
100160         have a 20-character limit on names.
100161
100162 1997-11-30  Jim Meyering  <meyering@na-net.ornl.gov>
100163
100164         * m4/inttypes_h.m4: New file.
100165         * m4/uintmax_t.m4: New file.
100166         * m4/Makefile.am (EXTRA_DIST): Add inttypes_h.m4 and uintmax_t.m4.
100167
100168
100169         -----
100170
100171         Local Variables:
100172         coding: utf-8
100173         End:
100174
100175         Copyright (C) 1997-2013 Free Software Foundation, Inc.
100176
100177         Copying and distribution of this file, with or without
100178         modification, are permitted provided the copyright notice
100179         and this notice are preserved.